pgvector Docker 镜像标签怎么选
【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector
在 compose 文件里写了image: pgvector/pgvector:latest,docker compose up直接回一句manifest unknown,网络却完全正常。先别急着怀疑代理和镜像源:latest这个标签在 pgvector Docker 镜像里压根不存在,问题出在标签规则上。
版本速查:PG 主版本对标签
| PostgreSQL 主版本 | 镜像标签 |
|---|---|
| 16 | pgvector/pgvector:pg16 |
| 15 | pgvector/pgvector:pg15 |
| 14 | pgvector/pgvector:pg14 |
| 13 | pgvector/pgvector:pg13 |
⚠️ 主版本号必须和你要挂载的实例一致,差一位就装不上。
为什么故意不放 latest
PG 各主版本之间扩展 ABI 不互通,按 15 编译的扩展装不进 13。取舍很清楚:宁让人多敲几个字符,也不让"随手一个 latest"装错到线上。构建逻辑也印证这点,Dockerfile 就一句话的事:
ARG PG_MAJOR=17 FROM postgres:$PG_MAJOR-bookworm传哪个主版本,就按哪个编译安装,没有通用档可挑。
选标签:按场景对号入座
已有 PG 实例:先确认主版本,再拉对应标签,一个都不能省。
psql --version docker pull pgvector/pgvector:pg16全新搭建、数据库还没影:自己定一个主版本(比如 16),直接拉pg16,别犹豫。
只是想本地验证一下功能:随便挑一个,pg16即可。
验证扩展:拉完先跑这两条
容器起好后,上线之前执行:
CREATE EXTENSION vector; SELECT '[1,2,3]'::vector;都正常返回,标签就没选错。
两个容易踩的坑
| 坑 | 解法 |
|---|---|
写了latest,报manifest unknown | 换成具体主版本号:docker pull pgvector/pgvector:pg16 |
容器里psql报 role 不存在 | 带上用户:docker exec -it <容器名> psql -U postgres |
标签多打几个字符,换的是整个向量检索底座的可复现性。
【免费下载链接】pgvectorOpen-source vector similarity search for Postgres项目地址: https://gitcode.com/GitHub_Trending/pg/pgvector
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考