FROM postgres:16-bookworm # 装 zhparser 编译依赖 + scws(中文分词库) # zhparser 在 PGDG / Debian 仓库里都没现成包,需要从源码编译 # 参考: https://github.com/zhparser/zhparser RUN set -eux; \ apt-get update; \ apt-get install -y --no-install-recommends \ build-essential \ git \ ca-certificates \ # scws 依赖 libscws-dev \ # pg_config / pgxs(编译 PG 扩展用,来自 postgresql-server-dev) postgresql-server-dev-16; \ rm -rf /var/lib/apt/lists/* # 装 scws 命令行工具(可选,扩展本身只需要 libscws.so) # Debian 包 libscws-dev 已经包含了运行时 .so # 编译装 zhparser # 注意:zhparser 默认要装到 $pkglibdir(/usr/lib/postgresql/16/lib/), # make install 用 PGXS 系统,会读取 pg_config RUN set -eux; \ cd /tmp; \ git clone --depth 1 https://github.com/zhparser/zhparser.git; \ cd zhparser; \ make; \ make install; \ cd /; \ rm -rf /tmp/zhparser # 验证:扩展文件应该已经就位 RUN ls -la /usr/lib/postgresql/16/lib/zhparser.so 2>&1 | head -2