PostgresSQL server Docker 安装部署
第一步:在有网的机器上打包镜像
找一台能连外网的机器,装好 Docker 后执行:
pgvector 是 PostgreSQL 的一个开源扩展插件,用来在数据库里存储和检索向量(embedding),支持向量相似度搜索(比如余弦相似度、欧氏距离)和 HNSW/IVFFlat 索引。
pgvector/pgvector:pg16这个镜像已经自带了完整的 PostgreSQL 16 数据库,不需要再单独装 PG。
它本质上是官方postgres:16镜像的基础上,预编译安装了 pgvector 扩展(vector数据类型、HNSW/IVFFlat 索引等),启动方式和普通 PG 完全一样。
# 1. 拉取镜像(自带 PG16 + pgvector)
docker pull pgvector/pgvector:pg16
# 2. 导出为离线包
mkdir -p /home/dockerinstall/postgres
docker save -o /home/dockerinstall/postgres/pgvector-pg16.tar pgvector/pgvector:pg16
新建目录
mkdir -p /home/postgres/data/pg16/master
好的,目录换成/home/postgres/data/pg16/master了。按下面步骤走:
1. 赋权
bash
chown -R 999:999 /home/postgres/data/pg16/master chmod 700 /home/postgres/data/pg16/master2. 启动主库
docker load -i /home/dockerinstall/postgres/pgvector-pg16.tar
bash
docker run -d \ --name pg16-primary \ -p 5432:5432 \ -e POSTGRES_USER=postgres \ -e POSTGRES_PASSWORD='123456' \ -e TZ=Asia/Shanghai \ -v /home/postgres/data/pg16/master:/var/lib/postgresql/data \ --restart always \ postgres:163. 确认启动成功
bash
docker logs pg16-primary看到database system is ready to accept connections就 OK。
4. 验证能连上
bash
编辑
docker exec -it pg16-primary psql -U postgres -c "SELECT version();"跑完把输出发我,确认没问题后我给你备库的命令。