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 中开发!

相关推荐
摇滚侠14 天前
IDEA 创建 Java 项目 手动整合 SSM 框架
java·ide·intellij-idea
摇滚侠14 天前
SpringMVC 入门到实战 RESTFul 49-55
java·开发语言·后端·spring·intellij-idea·restful
代码雕刻家14 天前
1.24.MySQL-idea中连接MySQL的基本操作
数据库·mysql·intellij-idea
星月IWJ14 天前
idea 工具整理
java·spring boot·intellij-idea
终将老去的穷苦程序员14 天前
IntelliJ IDEA 的安装教程
java·ide·intellij-idea
承渊政道14 天前
飞算JavaAI 智能引导背后的多 Agent 协作机制解析:从老旧 Java 后台升级到可运行工程
java·开发语言·spring boot·安全·intellij-idea·软件工程·ai编程
lazy H15 天前
Spring Boot 项目如何连接 Redis?新手入门配置和常见错误总结
ide·spring boot·redis·后端·学习·intellij-idea
二哈赛车手15 天前
新人笔记---idea索引失效问题解决方案
java·笔记·spring·elasticsearch·intellij-idea
潇凝子潇15 天前
IDEA插件
java·ide·intellij-idea
lazy H15 天前
Maven 依赖爆红怎么办?IDEA 中 Maven 项目常见问题和解决方法总结
java·后端·学习·maven·intellij-idea