在psql中重命名数据库

25 postgresql

任何人都可以帮我从Linux shell重命名postgresql中的数据库

ALTER DATABASE name RENAME TO newname
Run Code Online (Sandbox Code Playgroud)

上述声明未执行

GaZ*_*GaZ 20

哪个版本的postgresql?从8.1文档:

ALTER DATABASE将RENAME命名为newname;

只有数据库所有者或超级用户才能重命名数据库; 非超级用户所有者还必须具有CREATEDB权限.无法重命名当前数据库.(如果需要,请连接到其他数据库.)


use*_*856 14

这可能是一个愚蠢明显的问题.你是否以postgres用户身份运行psql?

例如

$ sudo -u postgres psql
# alter database FOO rename to BAR;
# \q
Run Code Online (Sandbox Code Playgroud)


Cou*_*ero 5

您可能需要特权才能重新启动数据库。只有数据库所有者或超级用户可以执行此操作,所有者还需要createdb priv。

另外,您连接的数据库无法重命名,您需要连接到另一个数据库

  • 抱歉,但我无法得到它。如果我没有连接到该数据库,如何在数据库上运行命令?.. (3认同)
  • 这是我的问题。我已连接到要重命名的数据库。 (2认同)