标签: 扩展
人人可用的 PG 扩展

在线幻灯片:人人都能用上的 PostgreSQL 扩展 第一部分:引言 0. 人人都能用上的扩展 00. 人人都能用上的扩展 大家好,这次演讲的题目是「人人都能用上的扩展」。 它讨论的是 PostgreSQL 扩展的交付,以及一个共享的交付层,如何同时让用户、扩展作者、厂商和 PostgreSQL 内核开发者受益。 1. 我是谁 01. 我是谁 我是冯若航,Pigsty 的作者和维护者。Pigsty 是一个开源 PostgreSQL 发行版。 我也是 pgext.cloud 的建设者 …
在线幻灯片:人人都能用上的 PostgreSQL 扩展 第一部分:引言 0. 人人都能用上的扩展 00. 人人都能用上的扩展 大家好,这次演讲的题目是「人人都能用上的扩展」。 它讨论的是 PostgreSQL 扩展的交付,以及一个共享的交付层,如何同时让用户、扩展作者、厂商和 PostgreSQL 内核开发者受益。 1. 我是谁 01. 我是谁 我是冯若航,Pigsty 的作者和维护者。Pigsty 是一个开源 PostgreSQL 发行版。 我也是 pgext.cloud 的建设者 …
504 个扩展,PG 生态的天花板在哪?

一个 Issue ,引发扩展马拉松;32 个新扩展告诉你,PostgreSQL 正在变成什么;504 个扩展,PostgreSQL 生态的天花板在哪? 从一个化学扩展说起 两天前,一位用户在 GitHub 上给我提了个 Issue:他在用 RDKit —— 化学信息学领域的事实标准库,能在 PostgreSQL 里做分子结构存储、子结构检索和相似性计算。 但他发现 PGDG 官方打包的版本缺了 InChI 功能,他自己折腾了半天,加上编译参数后总算跑通了,但还是希望 Pigsty 能原生支持。 …
一个 Issue ,引发扩展马拉松;32 个新扩展告诉你,PostgreSQL 正在变成什么;504 个扩展,PostgreSQL 生态的天花板在哪? 从一个化学扩展说起 两天前,一位用户在 GitHub 上给我提了个 Issue:他在用 RDKit —— 化学信息学领域的事实标准库,能在 PostgreSQL 里做分子结构存储、子结构检索和相似性计算。 但他发现 PGDG 官方打包的版本缺了 InChI 功能,他自己折腾了半天,加上编译参数后总算跑通了,但还是希望 Pigsty 能原生支持。 …
PG 扩展百科全书:中英双语,开箱即用

扩展目录:中文站 · 英文站 扩展是 PostgreSQL 的灵魂。没有扩展的 PostgreSQL,只是一个普通的关系型数据库;有了扩展的 PostgreSQL,才是那个能吞噬整个数据库世界的超级平台。 但长期以来,PG 扩展生态一直面临一个尴尬的问题:找不到、看不懂、装不上。你想用一个扩展,得先去 GitHub 翻 README,再去 PGXN 碰运气看有没有包,然后对着不同操作系统的包管理器折腾半天。运气好装上了,运气不好,编译失败、依赖缺失、版本不兼容,一下午就没了。 所以我做了一件事 …
扩展目录:中文站 · 英文站 扩展是 PostgreSQL 的灵魂。没有扩展的 PostgreSQL,只是一个普通的关系型数据库;有了扩展的 PostgreSQL,才是那个能吞噬整个数据库世界的超级平台。 但长期以来,PG 扩展生态一直面临一个尴尬的问题:找不到、看不懂、装不上。你想用一个扩展,得先去 GitHub 翻 README,再去 PGXN 碰运气看有没有包,然后对着不同操作系统的包管理器折腾半天。运气好装上了,运气不好,编译失败、依赖缺失、版本不兼容,一下午就没了。 所以我做了一件事 …
464个扩展开箱即用:新版 PG 扩展目录发布

