调用psql命令而不选择任何数据库


11

psql命令行客户端的语法是

psql [option...] [dbname [username]]

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

echo `ALTER DATABASE x RENAME to y` | psql

目前,我遇到了错误

psql: FATAL:  database "myuser" does not exist

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

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

编辑

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

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

Answers:



1

在Ubuntu中:

sudo -u postgres psql
postgres=# ALTER DATABASE "old" RENAME TO "new";
ALTER DATABASE
postgres=# \q
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.