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
問題は何でしょうか?