title: pgsql适用AI的docker镜像 CreateTime: 2026-01-07 16:01:58 UpdateTime: 2026-01-07 16:01:58 CategoryName: AI --- ```dockerfile # docker build -f pgsql.df -t pgsql:v17.7 . FROM postgres:17.7-bookworm AS build-age ENV TZ=Asia/Shanghai ENV PGTZ=Asia/Shanghai RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources RUN apt-get update \ && apt-get install -y --no-install-recommends --no-install-suggests \ bison \ build-essential \ flex \ postgresql-server-dev-17 RUN apt install git -y && git clone -b PG17/v1.6.0-rc0 https://gitee.com/minrag/age.git && cd age && git checkout PG17/v1.6.0-rc0 && make && make install # RUN make && make install # Final stage: 基于 paradedb/paradedb 作为基础镜像,复制age产生的文件 FROM paradedb/paradedb:v0.20.6-pg17 ENV TZ=Asia/Shanghai ENV PGTZ=Asia/Shanghai RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources RUN apt-get update \ && apt-get install -y --no-install-recommends --no-install-suggests \ locales RUN echo "zh_CN.UTF-8 UTF-8" > /etc/locale.gen \ && locale-gen \ && update-locale LANG=zh_CN.UTF-8 ENV LANG=zh_CN.UTF-8 ENV LC_COLLATE=zh_CN.UTF-8 ENV LC_CTYPE=zh_CN.UTF-8 COPY --from=build-age /usr/lib/postgresql/17/lib/age.so /usr/lib/postgresql/17/lib/ COPY --from=build-age /usr/share/postgresql/17/extension/age--1.6.0.sql /usr/share/postgresql/17/extension/ COPY --from=build-age /usr/share/postgresql/17/extension/age.control /usr/share/postgresql/17/extension/ # 修改 paradedb 自带的 bootstrap.sh,添加age扩展和 search_path ag_catalog COPY ./bootstrap_paradedb.sh /docker-entrypoint-initdb.d/10_bootstrap_paradedb.sh RUN chmod 755 /docker-entrypoint-initdb.d/10_bootstrap_paradedb.sh ## shared_preload_libraries 增加 age RUN sed -i "s/'pg_search,pg_cron'/'age,pg_search,pg_cron'/" /usr/share/postgresql/postgresql.conf.sample ## 修改最大连接数为5000 RUN sed -i "s/#max_connections = 100/max_connections = 5000/" /usr/share/postgresql/postgresql.conf.sample ```