すべてのプロダクト
Search
ドキュメントセンター

PolarDB:クラスターのデフォルトパラメーター値

最終更新日:Dec 10, 2025

データベースのパラメーターを調整することで、パフォーマンスの最適化、セキュリティの強化、または特定の機能要件を満たすことができます。PolarDB for PostgreSQL は、クラウド環境で優れたパフォーマンスと安定性を提供するために、コミュニティ版の一部のパラメーターを事前に最適化しています。以下のセクションでは、パラメーターチューニングに役立つ、コアパラメーターの完全なパラメーターリファレンスと構成の推奨事項を説明します。

重要なパラメーター

PolarDB for PostgreSQL のデフォルトのパラメーター値は、パフォーマンス、可用性、信頼性を最適化するように構成されています。これらの値は、コミュニティ版のデフォルト値とは異なる場合があります。具体的には、PolarDB は最適なパフォーマンスを確保するために、以下のパラメーターをデフォルト値に設定しています。必要に応じてコンソールで変更できます。

パラメータ

説明

synchronous_commit

このパラメーターは、トランザクションがクライアントに成功のインジケーターを返す前に、先行書き込みログ (WAL) レコードがディスクに書き込まれるのを待つ必要があるかどうかを制御します。有効な値は次のとおりです。

  • off (デフォルト):トランザクションは、クライアントに成功のインジケーターを返す前に、WAL レコードがディスクに書き込まれるのを待つ必要はありません。

    説明

    このパラメーターを off に設定すると、データベースのトランザクションコミット効率が向上します。これは、クライアントに成功を返してからトランザクションの永続性を確保するまでに遅延があるためです。最大遅延は、デフォルトで 10 ms の `wal_writer_delay` の値の 3 倍です。

  • on:トランザクションは、クライアントに成功のインジケーターを返す前に、WAL レコードがディスクに書き込まれるのを待つ必要があります。

    説明

    ご利用のアプリケーションで、コミット後にトランザクションをディスクに永続化する必要がある場合は、コンソールでこのパラメーターを on に設定してください。

  • remote_apply:トランザクションは、クライアントに成功のインジケーターを返す前に、WAL レコードがディスクに書き込まれるのを待つ必要があります。また、データがバックアップのローカルトランザクションログに適用されたことの確認も必要です。これにより、データ整合性を確保するためにバックアップがトランザクションの適用を完了するのを待つ必要があります。WAL リプレイを待つ必要があるため、コミットの遅延が大きくなります。

  • remote_write:トランザクションは、クライアントに成功のインジケーターを返す前に、WAL レコードがファイルシステムに書き込まれるのを待つ必要があります。

  • local:トランザクションは、WAL レコードがディスクに書き込まれるのを待つ必要がありますが、クライアントに成功のインジケーターを返すことに制限はありません。

説明

SHOW synchronous_commit; コマンドを実行して、データベース内のこのパラメーターの現在の設定を表示します。

wal_level

このパラメーターは、WAL に書き込まれる情報量を決定します。有効な値は次のとおりです。

  • replica (デフォルト):WAL には論理デコーディングに必要な情報が含まれません。これにより、書き込まれる WAL の量が減り、データベースの書き込みパフォーマンスが向上します。

  • logical:ビジネスで論理レプリケーション機能を使用する場合に設定します。WAL には論理レプリケーションに必要な情報が含まれるため、書き込まれる WAL の量が増加します。

説明
  • このパラメーターを変更すると、データベースが再起動します。注意して操作してください。

  • SHOW wal_level; コマンドを実行して、データベース内のこのパラメーターの現在の設定を表示します。

log_statement

このパラメーターは、監査ログのレベルを設定します。デフォルト値は ddl で、DDL に対応する SQL 文のみが監査されることを意味します。ログの出力を少なくすると、データベースのパフォーマンスが向上します。有効な値は次のとおりです。

  • none:文を記録しません。

  • ddl (デフォルト):CREATE、ALTER、DROP などの DDL 文を記録します。

  • mod:DDL および DML (INSERT、UPDATE、DELETE) 文を記録します。

  • all:すべての SQL 文を記録します。

