Pivotal Knowledge Base

フォローする

psql 経由でデータベースクエリーを実行すると "out of memory for query result" というエラーで失敗する

環境

製品 バージョン
Pivotal Greenplum(GPDB)  全てのバージョン

事象

psql 経由でデータベースクエリーを実行すると以下のエラーで失敗する。

エラーメッセージ:

xx=# select * from xx where xxx=xxx;
out of memory for query result

原因

クエリーに対するデータセット(psql ツールにより出力されるもの)が返却された際に、psql アプリケーションでメモリ不足が発生し、画面上に当該エラーを出力している。

解決策

データセットを一旦画面にまとめて表示するまでに取得する行数を指定するため、FETCH_COUNT に 0 より大きい値を設定する。

このパラメーターで、全データを取得した後に一気に画面表示(デフォルトの挙動)するよりもむしろ、一旦まとめて画面に表示する行数を指定することで、データの取得行数を減らすことができる。

\set FETCH_COUNT 1000
< run the query >

追加情報

このパラメーターに関する詳細情報については、psql のドキュメントを参照されたい。

コメント

Powered by Zendesk