今天老冯又让 Claude Code 干了一件大好事 —— 做了一个全新的 PostgreSQL 扩展目录。就放在 https://pigsty.cc/ext 这里。 说起来,这已经是第五版了。兜兜转转一大圈,又回到了第一版使用的 Hugo + Docsy 框架,重新融合到 Pigsty 主站。这个过程本身就是个故事,后面再聊。先说说这一版到底做了什么。 不只是有包,还要有文档 之前的扩展目录,核心功能是告诉你:这个扩展叫什么、元数据在哪里、二进制包怎么下载、一键安装怎么搞。你装好了就行,至于怎 …
今天老冯又让 Claude Code 干了一件大好事 —— 做了一个全新的 PostgreSQL 扩展目录。就放在 https://pigsty.cc/ext 这里。 说起来,这已经是第五版了。兜兜转转一大圈,又回到了第一版使用的 Hugo + Docsy 框架,重新融合到 Pigsty 主站。这个过程本身就是个故事,后面再聊。先说说这一版到底做了什么。 不只是有包,还要有文档 之前的扩展目录,核心功能是告诉你:这个扩展叫什么、元数据在哪里、二进制包怎么下载、一键安装怎么搞。你装好了就行,至于怎 …
DuckDB 开发者大会四连击:扩展,加密,存储过程,边缘分析

DuckDB 最近举办了首届 DuckDB 开发者大会,里面有四个有趣的议题,老冯这里从视频中提取了文字稿,然后请 Claude / GPT 整理成完整的文章,在这里与大家分享,看看 DuckDB 生态的最新进展。以及最后附上老冯对 DuckDB 生态的点评 四篇演讲分别是: DuckDB 扩展:过去、现在、与未来 DuckDB 中的存储与加密 DuckPL:DuckDB 中的一种存储过程语音(PL/PGSQL) GizmoEdge:用于物联网的分布式 DuckDB 引擎 DuckDB 扩展:过 …
DuckDB 最近举办了首届 DuckDB 开发者大会,里面有四个有趣的议题,老冯这里从视频中提取了文字稿,然后请 Claude / GPT 整理成完整的文章,在这里与大家分享,看看 DuckDB 生态的最新进展。以及最后附上老冯对 DuckDB 生态的点评 四篇演讲分别是: DuckDB 扩展:过去、现在、与未来 DuckDB 中的存储与加密 DuckPL:DuckDB 中的一种存储过程语音(PL/PGSQL) GizmoEdge:用于物联网的分布式 DuckDB 引擎 DuckDB 扩展:过 …
PostgreSQL 18 可以上生产用了吗?

在《尝鲜须谨慎:PG新存储引擎故障案例》中,老冯简单聊过一下 PostgreSQL 上新的节奏 —— 应该用什么 PostgreSQL 大版本。老冯的策略是:当每个 PostgreSQL 大版本的第二个小版本出来的时候,差不多就能上生产了。最近 PostgreSQL 18.1 也就是第二个小版本已经放出了,加上扩展生态也基本上普遍跟进完成,老冯认为 PG 18 已经可以用于生产环境了。 先把BUG修一修 PostgreSQL 的版本发布策略非常规律:每年一个大版本,基本上大版本都会在九月下旬发布 …
在《尝鲜须谨慎:PG新存储引擎故障案例》中,老冯简单聊过一下 PostgreSQL 上新的节奏 —— 应该用什么 PostgreSQL 大版本。老冯的策略是:当每个 PostgreSQL 大版本的第二个小版本出来的时候,差不多就能上生产了。最近 PostgreSQL 18.1 也就是第二个小版本已经放出了,加上扩展生态也基本上普遍跟进完成,老冯认为 PG 18 已经可以用于生产环境了。 先把BUG修一修 PostgreSQL 的版本发布策略非常规律:每年一个大版本,基本上大版本都会在九月下旬发布 …
PG扩展云:解锁 PG 生态的全部潜力

