PostgreSQL-重命名数据库

时间:2020-03-06 14:49:30  来源:igfitidea点击:

我需要重命名数据库,但是当我这样做时
PGAdmin:ALTER DATABASE" databaseName"重命名为" databaseNameOld"它告诉我不能。

我该怎么做?

(WindowsXP上为8.3版)

更新

  • 第一条错误消息:不能,因为我已连接到它。因此,我选择了另一个数据库并进行了查询。
  • 我收到第二条错误消息,告诉我它已经连接了用户。我在" PGAdmin"屏幕上看到它有许多" PID",但它们是不活动的...我看不到如何杀死它们。

解决方案

尝试不引用数据库名称:

ALTER DATABASE people RENAME TO customers;

还要确保当时没有其他客户端连接到数据库。最后,尝试发布返回的错误消息,以便我们获得更多信息。

Unexist在评论中告诉我重新启动数据库,它可以正常工作!重新启动数据库会终止所有现有连接,然后我连接到另一个数据库,并能够使用初始查询将其重命名。

谢谢。

而不是部署核武器(重新启动服务器),我们应该尝试关闭那些困扰连接,方法是查找它们的来源并关闭客户端进程,或者使用pg_cancel_backend()函数。