Postgresql允许远程访问 配置方法

postgresql默认情况下,远程访问不能成功,如果需要允许远程访问,需要修改两个配置文件,说明如下:

在数据安装目录下 

******\PostgreSQL\9.4\data

找到以下两个文件 

postgresql.conf 和 pg_hba.conf 



1.postgresql.conf

将该文件中的listen_addresses项值设定为“*”,在9.0 Windows版中,该项配置已经是“*”无需修改。

2.pg_hba.conf

在该配置文件的host all all 127.0.0.1/32 md5行下添加以下配置,或者直接将这一行修改为以下配置

host all all 0.0.0.0/0 md5

如果不希望允许所有IP远程访问,则可以将上述配置项中的0.0.0.0设定为特定的IP值。

### 如何配置 PostgreSQL允许远程连接 为了使 PostgreSQL 支持远程连接,需要对 `postgresql.conf` 和 `pg_hba.conf` 文件进行适当调整。以下是具体的配置方法: #### 修改 PostgreSQL 主要配置文件 编辑 `postgresql.conf` 文件,将其监听地址设置为所有网络接口。这可以通过将 `listen_addresses` 参数更改为 `'*'` 来完成[^4]。 ```bash sudo nano /etc/postgresql/14/main/postgresql.conf ``` 找到以下行并修改: ```plaintext listen_addresses = '*' ``` 此更改表示 PostgreSQL 将监听来自任何 IP 地址的请求,而不仅限于本地回环地址 (localhost)。 --- #### 调整客户端认证配置 接下来,需更新 `pg_hba.conf` 文件来定义哪些主机可以访问数据库实例以及它们使用的身份验证方式[^3]。 定位至该文件路径,并添加新的条目以便接受外部设备发起的数据传输需求[^2]: ```bash sudo nano /etc/postgresql/14/main/pg_hba.conf ``` 在文件底部追加如下内容(假设目标机器拥有固定IP地址): ```plaintext host all all 0.0.0.0/0 md5 ``` 上述命令意味着允许任意 IPv4 客户端通过密码验证机制(md5)登录服务器上的每一个数据库账户。如果希望进一步限制范围,则可替换通配符(`0.0.0.0/0`)为目标子网掩码形式的具体区间值,比如仅开放给特定局域网内的计算机使用. --- #### 应用改动与防火墙设置 保存两份文档之后重启服务程序让新设定生效: ```bash sudo systemctl restart postgresql ``` 最后确认操作系统层面不存在阻止外部流量到达指定端口(默认情况下为5432)的情况。对于基于 Linux 的环境来说可能涉及 iptables 或 ufw 设置; Windows 上则应查看高级安全选项中的入站规则列表是否存在对应项[^1]. --- #### 测试连通性 利用 pgAdmin、DBeaver 等图形界面工具或者命令行实用程序尝试建立链接操作即可检验整个流程是否顺利完成预期目的。 ```python import psycopg2 try: connection = psycopg2.connect( user="your_username", password="your_password", host="192.168.239.128", port="5432", database="your_database" ) except Exception as error: print(f"Error connecting to the database: {error}") finally: if 'connection' in locals(): connection.close() ``` 以上脚本能够帮助判断 Python 程序能否成功接入远端部署好的 PG 实例。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值