You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从外部连接部署在AWS EC2实例上的PostgreSQL数据库

让AWS EC2上的PostgreSQL允许外部访问的操作步骤

1. 修改PostgreSQL监听配置(postgresql.conf)

  • 找到配置文件路径(不同系统/版本路径有差异:Ubuntu示例路径为/var/lib/postgresql/<版本号>/main/postgresql.conf,CentOS示例路径为/var/lib/pgsql/<版本号>/data/postgresql.conf)
  • 编辑文件,将listen_addresses = 'localhost'修改为listen_addresses = '*'(允许所有IP监听,也可指定特定IP)
  • 重启PostgreSQL服务生效:sudo systemctl restart postgresql

2. 配置访问权限规则(pg_hba.conf)

  • 打开同目录下的pg_hba.conf文件
  • 添加外部访问规则,格式为:host <数据库名> <用户名> <允许的IP段> md5
    • 示例1(允许所有IP访问指定库和用户):host mydb myuser 0.0.0.0/0 md5
    • 示例2(仅允许特定IP段访问):host mydb myuser 192.168.1.0/24 md5
  • 再次重启PostgreSQL服务:sudo systemctl restart postgresql

3. 调整EC2安全组入站规则

  • 登录AWS控制台,进入目标EC2实例的安全组设置页
  • 添加一条入站规则:
    • 类型:自定义TCP
    • 端口范围:填写PostgreSQL端口(默认5432,若修改过则填对应端口)
    • 源:按需填写0.0.0.0/0(允许所有外部IP)或指定IP段
  • 保存规则

4. 测试外部连接

  • 使用你提供的命令测试,替换为实际参数:
    psql -h <EC2实例公网IP/弹性IP> -d <dbname> -U <username> -p <PostgreSQL_port>
    
  • 提示:若EC2未绑定弹性IP,公网IP会在实例重启后变更,建议绑定弹性IP保持固定访问地址

内容的提问来源于stack exchange,提问作者ashique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 06:30:10