返回

文章详情

展示HN:Pglayers – 可叠加的Docker层PostgreSQL扩展

Hacker News2026年7月1日 16:50

官方的PostgreSQL Docker映像没有附带扩展。每次需要pgvector、PostGIS或pg_cron时,您都需要手动安装依赖项、从源代码编译,或者选择捆绑固定扩展集的第三方映像。pglayers解决了这个问题。它既是一个预装了扩展的现成PostgreSQL发行版,也是一个构建自定义映像的工具,您可以根据需要添加精确的扩展 —— 所有这一切都基于官方的Postgres Docker映像。您不需要弄清楚如何构建PostgreSQL扩展、安装依赖项或设置编译器。每个扩展都作为一个最小的Docker映像层发布,只包含其二进制文件。通过使用COPY --from --将它们叠加到官方的Postgres映像上,每个扩展一行,无需编译。快速开始选项1:现成的映像预构建的组合映像,已配置shared_preload_libraries:# 所有53个扩展 docker run -d -e POSTGRES_PASSWORD=secret ghcr.io/pglayers/pglayers-full:17 # 兼容Azure数据库的PostgreSQL(28个扩展) docker run -d -e POSTGRES_PASSWORD=secret ghcr.io/pglayers/pglayers-azure:17 可用的配置文件:full,azure。每个配置文件都针对PG 17、18和19发布。有关详细信息以及如何创建自定义配置文件,请参见配置文件。注意:供应商配置文件(例如,azure)是对本地开发的最佳努力近似。它们不能替代实际的托管服务——扩展版本、配置默认值以及特定平台的行为可能会有所不同。使用它们进行本地开发和测试,而不是精确复制生产环境。选项2:选择自己的扩展每个扩展都作为自己的映像层发布。您可以通过COPY --from --将它们叠加到官方的Postgres映像上,每行添加一个扩展到最终映像:FROM postgres:17 COPY --from=ghcr.io/pglayers/pgx-pgvector:17 / / COPY --from=ghcr.io/pglayers/pgx-pg_cron:17 / / COPY --from=ghcr.io/pglayers/pgx-postgis:17 / / 构建和运行:docker build -t my-postgres . docker run -d -e POSTGRES_PASSWORD=secret my-postgres 不需编译——Docker从注册表中拉取预构建的扩展层并将它们覆盖到官方映像上。结果是一个具有您选择的扩展的单一映像,由层逐层组成。新手Docker?请参见验证您的容器,了解如何检查它的运行情况并处理端口冲突。支持的PostgreSQL版本版本状态 PostgreSQL 17 稳定 PostgreSQL 18 稳定 PostgreSQL 19 实验性(测试版——在正式发布之前支持)所有扩展均针对PG 17和18构建和测试。对于PG 19的支持在进入测试版时为最佳努力;某些扩展可能尚未具有上游兼容性。一旦PG 19达到GA,它将被提升为稳定版。可用扩展扩展版本PG版本描述 age 1.7.0-rc0 17, 18 基于openCypher查询语言的图数据库(Apache AGE) anon 3.1.1 17, 18 数据匿名化和掩码 credcheck 5.0 17, 18, 19 用户创建/密码更改时的凭据检查 documentdb 0.113-0 17, 18 MongoDB兼容的文档数据库引擎(BSON类型和CRUD API) h3-pg 4.2.3 17, 18 Uber H3六角地理空间索引 hll 2.21 17, 18, 19 HyperLogLog概率性独立计数 http 1.7.1 17, 18, 19 PostgreSQL的HTTP客户端(从SQL的网络请求) hypopg 1.4.3 17, 18, 19 用于什么-如果分析的假设性索引 ip4r 2.4.3 17, 18, 19 带有GiST索引的IPv4/IPv6范围数据类型 orafce 4.16.7 17, 18, 19 Oracle兼容功能和包 pgaudit 17.1 17, 18 审计日志记录(会话和对象级) pg_bigm 1.2 17, 18 2-gram全文搜索(更适合CJK语言) pg_cron 1.6.7 17, 18 作业调度程序(数据库内的周期性作业) pg_duckdb 1.1.1 17, 18 集成在Postgres中的DuckDB列式分析引擎 pg_durable 0.2.3 17, 18 数据库内持久执行(容错工作流) pg_failover_slots 1.2.1 17, 18 逻辑复制槽管理器用于故障切换 pg_graphql 1.6.1 17, 18 PostgreSQL的GraphQL支持 pg_hashids 1.2.1 17, 18, 19 从整数生成短唯一哈希ID pg_hint_plan 1.7.1 17, 18 使用SQL注释中的提示调整执行计划 pg_ivm 1.13 17, 18 物化视图的增量视图维护 pg_jsonschema 0.3.4 17, 18 JSON模式验证 pg_net 0.20.3 17, 18, 19 异步非阻塞的HTTP/HTTPS请求 pg_partman 5.4.3 17, 18, 19 自动表分区管理 pg_qualstats 2.1.4 17, 18, 19 WHERE子句谓词的统计收集器 pg_repack 1.5.3 17, 18, 19 在线表重组而不需要重锁 pg_roaringbitmap 1.1.0 17, 18 快速集合操作的咆哮位图数据类型 pg_similarity 1.0 17, 18 相似性函数(Levenshtein、Jaro-Winkler、Cosine、Jaccard) pg_squeeze 1.9.3 17, 18, 19 在没有重锁的情况下从表中删除未使用的空间 pg_stat_monitor 2.3.2 17, 18 带有直方图和桶的增强查询统计 pg_textsearch 1.3.1 17, 18 BM25相关性排名全文搜索 pg_uuidv7 1.7.0 17, 18

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