适用于 PostgreSQL 16 + pgvector 环境,目标服务器为 Linux 虚拟机(如 OpenCloudOS/CentOS/Ubuntu) ,客户端使用 IntelliJ IDEA 进行连接测试。
本指南解决常见问题:"连接不上"、"认证失败"、"驱动报错"、"datlastsysoid 错误"等。
🧩 一、前置确认
✅ 1. pgvector 不影响连接
pgvector是 PostgreSQL 的一个扩展(用于向量存储与检索),安装与否不影响数据库连接本身。- 只要 PostgreSQL 能正常连接,后续执行
CREATE EXTENSION vector;即可启用。
✅ 2. 你的环境信息(示例)
- PostgreSQL 版本:16.1
- 虚拟机 IP:
110.42.247.200(或类似公网 IP) - 数据库名:
ai_agent - 用户名:
atg - 客户端工具:IntelliJ IDEA(非 Navicat)
二、服务端配置(虚拟机上操作)
必须以
root或postgres用户登录虚拟机操作。
步骤 1:确保 PostgreSQL 正在运行
sudo systemctl status postgresql
# 若未运行:
sudo systemctl start postgresql
步骤 2:修改 postgresql.conf ------ 允许外部连接
编辑配置文件(路径可能因系统而异):
bash
vi /www/server/pgsql/data/postgresql.conf

找到并修改:
bash
listen_addresses = '*'

保存后重启服务:
bash
sudo systemctl restart postgresql
或者这里

步骤 3:修改 pg_hba.conf ------ 允许远程用户认证
编辑认证配置文件【看自己的在哪里】
bash
[root@VM-4-5-opencloudos data]# vi /www/server/pgsql/data/pg_hba.conf
在文件末尾添加(根据安全需求选择一种):
bash
# 允许所有 IP 使用密码登录(测试用)
host all all 0.0.0.0/0 md5
# 或仅允许你的客户端 IP(推荐)
host all all YOUR_CLIENT_IP/32 md5

重载配置(无需重启)
bash
sudo systemctl reload postgresql
或者

步骤 4:确认用户和数据库存在
bash
psql -u postgres
我这里是已经创建了

如果没有
bash
-- 创建用户(如果不存在)
CREATE USER atg WITH PASSWORD 'your_password';
-- 创建数据库(如果不存在)
CREATE DATABASE ai_agent OWNER atg;
-- 授权连接
GRANT CONNECT ON DATABASE ai_agent TO atg;
🔥 三、网络与防火墙检查
1. 虚拟机操作系统防火墙
OpenCloudOS / CentOS (firewalld)
bash
sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload
2. 云平台安全组(关键!)
如果你使用 阿里云、腾讯云、华为云等:
- 登录云控制台 → 找到该虚拟机 → 安全组规则
- 添加入方向规则:
- 协议类型:TCP
- 端口范围:5432
- 源 IP:你的公网 IP(或 0.0.0.0/0 临时测试)
⚠️ 很多用户只开了系统防火墙,但忘了云平台安全组!这是最常见的"连不上"原因。

💻 四、客户端连接(IntelliJ IDEA)
步骤 1:配置 Driver

步骤 2: PostgreSQL JDBC 驱动(关键!)


步骤 3:测试连接
- 点击
+→ Data Source → PostgreSQL - 填写:
- Host:
110.42.247.2xx - Port:
5432 - Database:
ai_agent - User:
atg - Password:
******
- Host:

成功结果如下

🛠 五、常见错误与解决方案
| 错误现象 | 原因 | 解决方案 |
|---|---|---|
| 连接被拒绝 / timeout | 防火墙或 PostgreSQL 未监听外网 | 检查 listen_addresses + 云安全组 + OS 防火墙 |
| FATAL: password authentication failed | 密码错误 或 pg_hba.conf 用 peer |
改为 md5,确认密码正确 |
| FATAL: no pg_hba.conf entry for host... | pg_hba.conf 未允许你的 IP |
添加对应规则并 reload |
| IDEA 报"尝试连线已失败"无详情 | 驱动旧 or 网络不通 | 升级 JDBC 驱动 + 用 telnet 测试 |
| 连接后无法看到表/扩展 | 权限不足 | 执行 GRANT ALL ON SCHEMA public TO atg; |
🎯 记住:90% 的"连不上"问题出在防火墙或 pg_hba.conf,不是 pgvector 的问题!
按照本指南逐步排查,你一定能成功连接 PostgreSQL + pgvector 并在 IntelliJ IDEA 中开发!