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

相关推荐
i757_w2 小时前
IDEA快捷键被占用
java·ide·intellij-idea
计算机毕设指导64 小时前
基于微信小程序的博物馆文创系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
李少兄21 小时前
从一篇IDEA笔记开始,我走出了自己的技术创作路
java·笔记·intellij-idea
麷飞花21 小时前
Intellij Idea 操作汇总
java·intellij-idea·idea
计算机学姐1 天前
基于SpringBoot的智能家教服务平台【2026最新】
java·spring boot·后端·mysql·spring·java-ee·intellij-idea
计算机学姐1 天前
基于SpringBoot的共享单车管理系统【2026最新】
java·spring boot·后端·spring·java-ee·intellij-idea·mybatis
invicinble1 天前
透视IDEA,IDEA认识到什么程度算精通
java·ide·intellij-idea
我命由我123451 天前
Java 开发 - 含有 null 值字段的对象排序(自定义 Comparator、使用 Comparator、使用 Stream API)
java·开发语言·学习·java-ee·intellij-idea·学习方法·intellij idea
『六哥』2 天前
IntelliJ IDEA 安装教程
java·ide·intellij-idea·intellij idea