微信公众号链接 PostgreSQL 拥有极为强大的扩展插件体系。 在 《PostgreSQL 正在吞噬数据库世界》中, 老冯已经阐述过 可扩展性 是 PostgreSQL 成功的核心要素。 举例来说,PG 有 GIS 领域的事实标准 PostGIS,向量数据库的瑞士军刀 pgvector,还有可以替代 ElasticSearch 的 pg_search, 以及使用 DuckDB 在 PG 内进行分析的 pg_duckdb / pg_mooncake 等等,这些扩展为 PostgreSQL 赋 …
微信公众号链接 PostgreSQL 拥有极为强大的扩展插件体系。 在 《PostgreSQL 正在吞噬数据库世界》中, 老冯已经阐述过 可扩展性 是 PostgreSQL 成功的核心要素。 举例来说,PG 有 GIS 领域的事实标准 PostGIS,向量数据库的瑞士军刀 pgvector,还有可以替代 ElasticSearch 的 pg_search, 以及使用 DuckDB 在 PG 内进行分析的 pg_duckdb / pg_mooncake 等等,这些扩展为 PostgreSQL 赋 …
尝鲜须谨慎:PG新存储引擎故障案例

昨天接到一个咨询的活儿,有位 Pigsty 的用户反馈数据库故障,出现 XID Wraparound 了。这个 PG 中最臭名昭著的故障在近些年已经比较少见了,不过这次的故障原因确实比较有趣,是因为使用了 TimescaleDB Hypercore 导致的 —— 这是一个实验性的新存储引擎,并且已经在最近的版本中弃用与移除。 如果你正在使用这个新的存储引擎,最好立刻检查并退回经典的 TimescaleDB 引擎与 PostgreSQL 原生表,以免数据库爆炸。 Hypercore 是什么 …
昨天接到一个咨询的活儿,有位 Pigsty 的用户反馈数据库故障,出现 XID Wraparound 了。这个 PG 中最臭名昭著的故障在近些年已经比较少见了,不过这次的故障原因确实比较有趣,是因为使用了 TimescaleDB Hypercore 导致的 —— 这是一个实验性的新存储引擎,并且已经在最近的版本中弃用与移除。 如果你正在使用这个新的存储引擎,最好立刻检查并退回经典的 TimescaleDB 引擎与 PostgreSQL 原生表,以免数据库爆炸。 Hypercore 是什么 …
月饼好吃:又一家PG扩展公司被Databricks收购

昨天在群里看到一则喜讯,Mooncake Lab 被 Databricks 收购了。 今年数据库世界几起大的收购都与 PostgreSQL 有关,Databricks 在六月份的时候 以十亿美元的价格收购了 Neon,它的老对手 Snowflake 则反手买下了 CrunchyData。更有传言说 OpenAI 拟以 20 亿的价格收购 Supabase。这次,做 PG 上 OLAP 扩展的 mooncake 成为新的收购标的。 pg_mooncake 是一个很不错的 PG 扩展插件,旨在 融合 …
昨天在群里看到一则喜讯,Mooncake Lab 被 Databricks 收购了。 今年数据库世界几起大的收购都与 PostgreSQL 有关,Databricks 在六月份的时候 以十亿美元的价格收购了 Neon,它的老对手 Snowflake 则反手买下了 CrunchyData。更有传言说 OpenAI 拟以 20 亿的价格收购 Supabase。这次,做 PG 上 OLAP 扩展的 mooncake 成为新的收购标的。 pg_mooncake 是一个很不错的 PG 扩展插件,旨在 融合 …
Postgres Extension Day,咱们不见不散

一年一度的 PostgreSQL 开发者大会即将在五月于蒙特利尔举办。同上次第一届 PG Con.Dev 一样,这次也有一天的额外的专场活动 —— Postgres Extensions Day,关注 PG 扩展的开发,交付,发布等方方面面。目前议程刚刚排出来,总共安排了 14 个 Session。 当然这次,我就不当观众了,我的演讲是下午的首场 —— “The Missing Postgres Extension Repo and Package Manager”。即 “PG 生态中长久缺失的 …
一年一度的 PostgreSQL 开发者大会即将在五月于蒙特利尔举办。同上次第一届 PG Con.Dev 一样,这次也有一天的额外的专场活动 —— Postgres Extensions Day,关注 PG 扩展的开发,交付,发布等方方面面。目前议程刚刚排出来,总共安排了 14 个 Session。 当然这次,我就不当观众了,我的演讲是下午的首场 —— “The Missing Postgres Extension Repo and Package Manager”。即 “PG 生态中长久缺失的 …
如何在数据库中直接检索PDF

