当前位置: 首页 > news >正文

【PostgreSQL】PostgreSQL数据库允许其他IP连接到数据库(Windows Linux)

要让PostgreSQL数据库允许其他IP连接到数据库,需要进行以下几个步骤的配置:

1. 修改postgresql.conf文件

首先,需要修改PostgreSQL的主配置文件postgresql.conf,允许数据库监听所有IP的连接请求。

1.1 找到postgresql.conf文件

该文件通常位于PostgreSQL的主目录下,比如:

  • Linux: /etc/postgresql/<版本号>/main/postgresql.conf
  • Windows: C:\Program Files\PostgreSQL\<版本号>\data\postgresql.conf
1.2 修改listen_addresses配置

打开postgresql.conf文件,找到listen_addresses配置项,将其修改为如下内容:

listen_addresses = '*'

这表示允许数据库监听所有IP地址的连接请求。如果只想允许特定的IP连接,可以将*替换为相应的IP地址。

2. 修改pg_hba.conf文件

PostgreSQL通过pg_hba.conf文件来控制客户端连接数据库的访问权限。你需要在此文件中添加允许其他IP连接的配置。

2.1 找到pg_hba.conf文件

该文件通常和postgresql.conf文件在同一目录下,比如:

  • Linux: /etc/postgresql/<版本号>/main/pg_hba.conf
  • Windows: C:\Program Files\PostgreSQL\<版本号>\data\pg_hba.conf
2.2 添加访问权限

在文件的末尾添加如下内容:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             0.0.0.0/0               md5

这表示允许所有IP(0.0.0.0/0)的用户使用md5加密方式连接到所有数据库。如果只允许特定IP连接,可以将0.0.0.0/0替换为具体的IP地址或网段,例如192.168.1.0/24

3. 重启PostgreSQL服务

完成上述配置后,需要重启PostgreSQL服务使配置生效:

Linux系统:
sudo systemctl restart postgresql

sudo service postgresql restart
Windows系统:

可以通过“服务管理器”重启PostgreSQL服务,或者在命令提示符中输入:

net stop postgresql-x64-<版本号>
net start postgresql-x64-<版本号>

4. 防火墙设置

确保服务器上的防火墙允许PostgreSQL的端口(默认是5432)通过。

Linux(以ufw为例):
sudo ufw allow 5432/tcp
Windows:

在“控制面板” > “系统和安全” > “Windows Defender防火墙” > “高级设置”中创建一个新的入站规则,允许5432端口的TCP连接。

5. 数据库用户权限

确保所连接的用户在数据库中具有相应的权限,可以使用以下命令在数据库中创建用户并授权:

CREATE USER your_username WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE your_database TO your_username;

完成上述步骤后,外部IP应该可以连接到PostgreSQL数据库了。如果仍然无法连接,请检查防火墙和网络设置是否正确。

http://www.lryc.cn/news/447617.html

相关文章:

  • 通义千问:让我的编程工作效率翻倍的秘密武器
  • 2.Seata 1.5.2 集成Springcloud-alibaba
  • python 图像绘制问题: 使用turtle库绘制蟒蛇
  • 大模型分布式训练并行技术(七)-自动并行
  • 网络安全等级保护 | 规范企业网络系统安全使用 | 天锐股份助力等保制度落地
  • Springboot使用redis,以及解决redis缓存穿透,击穿,雪崩等问题
  • pve 命令开启关闭虚拟机
  • 【达梦数据库】临时表的使用测试
  • 【GUI设计】基于Matlab的图像去噪GUI系统(8),matlab实现
  • 【计算机科学导论】
  • 【C++】I/O流的使用介绍
  • 深度学习:(八)深层神经网络参数与流程
  • `pattern = r“(\d+)(CNY|JPY|HKD|EUR|GBP|fen|cents|sen|eurocents|pence)“
  • 宝塔面板部署雷池社区版教程
  • 【击败100%】258. 各位相加
  • 【alist】宝塔面板docker里的alist默认admin无法登录
  • 【击败100%】1281. 整数的各位积和之差
  • Flink基本概念和算子使用
  • Kafka 3.0.0集群部署教程
  • 昇思MindSpore进阶教程-格式转换
  • 搜索软件 Everything 的安装与使用教程
  • oracle 如何判断当前时间在27号到当月月底
  • Django 配置邮箱服务,实现发送信息到指定邮箱
  • Git使用手册
  • sql-labs靶场
  • 【Redis入门到精通二】Redis核心数据类型(String,Hash)详解
  • 如何快速免费搭建自己的Docker私有镜像源来解决Docker无法拉取镜像的问题(搭建私有镜像源解决群晖Docker获取注册表失败的问题)
  • QT 获取视频帧Opencv获取清晰度
  • 生成式AI如何辅助医药行业智能营销
  • 演示:基于WPF的DrawingVisual开发的Chart图表和表格绘制