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

相关推荐
昀贝6 小时前
IDEA启动SpringBoot项目时报错:命令行过长
java·spring boot·intellij-idea
摇滚侠11 小时前
在 SpringBoot 项目中,开发工具使用 IDEA,.idea 目录下的文件需要提交吗
java·spring boot·intellij-idea
努力学编程呀(๑•ี_เ•ี๑)16 小时前
【在 IntelliJ IDEA 中切换项目 JDK 版本】
java·开发语言·intellij-idea
计算机学姐1 天前
基于SpringBoot的民宿预定管理系统【三角色+个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·mysql·信息可视化·intellij-idea·推荐算法
noBt2 天前
Windows IDEA 卡顿严重
java·ide·intellij-idea
小疙瘩2 天前
去掉 IDEA 中 mybatis配置文件的局部背景颜色(图解)
java·ide·intellij-idea
_周游2 天前
Java8 API文档搜索引擎_3.搜索模块(实现细节)
java·搜索引擎·intellij-idea
工具罗某人2 天前
IDEA JRebel插件实现热部署
java·ide·intellij-idea
dear_bi_MyOnly2 天前
【多线程——线程状态与安全】
java·开发语言·数据结构·后端·中间件·java-ee·intellij-idea
何中应3 天前
IDEA 中让 Git 忽略 .idea 目录
java·git·intellij-idea