第一步:在有网的机器上打包镜像
找一台能连外网的机器,装好 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/master
2. 启动主库
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:16
3. 确认启动成功
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();"
跑完把输出发我,确认没问题后我给你备库的命令。
