Snowflake Postgresのサーバー設定¶
次の表は、Snowflake PostgresインスタンスのPostgresサーバーコンポーネントの設定できるパラメーターの詳細を示しています。各設定の名前は、Postgresドキュメントにハイパーリンクされています。
Default列に「Postgres default」が表示される場合、Snowflake PostgresインスタンスはPostgresのデフォルト値を使用します。これは、メジャーバージョンによって異なります。
Snowflake Postgresインスタンスを作成する際の、これらのPostgresサーバー設定の値の設定については、 Snowflake Postgresインスタンスの作成 をご参照ください。
Tip
特定のメジャーバージョンのパラメーターのドキュメントを見るには、ハイパーリンクアドレスの「current」という単語をターゲットのメジャーバージョンに変更します。 たとえば、 postgres:work_mem 設定のこのハイパーリンクアドレスは次のようになります。
https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-WORK-MEM
Postgres 17のドキュメントにアクセスする場合は次のようになります。
https://www.postgresql.org/docs/17/runtime-config-resource.html#GUC-WORK-MEM
コンポーネント |
名前 |
再起動が必要です |
説明 |
デフォルト |
|---|---|---|---|---|
pgbouncer |
FALSE |
(「*」を介して)自動的に作成されたデータベースプールがこの秒数の間、使用されなかった場合、それらは解放されます。 |
3600 |
|
pgbouncer |
FALSE |
ユーザー/データベースのペアごとに許可するサーバー接続の数。 |
497 |
|
pgbouncer |
FALSE |
パラメーターの起動パケット(例: options,extra_float_digits)を無視します。 |
client_encoding,datestyle,timezone,standard_conforming_strings,extra_float_digits |
|
pgbouncer |
FALSE |
単一のサーバー接続でアクティブに保つ準備済みステートメントの数 |
250 |
|
pgbouncer |
FALSE |
他のクライアントがサーバー接続を再利用できる場合を指定します。 |
トランザクション |
|
pgbouncer |
サーバー接続がこの秒数以上アイドル状態である場合、サーバー接続は閉じられます。 |
FALSE |
60 |
|
postgres |
FALSE |
実行計画がログに記録されると、 EXPLAIN 出力でなく、 EXPLAIN ANALYZE 出力が出力されます。 |
Postgresのデフォルト |
|
postgres |
FALSE |
実行計画がログに記録されたときに、バッファーの使用統計を出力するかどうかを制御します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
使用する EXPLAIN 出力形式を選択します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
ステートメントの最小実行時間(ミリ秒単位)。これにより、ステートメントの計画がログに記録されます。 |
Postgresのデフォルト |
|
postgres |
FALSE |
ネストされたステートメント(関数内で実行されるステートメント)がログの対象となります。 |
Postgresのデフォルト |
|
postgres |
FALSE |
実行計画がログに記録されるときに、ノードごとのタイミング情報を出力するかどうかを制御します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
実行計画がログに記録されるときに、トリガー実行の統計が含まれるようにします。 |
Postgresのデフォルト |
|
postgres |
FALSE |
実行計画がログに記録されるときに、詳細を出力するかどうかを制御します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
auto_explainが各セッションのステートメントの一部のみを説明するようにします。 |
Postgresのデフォルト |
|
postgres |
FALSE |
ANALYZE をトリガーするかどうかを決定するときに、autovacuum_analyze_thresholdに追加するテーブルサイズの割合を指定します。 |
Postgresのデフォルト |
|
postgres |
TRUE |
VACUUM 操作がテーブル内のトランザクション ID のラップアラウンドを防ぐために強制される前に、テーブルのトランザクション ID が到達できる最大年齢を(トランザクション単位で)指定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
自動の VACUUM 操作で使用されるコスト遅延値を指定します。-1が指定されている場合、通常のvacuum_cost_delay値が使用されます。 |
Postgresのデフォルト |
|
postgres |
FALSE |
自動の VACUUM 操作で使用されるコスト制限値を指定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
VACUUM をトリガーするかどうかを決定するときに、autovacuum_vacuum_insert_thresholdに追加するテーブルサイズの割合を指定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
任意の1つのテーブルで VACUUM をトリガーするために必要となる挿入されたタプルの数を指定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
VACUUM をトリガーするかどうかを決定するときに、autovacuum_vacuum_thresholdに追加するテーブルサイズの割合を指定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
チェックポイント間の合計時間の割合として、チェックポイント完了のターゲットを指定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
自動の WAL チェックポイント間の最大時間。 |
Postgresのデフォルト |
|
postgres |
FALSE |
WAL セグメントファイルの入力によって発生したチェックポイントがこの時間よりも近くで発生した場合、サーバーログにメッセージを書き込みます。 |
Postgresのデフォルト |
|
postgres |
FALSE |
ALTER TABLE SET STATISTICS を介して設定された列固有のターゲットがない、テーブル列のデフォルトの統計ターゲットを設定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
構成を指定する明示的な引数を持たないテキスト検索関数のバリアントによって使用されるテキスト検索構成を選択します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
読み取り専用 SQL トランザクションは非仮テーブルを変更できません。 |
オフ |
|
postgres |
FALSE |
ホットスタンドバイがスタンドバイで現在実行中のクエリについて、プライマリまたは上流スタンドバイにフィードバックを送信するかどうかを指定します。 |
オン |
|
postgres |
FALSE |
開いているトランザクション内で指定された時間より長くアイドル状態になっているセッションを終了します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
間隔値の表示形式を設定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
JIT サポートを有効化します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
ロックを取得しようとして、指定された時間よりも長く待機しているステートメントを中止します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
autovacuumによって実行される各アクションが、少なくとも指定された時間実行された場合、ログに記録されます。 |
Postgresのデフォルト |
|
postgres |
FALSE |
成功した各接続について詳述する行をサーバーログに出力します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
希望のログの宛先を設定します。 |
syslog,stderr |
|
postgres |
FALSE |
セッションの終了をログに記録します。ログ出力は、log_connectionsに類似した情報に加えて、セッションの期間を提供します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
完了したすべてのステートメントの期間をログに記録します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
各ログ行の先頭に出力されるprintf-style文字列を指定します。 |
[%p][%b][%v][%x] %q[user=%u,db=%d,app=%a] |
|
postgres |
FALSE |
セッションがロックを取得するのにdeadlock_timeoutより長く待機している場合に、ログメッセージを生成するかどうかを制御します。 |
オン |
|
postgres |
FALSE |
少なくとも指定された時間実行された完了済みステートメントの期間のサンプリングを許可します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
ステートメントが少なくとも指定された時間実行された場合、各完了済みステートメントの期間がログに記録されます。 |
2秒 |
|
postgres |
FALSE |
サーバーログに書き込むメッセージレベルを制御します。 |
通知 |
|
postgres |
FALSE |
これによって、個々のログファイルの最大サイズが決定されます。 |
Postgresのデフォルト |
|
postgres |
FALSE |
ログに記録される SQL ステートメントを制御します。 |
ddl |
|
postgres |
FALSE |
ログに記録される期間がlog_min_duration_sampleを超えるステートメントの割合を決定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
仮ファイルの名前とサイズのログを制御します。 |
10MB |
|
postgres |
FALSE |
他の理由でログに記録されたステートメントに加えて、ステートメントがすべてログに記録されるトランザクションの割合を設定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
論理デコードに使用されるメモリの最大量を指定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
VACUUM 、 CREATE INDEX および ALTER TABLE ADD FOREIGN KEY など、メンテナンス操作が使用するメモリの最大量を指定します。 |
TOTAL_MEMORY * 0.4 |
|
postgres |
TRUE |
データベースサーバーへの同時接続の最大数を決定します。 |
500 |
|
postgres |
TRUE |
各トランザクションに割り当てられたオブジェクトロックの平均数を制御します。 |
Postgresのデフォルト |
|
postgres |
TRUE |
論理複製ワーカーの最大数を指定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
単一のユーティリティコマンドで起動できる並列ワーカーの最大数を設定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
クラスターが並列操作のためにサポートできるワーカーの最大数を設定します。 |
NUM_CPUS |
|
postgres |
FALSE |
単一のGatherまたはGather Mergeノードで起動できるワーカーの最大数を設定します。 |
NUM_CPUS |
|
postgres |
TRUE |
サーバーがサポートできる複製スロットの最大数を指定します。 |
10 |
|
postgres |
FALSE |
複製スロットがチェックポイント時間に |
STORAGE_GB * 0.1 |
|
postgres |
FALSE |
適用予定の WAL エントリと競合するスタンドバイクエリをキャンセルするまでの、スタンドバイサーバーの待機時間を決定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
適用予定の WAL エントリと競合するスタンドバイクエリをキャンセルするまでの、スタンドバイサーバーの待機時間を決定します。 |
Postgresのデフォルト |
|
postgres |
TRUE |
スタンドバイサーバーまたはストリーミングベースバックアップクライアントからの同時接続の最大数を指定します。 |
10 |
|
postgres |
FALSE |
自動チェックポイント中に WAL が増やせる最大サイズ。 |
MIN(10GB, STORAGE_GB * 0.1) |
|
postgres |
TRUE |
クラスターがサポートできるバックグラウンドプロセスの最大数を設定します。 |
100 |
|
postgres |
TRUE |
追跡されるステートメントの最大数。 |
Postgresのデフォルト |
|
postgres |
FALSE |
どのステートメントを追跡するかを制御します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
ユーティリティコマンドを追跡する必要があります。ユーティリティコマンドは、 SELECT 、 INSERT 、 UPDATE 、 DELETE および MERGE 以外のすべてのコマンドです。 |
Postgresのデフォルト |
|
postgres |
FALSE |
順不同にフェッチされるディスクページのコストのプランナーの推定値を設定します。 |
1.1 |
|
postgres |
FALSE |
接続開始時にプリロードされる1つ以上の共有ライブラリを指定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
指定された時間以上かかるステートメントを中止します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
データベースサーバーがクライアントに「成功」通知を返すまでに、完了しなければならない WAL の処理の量を指定します。 |
ローカル |
|
postgres |
FALSE |
syslogに送信されたメッセージを行で分割し、1024バイトにおさまるようにします |
Postgresのデフォルト |
|
postgres |
FALSE |
クライアントへのサーバーの接続が切断されたと見なされる前に失われる TCP キープアライブメッセージの数を指定します。 |
4 |
|
postgres |
FALSE |
オペレーティングシステムが TCP キープアライブメッセージをクライアントに送信する前に、ネットワークアクティビティがない時間を指定します。 |
2 |
|
postgres |
FALSE |
プロセスがソートやハッシュ一時ファイルなどの一時ファイル、または保持されたカーソルのストレージファイルに使用できるディスク容量の最大量を指定します。 |
MIN(2000GB, STORAGE_GB * 0.25) |
|
postgres |
TRUE |
pg_stat_activity.queryフィールド用に、アクティブな各セッションの現在実行中のコマンドテキストを格納するために予約されたメモリ。 |
Postgresのデフォルト |
|
postgres |
TRUE |
トランザクションのコミット時間を記録します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
スタンドバイサーバーが複製をストリーミングするために取得する必要がある場合に、pg_wal辞書に保持される過去の WAL ファイルの最小サイズを指定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
WAL 複製を待機する最大時間を設定します。 |
Postgresのデフォルト |
|
postgres |
FALSE |
仮のディスクファイルに書き込む前に、クエリ操作(ソートまたはハッシュテーブルなど)で使用される基本の最大メモリ量を設定します。 |
(TOTAL_MEMORY * 0.75)/ (NUM_CORES * 8) |