説明
  • コンソールで SQL Explorer と監査機能を有効または無効にすると、このパラメーターが自動的に変更されます。

    • 監査ログを有効にすると、log_statement = all に設定されます。

    • 監査ログを無効にすると、log_statement = ddl に設定されます。

  • SHOW log_statement; コマンドを実行して、データベース内のこのパラメーターの現在の設定を表示します。

一般的なパラメーターリファレンス

説明

一部のパラメーターはコンソールで変更できません。クラスターにログインし、コマンドラインを使用して表示および変更できます。

接続と認証

パラメーター

説明

authentication_timeout

クライアントが ID 認証を完了するまでの最大待機時間を設定します。この時間内にクライアントが認証に失敗した場合、サーバーは接続を閉じて、問題のあるクライアントが長時間接続リソースを占有するのを防ぎます。

  • 有効値: 1~600

  • デフォルト値: 60

  • 単位: 秒

ssl

インスタンスが Secure Sockets Layer (SSL) 暗号化接続を有効にしてサポートするかどうかを制御します。

  • 有効値: ON/OFF

  • デフォルト値: OFF

自動バキューム

autovacuum プロセスは、デッドタプル (削除または更新されたデータからの行) によって占有されている領域を再利用し、テーブル統計を更新します。このプロセスは、データベースのパフォーマンスを維持するために重要です。

パラメーター

説明

autovacuum

autovacuum バックグラウンドプロセスを有効にするかどうかを制御します。この機能が正しく動作するためには、track_counts パラメーターも有効にする必要があります。

  • 有効値: ON/OFF

  • デフォルト値: ON

説明

このパラメーターが無効になっていても、トランザクション ID 周回を防ぐために必要な場合、システムは vacuum プロセスを強制的に開始します。

autovacuum_max_workers

同時に実行できる自動バキュームワーカープロセス (自動バキュームランチャーを除く) の最大数を指定します。

  • 有効値: 1~262143

  • デフォルト値: 5

  • 単位: プロセス

autovacuum_naptime

autovacuum プロセスがデータベースのチェックを行う間の最小休止時間を指定します。各ラウンドで、バックグラウンドプロセスはデータベースをチェックし、必要に応じてデータベース内のテーブルに対して VACUUM および ANALYZE コマンドを発行します。

  • 有効値: 1~2147483

  • デフォルト値: 30

  • 単位: 秒

autovacuum_vacuum_threshold

VACUUM 操作をトリガーするために必要な、変更された (挿入、削除、または更新された) タプルの最小数。

  • 有効値: 0~2147483647

  • デフォルト値: 50

  • 単位: タプル

autovacuum_vacuum_scale_factor

VACUUM 操作をトリガーするためのテーブルサイズのスケールファクター。実際のしきい値は、autovacuum_vacuum_threshold とこのファクターの両方によって、数式 autovacuum_vacuum_threshold + (autovacuum_vacuum_scale_factor * テーブル内のタプル数) を使用して決定されます。

  • 有効値: 0~100

  • デフォルト値: 0.02

  • 単位: パーセント

autovacuum_analyze_threshold

ANALYZE 操作をトリガーするために必要な、変更された (挿入、削除、または更新された) タプルの最小数。

  • 有効値: 0~2147483647

  • デフォルト値: 50

  • 単位: タプル

autovacuum_analyze_scale_factor

ANALYZE 操作をトリガーするためのテーブルサイズのスケールファクター。実際のしきい値は、autovacuum_analyze_threshold とこのファクターの両方によって、数式 autovacuum_analyze_threshold + (autovacuum_analyze_scale_factor * テーブル内のタプル数) を使用して決定されます。

  • 有効値: 0~2147483647

  • デフォルト値: 0.05

  • 単位: パーセント

