psql:致命数据库不存在错误

Sco*_*orb 9 postgresql

我有一个 linux 用户帐户、postgresql 角色和关联的数据库,都称为 foo。

从 linux 用户 foo,我运行了命令

dropdb foo
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试从 linux 用户 foo 运行 psql 时,出现错误...

psql: FATAL:  database "foo" does not exist
Run Code Online (Sandbox Code Playgroud)

那么这是否意味着从 linux 用户帐户运行 psql 时,必须有一个与该 linux 用户帐户相关联的数据库?

joa*_*olo 9

psql假设你想连接到一个数据库,你可以提供一个(就在命令之后),或者它会假设你想连接到一个名称与你的用户名(或启动进程的帐户名)相同的数据库psql):

所以,你可以写:

psql my_db
Run Code Online (Sandbox Code Playgroud)

或者

psql -d my_db
Run Code Online (Sandbox Code Playgroud)

或者还没有

psql --dbname=my_db
Run Code Online (Sandbox Code Playgroud)

...psql并将连接到名为my_db.

您可以在文档中查看更多连接选项。

如果您还没有创建数据库,请检查createdb