[PostgreSQL] 使用 VACUUM 指令定期整理/縮小資料庫
專案中一直在使用 Postgresql 做資料庫的處理,
但其實資料庫在增刪資料之後,為了效率考量,
並不會立刻將刪除的資料完全刪除,而導致資料庫的大小會逐漸的增加…
為了解決這個問題,研究了一下 Postgresql,
原來它本身就有提供一個 VACUUM 的指令,而且也建議使用者定期去執行這個指令來整理資料庫~
在執行之前,先學習一下怎麼看目前資料庫的大小吧~
在 15 Advanced PostgreSQL Commands with Examples 這篇文章中,
提到了可以用 pg_database_size() 這個函式來查,
而 pg_size_pretty() 這個函式則可以顯示成比較友善的格式:
SELECT pg_database_size(‘usboxdb’);
SELECT pg_size_pretty(pg_database_size(‘usboxdb’));
SELECT pg_size_pretty(pg_database_size(‘usboxdb’));
下面是執行後的結果,可以看到,目前的資料庫大小是 5 MB 多~
塞了兩萬筆資料進去後,資料庫變成將近 8 MB,
但是將資料刪掉之後,再查一次,發現大小沒有改變…
如果這時候執行 VACUUM 指令,就可以真正將刪除的資料移除掉,
自然資料庫的大小也會縮小囉~~
(本頁面已被瀏覽過 1,608 次)