随着大模型(LLM)和 RAG(检索增强生成)应用的兴起,向量数据库成为了基础设施中的标配。PostgreSQL 凭借强大的 插件,成为了目前最流行的向量数据库解决方案之一。
本文将详细介绍如何在 CentOS 7 环境下,使用 Docker 和 Docker Compose 快速部署带有 的 PostgreSQL
本教程基于以下环境进行验证,建议版本接近以避免兼容性问题:
- OS: CentOS Linux release 7.9.2009 (Core)
- Docker: 26.1.4 (Docker Engine – Community)
- Docker Compose: v2.27.1
前置检查: 确保 Docker 服务已启动。
为了方便管理和数据持久化,我们在服务器上创建一个专门的目录:
我们将使用官方推荐的 镜像,该镜像基于官方 Postgres 构建并预装了 vector 扩展。
创建并编辑文件:
配置内容如下:
使用 Docker Compose V2 命令启动容器(如果镜像不存在会先去拉去镜像):
查看容器状态:
状态显示 即表示启动成功。
容器启动后,PostgreSQL 服务已经运行,但需要在具体的数据库中启用 扩展才能存储向量数据。
这一步有客户端工具的建议用客户端工具连接,会方便好看一点,比如navicat、datagrip等等,就不用执行下方的代码了
在 SQL 交互界面()执行:
提示 即成功。
注意:扩展是“==数据库级别== ”的。如果你以后创建了新数据库 ,需要在 里再次执行此命令。
如果你使用 旧版Navicat、旧版 pgAdmin 或 DBeaver 连接数据库时,可能会遇到如下报错:
原因分析: PostgreSQL 15 及以上版本删除了系统表中的 字段。如果你使用的 Docker 镜像是 或 ,而客户端工具(如 Navicat 12/15)版本较老,就会因为查询不存在的字段而报错。
解决方案(二选一):
- 方案 A(推荐):升级客户端
- 将 Navicat 升级到 16.2+ 版本。
- 或者使豆包 大模型 教程用最新版的 DBeaver(免费且兼容性好)。
- IDEA内置的也可以凑活着用
- 方案 B:降级数据库版本
- 如果你必须使用旧版 Navicat,需将 中的镜像改为 。
- 警告:降级版本需要删除现有的数据卷,否则无法启动!
如果无法从外部连接数据库,注意检查 CentOS 防火墙:
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/278631.html原文链接:https://javaforall.net