autovacuum_freeze_max_age

トランザクション ID 周回を防ぐために VACUUM が強制される前の、テーブルの最も古いトランザクション ID の最大経過期間。システムは、autovacuum パラメーターが無効になっているかどうかに関係なく、周回を防ぐために自動的に vacuum を開始します。

  • 有効値: 100000~2000000000

  • デフォルト値: 500000000

  • 単位:トランザクション ID

説明

autovacuum が無効になっていても、システムは周回を防ぐために autovacuum プロセスを開始します。

autovacuum_multixact_freeze_max_age

multixact ID 周回を防ぐために VACUUM が強制される前の、テーブルの最も古い multixact ID の最大経過期間。

  • 有効値: 10000~2000000000

  • デフォルト値: 700000000

  • 単位:トランザクション ID

説明

autovacuum が無効になっていても、システムは周回を防ぐために autovacuum プロセスを開始します。

autovacuum_vacuum_cost_delay

自動 VACUUM 操作のコスト遅延時間。-1 に設定されている場合、vacuum_cost_delay の値が使用されます。

  • 有効値: -1~100

  • デフォルト値: 0

  • 単位: ミリ秒

autovacuum_vacuum_cost_limit

自動 VACUUM 操作のコスト制限。この合計制限は、実行中のすべての autovacuum ワーカープロセスに比例して分散されます (複数ある場合)。各ワーカープロセスの制限の合計は、この変数の値を超えません。-1 に設定されている場合、vacuum_cost_limit の値が使用されます。

  • 有効値: -1~10000

  • デフォルト値: 10000

  • 単位: コスト値

チェックポイントとバックグラウンド書き込み

パラメーター

説明

checkpoint_timeout

自動 WAL チェックポイント間の最大時間間隔を設定します。

  • 有効値: 30~86400

  • デフォルト値: 30

  • 単位: 秒

bgwriter_delay

バックグラウンドライターがダーティページをフラッシュする 2 つのラウンド間の休止時間。

  • 有効値: 10~10000

  • デフォルト値: 600000

  • 単位: ミリ秒

backend_flush_after

バックグラウンドプロセスによって書き込まれたダーティページの数がこのしきい値を超えると、オペレーティングシステムはファイルキャッシュからディスクにデータをフラッシュします。

  • 有効値: 0~256

  • デフォルト値: 0

  • 単位: ブロック

full_page_writes

チェックポイント後にデータページが最初に変更されたときに、そのデータページの全内容を WAL ログに書き込むかどうかを制御します。この機能は、停電などの障害による部分的なページ書き込みを防ぐために使用されます。

  • 有効値: ON/OFF

  • デフォルト値: OFF

wal_buffers

WAL データをメモリ内に一時的に保存するために使用される共有メモリのサイズ。

  • 有効値: -1~262143 (2097144 KB)

  • デフォルト値: 16 MB

  • 単位: WAL ブロック (各 8 KB)

wal_level

先行書き込みログ (WAL) に書き込まれる情報のレベルを制御します。異なるレベルが異なる機能をサポートします。replica は読み取り専用セカンダリノードを提供し、logical は論理レプリケーションサービスを提供します。

  • 有効値: replica/logical

  • デフォルト値: replica

wal_writer_delay

walwriter プロセスが WAL フラッシュ操作の 2 つのラウンド間で行う最大休止時間。

  • 有効値: 1~10000

  • デフォルト値: 600000

  • 単位: ミリ秒

クエリの計画と実行

パラメーター

説明

constraint_exclusion

クエリオプティマイザーがテーブル制約 (CHECK 制約など) を使用してクエリを最適化するかどうかを制御します。特に、パーティション分割テーブルでのクエリプルーニングに適用されます。

  • 有効値:

    • on:すべてのテーブルの制約をチェックします。

    • Off:無効

    • partition: パーティションテーブルと UNION ALL サブクエリにのみ適用されます。

  • デフォルト値: partition

