# PostgreSQL

> 关于 PostgreSQL 的一切，开发，管理，内核，生态，工具，扩展，最佳实践……

---

LLMS index: [llms.txt](/llms.txt)

---

Section pages:

- [PostgreSQL 三十岁生日快乐](/blog/pg/happy-30-birthday/): 1996 年 7 月 8 日，PostgreSQL 社区接过 Postgres95 的代码火种。三十年后，它已经从伯克利实验室走成了全球数据库生态的默认底座。
- [瞬间克隆 PostgreSQL 数据库，无需黑魔法](/blog/pg/pg-pig-clone/): pig v1.5 新增 pig pg clone 与 pig pg fork，把 PostgreSQL 18 的瞬间克隆能力封装成 Agent Native CLI。
- [什么是 PostgreSQL 发行版？](/blog/pg/what-is-pg-distro/): 从 Linux 发行版出发，聊一聊 “PostgreSQL 发行版“ 到底是个什么东西：三层工作、两条路线，以及一个核心。
- [人人可用的 PG 扩展](/blog/pg/extensions-for-everyone/): 介绍 PostgreSQL 扩展生态，并讨论其交付问题 —— 一个共享的交付层，如何同时让用户、扩展作者、厂商和 PostgreSQL 内核开发者受益。
- [PGConf.Dev 2026 今天在温哥华开幕](/blog/pg/pgcfd2026-intro/): PGConf.Dev 2026 在温哥华开幕。今年恰逢 PostgreSQL 项目 30 周年，我也会在大会上分享 Extensions for Everyone。
- [pgBackRest 续命战与开源世界的逼定价](/blog/pg/pgbackrest-resume/): pgBackRest 归档七天后出现反转，David Steele 透露多家赞助商已经基本谈拢，项目大概率继续维护。这不是单纯的社区温情故事，而是一次非常干净的开源公地逼定价。
- [顶级开源备份工具 pgBackRest 停止维护](/blog/pg/pgbackrest-archive/): 因作者生存压力，PostgreSQL 生态里最重要的备份工具 pgBackRest 被作者正式归档。开源软件中关键依赖如何可持续发展，值得整个 PG 生态认真思考。
- [504 个扩展，PostgreSQL 生态的天花板在哪？](/blog/pg/extension-504/): 一个 Issue ，引发扩展马拉松；32 个新扩展告诉你，PostgreSQL 正在变成什么；504 个扩展，PostgreSQL 生态的天花板在哪？
- [PostgreSQL vs MySQL 2026](/blog/pg/pg-vs-mysql-2026/): 2026 年，PostgreSQL 已经赢得数据库增量世界，并在开发者采用率、厂商战略、 资本市场与社区治理上全面压过 MySQL。存量仍属 MySQL，增量已归 PG。
- [PG 五大版本中文文档已就绪，欢迎查阅！](/blog/pg/pgdoc-cn/): PG.center 现已正式上线 PostgreSQL 18、17、16、15、14 五个生命周期内大版本的中文文档，欢迎查阅与反馈。
- [PostgreSQL 官网中文版：pg.center](/blog/pg/pg-center/): pg.center 是 postgresql.org 的完整中文镜像，首页、文档、新闻、社区与开发者资源全面汉化， 并同步发布 PostgreSQL 18 中文文档。
- [PG 扩展百科全书：中英双语，开箱即用](/blog/pg/pgext-pedia/): 我把 PostgreSQL 生态里 464 个扩展做成了一本中英双语、开箱即用的扩展百科全书：元数据、下载矩阵、安装命令、使用说明与二进制仓库一站齐全。
- [一天翻译完 PG 生态三大件文档](/blog/pg/pg-translate/): 花了一天时间，把 PgBouncer、pgBackRest、Patroni 这三个 PostgreSQL 生态核心组件的文档几乎完整翻译成了中文。
- [Oracle 兼容的 PG 真的有用吗？](/blog/pg/ivorysql/): 从一个“只有 JAR 没有源码”的迁移案例出发，解释为什么 Oracle 语法兼容并非伪需求，以及如何用 IvorySQL + Pigsty 低成本接住历史包袱。
- [号外：暂缓 PG 最新小版本安装与升级](/blog/pg/pg-out-of-sync-202602/): PostgreSQL 18.2 系列小版本引入了 substring 与 WAL 回放相关回归问题，建议暂缓新建与升级，并在 2026-02-26 号外版本发布后尽快更新。
- [从 AGPL 到 Apache：Pigsty 协议变更的思考](/blog/pg/pigsty-relicense/): Pigsty 从 AGPLv3 切换到 Apache 2.0 许可证，有朋友问我不怕别人白嫖吗？ 欢迎白嫖，要做数据库世界的 Debian，一个开放的许可证是必要的诚意。（不过白嫖 Pigsty 可以，白嫖老冯可不行，哈哈）
- [OpenAI：一套 PG 支持8亿 ChatGPT 用户](/blog/pg/openai-postgres/): PostgreSQL 的标杆案例，他们使用1主50从的经典主从 PG，支撑了8亿 ChatGPT 用户。附上老冯的评论与看法。
- [PostgreSQL 高可用到底怎么做？](/blog/pg/pg-ha-sota/): 详细介绍 PG 高可用 SOTA 方案，RTO / RPO 拆解，从原理到实战，一步到位。如果你还在折腾 PG HA，希望能帮你少走几年弯路。
- [Git for Data：瞬间克隆 PG 数据库](/blog/pg/pg-clone/): 如何在瞬间克隆一个巨大的 PostgreSQL 数据库，还不占用额外的存储？PG 18 与 XFS 可以擦出很多火花。
- [为什么 PG 将主宰 AI 时代的数据库](/blog/pg/ai-db-king/): 上下文窗口经济学，多元持久化的问题，以及零胶水架构的胜利，让 PG 成为 AI 时代的数据库之王。
- [立足中国，面向全球的 PostgreSQL 发行版](/blog/pg/forge-a-pg-distro/): 如何打造一个立足中国，面向全球的 PostgreSQL 数据库发行版？在第八届中国 PG 生态大会上的主题演讲。
- [PG 扩展云：解锁 PG 生态的全部潜力](/blog/pg/pgext-cloud/): 开源免费免翻墙，一键安装 PG 与 575 个已打包扩展，覆盖 16 个 Linux 系统与架构组合及 5 个受支持的 PG 主版本，提供原生 RPM/DEB。
- [从 PG“断供”看软件供应链中的信任问题](/blog/pg/pg-mirror-pigsty/): PostgreSQL 官方仓库切断全球镜像站同步通道，开源制成品断供，很好的试出了各家数据库厂商和云厂商的成色。
- [专栏：Postgres 大法师](/blog/pg/mage/): 关于 PostgreSQL 的开发，管理，原理，生态，工具，架构设计，性能优化，故障排查等方面的文章导航。
- [PostgreSQL 主宰数据库世界，而谁来吞噬 PG？](/blog/pg/proprity-pg/): 那些曾经让 MongoDB，MySQL 走向封闭的力量，如今也同样在 PostgreSQL 的生态中发挥作用，PG 世界需要一个代表"软件自由"价值观的发行版。
- [PostgreSQL 已主宰数据库世界](/blog/pg/so2025-pg/): 2025 年的 SO 全球开发者调研结果新鲜出炉，PostgreSQL 连续第三年成为全球最流行，最受喜爱，需求量最高的数据库。
- [卡脖子：PGDG 切断镜像站同步通道](/blog/pg/pg-mirror-break/): PGDG 切断 FTP rsync 同步通道，全球镜像站普遍断连，这次还真是卡了一把全球用户的脖子。
- [Postgres Extension Day，咱们不见不散](/blog/pg/pgext-day/): 一年一度的 PostgreSQL 开发者大会即将在五月于蒙特利尔举办。同上次第一届 PG Con.Dev 一样，这次也有一天的额外的专场活动 —— Postgres Extensions Day。
- [OrioleDB 来了！4x 性能，消除顽疾，存算分离](/blog/pg/orioledb-is-coming/): Supabase 收购的一个 PG 内核分支，号称解决了 PG XID 回卷的问题，没有表膨胀问题，性能提升4倍，还支持云原生存储。
- [OpenHalo：MySQL 线缆兼容的 PostgreSQL 来了！](/blog/pg/openhalo-mysql/): PostgreSQL 现在可以使用 MySQL 客户端访问了！愚人节刚开源的 openHalo 提供了这样的能力，现已加入 Pigsty 内核全家桶。
- [PGFS：将数据库作为文件系统](/blog/pg/pgfs/): 利用 JuiceFS，将 PostgreSQL 变为一个带 PITR 的文件系统！
- [PostgreSQL 生态前沿进展](/blog/pg/pg-frontier/): 和大家分享一下最近 PG 生态有趣的一些进展：Omnigres、PG Mooncake、Citus 13、FerretDB 2.0、ParadeDB 等。
- [小猪骑大象：PG 内核与扩展包管理神器](/blog/pg/pig/): PostgreSQL 与 Pigsty 中长期缺失的一个包管理器 —— PIG。
- [不要更新！发布当日叫停：PG 也躲不过大翻车](/blog/pg/pg-faint/): 不要在星期五发布代码，否则你会多忙一整周！PG 小版本发布当天，紧急回滚新发布的小版本。
- [PostgreSQL 12 过保，PG 17 上位](/blog/pg/pg12-eol-pg17-up/): PG17 使用 PG16 一半的时间实现扩展生态适配，300个可用扩展就绪，达到生产可用状态。PG12 正式脱离支持生命周期。
- [PostgreSQL 神功大成！最全扩展仓库来了！](/blog/pg/pg-ext-repo/): PG 扩展很多很强大，但如何安装并使用起来一直都是社区的难题。现在有了 Pigsty 扩展仓库，575 个强力插件开箱即用。
- [PostgreSQL 规约（2024版）](/blog/pg/pg-convention/): 没有规矩，不成方圆。本文是22-24年针对 PostgreSQL 15-17大版本的更新，希望可以减少大家在使用与管理 PostgreSQL 数据库过程中遇到的困惑。
- [PostgreSQL 17 发布：摊牌了，我不装了！](/blog/pg/pg-17/): 现在 PG 是世界上最先进的开源数据库，已经是各种规模组织的首选开源数据库，与顶尖商业数据库旗鼓相当，甚至更胜一筹。
- [PostgreSQL 可以替代微软 SQL Server 吗？](/blog/pg/pg-replace-mssql/): PostgreSQL 可以直接从内核层面替换掉 Oracle、SQL Server 与 MongoDB，最彻底的是 SQL Server，AWS 出品的 Babelfish 直接做到了线缆协议级兼容。
- [谁整合好 DuckDB，谁赢得 OLAP 世界](/blog/pg/pg-duckdb/): 正如两年前开展的向量数据库扩展插件赛马一样，当下 PG 生态进行的扩展竞赛已经开始围绕 DuckDB 进行，MotherDuck 官方亲自下场标志着竞争进入白热化。
- [StackOverflow 2024调研：PostgreSQL 已经杀疯了](/blog/pg/pg-is-no1-again/): 2024年的 SO 全球开发者调研结果新鲜出炉，PostgreSQL 连续第二年成为全球最流行、最受喜爱、需求量最高的数据库。
- [使用 Pigsty 自建 Dify：AI 工作流平台](/blog/pg/dify-setup/): Dify 是一个生成式 AI 应用创新引擎，开源的 LLM 应用开发平台，本文介绍了如何使用 Pigsty 自建 Dify。
- [让 PG 停摆一周的大会：PGCon.Dev 2024 参会记](/blog/pg/pgcondev-2024/): 大会议程与主题分享，酒吧社交，自组织会议，PG 仓库是如何维护的，社区参与度，一些中国特色问题。
- [PostgreSQL 17 beta1 发布！](/blog/pg/pg-17-beta1/): PostgreSQL 全球开发组宣布，PostgreSQL 17 的首个 Beta 版本现已开放，这次 PG 真的是把牙膏管给挤爆啦！
- [为什么 PostgreSQL 是未来数据库的事实标准？](/blog/pg/pg-for-everything/): 如今软件开发中最大的趋势之一，是 PostgreSQL 正在成为事实上的数据库标准。直到现在还没有多少文章能解释这一现象背后的原因。
- [PostgreSQL 会修改开源许可证吗？](/blog/pg/pg-license/): PostgreSQL 不会改变其许可证。本文是 PostgreSQL 核心组成员对此问题的回答。
- [PostgreSQL 正在吞噬数据库世界](/blog/pg/pg-eat-db-world/)
- [技术极简主义：一切皆用 Postgres](/blog/pg/just-use-pg/): 使用 Postgres 替代 Kafka、RabbitMQ、ElasticSearch、Mongo 和 Redis 是切实可行的方式，可以极大降低系统复杂度。
- [PG 生态新玩家：ParadeDB](/blog/pg/paradedb/): ParadeDB 旨在成为 Elasticsearch 的替代：用于搜索和分析的 PostgreSQL。
- [令人惊叹的 PostgreSQL 可伸缩性](/blog/pg/pg-scalability/): 本文讲述了 Cloudflare 是如何利用15个 PostgreSQL 集群，伸缩到支持每秒5500万个请求，以及 PostgreSQL 的可伸缩性表现。
- [PostgreSQL 荣获2024年度数据库之王！（第五次）](/blog/pg/pg-dbeng-2024/): DB-Engines 今日正式宣布 PostgreSQL 再度加冕为"年度数据库"，最近七年里这已经是 PG 第五次获得此荣誉头衔。
- [展望 PostgreSQL 的2024](/blog/pg/pg-in-2024/): 本文是 PostgreSQL 核心组成员 Jonathan Katz 对 2024 年 PostgreSQL 项目的未来展望，并回顾过去几年 PostgreSQL 所取得的进展。
- [PostgreSQL 宏观查询优化之 pg_stat_statements](/blog/pg/pgss/): 查询优化是 DBA 的核心工作内容之一，本文介绍了如何使用 pg_stat_statements 提供的指标，针对 PostgreSQL 进行宏观查询优化。
- [FerretDB：假扮成 MongoDB 的 PG](/blog/pg/ferretdb/): FerretDB 旨在提供一个基于 PostgreSQL 的，真正开源的 MongoDB 替代。
- [如何用 pg_filedump 抢救数据？](/blog/pg/pg-filedump/): 备份是 DBA 的生命线，但如果你的 PostgreSQL 数据库已经爆炸了又没有备份，该怎么办？也许 pg_filedump 可以帮到你！
- [向量是新的 JSON](/blog/pg/vector-json-pg/): 以向量为代表的功能将成为构建应用时的关键要素，正如历史上的 JSON 一样。而 PostgreSQL 再一次站在时代风口浪尖引领数据库潮流，在向量扩展的加持下稳拿 AI 时代的高速增长。
- [PostgreSQL：最成功的数据库](/blog/pg/pg-is-no1/): 数据库终局已现，PostgreSQL 称王。PG 在 SF2023 开发者调研中拿下大满贯，占住了 Linux 之于服务器操作系统的生态位。
- [AI 大模型与向量库 PGVector](/blog/pg/llm-and-pgvector/): 本文聚焦被 AI 炒火了的向量数据库，介绍了 AI 嵌入与向量存储检索的基本原理，并用一个具体的知识库检索案例来介绍向量数据库插件 PGVECTOR 的功能与应用。
- [PostgreSQL 到底有多强？](/blog/pg/pg-performence/): 用性能数据说话，为什么 PostgreSQL 是世界上最先进的开源关系型数据库。MySQL 和 PgSQL 性能谁好？分布式数据库到底怎么样？
- [为什么 PostgreSQL 是最成功的数据库？](/blog/pg/pg-is-best/): 总览 StackOverflow 过去六年的调研结果，在2022年 PostgreSQL 已经同时在流行度、喜爱度、需求度三项上登顶夺冠，成了字面意义上最成功的数据库。
- [开箱即用的 PG 发行版：Pigsty](/blog/pg/pigsty-intro/): 昨天在 PostgreSQL 中文社区做了一个直播分享，介绍了开源的 PostgreSQL 全家桶解决方案 —— Pigsty。
- [为什么 PostgreSQL 前途无量？](/blog/pg/pg-is-great/): 数据库是信息系统的核心组件，关系型数据库是数据库中的绝对主力，而 PostgreSQL 是世界上最先进的开源关系型数据库。占据天时地利，何愁大业不成？
- [PG 中的本地化排序规则](/blog/pg/collate/): 什么？不知道 COLLATTION 是什么，那记住一件事，用 C COLLATE 准没错！
- [高级模糊查询的实现](/blog/pg/fuzzymatch/): 如何在 PostgreSQL 中实现比较复杂的模糊查询逻辑？
- [PG 复制标识详解（Replica Identity）](/blog/pg/replica-identity/): 复制标识很重要，它关系到逻辑复制的成败。
- [PostgreSQL 逻辑复制详解](/blog/pg/logical-replication/): 本文介绍 PostgreSQL 中逻辑复制的相关原理，以及最佳实践。
- [PG 慢查询诊断方法论](/blog/pg/slow-query/): 慢查询是在线业务数据库的大敌，本文介绍了使用监控系统定位诊断慢查询的一般方法论。
- [故障档案：时间回溯导致的 Patroni 故障](/blog/pg/time-travel/): 机器因为故障重启，NTP 服务在 PG 启动后修复了 PG 的时间，导致 Patroni 无法启动。
- [在线修改主键列类型](/blog/pg/alter-type/): 如何在线修改表中列的类型，例如从 INT 升级为 BIGINT？
- [黄金监控指标：错误延迟吞吐饱和](/blog/pg/golden-metrics/): 了解 PostgreSQL 中的黄金监控指标：错误、延迟、吞吐和饱和度。
- [数据库集群管理概念与实体命名规范](/blog/pg/entity-and-naming/): 概念及其命名是非常重要的东西，命名风格体现了工程师对系统架构的认知。定义不清的概念将导致沟通困惑，随意设定的名称将产生意想不到的额外负担。
- [PostgreSQL 的 KPI](/blog/pg/pg-load/): 管数据库和管人差不多，都需要定 KPI。本文介绍了一种衡量 PostgreSQL 负载的方式：使用一种单一横向可比的指标，名曰 PG Load（PG 负载）。
- [在线修改 PG 字段类型](/blog/pg/migrate-column-type/): 如何在线修改 PostgreSQL 中的字段类型？一种通用方法。
- [前后端通信线缆协议](/blog/pg/wire-protocol/): 了解 PostgreSQL 服务器与客户端通信使用的 TCP 协议，并使用 Go 语言打印消息。
- [事务隔离等级注意事项](/blog/pg/isolation-level/): PostgreSQL 实际上只有两种事务隔离等级：读已提交（Read Commited）与可序列化（Serializable）。
- [故障档案：PG 安装 Extension 导致无法连接](/blog/pg/extension/): 今天遇到一个比较有趣的 Case，客户报告说数据库连不上了，发现是扩展导致的。
- [CDC 变更数据捕获机理](/blog/pg/logical-decoding/): 数据变更捕获是一种很有趣的 ETL 替代方案，以流式的方式持续收集状态变化事件。
- [PostgreSQL 中的锁](/blog/pg/pg-lock/): 详细介绍 PostgreSQL 中的各种锁：表级锁、行级锁、页级锁、咨询锁等。
- [GIN 搜索的 O(n²)复杂度](/blog/pg/gin/): GIN 索引如果使用很长的关键词列表进行搜索，会导致性能显著下降。本文解释了为什么 GIN 索引关键词搜索的时间复杂度为 O(n²)。
- [PostgreSQL 常见复制拓扑方案](/blog/pg/replication-plan/): 复制是系统架构中的核心问题之一。
- [温备：使用 pg_receivewal](/blog/pg/backup-plan/): 备份有各种各样的策略，物理备份通常可以分为四种。
- [故障档案：pg_dump 导致的连接池污染](/blog/pg/pg-dump-failure/): 有时候，组件之间的相互作用会以微妙的形式表现出来。例如使用 pg_dump 从连接池中导出数据，就可能产生连接池污染的问题。
- [PostgreSQL 数据页面损坏修复](/blog/pg/page-corruption/): 采用二进制编辑的方式修复 PostgreSQL 数据页，以及如何让一条主键查询出现两条记录来。
- [关系膨胀的监控与治理](/blog/pg/bloat/): PostgreSQL 使用了 MVCC 作为主要并发控制技术，它有很多好处，但也会带来一些其他的影响，例如关系膨胀。
- [PipelineDB 快速上手](/blog/pg/pipeline-intro/): PipelineDB 是 PostgreSQL 的一个扩展插件，提供流式数据处理的相关功能。
- [TimescaleDB 快速上手](/blog/pg/timescale-install/): TimescaleDB 是 PostgreSQL 的一个扩展插件，提供时序数据库的一些功能。
- [故障档案：PostgreSQL 事务号回卷](/blog/pg/xid-wrap-around/): XID WrapAround 也许是 PostgreSQL 特有的一种故障。
- [故障档案：序列号消耗过快导致整型溢出](/blog/pg/sequence-overflow/): 如果您在表上用了 Interger 的序列号，最好还是考虑一下可能溢出的情况。
- [GeoIP 地理逆查询优化](/blog/pg/geoip/): 在应用开发中，一个很常见的需求就是 GeoIP 转换：将请求的来源 IP 转换为相应的地理坐标，或者行政区划。
- [PostgreSQL 的触发器使用注意事项](/blog/pg/sql-trigger/): 详细了解 PostgreSQL 中触发器的管理与使用。
- [PostgreSQL 开发规约（2018版）](/blog/pg/pg-convention-2018/): 没有规矩，不成方圆。本文针对 PostgreSQL 数据库原理与特性，整理了一份开发规范，可以减少大家在使用 PostgreSQL 数据库过程中遇到的困惑。
- [PostgreSQL 好处都有啥](/blog/pg/pg-is-good/): PostgreSQL 的 Slogan 是"世界上最先进的开源关系型数据库"，要我说最能生动体现 PG 特色的口号应该是：一专多长的全栈数据库，一招鲜吃遍天。
- [KNN 极致优化：从 RDS 到 PostGIS](/blog/pg/knn-optimize/): KNN 问题极致优化，从传统关系型设计到 PostGIS，实现 GIS 圈选场景下三万倍的性能提升。
- [PostGIS 高效解决行政区划归属查询](/blog/pg/adcode-geodecode/): 如何高效解决典型地理逆编码问题：根据用户的经纬度坐标，定位用户的行政区划。
- [监控 PG 中的表大小](/blog/pg/mon-table-size/): PostgreSQL 中的表对应着许多物理文件，本文介绍如何统计一张表在 PostgreSQL 的实际大小。
- [PgAdmin 安装配置](/blog/pg/pgadmin-install/): PgAdmin 是一个管理 PostgreSQL 的 GUI 程序，用 python 写成，但实在是过于古早，需要一些额外配置。
- [故障档案：快慢不匀雪崩](/blog/pg/download-failure/): 最近发生了一起匪夷所思的故障，某数据库切走了一半的数据量和负载，结果却因为负载变大被打挂了。
- [Bash 与 psql 小技巧](/blog/pg/psql-and-bash/): 一些 PostgreSQL 与 Bash 交互的技巧。
- [Distinct On 去除重复数据](/blog/pg/sql-distinct-on/): 使用 Distinct On 扩展字句快速找出分组内具有最大最小值的记录。
- [函数易变性等级分类](/blog/pg/sql-func-volatility/): PgSQL 中的函数默认有三种易变性等级，合理使用可以显著改善性能。
- [用 Exclude 实现互斥约束](/blog/pg/sql-exclude/): Exclude 约束是一个 PostgreSQL 扩展，它可以实现一些更高级，更巧妙的的数据库约束。
- [PostgreSQL 例行维护](/blog/pg/routine-maintain/): 汽车需要上油，数据库也需要维护保养。对 Pg 而言，有三项比较重要的维护工作：备份、重整、清理。
- [备份恢复手段概览](/blog/pg/backup-overview/): 备份是 DBA 的安身立命之本，有备份，就不用慌。
- [PgBackRest2 中文文档](/blog/pg/pgbackrest/): PgBackRest 是用 perl 写的一组 PostgreSQL 备份工具。
- [Pgbouncer 快速上手](/blog/pg/pgbouncer-usage/): Pgbouncer 是一个轻量级的数据库连接池，这里简单介绍 Pgbouncer 的配置、管理与使用。
- [PG 服务器日志常规配置](/blog/pg/logging/): 建议配置 PostgreSQL 的日志格式为 CSV，方便分析，而且可以直接导入 PostgreSQL 数据表中。
- [空中换引擎：PostgreSQL 不停机迁移数据](/blog/pg/migration-without-downtime/): 通常涉及到数据迁移，常规操作都是停服务更新。不停机迁移数据是相对比较高级的操作。
- [使用 FIO 测试磁盘性能](/blog/pg/fio/): FIO 可以很方便地测试磁盘 IO 性能。
- [使用 sysbench 测试 PostgreSQL 性能](/blog/pg/sysbench/): 尽管 PostgreSQL 提供了 pgbench，但有时候为了吊打一下 MySQL，还是需要用到 sysbench 的。
- [找出没用过的索引](/blog/pg/find-dummy-index/): 索引很有用，但不是免费的。没用到的索引是一种浪费，使用这里的方法找出未使用的索引。
- [批量配置 SSH 免密登录](/blog/pg/ssh-add-key/): 快速配置所有机器的免密登陆。
- [Wireshark 抓包分析协议](/blog/pg/wireshark-capture/): Wireshark 是一个很有用的工具，特别适合用来分析网络协议，这里简单介绍使用 Wireshark 抓包分析 PostgreSQL 协议的方法。
- [file_fdw 妙用无穷——从数据库读取系统信息](/blog/pg/file_fdw/): 通过 file_fdw，轻松查看操作系统信息，拉取网络数据，把各种各样的数据源轻松喂进数据库里统一查看管理。
- [Linux 常用统计 CLI 工具](/blog/pg/unix-tool/): top, free, vmstat, iostat：四大常用 CLI 工具命令速查。
- [源码编译安装 PostGIS](/blog/pg/postgis-install/): PostGIS 是 PG 的杀手锏插件，但编译安装可不容易。
- [Go 数据库教程：database/sql](/blog/pg/pg-go-driver/): 同 JDBC 类似，Go 也有标准的数据库访问接口。本文详细介绍了 Go 语言中 database/sql 的使用方法和注意事项。
- [GO 与 PG 实现缓存同步](/blog/pg/notify-trigger-based-repl/): 巧妙运用 Pg 的 Notify 功能，可以方便地通知应用元数据变更，实现基于触发器的逻辑复制。
- [用触发器审计数据变化](/blog/pg/audit-change/): 有时候，我们希望记录一些重要的元数据变更，以便事后审计之用。PostgreSQL 的触发器就可以很方便地自动解决这一需求。
- [SQL 实现 ItemCF 推荐系统](/blog/pg/pg-recsys/): 用 PostgreSQL 5分钟实现一个最简单 ItemCF 推荐系统。
- [UUID 性质原理与应用](/blog/pg/uuid/): UUID 性质原理与应用，以及如何利用 PostgreSQL 的存储过程操作 UUID。
- [PostgreSQL MongoFDW 安装部署](/blog/pg/mongo_fdw-install/): 最近有业务要求通过 PostgreSQL FDW 去访问 MongoDB，但是 MongoDB FDW 编译起来真是要人命啊。
