为啥用它

为什么我们需要一个专为 PostgreSQL 及其生态组件于扩展而设计的包管理器?

有没有想过,安装或升级 PostgreSQL 扩展时,不再需要翻阅过时的 README、晦涩的 configure 脚本,或者随便找的 GitHub 分支和补丁?痛苦的现实是,Postgres 强大的扩展性往往意味着复杂的设置,尤其是在你需要兼顾多个发行版或 CPU 架构时。

pig-meme

这时,Pig 就应运而生了。Pig 是一个基于 Go 的包管理器,旨在一举解决 Postgres 及其超过 400 个扩展的问题。无论是 TimescaleDB、Citus、PGVector,还是 20 多个 Rust 扩展,甚至是自托管 Supabase 所需的所有工具 —— Pig 的统一命令行界面让这些都触手可及。 它去除了混乱的源代码编译和半成品的仓库,提供与 Debian、Ubuntu、RedHat 系列以及 x86 和 ARM 架构完美兼容的、版本对齐的 RPM/DEB 包。无需猜测,也无需麻烦。

pig

Pig 并不是重新发明轮子,而是利用你系统原生的包管理器(APT、YUM、DNF),并遵循官方 PGDG 包装规范,确保无缝对接。这意味着你不必在“正确的方式”和“快速的方式”之间做选择;Pig 尊重你现有的仓库,符合操作系统的最佳实践,并且与其他你已经使用的包完美兼容。

准备好在没有繁琐操作的情况下为你的 Postgres 增加超级能力吗?查看 GitHub 了解文档、安装步骤,并一睹其庞大的扩展列表。然后,看看你的本地 Postgres 实例如何变成一个充满专业模块的强大工具 —— 无需黑魔法。如果 Postgres 的未来是不可阻挡的可扩展性,那么 Pig 就是帮助你解锁这一未来的神灯。说实话,没人抱怨自己拥有太多扩展。

小猪骑大象:PG内核与扩展包管理神器

ANNOUNCE pig: The Postgres Extension Wizard





最后修改 2025-02-23: update extension doc (0a5bb32)