0

标题基本上是这样说的。如果 autovacuum 处于活动状态,运行dropdb似乎会失败。我目前正在使用vacuumdb --full x && dropdb x作为解决方法(我假设在完全真空运行之后,如果数据库没有被修改,那么真空将不会被激活。)但是这显然不是很有效,因为我不需要我需要的数据库删除要清理。

我不确定,但似乎 autovacuum 通过postgres用户运行,因此可以使用https://dba.stackexchange.com/questions/11893/force-drop-db-while-others-may-be-connected- in-postgresql在真空运行时将其踢出。

不过,还有更好/更简单的方法吗?

4

1 回答 1

0

您可以停止 postgres 实例并以单用户模式重新启动。在启动 postgres 时--single作为选项postgres或命令插入。更多要在这里pg_ctl挖掘。请注意,您需要连接到另一个数据库而不是您要删除的数据库。

于 2014-12-10T05:26:08.217 回答