在psql中重命名数据库

时间:2009-02-27 07:56:47

标签: postgresql

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

ALTER DATABASE name RENAME TO newname

上述声明未执行

6 个答案:

答案 0 :(得分:20)

哪个版本的postgresql?来自8.1 Documentation

  

ALTER DATABASE将RENAME命名为newname;

     

仅限数据库所有者或超级用户   可以重命名数据库;非超级   所有者还必须拥有CREATEDB   特权。目前的数据库不能   被重命名。 (连接到另一个   数据库,如果你需要这样做。)

答案 1 :(得分:13)

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

e.g。

$ sudo -u postgres psql
# alter database FOO rename to BAR;
# \q

答案 2 :(得分:5)

您可能需要权限才能使用db。只有db所有者或超级用户可以这样做,所有者还需要一个createdb priv。

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

答案 3 :(得分:2)

您无法重命名所连接的数据库。在更改dbname之前,请确保已断开连接。 在PGAdmin中,您只需右键单击数据库本身,转到属性,然后从那里重命名。 正如其他人指出的那样,您也可以尝试以下命令: ALTER DATABASE(DB NAME)重命名为(新数据库名称);

答案 4 :(得分:0)

断开数据库连接(在DataGrip中为Ctrl + F2

然后:

$ psql -U postgres
postgres=# ALTER DATABASE db_a RENAME TO db_b;

GL

答案 5 :(得分:-7)

下面给出了在postgresql中重命名数据库的步骤。

  

1)右键单击数据库并选择刷新   2)再次右键单击并选择属性选项   3)在属性选项卡下,您可以使用所需的名称更改名称。