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

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

最終更新日:Dec 10, 2025

データベースパラメーターを調整することで、パフォーマンスの最適化、セキュリティの強化、または特定の機能要件を満たすことができます。PolarDB for PostgreSQL (Oracle 互換) は、クラウド環境で高いパフォーマンスと安定性を実現するために、コミュニティ版の一部のパラメーターを事前に最適化しています。このトピックでは、パラメーターのチューニングに役立つ、コアパラメーターに関する包括的なリファレンスと構成の推奨事項を説明します。

重要なパラメーター

PolarDB for PostgreSQL (Oracle 互換) は、パフォーマンス、可用性、信頼性を考慮して、デフォルトのパラメーター値を設定しています。これらの値は、コミュニティ版のデフォルト値とは異なる場合があります。特に、PolarDB は最適なパフォーマンスを実現するために、以下のパラメーターをデフォルト値に設定しています。これらのパラメーターは、必要に応じてコンソールで変更できます。

パラメータ

説明

polar_comp_stmt_level_tx

例外発生時に、コミットされていないデータベースの更新をロールバックするかどうかを制御します。有効値:

  • ON:例外が発生しても、以前のコミットされていないデータベースの更新は自動的にロールバックされません。これは Oracle の動作をシミュレートします。

  • OFF:例外が発生すると、コミットされていないデータベースの更新がロールバックされます。

デフォルト値:

  • Oracle 構文互換性 2.0:ON。

  • Oracle 構文互換性 1.0:OFF。

説明
  • このパラメーターは、Oracle 構文互換性 2.0 では polar_enable_stmt_transaction_rollback に変更されています。

  • Oracle では、SQL コマンドで実行時エラーが発生した場合、その単一のコマンドによって引き起こされたすべてのデータベース更新がロールバックされます。これは文レベルのトランザクション分離と呼ばれます。たとえば、単一の UPDATE コマンドが 5 行の更新に成功した後、6 行目の更新を試みた際に例外が発生した場合、この UPDATE コマンドによる 6 行すべての更新がロールバックされます。まだコミットまたはロールバックされていない以前の SQL コマンドの効果は、COMMIT または ROLLBACK コマンドが実行されるまで一時停止されます。詳細については、「polar_comp_stmt_level_tx」をご参照ください。

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

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

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

  • 有効値:1~600

  • デフォルト値:60

  • 単位:秒

ssl

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

  • 有効値:ON/OFF

  • デフォルト値:OFF

Autovacuum

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

パラメーター

説明

autovacuum

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

  • 有効値:ON/OFF

  • デフォルト値:ON

説明

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

autovacuum_max_workers

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

  • 有効値: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

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

説明

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

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

  • 有効値:

    • 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 を含めるかどうかを制御します。

  • Oracle 構文互換性 2.0:OID はサポートされなくなりました。これは OFF にしか設定できません。

  • Oracle 構文互換性 1.0:有効値は ON/OFF で、デフォルトは ON です。

extra_float_digits

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

  • 有効値:-15~3

  • デフォルト値:0

fsync

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

  • 有効値:ON/OFF

  • デフォルト値:ON

timezone

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

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

  • デフォルト値:'UTC'