← 中文资源

简体中文版本

Postgres 3D000: 数据库不存在

修复 PostgreSQL 的 3D000 数据库不存在:确认库名、连接目标,以及工具使用默认库的兜底行为。

阅读英文原文

症状

服务器返回 FATAL: database "appdb" does not exist。认证本身没问题,因此失败发生在选择数据库阶段,而非凭据。

诊断

列出数据库并显式连接:

psql -h db.internal -U app -l
psql -h db.internal -U app -d appdb

省略 -d 时,psql 会默认连接以用户名命名的数据库,而它可能并不存在。

修复

创建并始终显式指定数据库:

CREATE DATABASE appdb OWNER app;
postgresql://app:[email protected]:5432/appdb

验证

用显式库名分别从 psql 与应用连接;二者都成功,且 psql -l 列出了 appdb,确认目标数据库存在。