問題の説明
ApsaraDB RDS for PostgreSQLインスタンスでクエリを実行すると、次のエラーメッセージが表示されます。
エラー: 一時的なファイルサイズがtemp_file_limit (1024kB) を超えています原因
大きな一時ファイルは、クエリ中に生成され得る。 一時ファイルのサイズが、RDSインスタンスに指定されているtemp_file_limitパラメーターの値よりも大きくなっています。 その結果、クエリは中断される。
temp_file_limitパラメーターの詳細については、「temp_file_limit (integer) 」をご参照ください。
ソリューション
temp_file_limitパラメーターの値を大きくします。
次のいずれかの方法を使用して、パラメーターを変更できます。
グローバル修正
ApsaraDB RDSコンソールにログインし、パラメーターを変更します。 詳細については、「ApsaraDB RDS For PostgreSQLインスタンスのパラメーターの変更」をご参照ください。
説明RDSインスタンスの
temp_file_limitパラメーターのデフォルト値は、RDSインスタンスのメモリ容量です。 次の計算を使用して値を取得できます:{DBInstanceClassMemory/1024}。セッション固有の変更
RDSインスタンスにログインし、次のコマンドを実行してパラメーターを変更します。
SET temp_file_limit ='1GB';
使用上の注意
temp_file_limitパラメーターが -1に設定されている場合、一時ファイルのサイズは無制限です。 複雑なクエリ中にディスク容量が枯渇しないように、パラメーターを -1に設定したり、パラメーターを大きな値に設定したりしないことをお勧めします。