有人可以帮我从Linux shell重命名postgresql中的数据库
ALTER DATABASE name RENAME TO newname
上述声明未执行
答案 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)在属性选项卡下,您可以使用所需的名称更改名称。