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

如何解决Python连接Apache AGE数据库时的连接拒绝错误?

解决Apache AGE连接时的"connection refused"错误
  • 先确认PostgreSQL服务是否正在运行
    因为Apache AGE基于PostgreSQL搭建,连接失败大概率是PostgreSQL未启动:

    • Windows:打开「服务」面板,找到PostgreSQL相关服务,查看状态是否为「正在运行」,未运行则手动启动。
    • Linux/macOS:终端执行sudo systemctl status postgresql(systemd系统),或pg_ctl status -D /你的PostgreSQL数据目录路径;未运行的话用sudo systemctl start postgresql启动,macOS通过brew安装的可执行brew services start postgresql。
  • 验证端口配置是否正确
    你的代码用了5433,但PostgreSQL默认端口为5432,需确认部署AGE对应的PostgreSQL实例实际端口:
    找到PostgreSQL数据目录下的postgresql.conf文件,搜索port参数查看真实端口号。如果端口不匹配,要么修改代码里的port值,要么修改postgresql.conf后重启PostgreSQL服务。

  • 检查pg_hba.conf的访问控制规则
    该文件管控主机/用户的数据库连接权限,需确保允许本地连接:
    找到与postgresql.conf同目录的pg_hba.conf,添加或确认存在以下规则:

    host    all             all             127.0.0.1/32            scram-sha-256
    host    all             all             ::1/128                 scram-sha-256
    

    修改完成后重启PostgreSQL服务生效。

  • 确认目标数据库和用户是否存在
    用psql本地登录(例如psql -U postgres),执行\l查看是否存在mydatabase,执行\du查看是否存在myuser。
    若不存在,依次执行以下SQL命令创建:

    CREATE DATABASE mydatabase;
    CREATE USER myuser WITH PASSWORD 'mypassword';
    GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
    
  • 检查本地防火墙设置
    确保防火墙未拦截5433端口的入站连接:

    • Linux:终端执行sudo ufw allow 5433(使用ufw防火墙的情况下)。
    • Windows:打开「Windows Defender防火墙高级设置」,添加入站规则,允许5433端口的TCP连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:47:22