知识库依然是目前AI在企业落地的首要场景。而要做好知识库,少不了处理各种文档 —— 最重要最常见的文档类型就是 PDF。 不过,检索 PDF 算是个麻烦事儿。而得益于 PostgreSQL 强大的可扩展性,pgpdf 扩展可以帮你做到这一点:它提供了一种新的 PDF 数据类型,并允许用户在数据库中直接使用 SQL 读取 PDF,解析内容并提取文本。 当然,PGPGDF 不仅可以访问本地文件,你还可以将此扩展与 pg_net / pg_http / pg_curl 使用,从各种地方在线读取 …
知识库依然是目前AI在企业落地的首要场景。而要做好知识库,少不了处理各种文档 —— 最重要最常见的文档类型就是 PDF。 不过,检索 PDF 算是个麻烦事儿。而得益于 PostgreSQL 强大的可扩展性,pgpdf 扩展可以帮你做到这一点:它提供了一种新的 PDF 数据类型,并允许用户在数据库中直接使用 SQL 读取 PDF,解析内容并提取文本。 当然,PGPGDF 不仅可以访问本地文件,你还可以将此扩展与 pg_net / pg_http / pg_curl 使用,从各种地方在线读取 …
PII数据安全合规与PG Anonymizer最佳实践

今天我们来聊一聊个人信息合规问题,以及如何在数据库中实践各国法律的 “匿名化” 要求。最后介绍新出炉的 PostgreSQL Anonymizer 2.0 以及使用方法。 1. 哎呀,谁在PII上翻车了? 还记得前几年那个堪称“翻车现场”的事件吗?滴滴公司因为在个人信息收集和使用方面存在严重违法违规问题,被监管部门找上门来并狠狠罚了一大笔钱,瞬间引爆社交媒体的讨论。再往后没多久,亚马逊因其广告业务不符合欧盟 GDPR 要求,也被卢森堡监管机构揪住“数据黑洞”,祭出了高达 7.46 亿欧元的天价罚 …
今天我们来聊一聊个人信息合规问题,以及如何在数据库中实践各国法律的 “匿名化” 要求。最后介绍新出炉的 PostgreSQL Anonymizer 2.0 以及使用方法。 1. 哎呀,谁在PII上翻车了? 还记得前几年那个堪称“翻车现场”的事件吗?滴滴公司因为在个人信息收集和使用方面存在严重违法违规问题,被监管部门找上门来并狠狠罚了一大笔钱,瞬间引爆社交媒体的讨论。再往后没多久,亚马逊因其广告业务不符合欧盟 GDPR 要求,也被卢森堡监管机构揪住“数据黑洞”,祭出了高达 7.46 亿欧元的天价罚 …
PostgreSQL神功大成!最全扩展仓库来了!

最近没怎么更新,因为在憋大招。最近功成出关,遂发此文为贺 —— 我做了一个收录PG生态所有能打的390个扩展的仓库,让 PostgreSQL 在成为数据库全能王的道路上又往前迈出了坚实的一步! 自从我在 《PostgreSQL正在吞噬数据库世界》 一文中指出 可扩展性 对于 PostgreSQL 的重要性以来,PG 社区对此进行了热烈的讨论,并且达成了共识。 最终体现在《PostgreSQL 17 发布注记!》中。 但真正重要的事情不是认识世界,而是改变世界。既然大家都已经认清了扩展很重要,那么 …
最近没怎么更新,因为在憋大招。最近功成出关,遂发此文为贺 —— 我做了一个收录PG生态所有能打的390个扩展的仓库,让 PostgreSQL 在成为数据库全能王的道路上又往前迈出了坚实的一步! 自从我在 《PostgreSQL正在吞噬数据库世界》 一文中指出 可扩展性 对于 PostgreSQL 的重要性以来,PG 社区对此进行了热烈的讨论,并且达成了共识。 最终体现在《PostgreSQL 17 发布注记!》中。 但真正重要的事情不是认识世界,而是改变世界。既然大家都已经认清了扩展很重要,那么 …
RDS阉掉了PostgreSQL的灵魂

