确保已安装PostgreSQL数据库和pgAdmin(若未安装,可通过sudo yum install postgresql postgresql-server pgadmin4命令安装)。
要使pgAdmin能远程连接PostgreSQL,需修改PostgreSQL的核心配置文件,允许其监听外部IP并授权远程访问。
postgresql.conf(调整监听地址)PostgreSQL默认仅监听本地连接(localhost),需修改配置文件使其接受所有IP地址的连接。
/var/lib/pgsql/<version>/data/postgresql.conf或/etc/postgresql/<version>/main/postgresql.conf)。vi)打开文件,找到listen_addresses参数,将其修改为:listen_addresses = '*' # 允许监听所有网络接口
注:若仅需允许特定IP访问,可将
*替换为具体IP(如192.168.1.100)。
pg_hba.conf(配置访问权限)该文件控制客户端认证方式,需添加规则允许远程IP通过密码验证连接。
postgresql.conf在同一目录)。md5密码验证访问所有数据库):host all all 0.0.0.0/0 md5
注:若需限制特定IP或数据库,可将
0.0.0.0/0替换为目标IP段(如192.168.1.0/24),或指定数据库名(如mydb)。
修改配置后,需重启服务使更改生效:
sudo systemctl restart postgresql
PostgreSQL默认使用5432端口,需确保防火墙允许该端口的入站连接。
firewalld(推荐)sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent # 永久添加端口
sudo firewall-cmd --reload # 重新加载防火墙规则
iptables(传统方式)sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT # 添加允许规则
sudo service iptables save # 保存规则(CentOS 7及以上可能需用`iptables-services`)
完成PostgreSQL配置后,即可通过pgAdmin图形界面连接远程数据库。
5050),通过浏览器访问http://<centos_server_ip>:5050。RemotePostgres,用于标识连接)。192.168.1.100)。5432,若修改过需填写新端口)。postgres,默认超级用户)。ALTER USER postgres WITH PASSWORD 'your_password'设置的密码一致)。postgres、template0等),可进一步管理数据库对象(表、视图、查询等)。host all all 0.0.0.0/0 md5允许所有IP访问,建议限制为信任的IP段(如192.168.1.0/24);或使用SSL加密连接(配置sslmode=require)。sudo setsebool -P postgres_can_network_connect on
通过以上步骤,即可在CentOS上通过pgAdmin远程连接PostgreSQL数据库,实现图形化管理。