postgresql 9.1 に大量のデータを挿入している間。Python スクリプトを使用すると、このクエリで次のエラーが発生します。
X: /home/hosting/apps/X の psycopg2.ProgrammingError X_psycopg.py:162 in : 実行 'execute' ( SELECT * FROM xml_fifo.fifo WHERE type_id IN (1,2) ORDER BY type_id、タイムスタンプ LIMIT 10 ): 共有メモリが不足しています ヒント: max_pred_locks_per_transaction を増やす必要があるかもしれません
この数を増やしましたが、それでも共有メモリが不足します (max_pred_locks_per_transaction = 192)。スクリプトを再起動するたびに、しばらく実行された後、このエラー メッセージが表示されます。Postgres 8.1 では、この問題はありませんでした。
以下は、postgresql ログ ファイルの一部です。
2012-06-28 02:55:43 CEST ヒント: バックスラッシュには E'\\' などのエスケープ文字列構文を使用します。 2012-06-28 02:55:43 CEST 警告: 文字 271 の文字列リテラルでの \\ の非標準使用 2012-06-28 02:55:43 CEST ヒント: バックスラッシュには E'\\' などのエスケープ文字列構文を使用します。 2012-06-28 02:55:43 CEST 警告: 文字 271 の文字列リテラルでの \\ の非標準使用 2012-06-28 02:55:43 CEST ヒント: バックスラッシュには E'\\' などのエスケープ文字列構文を使用します。 2012-06-28 02:56:11 CEST 警告: 進行中のトランザクションが既にあります 2012-06-28 02:57:01 CEST 警告: 進行中のトランザクションが既にあります 2012-06-28 02:57:01 CEST エラー: 共有メモリが不足しています 2012-06-28 02:57:01 CEST ヒント: max_pred_locks_per_transaction を増やす必要があるかもしれません。 2012-06-28 02:57:01 CEST ステートメント: SELECT * FROM xml_fifo.fifo WHERE type_id IN (1,2) ORDER BY type_id ASC、タイムスタンプ LIMIT 10 2012-06-28 02:57:01 CEST エラー: 共有メモリが不足しています 2012-06-28 02:57:01 CEST ヒント: max_pred_locks_per_transaction を増やす必要があるかもしれません。 2012-06-28 02:57:01 CEST ステートメント: SELECT * FROM xml_fifo.fifo WHERE type_id IN (1,2) ORDER BY type_id ASC、タイムスタンプ LIMIT 10
問題は何でしょうか?