在上一篇《PostgreSQL正在吞噬数据库世界》中,我们提到,尽管 PostgreSQL 是世界上最先进的开源关系型数据库,但其独一无二的特点在于其极致可扩展性,与繁荣的扩展生态! 不幸地是,云上的 RDS 阉割掉了 PostgreSQL 的灵魂 —— 用户无法在 RDS 上自由加装扩展,而一些强力扩展也注定不会出现在 RDS 中。使用 RDS 无法发挥出 PostgreSQL 真正的实力,而这是一个对云厂商来说无法解决的缺陷。 RDS 缺失重要扩展 在 PostgreSQL 生态中有着上千 …
在上一篇《PostgreSQL正在吞噬数据库世界》中,我们提到,尽管 PostgreSQL 是世界上最先进的开源关系型数据库,但其独一无二的特点在于其极致可扩展性,与繁荣的扩展生态! 不幸地是,云上的 RDS 阉割掉了 PostgreSQL 的灵魂 —— 用户无法在 RDS 上自由加装扩展,而一些强力扩展也注定不会出现在 RDS 中。使用 RDS 无法发挥出 PostgreSQL 真正的实力,而这是一个对云厂商来说无法解决的缺陷。 RDS 缺失重要扩展 在 PostgreSQL 生态中有着上千 …
PostgreSQL 正在吞噬数据库世界

PostgreSQL 并不是一个简单的关系型数据库,而是一个数据管理的抽象框架,具有吞噬整个数据库世界的力量。而这也是正在发生的事情 —— “一切皆用 Postgres” 已经不再是少数精英团队的前沿探索,而是成为了一种进入主流视野的最佳实践。 OLAP 领域迎来踢馆者 在 2016 年的一次数据库沙龙里,我提出了一个观点: 现在 PostgreSQL 生态的一个主要遗憾是,缺少一个 足够好 的列式存储分析插件来做 OLAP 分析。尽管PostgreSQL 本身提供了很强大的分析功能集,应付常规 …
PostgreSQL 并不是一个简单的关系型数据库,而是一个数据管理的抽象框架,具有吞噬整个数据库世界的力量。而这也是正在发生的事情 —— “一切皆用 Postgres” 已经不再是少数精英团队的前沿探索,而是成为了一种进入主流视野的最佳实践。 OLAP 领域迎来踢馆者 在 2016 年的一次数据库沙龙里,我提出了一个观点: 现在 PostgreSQL 生态的一个主要遗憾是,缺少一个 足够好 的列式存储分析插件来做 OLAP 分析。尽管PostgreSQL 本身提供了很强大的分析功能集,应付常规 …
PG生态新玩家:ParadeDB

微信公众号原文链接 PG生态新玩家ParadeDB YC S23 投了一个新项目 ParadeDB, 非常有意思。他们的 Slogan 是 “Postgres for Search & Analytics —— Modern Elasticsearch Alternative built on Postgres”。就是用于搜索和分析的 PostgreSQL,旨在成为 Elasticsearch 的替代。 PostgreSQL 的生态确实越来越繁荣了,在基于 PG 的扩展与衍生中,我们已经有了基 …
微信公众号原文链接 PG生态新玩家ParadeDB YC S23 投了一个新项目 ParadeDB, 非常有意思。他们的 Slogan 是 “Postgres for Search & Analytics —— Modern Elasticsearch Alternative built on Postgres”。就是用于搜索和分析的 PostgreSQL,旨在成为 Elasticsearch 的替代。 PostgreSQL 的生态确实越来越繁荣了,在基于 PG 的扩展与衍生中,我们已经有了基 …
FerretDB:假扮成MongoDB的PG

