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

Docker run中POSTGRES_DB与POSTGRES_USER配置不生效问题求助

解决PostgreSQL容器连接报错“database 'root' does not exist”的问题

问题原因

你执行psql -U root时,psql默认会尝试连接和用户名同名的数据库。但你创建容器时指定的数据库是mydb,并没有名为root的数据库,所以触发报错。

解决方案

直接在连接命令里指定要连接的数据库mydb即可,有两种方式:

  • 直接执行完整连接命令:
    docker exec -it psql-instance psql -U root -d mydb
    
  • 先进入容器终端,再连接数据库:
    docker exec -it psql-instance bash
    # 进入容器后执行
    psql -U root mydb
    

如果后续希望默认连接的数据库和用户名一致,可以重新创建容器时,把POSTGRES_DB的值设为和POSTGRES_USER相同(比如都设为root),这样直接用psql -U root就能正常连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 09:01:04