在不选择任何数据库的情况下调用 psql 命令

Ale*_*lex 16 postgresql

psql命令行客户端的语法是

psql [option...] [dbname [username]]
Run Code Online (Sandbox Code Playgroud)

我将命令传递ALTER DATABASE x RENAME to y给这个命令:

echo `ALTER DATABASE x RENAME to y` | psql
Run Code Online (Sandbox Code Playgroud)

目前我收到错误

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

看起来该psql命令试图打开与当前用户名同名的数据库。

如何在psql不选择任何数据库的情况下启动命令?

编辑

解决方法当然只是为用户创建一个空数据库。

使用数据库x作为参数不起作用,因为这会阻止重命名。

PiT*_*ber 14

尝试设置数据库psql -d postgres

echo `ALTER DATABASE x RENAME to y` | psql -d postgres
Run Code Online (Sandbox Code Playgroud)

“template1”或“postgres”应该可用。

请参阅/sf/ask/313819761/