如何确保autovacuum不会阻止dropdb?

时间:2014-12-10 04:47:17

标签: postgresql autovacuum

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

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

仍然有更好/更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

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