MongoDB 曾经是一项令人惊叹的技术,让开发者能够抛开关系型数据库的“模式束缚”,快速构建应用程序。然而随着时间推移,MongoDB 放弃了它的开源本质,这使得许多开源项目和早期商业项目无法使用它。 大多数 MongoDB 用户其实并不需要 MongoDB 提供的高级功能,但他们确实需要一个易于使用的 开源 文档数据库解决方案。PostgreSQL 的 JSON 功能支持已经足够完善了:二进制存储 JSONB,GIN 任意字段索引 ,各种 JSON 处理函数,JSON PATH 和 JSON …
MongoDB 曾经是一项令人惊叹的技术,让开发者能够抛开关系型数据库的“模式束缚”,快速构建应用程序。然而随着时间推移,MongoDB 放弃了它的开源本质,这使得许多开源项目和早期商业项目无法使用它。 大多数 MongoDB 用户其实并不需要 MongoDB 提供的高级功能,但他们确实需要一个易于使用的 开源 文档数据库解决方案。PostgreSQL 的 JSON 功能支持已经足够完善了:二进制存储 JSONB,GIN 任意字段索引 ,各种 JSON 处理函数,JSON PATH 和 JSON …
PGSQL x Pigsty: 数据库全能王来了

Pigsty v2.4.1已于9月24日正式发布。核心关注点是:如何聚拢** PostgreSQL 生态里游离的超能力,发挥出 1 + 1 远大于2 的协同增幅效果。** 我们引入了 12 个由自己编译打包、整合维护的全新扩展,并加入了三个强力组件的原生支持: Suapbase,PostgresML 与 FerretDB 。让 Pigsty 收录的扩展数量已经达到了破纪录的 150 个,全部开箱即用! 在这些新增/现有扩展的加持下,PostgreSQL —— 这个世界上最先进的开源关系型数据库, …
Pigsty v2.4.1已于9月24日正式发布。核心关注点是:如何聚拢** PostgreSQL 生态里游离的超能力,发挥出 1 + 1 远大于2 的协同增幅效果。** 我们引入了 12 个由自己编译打包、整合维护的全新扩展,并加入了三个强力组件的原生支持: Suapbase,PostgresML 与 FerretDB 。让 Pigsty 收录的扩展数量已经达到了破纪录的 150 个,全部开箱即用! 在这些新增/现有扩展的加持下,PostgreSQL —— 这个世界上最先进的开源关系型数据库, …
向量是新的 JSON

“向量是新的JSON”,这本身就是一种很有趣的说法。因为 向量(Vector)是一种已经被深入研究过的 数学结构,而 JSON 是一种 数据交换格式。然而,在数据存储和检索的世界中,这两种数据表示方式都已经成为了各自领域的通用语言,成为(或即将成为)现代应用开发中必不可少的要素。如果按当下的趋势发展,向量将会像 JSON 一样,成为构建应用时的关键要素。 生成型AI 引发的热潮促使开发者寻找一种简便的方法来存储与查询这些系统的 输出。出于很多因素,PostgreSQL 成为了最自然的选择。但即使 …
“向量是新的JSON”,这本身就是一种很有趣的说法。因为 向量(Vector)是一种已经被深入研究过的 数学结构,而 JSON 是一种 数据交换格式。然而,在数据存储和检索的世界中,这两种数据表示方式都已经成为了各自领域的通用语言,成为(或即将成为)现代应用开发中必不可少的要素。如果按当下的趋势发展,向量将会像 JSON 一样,成为构建应用时的关键要素。 生成型AI 引发的热潮促使开发者寻找一种简便的方法来存储与查询这些系统的 输出。出于很多因素,PostgreSQL 成为了最自然的选择。但即使 …
AI大模型与向量库 PGVector

