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

PostgreSQL连接报错:角色'aurelien'不存在,请求排查解决

PostgreSQL连接报错:FATAL: the role 'aurelien' does not exist 解决方法

我在尝试连接PostgreSQL数据库时遇到报错:

SQLSTATE[08006] [7] FATAL: the role 'aurelien' does not exist

相关配置与查询信息

docker-compose.yml配置片段

- ROY_POSTGRESQL_ADDON_HOST=192.***.***
- ROY_POSTGRESQL_ADDON_DB=******
- ROY_POSTGRESQL_ADDON_PORT=5432
- ROY_POSTGRESQL_ADDON_USER=aurelien

数据库表查询结果(执行\d命令)

List of relations
 Schema |   Name   | Type  |  Owner
--------+----------+-------+----------
 public | wb_vente | table | aurelien

数据库角色列表

List of roles
Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
aurel     |                                                            | {}
aurelien  |                                                            | {}
postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

已确认pg_hba.conf和postgresql.conf配置正确,求解决方法。


排查方向及解决步骤

  1. 确认目标数据库实例一致性
    检查ROY_POSTGRESQL_ADDON_HOST指向的IP是否与你查询角色列表的PostgreSQL实例一致。直接在应用所在服务器执行手动连接测试:

    psql -h 192.***.*** -U aurelien -d ******
    

    如果此命令也报错,说明目标实例确实不存在该角色,需在对应实例中创建aurelien角色。

  2. 检查角色名称大小写问题
    PostgreSQL默认不区分角色名大小写,但如果创建角色时使用双引号包裹(如CREATE ROLE "aurelien";),则角色名会被视为大小写敏感。尝试用带双引号的角色名连接测试:

    psql -h 192.***.*** -U "aurelien" -d ******
    

    若成功,说明应用连接时需指定大小写敏感的角色名。

  3. 验证环境变量传递正确性
    进入应用容器,检查环境变量是否正确注入:

    echo $ROY_POSTGRESQL_ADDON_USER
    

    确保输出为aurelien,避免变量名拼写错误或容器未正确加载配置。

  4. 重启PostgreSQL服务
    若角色是刚创建的,尝试重启PG服务刷新缓存:

    pg_ctl restart
    

    重启后再尝试应用连接。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:32:32