よくあるご質問(V3)

Q.DBのバージョンアップ時やパッチ適用時にout of shared memoryエラーが発生する

事象

POWER EGG のデータベースのバージョンアップ時やパッチ適用時に、下記の内容が含まれるエラーメッセージが出力され、処理が中断することがあります。

 ERROR: out of shared memory
 ヒント: You might need to increase max_locks_per_transaction.

※ バージョンアップインストーラやパッチのログと、データベースのログに出力されます。

対応方法

この事象が発生した場合、データベース(Symfoware Server)のパラメータ max_locks_per_transaction を一時的に大きく変更してバージョンアップやパッチ適用を再実行してください。
変更手順:

  1. データベースのインスタンス格納先フォルダ(デフォルト C:\PESYMFO\peinst)にある設定ファイル postgresql.conf を、メモ帳等のテキストエディタで開いてください。
    ※ 事前に、任意のフォルダに退避(コピー)することをお勧めします。
  2. デフォルトでは、下記のように設定がコメントアウトされています。
    #max_locks_per_transaction = 64
    下記のように、先頭の#を削除し、大きな値(通常、1000程度で事象は回避できます)を設定してファイルを保存してください。
    max_locks_per_transaction = 1000
  3. POWER EGG DATABASE サービスを再起動してください。

max_locks_per_transaction の値を大きくすると、データベースが使用するメモリの量が増加するため、バージョンアップやパッチ適用の再実行後は、設定を元に戻し、POWER EGG DATABASE サービスを再起動してください。

FAQ番号

T00002