cpu_index_tuple_cost

インデックススキャン中に各インデックスエントリを処理するためのプランナーのコスト見積もりを設定します。

  • 有効値: 0~1.79769e+308

  • デフォルト値: 0.005

cpu_operator_cost

クエリ内の各オペレーターまたは関数を処理するためのプランナーのコスト見積もりを設定します。

  • 有効値: 0~1.79769e+308

  • デフォルト値: 0.0025

cpu_tuple_cost

クエリ内の各行を処理するためのプランナーのコスト見積もりを設定します。

  • 有効値: 0~1.79769e+308

  • デフォルト値: 0.01

enable_partition_pruning

クエリオプティマイザが計画および実行フェーズでパーティションプルーニングの最適化を有効にして、無関係なパーティションのスキャンをスキップするかどうかをコントロールします。

  • 有効値: ON/OFF

  • デフォルト値: ON

seq_page_cost

シーケンシャルディスクページフェッチに対するプランナーのコスト見積もりを設定します。

  • 有効値: 0~1.79769e+308

  • デフォルト値: 1

jit

特定のクエリに対して Just-In-Time (JIT) コンパイルを有効にして実行を高速化するかどうかを制御します。

  • 有効値: ON/OFF

  • デフォルト値: OFF

タイムアウト設定

パラメーター

説明

deadlock_timeout

トランザクションが潜在的なデッドロックをチェックする前にロックを待つ最大時間。

  • 有効値: 0~2147483647

  • デフォルト値: 1000

  • 単位: ミリ秒

idle_in_transaction_session_timeout

トランザクションが「トランザクション内でアイドル」状態にあることが許可される最大時間。この時間を超えるとセッションは終了します。このタイムアウトを無効にするには 0 に設定します。

  • 有効値: 0~2147483647

  • デフォルト値: 3600000

  • 単位: ミリ秒

lock_timeout

単一の操作がテーブル、行、またはその他のオブジェクトのロックを取得するために待機する最大時間。この時間を超えると、操作はエラーで終了します。このタイムアウトを無効にするには 0 に設定します。これは無期限に待機することを意味します。

  • 有効値: 0~2147483647

  • デフォルト値: 0

  • 単位: ミリ秒

statement_timeout

単一の SQL 文の最大実行時間を制限します。この時間を超えると、文は終了します。タイムアウト制限なしの場合は 0 に設定します。

  • 有効値: 0~262143

  • デフォルト値: 0

  • 単位: ミリ秒

ロギングと監査

パラメーター

説明

logging_collector

クラスターの操作中にログをキャッチして書き込む役割を担うログ収集プロセスを有効にするかどうかを制御します。

  • 有効値: ON/OFF

  • デフォルト値: ON

log_connections

成功した各クライアント接続をログに記録するかどうかを制御します。

  • 有効値: ON/OFF

  • デフォルト値: OFF

log_disconnections

各クライアントの切断をログに記録するかどうかを制御します。

  • 有効値: ON/OFF

  • デフォルト値: OFF

log_error_verbosity

エラーログの詳細度を設定します。

  • 有効値:

    • terse:重要度、プライマリメッセージ、および位置のみを含みます。

    • default:詳細情報やヒントなど、より多くの詳細を含みます。

    • verbose: すべての詳細なログを含みます。

  • デフォルト値: default

log_min_duration_statement

指定された実行時間しきい値を超えた低速 SQL 文を記録します。すべての SQL 文を記録するには 0 に設定します。低速 SQL 文ログ機能を無効にするには -1 に設定します。

  • 有効値: 0~2147483647

  • デフォルト値: 5000

  • 単位: ミリ秒

log_statement

ログに記録される SQL 文の種類を制御します。

  • 有効値:

    • none:文を記録しません。

    • ddl:CREATE、ALTER、DROP などの DDL 文を記録します。

    • mod:DDL および DML (INSERT、UPDATE、DELETE) 文を記録します。

    • all:すべての SQL 文を記録します。

  • デフォルト値: ddl