新 AI 应用在过去一年中出现了指数爆炸的增长态势,而这些应用面临的一个共同挑战是如何大规模地 存储 与 查询 以向量表示的 AI Embedding。本文聚焦被 AI 炒火了的 向量数据库,介绍了AI嵌入与向量存储检索的基本原理,并用一个具体的知识库检索案例来串联介绍向量数据库插件 PGVECTOR 的功能、性能、获取与应用。 AI是怎么工作的 GPT 展现出来了强大的智能水平,它的成功有很多因素,但在工程上关键的一步是:神经网络与大语言模型将一个语言问题转化为数学问题,并使用工程手段高效解决 …
新 AI 应用在过去一年中出现了指数爆炸的增长态势,而这些应用面临的一个共同挑战是如何大规模地 存储 与 查询 以向量表示的 AI Embedding。本文聚焦被 AI 炒火了的 向量数据库,介绍了AI嵌入与向量存储检索的基本原理,并用一个具体的知识库检索案例来串联介绍向量数据库插件 PGVECTOR 的功能、性能、获取与应用。 AI是怎么工作的 GPT 展现出来了强大的智能水平,它的成功有很多因素,但在工程上关键的一步是:神经网络与大语言模型将一个语言问题转化为数学问题,并使用工程手段高效解决 …
故障档案:PG安装Extension导致无法连接

今天遇到一个比较有趣的Case,客户报告说数据库连不上了。报这个错: psql: FATAL: could not load library "/export/servers/pgsql/lib/pg_hint_plan.so": /export/servers/pgsql/lib/pg_hint_plan.so: undefined symbol: RINFO_IS_PUSHED_DOWN 当然,这种错误一眼就知道是插件没编译好,报符号找不到。因此数据库后端进程在启动时尝试加载 …
今天遇到一个比较有趣的Case,客户报告说数据库连不上了。报这个错: psql: FATAL: could not load library "/export/servers/pgsql/lib/pg_hint_plan.so": /export/servers/pgsql/lib/pg_hint_plan.so: undefined symbol: RINFO_IS_PUSHED_DOWN 当然,这种错误一眼就知道是插件没编译好,报符号找不到。因此数据库后端进程在启动时尝试加载 …
TimescaleDB 快速上手

官方网站:https://www.timescale.com 官方文档:https://docs.timescale.com/v0.9/main Github:https://github.com/timescale/timescaledb 为什么使用TimescaleDB 什么是时间序列数据? 我们一直在谈论什么是“时间序列数据”,以及与其他数据有何不同以及为什么? 许多应用程序或数据库实际上采用的是过于狭窄的视图,并将时间序列数据与特定形式的服务器度量值等同起来: Name: CPU …
官方网站:https://www.timescale.com 官方文档:https://docs.timescale.com/v0.9/main Github:https://github.com/timescale/timescaledb 为什么使用TimescaleDB 什么是时间序列数据? 我们一直在谈论什么是“时间序列数据”,以及与其他数据有何不同以及为什么? 许多应用程序或数据库实际上采用的是过于狭窄的视图,并将时间序列数据与特定形式的服务器度量值等同起来: Name: CPU …
PipelineDB快速上手

PipelineDB安装与配置 PipelineDB可以直接通过官方rpm包安装。 加载PipelineDB需要添加动态链接库,在 postgresql.conf 中修改配置项并重启: shared_preload_libraries = 'pipelinedb' max_worker_processes = 128 注意如果不修改 max_worker_processes 会报错。其他配置都参照标准的PostgreSQL PipelineDB使用样例 —— 维基PV数据 -- 创建Stream …
PipelineDB安装与配置 PipelineDB可以直接通过官方rpm包安装。 加载PipelineDB需要添加动态链接库,在 postgresql.conf 中修改配置项并重启: shared_preload_libraries = 'pipelinedb' max_worker_processes = 128 注意如果不修改 max_worker_processes 会报错。其他配置都参照标准的PostgreSQL PipelineDB使用样例 —— 维基PV数据 -- 创建Stream …
GeoIP 地理逆查询优化

