PostgreSQL + pgvector 远程连接使用指南(适用于 IntelliJ IDEA)

适用于 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)

二、服务端配置(虚拟机上操作)

必须以 rootpostgres 用户登录虚拟机操作。

步骤 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:测试连接

  1. 点击 +Data Source → PostgreSQL
  2. 填写:
    • Host: 110.42.247.2xx
    • Port: 5432
    • Database: ai_agent
    • User: atg
    • Password: ******

成功结果如下


🛠 五、常见错误与解决方案

错误现象 原因 解决方案
连接被拒绝 / timeout 防火墙或 PostgreSQL 未监听外网 检查 listen_addresses + 云安全组 + OS 防火墙
FATAL: password authentication failed 密码错误 或 pg_hba.confpeer 改为 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 中开发!

相关推荐
Diligently_7 天前
idea 中vm option 配置
java·ide·intellij-idea
当战神遇到编程7 天前
LinkedList深入讲解
java·intellij-idea
lonelyhiker8 天前
新版idea的structure卡顿
java·ide·intellij-idea
Peter4478 天前
新装的idea启动报错
intellij-idea·intellij idea
minh_coo8 天前
Spring单元测试之反射利器:ReflectionTestUtils
java·后端·spring·单元测试·intellij-idea
高斯林.神犇8 天前
idea快捷键
java·ide·intellij-idea
IT枫斗者9 天前
IntelliJ IDEA 2025.3史诗级更新:统一发行版+Spring Boot 4支持,这更新太香了!
java·开发语言·前端·javascript·spring boot·后端·intellij-idea
人生导师yxc10 天前
IDE缓存配置等位置更改(自存)
java·ide·intellij-idea
丹牛Daniel10 天前
Java解决HV000183: Unable to initialize ‘javax.el.ExpressionFactory‘
java·开发语言·spring boot·tomcat·intellij-idea·个人开发
BD_Marathon11 天前
IDEA创建多级包时显示在同一行怎么办
java·ide·intellij-idea