允许网络访问PostgreSQL

本文介绍如何配置PostgreSQL数据库以允许网络上的其他主机通过TCP/IP访问。主要步骤包括开放数据库端口并监听所有网络请求,以及修改配置文件以允许来自任何网络的用户访问。

PostgreSQL默认安装后是不允许网络访问的,只允许本机(local)访问。如果要求网络上其他主机通过TCP/IP访问需要两步:

 

一、开放端口

是数据库端口(默认5432)监听来自所有网络的请求。找到配置文件/PostgreSQL/8.x/data/postgresql.conf。

修改CONNECTIONS AND AUTHENTICATION项

#listen_addresses = 'localhost'

的注释去掉,后面的localhost改为*,表示监听来自所有网络的请求。

改后

listen_addresses = '*'

 

二、允许来自网络的用户访问

找到配置文件/PostgreSQL/8.x/data/pg_hba.conf。

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
下面添加一条

host    all         all          0.0.0.0/0               md5

用来允许来自任何网络的用户访问数据库。

### 如何从远程位置访问CentOS 8上的PostgreSQL数据库 为了能够从远程位置安全地访问安装在CentOS 8服务器上的PostgreSQL数据库,需执行几个配置更改来确保网络连接的安全性和功能性。 #### 修改PostgreSQL配置文件以允许远程连接 默认情况下,PostgreSQL仅监听本地接口。要启用来自其他计算机的连接请求,需要编辑`postgresql.conf`文件中的监听地址设置: ```bash sudo vi /var/lib/pgsql/data/postgresql.conf ``` 找到并修改如下行,使得PostgreSQL可以接受任何IP地址发起的连接请求[^1]: ```conf listen_addresses = '*' ``` 保存并关闭文件后重启PostgreSQL服务使改动生效: ```bash sudo systemctl restart postgresql ``` #### 配置pg_hba.conf增加权限控制 为了让特定客户端能成功认证通过,还需调整位于同一目录下的`pg_hba.conf`文件,在其中添加一条记录指定哪些主机被授权访问哪个数据库以及采用何种验证方式(如MD5密码)。例如,如果希望让所有IPv4设备都能连上名为`mydb`的数据表,则可加入这样一行[^2]: ```plaintext host mydb all 0.0.0.0/0 md5 ``` 再次重启PostgreSQL服务应用新的访问策略。 #### 调整防火墙规则开放必要的端口 即使完成了上述两步操作,外部流量仍可能因为操作系统自带的防火墙而无法触及到目标机器。对于运行着Firewalld作为主要防护机制的新版CentOS来说,可以通过命令行工具快速开启所需的服务端口(通常是TCP协议下编号为5432的那个)[^4] : ```bash sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent sudo firewall-cmd --reload ``` 以上就是实现跨网段甚至互联网级别的PostgreSQL远程管理所需的全部准备工作了。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值