レプリケーションと高可用性

パラメーター

説明

hot_standby

セカンダリノード (読み取り専用ノード) が読み取り専用クエリを受け入れることができるかどうかをコントロールします。

  • 有効値: ON/OFF

  • デフォルト値: ON

hot_standby_feedback

読み取り専用ノードが、実行中のクエリに関するフィードバックをプライマリノードに送信するかどうかを制御します。有効にすると、プライマリノードは、読み取り専用ノードのクエリでまだ使用されている古いデータ行のクリーンアップを遅らせ、クエリの競合を減らします。

  • 有効値: ON/OFF

  • デフォルト値: ON

max_replication_slots

インスタンスがサポートできるレプリケーションスロットの最大数。

  • 有効値: 0~262143

  • デフォルト値: 64

リソース管理

パラメーター

説明

dynamic_shared_memory_type

動的共有メモリの実装方法を指定します。

  • 有効値: posix/sysv/mmap

  • デフォルト値: posix

gin_pending_list_limit

高速更新モードでの GIN インデックスの保留リストの最大メモリサイズを設定します。

  • 有効値: 64~2097151

  • デフォルト値: 4096

  • 単位: KB

huge_pages

インスタンスがオペレーティングシステムによって提供されるラージページを使用しようとするかどうかを制御します。

  • 有効値: ON/OFF

  • デフォルト値: ON

max_files_per_process

各データベースバックグラウンドプロセスが同時に開くことを許可されるファイルハンドルの最大数。

  • 有効値: 64~2147483647

  • デフォルト値: 10000

max_locks_per_transaction

各トランザクションが保持できるロックの最大数。

  • 有効値: 10~2147483647

  • デフォルト値: 64

max_prepared_transactions

クラスター内で同時に準備状態 (2フェーズコミットプロトコル) にできるトランザクションの最大数。

  • 有効値: 0~262143

  • デフォルト値: 800

max_worker_processes

クラスターが開始できるバックグラウンドワーカープロセスの総最大数 (パラレルクエリワーカープロセスを含む)。

  • 有効値: 0~262143

  • デフォルト値: 256

temp_file_limit

単一のバックグラウンドプロセスが使用できる一時ファイル (ソートやハッシュなどの操作に使用) の合計サイズを制限します。制限なしの場合は -1 に設定します。

  • 有効値: -1~2147483647

  • デフォルト値: 104857600 (100 GB)

  • 単位: KB

フォーマットと動作

パラメーター

説明

datestyle

日付と時刻の値の表示フォーマットを設定します。

  • 有効値:

    • 出力フォーマット宣言:ISO/Postgres/SQL/German

    • 入出力の年/月/日の順序:DMY/MDY/YMD

  • デフォルト値: 'ISO,YMD'

default_with_oids

CREATE TABLE がデフォルトで OID を含めるかどうかを制御する非推奨のパラメーター。現在のバージョンでは OID はサポートされなくなったため、これは OFF にのみ設定できます。

extra_float_digits

標準精度を超えて浮動小数点数に表示される追加の有効桁数を制御します。これは、浮動小数点値をより正確に表示するために使用されます。

  • 有効値: -15~3

  • デフォルト値: 0

fsync

データベースが COMMIT などの重要な操作の後に、オペレーティングシステムのキャッシュから物理ディスクへのデータ変更の同期を強制するかどうかを制御します。

  • 有効値: ON/OFF

  • デフォルト値: ON

timezone

データベースセッションがタイムスタンプを表示および解釈するために使用するタイムゾーンを指定します。

  • 有効値: Asia/ShanghaiUTC などの標準タイムゾーン名。 詳細な有効値については、コンソールのパラメーターの変更範囲をご参照ください。

  • デフォルト値: 'UTC'