如何在没有警告停止的情况下在postgres中执行真空命令?

How to execute a vacuum command without warning stops in postgres?

正在尝试 vacuum 作为 postgresql 数据库,但它在清空大约 50 条记录后停止,command/warning:

 backend> vacuum FULL;
 WARNING:  database "postgres" must be vacuumed within 988308 transactions
HINT:  To avoid a database shutdown, execute a full-database VACUUM in "postgres".

后端>

// again

WARNING:  database "postgres" must be vacuumed within 988242 transactions
HINT:  To avoid a database shutdown, execute a full-database VACUUM in "postgres".

如何调用它才不会经常停止?泰 :^)

VACUUM (FULL)VACUUM 完全不同,并且 不是 在这种情况下所需要的。 VACUUM (FULL) 而不是 只是更好的 VACUUM.

你以某种方式让自己陷入了困境。如果在运行VACUUMpostgres数据库上正常运行不成功。万笔交易,您的数据库将遭受数据丢失。

您必须连接到 postgres 数据库,然后 运行

VACUUM

可能会有一些障碍需要您先清除。这可能是

  • 长 运行ning 事务(在单用户模式下启动时消失)

  • 一个孤立的准备事务

  • 一个孤立的复制槽

有关更多信息,请参阅 my blog