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

标签 postgresql performance vacuum

尝试将 vacuum 作为 postgresql 数据库,但它在清理大约 50 条记录后停止,使用此命令/警告:

 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

你以某种方式让自己陷入了困境。如果您在 postgres 数据库 上运行正常的 VACUUM 失败,则在 a.万笔交易,您的数据库将遭受数据丢失。

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

VACUUM

可能会有您必须首先移除的障碍。这可能是

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

  • 孤立的准备事务

  • 一个孤立的复制槽

参见 my blog了解更多。

关于postgresql - 如何在没有警告停止的情况下在postgres中执行真空命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56814034/

相关文章:

sql - 选择用户未发表评论的博文

sql - 查询具有复杂关系的多个表

postgresql - Postgres session 空闲,查询 = COMMIT 或 ROLLBACK

postgresql - Postgres : toast table + space + vacuum

sql - postgresql 触发器函数上的 $BODY$ 是用来做什么的?

Javascript 渲染代码需要花费大量时间

java - 同一个 BufferedImage 对象加载多个图像时出现内存泄漏

ios - Swift Ios App 性能配置

sql - PostgreSQL: VACUUM FULL 持续时间估计

python - sqlite 真空与 django