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

Docker容器内创建的PostgreSQL数据库无法在pgAdmin中显示如何解决?

排查方向
  • 手动刷新pgAdmin连接会话:右键点击已连接的服务器,选择「刷新」或「重新加载」,强制同步数据库列表。
  • 验证用户权限有效性:
    进入PostgreSQL容器执行命令:
    docker exec -it postgresql-server psql -U postgres
    
    再执行SQL检查权限:
    SELECT datname, usename, has_dbprivilege(datname, 'CONNECT') AS can_connect, has_dbprivilege(datname, 'ALL PRIVILEGES') AS all_privs 
    FROM pg_database JOIN pg_user ON true 
    WHERE datname = 'colors' AND usename = 'postgres';
    
    确保can_connect和all_privs字段返回值均为t。
  • 检查数据库是否为模板库:
    执行SQL查看模板标记:
    SELECT datistemplate FROM pg_database WHERE datname = 'colors';
    
    如果结果为t,执行以下命令取消模板属性:
    ALTER DATABASE colors WITH IS_TEMPLATE false;
    
  • 确认连接目标正确性:Mac本地可能有原生PostgreSQL服务占用5432端口,导致pgAdmin实际连接的是本地库而非容器实例。可尝试:
    • 停止本地PostgreSQL服务后重启pgAdmin连接
    • 修改容器端口映射为5433:5432,重新配置pgAdmin连接到localhost:5433
  • 清除pgAdmin缓存:关闭pgAdmin客户端(或重启浏览器如果使用web版),清除本地缓存后重新连接。
  • 再次确认容器内数据库存在:进入容器执行psql -U postgres -l,核对输出中是否包含colors数据库,避免误查其他环境的数据库列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 22:05:59