問題描述
阿里雲ApsaraDB for PostgreSQL資料庫磁碟空間佔用劇增。
問題原因
- 原因一:大量更新導致日誌劇增,來不及歸檔和刪除,佔用了磁碟空間。
- 原因二:查詢操作含有巨量資料量的排序、串連等操作,處理過程中產生暫存資料表並溢出到磁碟,短時間內造成大量空間佔用。
解決方案
- 原因一的解決方案:提高執行個體的磁碟空間容量或降低更新頻率。
- 原因二的解決方案:以下SQL語句用於指定每個查詢可以使用的暫存資料表空間上限(單位為KB),執行成功後,單個查詢產生的暫存資料表空間達到上限就會報錯。這樣就能及時發現有問題的SQL語句,並避免磁碟空間被佔滿。通過RDS高許可權帳號執行以下SQL語句:
alter role all set temp_file_limit = [$Table_Space_Limit];
說明 [$Table_Space_Limit]為暫存資料表空間上限。