Enterprise Postgresのストリーミングレプリケーション環境において、SQLコマンドの実行が無応答になる事象について
Enterprise Postgres のよくあるご質問を検索できます。
Enterprise Postgres の技術情報はこちら
- Enterprise Postgresのストリーミングレプリケーション機能を適用した環境において、CREATE DATABASEやINSERTなど更新を伴うSQLコマンドの実行が無応答になります。原因と対処方法を教えてください。
- [原因]
スタンバイサーバとの間に同期レプリケーションが設定されている場合、WALレコードがスタンバイサーバに複製されるまでトランザクションコミットを待機していることが原因である可能性があります。
プライマリサーバのpostgresql.confのsynchronous_standby_namesパラメータに指定されているスタンバイサーバは同期レプリケーションとなります。
スタンバイサーバとの同期レプリケーションが設定されている、かつ、プライマリサーバのsynchronous_commitパラメータにremote_apply、on、remote_writeのいずれかが設定されている場合は、プライマリサーバでCOMMITされた時に対象のWALレコードがスタンバイサーバに複製されるまでトランザクションコミットを待機します。
synchronous_standby_namesパラメータ、synchronous_commitパラメータの詳細は、以下のマニュアルを参照してください。
FUJITSU Software Enterprise Postgres 14
PostgreSQL 14.0 Documentation (*1)
Part III. Server Administration
Chapter 20. Server Configuration
20.5. Write Ahead Log
20.5.1. Settings
20.6. Replication
20.6.2. Primary Server
(*1)Solarisの場合は以下のマニュアルを参照してください。
PostgreSQL 9.6.2文書
パート III. サーバの管理
第19章 サーバの設定
19.5. ログ先行書き込み(WAL)
19.5.1. 諸設定
19.6. レプリケーション
19.6.2. マスターサーバ
[対処方法]
同期レプリケーションが設定されたスタンバイサーバやレプリケーション経路に異常がないか確認してください。
製品・サービス情報 |
|
||||
---|---|---|---|---|---|
アンサー種別 | 運用/保守 |