Sign inSign up

bilxio/postgres

By bilxio

Updated 2 months ago

Image
0

423

bilxio/postgres repository overview

PostgreSQL 18 — 扩展增强版(fat)

基于官方 postgres:18-trixie 构建,预装常用 PostgreSQL 扩展,开箱即用。支持 linux/amd64linux/arm64

适合需要向量检索、时序分析、进程内 OLAP、HTTP 调用或 JavaScript 存储过程的场景,无需自行编译扩展。

预装扩展

扩展用途
pgvector向量相似度搜索 / embedding 检索
TimescaleDB时序 hypertable、压缩、连续聚合
pg_duckdb进程内 DuckDB 分析引擎(Parquet / Iceberg / S3 / MotherDuck 等)
http在 SQL 中发起 HTTP 请求
pg_repack在线重组表/索引,回收膨胀空间
pljs基于 QuickJS 的 JavaScript 过程语言

timescaledbpg_duckdb 已在首次 initdb 时写入 shared_preload_libraries,容器首次启动后自动生效。

快速开始

docker run -d \
  --name pg \
  -e POSTGRES_PASSWORD=postgres \
  -p 5432:5432 \
  bilxio/postgres:18-fat

连接后启用扩展:

CREATE EXTENSION timescaledb;
CREATE EXTENSION pg_duckdb;
CREATE EXTENSION vector;
CREATE EXTENSION pljs;
CREATE EXTENSION http;
CREATE EXTENSION pg_repack;

标签

Tag说明
18-fat多架构 manifest(amd64 + arm64)
18-fat-amd64仅 amd64
18-fat-arm64仅 arm64

与官方 postgres:18-trixie 完全兼容——环境变量、数据卷挂载、docker-entrypoint.sh 行为均保持一致。

PG 18 数据目录:请挂载 /var/lib/postgresql(而非旧版的 /var/lib/postgresql/data)。

docker run -d \
  -e POSTGRES_PASSWORD=postgres \
  -v pgdata:/var/lib/postgresql \
  bilxio/postgres:18-fat

构建来源

  • 基础镜像:postgres:18-trixie
  • PGDG apt:pg_repackhttppgvectortimescaledb
  • 源码编译:pg_duckdb v1.1.1(多阶段构建,内置 DuckDB 静态链接)、pljs v1.0.5

Dockerfile 与详细说明见同目录 README.md

注意事项

  • http 扩展:PG 18 上创建扩展可能受 pg_catalog 权限限制,使用前请确认版本兼容性。
  • pg_duckdb:DuckDB 1.5+ 运行时会向 $HOME/.duckdb/ 写入扩展缓存;若使用 S3/远程等功能,请确保 postgres 用户有可写 HOME
  • 已有数据卷:若曾用错误语法写入 shared_preload_libraries,需删卷重建或手动修正 postgresql.auto.conf

Tag summary

Content type

Image

Digest

sha256:682e5cb30

Size

208 MB

Last updated

2 months ago

docker pull bilxio/postgres:18-fat