真空在某些表上執行得不夠規律,因此在大表上會出現膨脹。為了克服這個問題,我正在設定一個每周運行真空分析命令的作業。這種方法是否正確,是否與良好實踐兼容?
uj5u.com熱心網友回復:
這當然是正確的,但更好的做法是調整 autovacuum。
在您希望 autovacuum 像手動一樣快地作業的桌子上VACUUM,將成本延遲降低到 0:
ALTER TABLE busytab SET (autovacuum_vacuum_cost_delay = 0);
這將起作用,除非問題是您在表上有足夠強的鎖來中斷 autovacuum(手動VACUUM不會被中斷,但會阻塞這些鎖)。如果您經常使用此類鎖,則您可能對資料庫有問題,應該找到更好的解決方案。
這里的最佳實踐是永遠不要使用LOCK陳述句。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/361565.html
標籤:PostgreSQL的
上一篇:如何更新行以向列添加字符