IP归属地查询的高效实现 在应用开发中,一个‘很常见’的需求就是GeoIP转换。将请求的来源IP转换为相应的地理坐标,或者行政区划(国家-省-市-县-乡-镇)。这种功能有很多用途,譬如分析网站流量的地理来源,或者干一些坏事。使用PostgreSQL可以多快好省,优雅高效地实现这一需求。 0x01 思路方法 通常网上的IP地理数据库的形式都是:start_ip, stop_ip , longitude, latitude,再缀上一些国家代码,城市代码,邮编之类的属性字段。大概长这样: …
IP归属地查询的高效实现 在应用开发中,一个‘很常见’的需求就是GeoIP转换。将请求的来源IP转换为相应的地理坐标,或者行政区划(国家-省-市-县-乡-镇)。这种功能有很多用途,譬如分析网站流量的地理来源,或者干一些坏事。使用PostgreSQL可以多快好省,优雅高效地实现这一需求。 0x01 思路方法 通常网上的IP地理数据库的形式都是:start_ip, stop_ip , longitude, latitude,再缀上一些国家代码,城市代码,邮编之类的属性字段。大概长这样: …
file_fdw妙用无穷——从数据库读取系统信息

PostgreSQL是最先进的开源数据库,其中一个非常给力的特性就是FDW:外部数据包装器(Foreign Data Wrapper)。通过FDW,用户可以用统一的方式从Pg中访问各类外部数据源。file_fdw 就是其中随数据库附赠的两个fdw之一。随着pg10的更新,file_fdw 也添加了一颗赛艇的功能:从程序输出读取。 小霸王妙用无穷,我们能通过 file_fdw,轻松查看操作系统信息,拉取网络数据,把各种各样的数据源轻松喂进数据库里统一查看管理。 安装与配置 file_fdw 是Pg …
PostgreSQL是最先进的开源数据库,其中一个非常给力的特性就是FDW:外部数据包装器(Foreign Data Wrapper)。通过FDW,用户可以用统一的方式从Pg中访问各类外部数据源。file_fdw 就是其中随数据库附赠的两个fdw之一。随着pg10的更新,file_fdw 也添加了一颗赛艇的功能:从程序输出读取。 小霸王妙用无穷,我们能通过 file_fdw,轻松查看操作系统信息,拉取网络数据,把各种各样的数据源轻松喂进数据库里统一查看管理。 安装与配置 file_fdw 是Pg …
源码编译安装 PostGIS

强烈建议使用使用 yum / apt 命令从 PostgreSQL 官方二进制仓库安装 PostGIS。 参考http://www.postgresonline.com/journal/archives/362-An-almost-idiots-guide-to-install-PostgreSQL-9.5,-PostGIS-2.2-and-pgRouting-2.1.0-with-Yum.html 1. 安装环境 CentOS 7 PostgreSQL10 PostGIS2.4 …
强烈建议使用使用 yum / apt 命令从 PostgreSQL 官方二进制仓库安装 PostGIS。 参考http://www.postgresonline.com/journal/archives/362-An-almost-idiots-guide-to-install-PostgreSQL-9.5,-PostGIS-2.2-and-pgRouting-2.1.0-with-Yum.html 1. 安装环境 CentOS 7 PostgreSQL10 PostGIS2.4 …
PostgreSQL MongoFDW安装部署

更新:最近MongoFDW已经由Cybertech接手维护,也许没有这么不堪了。 最近有业务要求通过PostgreSQL FDW去访问MongoDB。开始我觉得这是个很轻松的任务。但接下来的事真是让人恶心的吐了。MongoDB FDW编译起来真是要人命:混乱的依赖,临时下载和Hotpatch,错误的编译参数,以及最过分的是错误的文档。总算,我在生产环境(Linux RHEL7u2)和开发环境(Mac OS X 10.11.5)都编译成功了。赶紧记录下来,省的下次蛋疼。 环境概述 理论上编译这套 …
更新:最近MongoFDW已经由Cybertech接手维护,也许没有这么不堪了。 最近有业务要求通过PostgreSQL FDW去访问MongoDB。开始我觉得这是个很轻松的任务。但接下来的事真是让人恶心的吐了。MongoDB FDW编译起来真是要人命:混乱的依赖,临时下载和Hotpatch,错误的编译参数,以及最过分的是错误的文档。总算,我在生产环境(Linux RHEL7u2)和开发环境(Mac OS X 10.11.5)都编译成功了。赶紧记录下来,省的下次蛋疼。 环境概述 理论上编译这套 …