ubuntu

ubuntu pgadmin如何远程连接

小樊
40
2025-09-20 16:02:02
栏目: 智能运维

一、安装PostgreSQL与pgAdmin
在Ubuntu终端执行以下命令,安装PostgreSQL数据库及pgAdmin管理工具:

sudo apt update
sudo apt install postgresql pgadmin4

安装完成后,PostgreSQL服务会自动启动;若未启动,可通过sudo systemctl start postgresql手动开启。

二、配置PostgreSQL允许远程连接
要实现远程访问,需修改PostgreSQL的两项核心配置:

1. 修改postgresql.conf(开启远程监听)

使用文本编辑器打开配置文件(路径随PostgreSQL版本变化,如/etc/postgresql/14/main/postgresql.conf),找到listen_addresses参数,将其修改为允许所有IP连接或指定服务器IP:

listen_addresses = '*'  # 允许所有IP;若需限制特定IP,替换为具体地址(如'192.168.1.100')

保存并关闭文件。

2. 修改pg_hba.conf(配置访问权限)

打开pg_hba.conf文件(通常位于/etc/postgresql/<version>/main/目录下),在文件末尾添加以下行,允许远程客户端通过密码验证连接:

host    all             all             0.0.0.0/0               md5  # 允许所有IP(IPv4);若需支持IPv6,添加“::/0”

注意md5表示使用密码加密验证,如需更高安全性,可替换为scram-sha-256(需PostgreSQL 10及以上版本)。
保存文件后,重启PostgreSQL服务使配置生效:

sudo systemctl restart postgresql

三、配置防火墙允许PostgreSQL端口
PostgreSQL默认使用5432端口,需确保防火墙放行该端口:

1. 使用ufw防火墙(Ubuntu默认)

sudo ufw allow 5432/tcp  # 允许TCP协议的5432端口
sudo ufw reload          # 重新加载防火墙规则

2. 使用iptables防火墙

sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT  # 添加允许规则
sudo service iptables save  # 保存规则(部分系统可能需要)

3. 使用firewalld防火墙

sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent  # 永久添加端口
sudo firewall-cmd --reload  # 重新加载防火墙

四、配置pgAdmin连接远程数据库

  1. 启动pgAdmin:在Ubuntu应用菜单中找到“pgAdmin 4”并启动,或在终端输入pgadmin4
  2. 创建服务器连接
    • 右键点击左侧面板“Servers”节点,选择“Create” → “Server…”。
    • 在“General”选项卡中,输入服务器名称(如“My Remote DB”),用于标识该连接。
    • 切换至“Connection”选项卡,填写以下信息:
      • Host name/address:远程PostgreSQL服务器的IP地址或域名(如123.45.67.89);
      • Port:PostgreSQL端口(默认5432,若修改过需填写新端口);
      • Maintenance database:维护数据库(通常为postgres,PostgreSQL默认创建的系统数据库);
      • Username:PostgreSQL用户名(如postgres,默认超级用户);
      • Password:对应用户的密码(需与ALTER USER命令设置的密码一致)。
    • 点击“Save”保存配置。
  3. 测试连接:在“Servers”列表中展开刚创建的服务器,双击“Databases”节点,若能正常加载远程数据库列表,则表示连接成功。

五、安全注意事项

0
看了该问题的人还看了