問題現象
在RDS PostgreSQL中進行查詢操作時,提示如下錯誤:
ERROR: temporary file size exceeds temp_file_limit (1024kB)可能原因
在查詢時可能產生臨時檔案,臨時檔案較大,而PostgreSQL中的參數temp_file_limit設定過小,導致查詢中斷。
temp_file_limit參數的更多解釋,請參見temp_file_limit (integer)。
解決方案
調大temp_file_limit參數的取值,使查詢不報錯即可。
修改參數方法如下:
全域修改
前往RDS 管理主控台進行修改,具體請參見設定執行個體參數。
說明RDS PostgreSQL中
temp_file_limit預設值為{DBInstanceClassMemory/1024},即預設值為執行個體記憶體大小。當前會話修改
登入RDS PostgreSQL執行個體後,執行如下命令進行修改:
SET temp_file_limit ='1GB';
注意事項
temp_file_limit參數取值為-1時表示不限制臨時檔案大小,但是不建議將參數值設定為-1,也不建議將參數值設定過大,避免在發生複雜查詢時,將磁碟空間寫滿,導致業務不可用。