配置POSTGRESQL远程访问

本文介绍了如何配置PostgreSQL数据库以允许远程访问。主要步骤包括修改pg_hba.conf文件以设置访问权限,以及更改postgresql.conf文件中的listen_addresses参数,使数据库能够接收来自任意IP地址的连接请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

配置POSTGRESQL远程访问

安 装PostgreSQL数据库之后,默认是只接受本地访问连接。如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置。配置远 程连接PostgreSQL数据库的步骤很简单,只需要修改data目录下的pg_hba.conf和postgresql.conf,其中 pg_hba.conf是用来配置对数据库的访问权限,postgresql.conf文件用来配置PostgreSQL数据库服务器的相应的参数。下面 介绍配置的步骤:

1.修改pg_hba.conf文件,配置用户的访问权限:

  1. # TYPE DATABASE USER CIDR-ADDRESS METHOD
  2. # "local" is for Unix domain socket connections only
  3. local all all trust
  4. # IPv4 local connections:
  5. host all all 127.0.0.1/32 trust
  6. <strong>host all all 192.168.1.0/24 md5</strong>
  7. # IPv6 local connections:
  8. host all all ::1/128 trust

其中加粗标识的内容为新添加的内容,表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验 证。在我们的环境中,我们需要在主机192.168.1.5上使用postgres用户访问192.168.1.9上的PostgreSQL数据库。

2.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。

定位到#listen_addresses=’localhost’。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求,通过将改行内容修改为listen_addresses=’*'来允许数据库服务器监听来自任何主机的连接请求:

  1. listen_addresses = '*' # what IP address(es) to listen on;
  2. # comma-separated list of addresses;
  3. # defaults to 'localhost', '*' = all
  4. # (change requires restart)

修改之后,保存并退出,然后重起数据库,就可以在在远程机器上访问PostgreSQL数据库了。

### 配置 PostgreSQL 实现远程访问 #### 修改 `postgresql.conf` 文件 为了使 PostgreSQL 接受来自不同网络位置的连接请求,在 `postgresql.conf` 中需调整监听地址。默认情况下,PostgreSQL 只会监听本地接口。编辑此文件并找到 `listen_addresses` 参数,将其设置为 `'*'` 或指定特定 IP 地址列表以便服务器能够响应外部连接尝试[^1]。 ```bash sudo nano /etc/postgresql/14/main/postgresql.conf ``` 将下列行更改为: ```conf listen_addresses = '*' ``` 保存更改后退出编辑器。 #### 编辑 `pg_hba.conf` 文件 为了让客户端成功认证,还需更新 `pg_hba.conf` 来定义哪些主机可以访问数据库以及采用何种验证机制。对于基于信任的关系或者密码保护的选择取决于安全需求。向该文件添加一行来允许来自特定网段或单个IP地址的连接[^2]。 继续以上述权限为例,假设要让位于同一局域网内的所有设备都能通过MD5加密密码登录,则可以在文件末尾追加如下内容: ```conf host all all 192.168.239.0/24 md5 ``` 这表示任何处于 `192.168.239.x` 范围内的机器都可以使用用户名和密码组合来进行身份验证[^4]。 #### 切换至 Postgres 用户执行操作 某些配置可能需要以 postgres 用户的身份完成。可以通过以下命令切换到 postgres 用户环境再做进一步的操作[^3]: ```bash sudo -i -u postgres ``` #### 查询当前配置文件路径 当不确定配置文件的确切位置时,可以直接在 psql 命令提示符下运行相应指令获取这些信息: ```sql SHOW config_file; SHOW hba_file; ``` 上述命令将会返回两个重要配置文件的实际存储地点,方便后续修改工作。 #### 重启服务生效变更 最后不要忘记重启 PostgreSQL 服务使得新设定立即起效。根据操作系统版本的不同,可选用不同的命令形式: ```bash sudo systemctl restart postgresql # 或者 sudo service postgresql restart ``` 这样就完成了基本的远程访问准备工作。现在应该可以从其他计算机上的管理工具像 pgAdmin 或 DataGrip 进行测试连接了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值