温馨提示×

centos怎样远程postgresql

小樊
41
2026-09-21 15:51:56
栏目: 云计算

在 CentOS 上远程连接 PostgreSQL,通常需要完成以下几个步骤:


一、在 CentOS 上安装 PostgreSQL(如已安装可跳过)

# 以 PostgreSQL 14 为例
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf install -y postgresql14-server
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
sudo systemctl enable --now postgresql-14

二、修改 PostgreSQL 配置允许远程连接

1️⃣ 修改 postgresql.conf

找到配置文件(路径可能不同):

sudo vi /var/lib/pgsql/14/data/postgresql.conf

修改或添加:

listen_addresses = '*'

* 表示监听所有网卡(或写具体 IP)


2️⃣ 修改 pg_hba.conf

sudo vi /var/lib/pgsql/14/data/pg_hba.conf

在末尾添加(示例):

# 允许所有 IP 使用密码连接
host    all             all             0.0.0.0/0               md5

或更安全一点(指定 IP):

host    all             all             192.168.1.0/24          md5

3️⃣ 重启 PostgreSQL

sudo systemctl restart postgresql-14

三、配置 CentOS 防火墙

sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload

(云服务器还需在安全组放行 5432)


四、创建远程用户并授权

sudo -u postgres psql
CREATE USER remote_user WITH PASSWORD 'password';
CREATE DATABASE testdb OWNER remote_user;
GRANT ALL PRIVILEGES ON DATABASE testdb TO remote_user;

五、远程连接方式

1️⃣ 使用 psql 远程连接

psql -h 服务器IP -U remote_user -d testdb

2️⃣ 使用客户端(如 DBeaver / Navicat)

  • Host: 服务器IP
  • Port: 5432
  • User: remote_user
  • Password: password
  • Database: testdb

六、常见问题

✅ 连不上?检查:

  • PostgreSQL 是否启动
  • 防火墙 / 安全组
  • listen_addresses
  • pg_hba.conf 是否生效
  • 用户是否有登录权限

如果你提供:

  • CentOS 版本
  • PostgreSQL 版本
  • 报错信息

我可以帮你精准排错。

0 踩