From f233bb2d99a6862d56d203b8cca41304810f56f9 Mon Sep 17 00:00:00 2001 From: Noboru Saito Date: Sat, 31 Jan 2026 06:11:55 +0900 Subject: [PATCH 1/2] =?UTF-8?q?doc=5Fja=5F18=E3=81=AE=E3=83=9E=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=81=A8=E5=AE=9A=E5=BD=A2=E6=96=87=E7=BD=AE=E3=81=8D?= =?UTF-8?q?=E6=8F=9B=E3=81=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/src/sgml/config.sgml | 6521 +++++++++++++++++++++++++++++++++++- doc/src/sgml/protocol.sgml | 3 + 2 files changed, 6500 insertions(+), 24 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 217b04b180f..e6d550f213e 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1,36 +1,60 @@ + + サーバ設定 configuration of the server + + 設定 + サーバの + + +データベースシステムの動作に影響を与える数多くのパラメータがあります。 +この章の最初の節で、どのように設定パラメータを操作するのかについて説明します。 +引き続く節で、それぞれのパラメータの詳細を説明します。 + + パラメータの設定 + + パラメータ名とその値 + +全てのパラメータの名前は大文字と小文字を区別しません。 +それぞれのパラメータは、論理値、整数、浮動小数点、文字列、またはenum(列挙型)の5つの型のいずれかの値を取ります。 +型はパラメータをセットするための記法を定義します。 + +論理型: +値はonofftruefalseyesno10(すべて大文字小文字の区別なし)、あるいは、曖昧でなければ、これらの先頭から数文字を省略形として使うこともできます。 + +文字列型: +一般に、単一引用符の中に値を入れます。 +単一引用符を値に含める場合は単一引用符を2つ続けます。 +なお、値が単純な数字や識別子である場合は、通常は引用符を省略できます。 +(使用する場所によっては、SQLキーワードと一致する値に引用符が必要になることがあります。) + +数値型(整数型と浮動小数点型): +数値パラメータには通常の整数と浮動小数点型が使用できます。 +パラメータが整数型なら、小数値はもっとも近い整数に丸められます。 +加えて整数型パラメータは16進数入力(0xで始まります)と8進数入力(0で始まります)を受け付けます。 +しかし、これらの形式では小数点以下は使えません。 +1000の位取りの区切り文字は使わないでください。 +16進数入力を除き引用符は必要ありません。 + +単位付きの数値: +数値型のパラメータによっては暗黙的な単位を持つことがあります。 +メモリの量や時間について記述するからです。 +単位はバイト、キロバイト、ブロック(通常8キロバイト)、ミリ秒、秒、分などです。 +修飾無しの数値によるこれらの設定においては、 pg_settings.unit からデフォルト値が採用されます。 +使い勝手を考えて、たとえば'120 ms'のように単位を明示的に指定することもできます。 +この場合は、実際の単位に変換が行われます。 +なお、この機能を使う場合は、引用符付きの文字列として値を指定しなければならないことに注意してください。 +単位の名称は大文字小文字を区別します。 +また、数値と単位の間に空白があっても構いません。 + +有効なメモリの単位はB (バイト) kB (キロバイト)、MB (メガバイト)、 GB (ギガバイト), TB (テラバイト)です。 +メモリ単位の乗数は1024です。1000ではありません。 + +有効な時間の単位は us (マイクロ秒)、ms (ミリ秒)、s (秒)、min (分)、h (時間)、d (日数) です。 + +単位に添えて小数点以下が指定された場合、より小さな単位が存在すれば、値はその小さな単位の積に丸められます。 +たとえば、30.1 GB32319628902 Bではなく30822 MBに変換されます。 +整数型のパラメータでは、単位変換の後で最終的な整数への丸めが行われます。 + +列挙型: +列挙型のパラメータは文字列パラメータと同じように記述します。 +ただ、使用できる文字列の種類が決まっているだけです。 +使用できる文字列は pg_settings.enumvals で定義されています。 +列挙型の値は大文字小文字を区別しません。 + + 設定ファイルによるパラメータ操作 + +これらのパラメータを設定する最も基本的な方法は、postgresql.confpostgresql.confファイルを編集することで、これは通常 data ディレクトリに格納されています。 +デフォルトのコピーはデータベースクラスタディレクトリが初期化されるときそこにインストールされます。このファイルがどういったものかの例を示します。 # This is a comment log_connections = all @@ -145,6 +226,7 @@ log_destination = 'syslog' search_path = '"$user", public' shared_buffers = 128MB + +1つの行毎に1つのパラメータが指定されます。 +名前と値の間の等号は省略可能です。 +(引用符付きのパラメータ値内を除き)空白は特に意味を持たず、何もない行は無視されます。 +ハッシュ記号(#)はその行の後の表記がコメントであることを意味します。 +単純でない識別子、または数値でないパラメータ値は単一引用符で括られなければなりません。 +パラメータ値の中に単一引用符を埋め込むには、引用符を2つ(推奨)もしくはバックスラッシュ-引用符を使います。 +ファイル中、同じパラメータに対して複数のエントリが指定されている場合は、最後のエントリ以外は無視されます。 + +この方法によりクラスタに対してデフォルト値が設定されます。 +上書きされない限り、アクティブなセッションが見るのはこの値です。 +次節以降では、管理者やユーザがこれらのデフォルト値を上書きする方法を説明します。 SIGHUP + +設定ファイルは、メインサーバプロセスがSIGHUPシグナルを受け取るたびに再読み込みされます。 +このシグナルを手っ取り早く送信するには、コマンドラインからpg_ctl reloadを実行するか、SQL関数のpg_reload_conf()を呼び出します。 +メインサーバプロセスは同時にこのシグナルを、現存のセッションが同様に新しい値を入手できるように、全ての現在実行しているサーバプロセスに伝播します(これは現在実行中のクライアントコマンドの処理を完了してから行われます)。 +他の手段として、直接単一のサーバプロセスにシグナルを送ることも可能です。 +一部のパラメータはサーバの起動時のみ設定されまするので、設定ファイル中のそれらのエントリの変更はすべて、サーバが再起動されるまで無視されます。 +設定ファイル内で無効なパラメータが設定された場合も、同じように(ログには残りますが)SIGHUP 処理中は無視されます。 + +postgresql.confに加え、PostgreSQLのデータディレクトリには postgresql.auto.confpostgresql.auto.confというファイルがあります。 +このファイルは postgresql.conf と同じフォーマットですが、手動ではなく自動で編集されることを意図しています。 +このファイルはALTER SYSTEMコマンドを使った設定値を保存します。 +このファイルはpostgresql.conf が読み込まれるときはいつでも自動的に読み込まれ、同じように設定が反映されます。 +postgresql.auto.confは、postgresql.confの設定を上書きします。 + +外部ツールもpostgresql.auto.confを変更するかも知れません。 +ALTER SYSTEMが変更を上書きする可能性があるので、offに設定されていない限り、サーバが稼働中は外部ツールによる変更は推奨されません。 +そのようなツールは、単に新しい設定を最後に追加するか、重複した設定あるいはコメント(ALTER SYSTEMが行います)を削除することを選択するかも知れません。 + +システムビューのpg_file_settingsは、設定ファイルへの変更を前もってテストしたい場合や、SIGHUPシグナルで望み通りの効果がなかった場合に問題を調査する際に役立ちます。 + + SQLを通じたパラメータ操作 + +PostgreSQLは3つのSQLコマンドでデフォルト値を設定します。 +すでに説明したALTER SYSTEMコマンドは、SQLによってグローバルな設定値を変更する方法を提供します; postgresql.confを編集するのと等価です。これに加え、データベース単位あるいはロール単位で設定するためのコマンドがあります: + +ALTER DATABASEコマンドはデータベース単位でグローバルな設定値を上書きします。 + +ALTER ROLEコマンドはグローバルと、データベース単位の両方をユーザ固有の設定値で上書きします。 + +ALTER DATABASEALTER ROLEによる設定値は新しくデータベースセッションを開始した時にのみ適用されます。 +これらのコマンドは設定ファイルやサーバのコマンドラインから取得した値を上書きし、セッションの残りの部分のデフォルト値を構成します。 +なお、一部の設定はサーバを起動した後では変更できず、これらのコマンドを使っては設定できません(以下に記述するコマンドでも同じことが言えます)。 + +クライアントがデータベースに接続すると、PostgreSQLでは更に2つのSQL(そして同等の関数)を使ってセッションローカルの設定変更を行うことができます。 + +SHOWコマンドを使ってすべてのパラメータの現在の値を調べることができます。 +対応する関数はcurrent_setting(setting_name text)です(を参照してください)。 + +SETコマンドでセッション内でローカルに変更できるパラメータの値を変更することができます。他のセッションには影響がありません。 +多くのパラメータはすべてのユーザがこの方法で設定できますが、スーパーユーザか、そのパラメータのSET権限が与えられたユーザだけが設定できるものもあります。 +対応するSQL関数はset_config(setting_name, new_value, is_local)です。 +(を参照してください)。 + +更にシステムビューのpg_settingsを使ってセッションローカルな値を参照したり変更することができます。 + +このビューを問い合わせるのは、SHOW ALLを使うのと同じですが、更に詳細な情報を提供します。 +フィルタ条件を指定したり他のリレーションと結合ができるので、より柔軟です。 + +このビューに対してUPDATEを実行する、具体的にはsetting列を更新することは、SETコマンドを実行するのと同等です。 +たとえば、 SET configuration_parameter TO DEFAULT; + +は以下と同じです。 UPDATE pg_settings SET setting = reset_val WHERE name = 'configuration_parameter'; @@ -319,34 +482,49 @@ UPDATE pg_settings SET setting = reset_val WHERE name = 'configuration_parameter + + シェルによるパラメータ操作 + +グローバルなデフォルト値を設定したりデータベース、ロール単位で上書きを行えるだけでなく、シェル機能を使ってPostgreSQLに設定値を渡すことができます。 +サーバもlibpqクライアントライブラリもシェル経由でパラメータ値を受けとることができます。 + +サーバ起動時に、コマンドラインパラメータか、それと同等で別の形式のを使ってパラメータ設定値をpostgresに渡すことができます。たとえば、 postgres -c log_connections=all --log-destination='syslog' + +このようにして渡された設定値は、postgresql.confALTER SYSTEMによる設定を上書きします。 +したがってサーバを再起動しない限りこれらの設定値をグローバルに変更することはできません。 + +libpqを使ってクライアントセッションを開始するときにPGOPTIONS環境変数を使って設定値を指定できます。 +このようにして渡された設定値はセッションのデフォルトとなりますが、他のセッションには影響を与えません。 +歴史的な理由により、PGOPTIONSの形式はpostgresを起動するときのものと似ています。とりわけ、を指定するか、先頭に--を付加した名前を指定しなければならない点です。たとえば、 env PGOPTIONS="-c geqo=off --statement-timeout=5min" psql + +他のクライアントやライブラリではそれぞれ固有の方法でシェルなどを経由して、SQLコマンドを直接使わずにセッションの設定を変更することができるかもしれません。 @@ -372,13 +557,20 @@ env PGOPTIONS="-c geqo=off --statement-timeout=5min" psql + + 設定ファイルの内容の管理 + +PostgreSQLは複雑なpostgresql.confファイルを複数の小さなファイルに分割する複数の方法を提供しています。 +これは、とりわけお互いに関連しているものの設定が同じではない複数のサーバを管理する際に有用です。 @@ -386,18 +578,37 @@ env PGOPTIONS="-c geqo=off --statement-timeout=5min" psql include in configuration file + + include + 設定ファイルにおける + + +パラメータ設定に加え、postgresql.confファイルにincludeディレクティブを入れることができます。 +このようにすると、別のファイルがあたかも設定ファイルのその場所に挿入されているかのごとく読み込まれ、処理されるように指定されます。 +この機能により、設定ファイルを物理的に異なる複数のパーツに分解することができます。 +Includeディレクティブは単に次のような形式になります。 + + +include 'ファイル名' + + +ファイル名が絶対パスでない場合、参照する設定ファイルを含むディレクトリからの相対パスであると受け取られます。 +Includeコマンドは入れ子にすることができます。 @@ -405,12 +616,21 @@ include 'filename' include_if_exists in configuration file + + include_if_exists + 設定ファイルにおける + + +include_if_existsディレクティブもあります。 +これは参照ファイルが存在しないか、または読み込むことができない場合の動作を除き、includeディレクティブと同一の動作をします。 +通常のincludeはこれをエラーと解釈しますが、include_if_existsはただ単にメッセージをログ出力し、そして参照している設定ファイルの処理を続けます。 @@ -418,12 +638,26 @@ include 'filename' include_dir in configuration file + + include_dir + 設定ファイルにおける + + +includeする設定ファイルを含むディレクトリ全体を指定するinclude_dirディレクティブを、postgresql.confファイルに含めることもできます。 +このような感じです。 + + +include_dir 'ディレクトリ名' + + +絶対パスではないディレクトリ名はその設定ファイルがあるディレクトリへの相対パスと見なされます。 +指定したディレクトリの中で、ディレクトリではないファイルで末尾が.confで終わるファイルだけがincludeされます。 +また、文字. で開始するファイル名は一部のプラットフォームでは隠しファイルとされるので、間違いを防止するため無視されます。 +includeされるディレクトリにある複数ファイルはファイル名順に処理されます(ファイル名は C ロケール規則で順序付けされます。 +つまり、文字より数字、小文字より大文字が先になります)。 + +includeされるファイルもしくはディレクトリは、大きな単一のpostgresql.confファイルを使う代わりに、データベース設定の一部分を論理的に分離するために使用することが可能です。 +異なるメモリ容量を持つ二つのデータベースサーバを所有する会社を考えてみてください。 +例えばログ出力のように、二つが共有する設定の要素があると思われます。 +しかし、サーバ上のメモリに関連したパラメータは二つの間では異なります。 +更に、サーバ特有のカスタマイズも存在することがあります。 +この状況に対処する一つの方法として、そのサイトに対するカスタマイズされた設定の変更を三つのファイルにすることです。 +それらをincludeするためにはpostgresql.confファイルの最後に以下を追加します。 include 'shared.conf' include 'memory.conf' include 'server.conf' + +全てのシステムは同一のshared.confを所有する様になるでしょう。 +特定のメモリ容量を所有するそれぞれのサーバは同じmemory.confを共有できます。 +RAMが8GBのすべてのサーバには共通のmemory.confを1つ使い、16GBのサーバ群には別のものを使う、ということもできるでしょう。 +そして最後のserver.confには、本当にサーバ固有となる設定情報を記載します。 + +別の方法として、設定ファイルディレクトリを作成し、この情報をそこのファイルに格納することができます。 +たとえば、conf.dディレクトリをpostgresql.confの最後で参照するようにできます。 include_dir 'conf.d' + +そして、conf.dの中のファイルを以下のような名前にすることができます。 00shared.conf 01memory.conf 02server.conf + +この命名規則により、これらのファイルが読み込まれる順序が明確になります。 +サーバが設定を読み込んでいるときに各パラメータについて最後にあった設定だけが使用されるので、このことは重要です。 +この例では、conf.d/02server.confでされた指定はconf.d/01memory.confの設定値よりも優先します。 + +代わりに以下の方法を使って、ファイルにわかりやすい名前をつけることもできます。 00shared.conf 01memory-8GB.conf 02server-foo.conf + +こういった工夫で、設定ファイルのバリエーションに対して固有の名前を付与することができます。 +また、バージョン管理リポジトリのリポジトリに複数のサーバの設定ファイルを置く場合に生じる曖昧さを排除することができます。 +(データベース設定ファイルをバージョン管理することは、これもまた検討に値するやり方です。) + + ファイルの場所 + +すでに説明したpostgresql.confファイルに加え、PostgreSQLは、クライアント認証の管理を行うために、他の2つの手作業で編集される設定ファイルを使用します(これらの使用方法はで説明します)。 +全ての3つの設定ファイルは、デフォルトではデータベースクラスタのdataディレクトリに格納されます。 +本節で説明するパラメータにより、設定ファイルを他の場所に置くことが可能になります。 +(そのようにすると管理がしやすくなります。 +とりわけ、設定ファイルを分けて保存することで、設定ファイルの適切なバックアップを確実に行うことがしばしば容易になります。) @@ -522,11 +807,18 @@ include_dir 'conf.d' data_directory configuration parameter + + data_directory設定パラメータ + + +データ格納に使用するディレクトリを指定します。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -536,12 +828,19 @@ include_dir 'conf.d' config_file configuration parameter + + config_file設定パラメータ + + +メインサーバ設定ファイルを指定します(通例postgresql.confと呼ばれます)。 +このパラメータはpostgresコマンドライン上でのみ設定可能です。 @@ -551,12 +850,19 @@ include_dir 'conf.d' hba_file configuration parameter + + hba_file設定パラメータ + + +ホストベース認証(HBA)用のファイルを指定します(通例pg_hba.confと呼ばれます)。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -566,13 +872,21 @@ include_dir 'conf.d' ident_file configuration parameter + + ident_file設定パラメータ + + +ユーザ名マッピングの設定ファイルを指定します(通例pg_ident.confと呼ばれます)。 +このパラメータはサーバ起動時のみ設定可能です。 +もご覧ください。 @@ -582,26 +896,38 @@ include_dir 'conf.d' external_pid_file configuration parameter + + external_pid_file設定パラメータ + + +サーバ管理プログラムで使用するためにサーバが作成する、追加のプロセス識別子(PID)ファイルの名前を指定します。 +このパラメータはサーバ起動時のみ設定可能です。 + +デフォルトのインストールでは、上記のいかなるパラメータも明示的に設定されません。 +その代わり、data ディレクトリはコマンドラインオプション、またはPGDATA環境変数で指定され、設定ファイル全てはその data ディレクトリ内に格納されます。 + +dataディレクトリ以外の場所に設定ファイルを格納したいのであれば、postgresコマンドラインオプション、またはPGDATA環境変数で設定ファイルの場所を指し示し、そしてdataディレクトリが実際どこに存在するのかを示すため、postgresql.confの(もしくはコマンドライン上で)data_directoryパラメータを設定しなければなりません。 +data_directoryは、設定ファイルの場所ではなく、data ディレクトリの位置に関して、およびPGDATAを上書きすることに注意してください。 + +必要に応じて、パラメータconfig_filehba_fileident_fileを使用し、設定ファイルの名前と場所を個別に指定することができます。 +config_filepostgresコマンドラインによってのみ指定されますが、その他は主設定ファイル内で設定できます。 +全ての3つのパラメータとdata_directoryが明示的に設定されていれば、またはPGDATAを指定する必要はありません。 + +これらのパラメータのどれを設定する場合でも、相対パスは、postgresが起動されるディレクトリから見た相対パスとして解釈されます。 + + 接続と認証 + + 接続設定 @@ -646,9 +989,13 @@ include_dir 'conf.d' listen_addresses configuration parameter + + listen_addresses設定パラメータ + + +クライアントアプリケーションからの接続をサーバが監視するTCP/IPアドレスを指定します。 +この値は、ホスト名をカンマで区切ったリスト、そして/もしくは、数値によるIPアドレスです。 +*という特別なエントリは利用可能な全てのIPインタフェースに対応します。 +エントリ0.0.0.0は全てのIPv4アドレスの監視を、そしてエントリ::は全てのIPv6アドレスの監視を許容します。 +リストが空の場合、サーバはいかなるIPインタフェースも全く監視しないで、Unixドメインソケットのみを使用して接続が行われます。 +リストが空でない場合、少なくとも1つのTCP/IPアドレスがリスニングできる場合にサーバは起動します。 +開くことのできなかったすべてのTCP/IPアドレスに対して警告が発せられます。 +デフォルトの値はlocalhostで、ローカルなTCP/IP loopback接続のみ許可します。 + + + +クライアント認証()は、誰がサーバにアクセスできるかを細かく制御できますが、listen_addressesは接続要求を受け付けるインタフェースを制御します。 +これは、セキュアでないネットワークインタフェース上での悪意のある接続試行の繰り返しを防ぐのに役立ちます。 +このパラメータはサーバ起動時にのみ設定できます。 @@ -682,12 +1043,20 @@ include_dir 'conf.d' port configuration parameter + + port設定パラメータ + + +サーバが監視するTCPポートで、デフォルトは 5432です。 +サーバが監視する全てのIPアドレスに対し、同じポート番号が使用されることを覚えておいてください。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -697,26 +1066,41 @@ include_dir 'conf.d' max_connections configuration parameter + + max_connections設定パラメータ + + +データベースサーバに同時接続する最大数を決定します。 +デフォルトは典型的に100接続ですが、カーネルの設定が(initdbの過程で)それをサポートしていない場合、もっと少なくなることがあります。 +このパラメータはサーバ起動時のみに設定可能です。 + +PostgreSQLは、max_connectionsの値に直接基づいてある種のリソースのサイズを設定します。 +この値を大きくすると、共有メモリを含むこれらのリソースの割り当てが増えます。 + +スタンバイサーバを運用している場合、このパラメータはプライマリサーバでの設定と同じ、もしくはより高い値に設定しなければなりません。そうしないと問い合わせがスタンバイサーバ内で受け入れられません。 @@ -726,9 +1110,13 @@ include_dir 'conf.d' reserved_connections configuration parameter + + reserved_connections設定パラメータ + + +権限を持つロールによる接続のために予約される接続スロットの数を決定します。 +空き接続スロットの数がより大きく、かつsuperuser_reserved_connectionsreserved_connectionsの合計以下の場合は常に、新しい接続はスーパーユーザあるいはpg_use_reserved_connections権限を持つロールに対してのみ受け入れられます。 +superuser_reserved_connections以下の接続スロットが利用可能な場合、新しい接続はスーパーユーザに対してのみ受け入れられます。 + +デフォルトの値は0接続です。 +この値は max_connections - superuser_reserved_connectionsより小さくなくてはなりません。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -759,9 +1156,13 @@ include_dir 'conf.d' superuser_reserved_connections configuration parameter + + superuser_reserved_connections設定パラメータ + + +PostgreSQLのスーパーユーザによる接続のために予約されている接続スロットの数を決定します。 +最大、の数までの接続を同時に有効にすることができます。 +有効な同時接続数がmax_connectionsからsuperuser_reserved_connectionsを差し引いた数以上のときは、新規接続はスーパーユーザのみが許可されます。 +このパラメータによる接続スロット予約は、によるスロット予約が使い果たされた後の緊急使用のための最終的な予備を意図しています。 + +デフォルトの値は3接続です。 +この値は max_connectionsからreserved_connectionsを引いたものより小さくなくてはなりません。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -789,9 +1200,13 @@ include_dir 'conf.d' unix_socket_directories configuration parameter + + unix_socket_directories設定パラメータ + + +クライアントアプリケーションからの接続をlistenするサーバ上のUnixドメインソケットのディレクトリを指定します。 +複数のディレクトリをカンマで区切って指定することにより、複数のソケットを作ることができます。 +項目の間の空白は無視されます。 +名前の中に空白かカンマが必要なら、ディレクトリ名を二重引用符で囲ってください。 +空の値はUnixドメインソケットをlistenしないことを意味します。 +この場合、TCP/IPソケットを使ってサーバに接続することだけが可能になります。 + +@で始まる値は、抽象名前空間にUnixドメインソケットを作ることを指定します(今の所これはLinuxでのみサポートされています)。 +この場合、この値はディレクトリではなくファイルシステムの名前空間と同様の方法で、実際のソケット名の接頭辞が求められます。 +ファイルシステムの位置ではないため、抽象ソケット名接頭辞は自由に選択できますが、それにもかかわらず@/tmpのようなファイルシステム的な値を使うのが慣例です。 + +デフォルト値は通常/tmpですが、ビルド時に変更できます。 +Windowsではデフォルトは空文字で、これはつまりUnixドメインソケットがデフォルトでは作成されないことを意味します。 +このパラメータはサーバ起動時のみ設定可能です。 + +.s.PGSQL.nnnnという名前のソケットファイル(nnnnはポート番号)のほかに、.s.PGSQL.nnnn.lockという通常ファイルがそれぞれのunix_socket_directoriesディレクトリの中に作成されます。 +いずれのファイルも手作業で削除してはいけません。 +抽象名前空間にあるソケットにはロックファイルは作成されません。 @@ -840,9 +1277,13 @@ include_dir 'conf.d' unix_socket_group configuration parameter + + unix_socket_group設定パラメータ + + +Unixドメインソケット(複数も)を所有するグループを設定します。 +(ソケットを所有するユーザは常にサーバを起動するユーザです。) +unix_socket_permissionsパラメータとの組合せで、Unixドメインソケット接続の追加的アクセス管理機構として使うことができます。 +デフォルトでは空文字列で、サーバユーザのデフォルトグループを使用します。 +このパラメータはサーバ起動時のみ設定可能です。 + +このパラメータはWindowsではサポートされていません。 +すべての設定は無視されます。 +また、抽象名前空間にあるソケットはファイル所有者を持たないので、この場合も設定は無視されます。 @@ -866,9 +1318,13 @@ include_dir 'conf.d' unix_socket_permissions configuration parameter + + unix_socket_permissions設定パラメータ + + +Unixドメインソケット(複数も)のアクセスパーミッションを設定します。 +Unixドメインソケットは通常のUnixファイルシステムパーミッション設定の一式を使用します。 +パラメータ値は、chmodおよびumaskシステムコールが受け付ける数値形式での指定を想定しています。 +(通常使われる8進数形式を使用するのであれば、0(ゼロ)で始まらなければなりません。) + +デフォルトのパーミッションは、誰でも接続できる0777になっています。 +変更するならば0770(ユーザとグループのみです。unix_socket_groupも参照してください)や0700(ユーザのみ)が適切です。 +(Unixドメインソケットでは書き込み権限だけが問題になるため、読み込みや実行のパーミッションを設定または解除する意味はありません。) + +このアクセス制御機構は で記述されたものとは別個のものです。 + +このパラメータはサーバ起動時のみ設定可能です。 + +このパラメータはSolaris 10の時点でのSolarisなど、ソケットのパーミッションを完全に無視するシステムでは無関係です。 +こうしたシステムでは、許可したいユーザだけが検索パーミッションを持つディレクトリをunix_socket_directoriesで指すようにすることによって同じような効果を得ることができます。 + +抽象名前空間にあるソケットはファイルパーミッションを持たないので、この設定も無視されます。 @@ -916,12 +1395,19 @@ include_dir 'conf.d' bonjour configuration parameter + + bonjour設定パラメータ + + +Bonjourによりサーバの存在を公表することを可能にします。デフォルトはoffです。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -931,15 +1417,24 @@ include_dir 'conf.d' bonjour_name configuration parameter + + bonjour_name設定パラメータ + + +Bonjourサービス名を指定します。 +このパラメータが空文字列''(デフォルトです)に設定されていると、コンピュータ名が使用されます。 +サーバがBonjourサポート付でコンパイルでされていない場合は無視されます。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -947,7 +1442,10 @@ include_dir 'conf.d' + + TCP設定 @@ -956,9 +1454,13 @@ include_dir 'conf.d' tcp_keepalives_idle configuration parameter + + tcp_keepalives_idle設定パラメータ + + +クライアントとのやり取りがなくなった後、オペレーティングシステムがTCPのkeepaliveパケットをクライアントに送信するまでの時間を指定します。 +この値が単位なしで指定された場合は、秒単位であるとみなします。 +0(デフォルトです)の場合はオペレーティングシステムのデフォルト値を使用します。 +Windowsでは、システムのデフォルト値を読み取る方法がないため、値0を設定すると、このパラメータは2時間に設定されます。 +このパラメータはTCP_KEEPIDLEまたは同等のソケットオプションをサポートするシステムと、Windowsでのみサポートされます。 +その他のシステムではゼロでなければなりません。 +Unixドメインソケット経由で接続されたセッションでは、このパラメータは無視され、常にゼロとして読み取られます。 @@ -979,9 +1489,13 @@ include_dir 'conf.d' tcp_keepalives_interval configuration parameter + + tcp_keepalives_interval設定パラメータ + + +TCPのkeepaliveメッセージに対してクライアントから応答がない場合に、再送を行うまでの時間を指定します。 +この値が単位なしで指定された場合は、秒単位であるとみなします。 +0(デフォルトです)の場合はシステムのデフォルト値を使用します。 +Windowsでは、システムのデフォルト値を読み取る方法がないため、値0を設定すると、このパラメータが1秒に設定されます。 +このパラメータはTCP_KEEPINTVLまたは同等のソケットオプションをサポートするシステムと、Windowsでのみサポートされます。 +その他のシステムではゼロでなければなりません。 +Unixドメインソケット経由で接続されたセッションでは、このパラメータは無視され、常にゼロとして読み取られます。 @@ -1002,9 +1524,13 @@ include_dir 'conf.d' tcp_keepalives_count configuration parameter + + tcp_keepalives_count設定パラメータ + + +サーバのクライアントへの接続が切れたと判断されるまでのTCP keepaliveメッセージの数を指定します。 +0(デフォルトです)の場合はオペレーティングシステムのデフォルト値を使用します。 +このパラメータはTCP_KEEPCNTまたは同等のソケットオプションをサポートするシステムでのみサポートされます(Windowsは含みません)。 +その他のシステムではゼロでなければなりません。 +Unixドメインソケット経由で接続されたセッションでは、このパラメータは無視され、常にゼロとして読み取られます。 @@ -1022,9 +1554,13 @@ include_dir 'conf.d' tcp_user_timeout configuration parameter + + tcp_user_timeout設定パラメータ + + +未応答の送信データが残ったままの接続が強制的に閉じられるまでの時間を指定します。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +0(デフォルトです)の場合はオペレーティングシステムのデフォルト値を使用します。 +このパラメータは、TCP_USER_TIMEOUTをサポートするシステム(Windowsは含みません)でのみ使用できます。他のシステムでは、0にする必要があります。 +UNIXドメインソケットで接続しているセッションではこのパラメータは無視され、常に0として扱われます。 @@ -1042,27 +1584,43 @@ include_dir 'conf.d' client_connection_check_interval configuration parameter + + client_connection_check_interval設定パラメータ + + +問い合わせを実行中に、クライアントがまだ接続しているどうかの追加のチェックを行う時間間隔を指定します。 +このチェックはソケットをポーリングすることによって行われ、その接続がクローズされていることをカーネルが報告することによって、長時間実行中の問い合わせをより早くアボートさせることができます。 + +このオプションは、Linux、macOS、illumos、BSD系のオペレーティングシステムによって公開されるカーネルイベントに依存しており、現在他のシステムでは利用できません。 + +値が単位なしに指定されると、ミリ秒であるとみなされます。 +デフォルト値は0で、接続のチェックは無効になります。 +接続チェックがない場合、サーバは接続が失われたことを、次のソケットへのアクセス、すなわちソケットの待受、データの受信、送信のときにだけ検出します。 + +ネットワーク障害を含めて、TCP接続が失われたことをすべてのシナリオにおいて既知のタイムフレームの中で確実にカーネルが検出するためには、オペレーティングシステムのTCP keepalive設定、あるいはPostgreSQL設定を調整することが必要になるかもしれません。 @@ -1078,20 +1638,29 @@ include_dir 'conf.d' + + 認証 authentication_timeout (integer) timeoutclient authentication + timeoutクライアント認証 client authenticationtimeout during + client authenticationタイムアウト期間 authentication_timeout configuration parameter + + authentication_timeout設定パラメータ + + +クライアント認証を完了するまでの最大時間です。 +もし、この時間内に自称クライアントが認証プロトコルを完了しない場合、サーバは接続を閉じます。 +これはハングしたクライアントが接続を永久に占有することを防ぎます。 +この値が単位なしで指定された場合は、秒単位であるとみなします。 +デフォルトは1分(1m)です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -1109,27 +1685,43 @@ include_dir 'conf.d' password_encryption configuration parameter + + password_encryption設定パラメータ + + +あるいはでパスワードを設定する際に、このパラメータはパスワードを暗号化するアルゴリズムを指定します。 +可能な値は、SCRAM-SHA-256でパスワードを暗号化するscram-sha-256とパスワードをMD5ハッシュとして格納するmd5です。 +デフォルト値はscram-sha-256です。 + +古いクライアントはSCRAM認証機構をサポートしていない可能性があり、したがってSCRAM-SHA-256による暗号化は動作しないかもしれないことに注意してください。 +さらなる詳細についてはをご覧ください。 + +MD5で暗号化されたパスワードのサポートは非推奨となり、将来のPostgreSQLのリリースで削除されます。 +他のパスワードタイプへの移行の詳細については、を参照してください。 @@ -1140,9 +1732,13 @@ include_dir 'conf.d' scram_iterations configuration parameter + + scram_iterations設定パラメータ + + +SCRAM-SHA-256を使用してパスワードを暗号化するときに実行される計算の反復回数です。 +デフォルトは4096です。 +反復回数が多いほど、格納されたパスワードに対するブルートフォース攻撃に対する保護が強化されますが、認証の速度は低下します。 +反復カウントは暗号化時に固定されるため、値を変更してもSCRAM-SHA-256で暗号化された既存のパスワードには影響しません。 +変更された値を有効にするには、新しいパスワードを設定する必要があります。 @@ -1160,13 +1762,20 @@ include_dir 'conf.d' md5_password_warnings configuration parameter + + md5_password_warnings設定パラメータ + + +CREATE ROLEまたはALTER ROLE文によりMD5で暗号化されたパスワードを設定するときに、MD5パスワードの廃止に関するWARNINGを生成するかどうかを制御します。 +デフォルト値はonです。 @@ -1176,19 +1785,31 @@ include_dir 'conf.d' krb_server_keyfile configuration parameter + + krb_server_keyfile設定パラメータ + + +Kerberosサーバキーファイルの場所を設定します。 +デフォルトはFILE:/usr/local/pgsql/etc/krb5.keytabです。 +(ディレクトリ部分は構築時にsysconfdirで指定されたものです。 +pg_config --sysconfdirを使って確認してください。) +このパラメータが空文字列に設定されると、それは無視されてシステム依存のデフォルトが使用されます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +詳細はをご覧ください。 @@ -1198,13 +1819,21 @@ include_dir 'conf.d' krb_caseins_users configuration parameter + + krb_caseins_users設定パラメータ + + +GSSAPIユーザ名を大文字小文字の区別なく取り扱うかどうかを設定します。 +デフォルトはoff(大文字小文字を区別する)です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -1214,14 +1843,24 @@ include_dir 'conf.d' gss_accept_delegation configuration parameter + + gss_accept_delegation設定パラメータ + + +クライアントからのGSSAPI委任を受け入れるかどうかを設定します。 +デフォルトはoffです。 +これは、クライアントからの資格証明が受け入れられないことを意味します。 +これをonに変更すると、サーバは、クライアントから委任された資格証明を受け入れます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -1231,9 +1870,13 @@ include_dir 'conf.d' oauth_validator_libraries configuration parameter + + oauth_validator_libraries設定パラメータ + + +OAuth接続トークンの検証に使用するライブラリです。 +検証用のライブラリが1つしか提供されていない場合は、それがすべてのOAuth接続でデフォルトで使用されます。 +それ以外の場合は、すべてのoauth HBA項目で、このリストから選択したvalidatorを明示的に設定する必要があります。 +空の文字列(デフォルト)に設定すると、OAuth接続は拒否されます。 +このパラメータはpostgresql.confファイルでのみ設定できます。 + +検証モジュールは個別に実装/入手する必要があります。 +PostgreSQLにはデフォルトの実装は付属していません。 +OAuth検証の実装の詳細については、を参照してください。 @@ -1258,6 +1912,7 @@ include_dir 'conf.d' SSL + +SSLの設定の詳細は、を参照してください。 +TLSプロトコルを使用した転送暗号化を制御するための構成パラメータは、SSLプロトコルのサポートが推奨されていないにもかかわらず、歴史的な理由からsslと名付けられています。 +SSLはこの文脈でTLSと同じ意味で使用されます。 @@ -1273,13 +1932,21 @@ include_dir 'conf.d' ssl configuration parameter + + ssl設定パラメータ + + +SSLによる接続を有効にします。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトはoffです。 @@ -1289,9 +1956,13 @@ include_dir 'conf.d' ssl_ca_file configuration parameter + + ssl_ca_file設定パラメータ + + +SSLサーバ認証局(CA)が入っているファイル名を設定します。 +相対パスの場合は、データディレクトリからの相対パスになります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトは空で、この場合CAファイルは読み込まれず、クライアントのサーバ検証は行われません。 @@ -1308,14 +1984,23 @@ include_dir 'conf.d' ssl_cert_file configuration parameter + + ssl_cert_file設定パラメータ + + +SSLサーバ証明書が入っているファイル名を設定します。 +相対パスの場合は、データディレクトリからの相対パスになります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトは server.crt です。 @@ -1325,9 +2010,13 @@ include_dir 'conf.d' ssl_crl_file configuration parameter + + ssl_crl_file設定パラメータ + + +SSLクライアント証明書失効リスト(CRL)が入っているファイル名を設定します。 +相対パスの場合は、データディレクトリからの相対パスになります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトは空で、この場合CRLファイルは読み込まれません(が設定されていない限り)。 @@ -1344,31 +2038,50 @@ include_dir 'conf.d' ssl_crl_dir configuration parameter + + ssl_crl_dir設定パラメータ + + +SSLクライアント証明書失効リスト(CRL)が入っているディレクトリ名を設定します。 +相対パスの場合は、データディレクトリからの相対パスになります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトは空で、この場合CRLファイルは読み込まれません(が設定されていない限り)。 + +このディレクトリはOpenSSLコマンドのopenssl rehashあるいはc_rehashで準備されなければなりません。 +詳細はそれらのドキュメントをご覧ください。 + +この設定を使用すると、指定したディレクトリ内のCRLが接続時に必要に応じて読み込まれます。 +新しいCRLをこのディレクトリに追加することが可能で、即座に使用されます。 +サーバが起動されるとき、あるいは設定が再読込されるときに読み込まれるとは異なります。 +両方の設定は一緒に使用できます。 @@ -1378,14 +2091,23 @@ include_dir 'conf.d' ssl_key_file configuration parameter + + ssl_key_file設定パラメータ + + +SSLサーバの秘密鍵が入っているファイル名を設定します。 +相対パスの場合は、データディレクトリからの相対パスになります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトは server.key です。 @@ -1395,19 +2117,30 @@ include_dir 'conf.d' ssl_tls13_ciphers configuration parameter + + ssl_tls13_ciphers設定パラメータ + + +TLSバージョン1.3を使用する接続で許可される暗号スイートのリストを指定します。 +コロンで区切られたリストを使用して、複数の暗号スイートを指定できます。 +空白のままにすると、OpenSSLのデフォルトの暗号スイートが使用されます。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -1417,9 +2150,13 @@ include_dir 'conf.d' ssl_ciphers configuration parameter + + ssl_ciphers設定パラメータ + + +TLSバージョン1.2以下を使用する接続で許可されるSSL暗号のリストを指定します。 +TLSバージョン1.3を使用する接続についてはを参照してください。 +この設定の構文とサポートされている値の一覧については、OpenSSLパッケージのマニュアルページciphersを参照してください。 +デフォルト値はHIGH:MEDIUM:+3DES:!aNULLです。 +特定のセキュリティ要件がない限り、通常はデフォルトが妥当な選択です。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 + +デフォルト値の説明: HIGH + +HIGHグループ(たとえばAES, Camellia, 3DES)を使用する暗号スイート @@ -1453,8 +2205,11 @@ include_dir 'conf.d' MEDIUM + +MEDIUMグループ(たとえば RC4, SEED)を使用する暗号スイート @@ -1463,12 +2218,18 @@ include_dir 'conf.d' +3DES + +OpenSSLHIGHに対するデフォルトの並び順には問題があります。 +3DESがAES128より高いとしているからです。 +3DESはAES128よりもセキュアではなく、またずっと遅いので、これは間違っています。 ++3DESではそれを他のすべてのHIGHMEDIUM暗号よりも後に位置づけます。 @@ -1477,9 +2238,13 @@ include_dir 'conf.d' !aNULL + +認証を行わない匿名暗号スイートを無効にします。 +そういった暗号スイートはMITM攻撃に対して脆弱で、使用すべきではありません。 @@ -1487,12 +2252,18 @@ include_dir 'conf.d' + +OpenSSLのバージョンにより、利用可能な暗号スイートの詳細は異なります。 +openssl ciphers -v 'HIGH:MEDIUM:+3DES:!aNULL' +コマンドを使って現在インストールされているOpenSSLのバージョンに関する詳細情報を得てください。 +ここで得られるリストは、サーバキータイプにより実行時にフィルタされることに注意してください。 @@ -1502,22 +2273,35 @@ include_dir 'conf.d' ssl_prefer_server_ciphers configuration parameter + + ssl_prefer_server_ciphers設定パラメータ + + +サーバのSSL暗号設定をクライアントに優先して使うかどうかを指定します。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトはonです。 + +バージョン9.4より前のPostgreSQLにはこの設定がなく、常にクライアントの設定が使用されます。 +この設定は、主に古いバージョンとの互換性のために設けられています。 +通常サーバの設定に従うほうが良いです。大抵の場合、サーバはより適切に設定されているからです。 @@ -1527,9 +2311,13 @@ include_dir 'conf.d' ssl_groups configuration parameter + + ssl_groups設定パラメータ + + +ECDHキー交換で使われる曲線の名前を指定します。 +接続するすべてのクライアントがこの設定をサポートしている必要があります。 +コロンで区切られたリストを使用して複数の曲線を指定できます。 +サーバの楕円曲線キーで使用されるのと同じ曲線である必要はありません。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルト値はX25519:prime256v1です。 + +最も一般的な曲線のOpenSSL名は、prime256v1(NIST P-256)、secp384r1(NIST P-384)、およびsecp521r1(NIST P-521)です。 +openssl ecparam -list_curvesコマンドを使用すると、使用可能なグループの不完全なリストを表示することができます。 +ただし、すべてがTLSで使用できるわけではなく、サポートされているグループ名と別名の多くは省略されています。 + +バージョン18.0より前のPostgreSQLでは、この設定はssl_ecdh_curveという名前で、指定できる値は1つだけでした。 @@ -1564,9 +2367,13 @@ include_dir 'conf.d' ssl_min_protocol_version configuration parameter + + ssl_min_protocol_version設定パラメータ + + +使用するSSL/TLSプロトコルバージョンの最小値を設定します。 +今の所使用できる値はTLSv1TLSv1.1TLSv1.2TLSv1.3です。 +古いバージョンのOpenSSLライブラリはすべての値をサポートしません。 +サポートしていない値が設定されるとエラーが発生します。 +TLS 1.0より前のプロトコルバージョン、すなわちSSLバージョン2あるいは3は常に無効となります。 + +デフォルトはTLSv1.2で、本稿執筆時点では業界のベストプラクティスを満たしています。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -1593,20 +2412,32 @@ include_dir 'conf.d' ssl_max_protocol_version configuration parameter + + ssl_max_protocol_version設定パラメータ + + +使用するSSL/TLSプロトコルバージョンの最大値を設定します。 +使用できる値はと、すべてのプロトコルバージョンを許可する空文字です。 +デフォルトはすべてのプロトコルバージョンを許可する設定です。 +最大プロトコルバージョンの設定は主にテスト、あるいは新しいプロトコルを使った時にコンポーネントのどこかに問題がある時に有用です。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -1616,9 +2447,13 @@ include_dir 'conf.d' ssl_dh_params_file configuration parameter + + ssl_dh_params_file設定パラメータ + + +いわゆる短命DH系SSL暗号で使用するディフィー・ヘルマンパラメータを格納するファイル名を指定します。 +デフォルトは空で、この場合はコンパイル時に決められたデフォルトのDHパラメータが使用されます。 +攻撃者が、よく知られたコンパイル時設定のDHパラメータを解読しようとしている場合には、カスタムDHパラメータを使うことでその危険性を低減できます。 +openssl dhparam -out dhparams.pem 2048を使って、独自のDHパラメータファイルを作ることができます。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -1640,31 +2483,53 @@ include_dir 'conf.d' ssl_passphrase_command configuration parameter + + ssl_passphrase_command設定パラメータ + + +秘密鍵などのSSLファイルを復号する際に、パスフレーズの入手が必要な時に起動される外部コマンドを設定します。 +デフォルトではこのパラメータは空文字で、組み込みのプロンプト機構が使用されます。 + +このコマンドは、パスフレーズを標準出力に書き出し、コード0で終了しなければなりません。 +パラメータの値の%pはプロンプト文字列に置き換えられます。 +(%を使いたい場合は%%としてください。) +プロンプト文字列はおそらく空白文字を含むので、適切に引用符付けするように注意してください。 +出力の最後に一個の改行があれば、削除されます。 + +このコマンドは実際にはパスフレーズ用にユーザにプロンプトを表示する必要はありません。 +ファイルからパスフレーズが読めるなら、キーチェーン機構やその他から取得します。 +選択された仕組みが適切にセキュアかどうかを確認するのはユーザ次第です。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -1674,9 +2539,13 @@ include_dir 'conf.d' ssl_passphrase_command_supports_reload configuration parameter + + ssl_passphrase_command_supports_reload設定パラメータ + + +このパラメータは、キーにパスフレーズが必要な場合、設定ファイルの再読み込み中にssl_passphrase_commandで設定されたパスフレーズコマンドも呼び出されるかどうかを設定します。 +このパラメータがoff(デフォルト)なら、ssl_passphrase_commandは再読込の際に無視され、パスフレーズが必要な場合、SSL設定は再読込されません。 +この設定は、サーバ実行中は存在しないかもしれないTTYがプロンプトに必要なコマンドに適しています。 +たとえばパスフレーズがファイルから読み込める場合には、この設定をonにするのが適切です。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -1699,10 +2576,16 @@ include_dir 'conf.d' + + 資源の消費 + + メモリ @@ -1710,9 +2593,13 @@ include_dir 'conf.d' shared_buffers configuration parameter + + shared_buffers設定パラメータ + + +データベースサーバが共有メモリバッファのために使用するメモリ量を設定します。 +デフォルトは一般的に128メガバイト(128MB)です。 +しかし、稼働中のカーネルの設定がこの値をサポートしていない場合、より少なくなることがあります(initdbの過程で決定されます)。 +この設定は最低限128キロバイトなければなりません。 +しかし、良い性能を引き出すためには、最小値よりかなり高い値の設定が通例必要です。 +この値が単位なしで指定された場合は、ブロック単位であるとみなします。すなわち、BLCKSZバイト、一般的には8kBです。 +(BLCKSZがデフォルト値と異なる場合、この最小値も異なる値になります。) +このパラメータはサーバ起動時のみ設定可能です。 + +1GB以上のRAMを載せた専用データベースサーバを使用している場合、shared_buffersに対する妥当な初期値はシステムメモリの25%です。 +shared_buffersをこれよりも大きな値に設定することが有効なワークロードもあります。 +しかし、PostgreSQLはオペレーティングシステムキャッシュにも依存するため、shared_buffersにRAMの40%以上を割り当てても、それより小さい値の時より動作が良くなる見込みはありません。 +shared_buffersをより大きく設定する場合は、大抵max_wal_sizeも合わせて増やす必要があります。これは、新規または変更された多量のデータを書き出す処理をより長い時間に渡って分散させるためです。 + +1GB未満のRAMのシステムでは、オペレーティングシステムに十分な余裕を残すために、RAMに対してより小さい割合を設定することが適切です。 @@ -1755,9 +2660,13 @@ include_dir 'conf.d' huge_pages configuration parameter + + huge_pages設定パラメータ + + +主共有メモリ領域に対してhuge pageを要求するかどうかを管理します。 +可能な値はtry (デフォルト)、onoffです。 +このパラメータはサーバ起動時のみ設定可能です。 +huge_pagestryに設定すると、サーバはhuge pageの要求を試み、失敗したらデフォルトに戻します。 +onにすると、要求に失敗した場合にサーバの起動ができなくなることになります。 +offならhuge pageの要求は行いません。 +huge pageの実際の状態は、サーバ変数で示されています。 + +今のところこの機能はLinuxとWindowsでのみサポートされています。 +他のシステムではtryと設定しても無視されます。 +Linuxではこの機能はshared_memory_typemmap(デフォルトです)に設定されている時にのみサポートされます。 + +huge pageを使うと、ページテーブルが小さくなり、メモリ管理に使用されるCPU時間が少なくなり、性能が向上します。 +詳細は、を見てください。 + +huge pageはWindowsではlarge pageとして知られています。 +それを使用するには、PostgreSQLを実行するWindowsユーザアカウントにメモリ中のロックページ権限を与える必要があります。 +ユーザにメモリ中のロックページ権限を与えるには、Windowsのグループポリシーツール(gpedit.msc)を利用できます。 +Windowsサービスとしてではなく、スタンドアローンプロセスとしてデータベースサーバをコマンドプロンプトで起動するには、コマンドプロンプトを管理者として実行するか、ユーザアクセス管理(UAC)を無効にしておかなければなりません。 +UACが有効ならば、通常のコマンドプロンプトは起動時にユーザのメモリ中のロックページ権限を剥奪します。 + +この設定は主共有メモリ領域にのみ影響することに注意してください。 +Linux、FreeBSD、Illumosのようなオペレーティングシステムでは、PostgreSQLからの明示的な要求なしにhuge page(super pageあるいはlargepageとしての知られています)が通常のメモリ獲得の際に使用できます。 +Linuxでは、これはtransparent huge pagestransparent huge pages (THP)と呼ばれています。 +この機能は、あるLinuxバージョンのあるユーザにおいてPostgreSQLの性能低下をもたらすことが知られています。 +ですから、この機能の利用は(huge_pagesの明示的な利用と違って)今の所推奨されていません。 @@ -1819,24 +2759,41 @@ include_dir 'conf.d' huge_page_size configuration parameter + + huge_page_size設定パラメータ + + +が有効なときにhuge pageのサイズを制御します。 +デフォルトはゼロ(0)です。 +0に設定すると、システムのデフォルトのhuge pageのサイズが使われます。 +このパラメータはサーバ起動時のみ設定可能です。 + +現代の64ビットサーバアーキテクチャにおける可能な一般的なページサイズには以下が含まれます。 +2MB1GB (IntelとAMD)、16MB16GB (IBM POWER)、64kB2MB32MBそして1GB (ARM)。 +使い方とサポートに関する詳細な情報に関してはを参照してください。 + +今の所Linuxでサポートされるデフォルトの設定値はありません。 @@ -1846,9 +2803,13 @@ include_dir 'conf.d' temp_buffers configuration parameter + + temp_buffers設定パラメータ + + +それぞれのデータベースセッションが使用する一時バッファの最大メモリ量を設定します。 +一時バッファは、一時テーブルにアクセスする時にのみ使用されるセッションローカルのバッファです。 +この値が単位なしで指定された場合は、ブロック単位であるとみなします。すなわち、BLCKSZバイト、一般的には8kBです。 +デフォルトは8メガバイト(8MB)です。 +(BLCKSZが8kBでなければ、それに比例して増減します。) +設定はそれぞれのセッション内で変更できますが、そのセッション内で一時テーブルが最初に使用されるまでになります。それより後に値の変更を試みても、そのセッションでは効果がありません。 + +セッションは、temp_buffersを上限として、必要に応じて一時バッファを確保します。 +多くの一時バッファを実際に必要としないセッションで大きな値を設定するコストとは、temp_buffersの増分毎に、1つのバッファ記述子、約64バイトだけです。 +しかし、バッファが実際に使用されると、それに対して追加の8192バイト(汎用的に言えばBLCKSZバイト)が消費されます。 @@ -1880,30 +2853,45 @@ include_dir 'conf.d' max_prepared_transactions configuration parameter + + max_prepared_transactions設定パラメータ + + +同時にプリペアド状態にできるトランザクションの最大数を設定します(を参照してください)。 +このパラメータをゼロ(これがデフォルトです)に設定すると、プリペアドトランザクション機能が無効になります。 +このパラメータはサーバ起動時のみ設定可能です。 + +プリペアドトランザクションの使用を意図しないのであれば、このパラメータはプリペアドトランザクションが偶然に作成されないようゼロに設定すべきです。 +プリペアドトランザクションを使用する場合、全てのセッションがプリペアドトランザクションを保留できるように、max_prepared_transactionsを少なくともと同じ大きさに設定するのが良いでしょう。 + +スタンバイサーバを運用している場合、このパラメータはプライマリサーバ上の設定よりも同等かもしくはより高水準に設定しなければなりません。そうしないと問い合わせがスタンバイサーバ内で受け入れられません。 @@ -1913,9 +2901,13 @@ include_dir 'conf.d' work_mem configuration parameter + + work_mem設定パラメータ + + +一時ディスクファイルに書き込む前に、問い合わせ操作(ソートやハッシュなど)で使用される最大メモリ量を設定します。 +この値が単位なしで指定された場合は、キロバイト単位であるとみなします。 +デフォルト値は4MB(4MB)です。 +複雑な問い合わせでは、同時に複数のソート操作とハッシュ操作が実行される可能性があります。 +各操作は通常、データを一時ファイルに書き込む前にこの値で指定された量のメモリを使用できます。 +また、複数の実行中のセッションが同時にこのような操作を実行することもあります。 +したがって、使用されるメモリの合計量はwork_memの数倍になる可能性があります。 +値を選択する時には、この事実に留意することが必要です。 +ソート操作はORDER BYDISTINCT、およびマージ結合に対して使われます。 +ハッシュテーブルはハッシュ結合、ハッシュに基づいた集約、メモ化(memoize)ノードおよびIN副問い合わせのハッシュに基づいた処理で使用されます。 + + + +一般的に、ハッシュに基づく操作はソートに基づく操作よりも利用可能なメモリに敏感です。 +ハッシュテーブルのメモリ制限は、work_memhash_mem_multiplierを乗算することで計算されます。 +これにより、ハッシュに基づく操作では通常のwork_memに基づく量を超える量のメモリが使用される可能性があります。 @@ -1952,17 +2960,26 @@ include_dir 'conf.d' hash_mem_multiplier configuration parameter + + hash_mem_multiplier設定パラメータ + + +ハッシュに基づく操作が利用できる最大のメモリ量を計算するために使用します。 +最終的な制限はwork_memhash_mem_multiplierを掛けて決定されます。 +デフォルト値は2.0で、ハッシュに基づく操作が通常のwork_memに基づく値の2倍使用することになります。 + +問い合わせ操作によって日常的にメモリ不足になるような環境、とりわけ単にwork_memを増やしたことによってメモリ逼迫(メモリ逼迫が典型的には間欠的なメモリ不足エラーの発生の形で起こる)が起きる場合にはhash_mem_multiplierを増やすことを考慮してください。 +デフォルトの2.0が色々なワークロードが混在している場合には効果的かも知れません。 +より大きな2.0から8.0、あるいはそれ以上の設定はwork_memがすでに40MB以上に増やしてあるような環境で効果的かも知れません。 @@ -1982,9 +3003,13 @@ include_dir 'conf.d' maintenance_work_mem configuration parameter + + maintenance_work_mem設定パラメータ + + +VACUUMCREATE INDEX、およびALTER TABLE ADD FOREIGN KEYの様な保守操作で使用されるメモリの最大容量を指定します。 +この値が単位なしで指定された場合は、キロバイト単位であるとみなします。 +デフォルト値は64メガバイト(64MB)です。 +1つのデータベースセッションでは、一度に1つしか上記操作はできませんし、通常インストレーションでこうした操作が同時に非常に多く発生することはありませんので、これをwork_memよりもかなり多めの値にしても安全です。 +大きい値を設定することでvacuum処理と、ダンプしたデータベースのリストア性能が向上します。 + +自動バキュームが稼働すると、最大でこのメモリの倍が配分されるので、デフォルトの値をあまり高く設定しないよう注意してください。 +別の設定項目で制御するのが良いかもしれません。 @@ -2012,9 +3047,13 @@ include_dir 'conf.d' autovacuum_work_mem configuration parameter + + autovacuum_work_mem設定パラメータ + + +個々の自動バキュームワーカープロセスが使用する最大のメモリ量を指定します。 +この値が単位なしで指定された場合は、キロバイト単位であるとみなします。 +デフォルトは-1で、が代わりに使われる設定になります。 +別の文脈で実行されるVACUUMにはこの設定は影響しません。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -2035,9 +3080,13 @@ include_dir 'conf.d' vacuum_buffer_usage_limit configuration parameter + + vacuum_buffer_usage_limit設定パラメータ + + +VACUUMコマンドおよびANALYZEコマンドで使用されるバッファアクセスストラテジの大きさを指定します。 +0を設定すると、それらの操作で任意の数のshared_buffersを使用できることになります。 +それ以外の場合は、有効なサイズは128 kBから16 GBまでの範囲です。 +指定されたサイズがshared_buffersのサイズの1/8を超える場合、サイズは黙ってその値に制限されます。 +デフォルト値は2MBです。 +この値が単位なしで指定された場合は、キロバイト単位であるとみなします。 +このパラメータはいつでも設定できます。 +このパラメータは、オプションを渡すことによって、およびに対して上書きできます。 +設定を高くすると、VACUUMおよびANALYZEの実行速度が速くなりますが、設定を高くしすぎると、他の多くの有用なページが共有バッファから削除されてしまう可能性があります。 @@ -2064,9 +3123,13 @@ include_dir 'conf.d' logical_decoding_work_mem configuration parameter + + logical_decoding_work_mem設定パラメータ + + +デコードされた更新がローカルディスクに書かれる前にロジカルデコーディングが使用する最大のメモリ量を指定します。 +これにより、ロジカルストリーミングレプリケーションの接続が使用する最大メモリが制限されます。 +デフォルトは64メガバイト(64MB)です。 +個々のレプリケーション接続がここで指定した単一のバッファだけを使用し、インストールは通常たくさんの接続を並行して使わないので(max_wal_sendersで制限されます)、この値をwork_memよりもずっと大きくしても安全で、それによってデコードされた更新がディスクに書かれる量が削減されます。 @@ -2085,9 +3153,13 @@ include_dir 'conf.d' commit_timestamp_buffers configuration parameter + + commit_timestamp_buffers設定パラメータ + + +pg_commit_tsの内容をキャッシュするために使用するメモリ量を指定します(を参照してください)。 +この値が単位なしで指定された場合、ブロック、つまりBLCKSZバイト、通常は8キロバイトとして扱われます。 +デフォルト値は0で、最大1024ブロック、16ブロック以上のshared_buffers/512を要求します。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -2106,9 +3183,13 @@ include_dir 'conf.d' multixact_member_buffers configuration parameter + + multixact_member_buffers設定パラメータ + + +pg_multixact/membersの内容をキャッシュするために使用する共有メモリの量を指定します(を参照してください)。 +この値が単位なしで指定された場合、ブロック、つまりBLCKSZバイト、通常は8キロバイトとして扱われます。 +デフォルト値は32です。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -2125,9 +3211,13 @@ include_dir 'conf.d' multixact_offset_buffers configuration parameter + + multixact_offset_buffers設定パラメータ + + +pg_multixact/offsetsの内容をキャッシュするために使用する共有メモリの量を指定します(を参照してください)。 +この値が単位なしで指定された場合、ブロック、つまりBLCKSZバイト、通常は8キロバイトとして扱われます。 +デフォルト値は16です。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -2144,9 +3239,13 @@ include_dir 'conf.d' notify_buffers configuration parameter + + notify_buffers設定パラメータ + + +pg_notifyの内容をキャッシュするために使用する共有メモリの量を指定します(を参照してください)。 +この値が単位なしで指定された場合、ブロック、つまりBLCKSZバイト、通常は8キロバイトとして扱われます。 +デフォルト値は16です。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -2163,9 +3267,13 @@ include_dir 'conf.d' serializable_buffers configuration parameter + + serializable_buffers設定パラメータ + + +pg_serialの内容をキャッシュするために使用する共有メモリの量を指定します(を参照してください)。 +この値が単位なしで指定された場合、ブロック、つまりBLCKSZバイト、通常は8キロバイトとして扱われます。 +デフォルト値は32です。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -2182,9 +3295,13 @@ include_dir 'conf.d' subtransaction_buffers configuration parameter + + subtransaction_buffers設定パラメータ + + +pg_subtransの内容をキャッシュするために使用する共有メモリの量を指定します(を参照してください)。 +この値が単位なしで指定された場合、ブロック、つまりBLCKSZバイト、通常は8キロバイトとして扱われます。 +デフォルト値は0で、最大1024ブロック、16ブロック以上のshared_buffers/512を要求します。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -2203,9 +3325,13 @@ include_dir 'conf.d' transaction_buffers configuration parameter + + transaction_buffers設定パラメータ + + +pg_xactの内容をキャッシュするために使用する共有メモリの量を指定します(を参照してください)。 +この値が単位なしで指定された場合、ブロック、つまりBLCKSZバイト、通常は8キロバイトとして扱われます。 +デフォルト値は0で、最大1024ブロック、16ブロック以上のshared_buffers/512を要求します。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -2224,9 +3355,13 @@ include_dir 'conf.d' max_stack_depth configuration parameter + + max_stack_depth設定パラメータ + + +サーバの実行スタックの最大安全深度を指定します。 +このパラメータの理想的な設定はカーネルにより強要される実際のスタック容量の(ulimit -sもしくはそれと同等の機能で設定された)限界から、1メガバイト程度の安全余裕度を差し引いたものです。 +この安全余裕度は、サーバがすべてのルーチンではスタック深度を検査をせず、再帰を行う可能性のある重要なルーチンでのみ検査をするために必要となるものです。 +この値が単位なしで指定された場合は、キロバイト単位であるとみなします。 +デフォルト設定は2メガバイト(2MB)で、かなり控え目、かつクラッシュの危険がなさそうな設定です。 +しかし、複雑な関数の実行を許容するには小さ過ぎるかも知れません。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 + +max_stack_depthを実際のカーネルの制限よりも高い値に設定した場合、暴走した再帰関数により、個々のバックエンドプロセスがクラッシュするかもしれません。 +PostgreSQLがカーネルの制限を決定することができるプラットフォームでは、この変数を危険な値に設定させません。 +しかし、すべてのプラットフォームがこの情報を提供できるわけではありません。 +このため、値を選ぶ時には注意が必要です。 @@ -2258,9 +3407,13 @@ include_dir 'conf.d' shared_memory_type configuration parameter + + shared_memory_type設定パラメータ + + +PostgreSQLの共有バッファおよび他の共有データを保持する主共有メモリ領域のためにサーバが使用すべき共有メモリの実装を指定します。 +可能な値はmmapmmapを使って獲得した無名共有メモリ)、sysvshmgetを使って獲得したSystem V共有メモリ)、windows (Windows共有メモリ)です。 +すべての値がすべてのプラットフォームでサポートされているわけではありません。 +サポートされている最初のオプションがそのプラットフォームのデフォルトです。 +どのプラットフォームでもデフォルトになっていないsysvオプションの利用は一般に推奨されません。 +通常、デフォルトではないカーネルの設定が大きなアロケーションでは必要になるからです。 +(参照。) +このパラメータはサーバ起動時のみ設定可能です。 @@ -2284,9 +3446,13 @@ include_dir 'conf.d' dynamic_shared_memory_type configuration parameter + + dynamic_shared_memory_type設定パラメータ + + +サーバが使う動的共有メモリの実装を指定します。可能な値はposix (shm_openで獲得するPOSIX共有メモリ)、sysv(shmgetで獲得するSystem V共有メモリ)、windows (Windows共有メモリ)、 mmap(データディレクトリ内のメモリマップファイルを使ってシミュレートする共有メモリ)です。 +すべての値がすべてのプラットフォームでサポートされているわけではありません。 +そのプラットフォームでの推奨実装が通常デフォルトになります。 +どのプラットフォームでもデフォルトになっていないmmapは、オペレーティングシステムが変更されたページをディスクに継続的に書き込み、I/O負荷を増加させるので一般的には利用が推奨されていません。 +しかし、デバッグ目的のためにpg_dynshmemディレクトリがRAMディスク上にある場合や、他の共有メモリ機能が使えない場合は有用かもしれません。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -2312,9 +3485,13 @@ include_dir 'conf.d' min_dynamic_shared_memory configuration parameter + + min_dynamic_shared_memory設定パラメータ + + +サーバ起動時にパラレルクエリ用に獲得するメモリの量を指定します。 +このメモリ領域不足していたり並列実行される問い合わせで使い尽くされると、新しいパラレルクエリはdynamic_shared_memory_typeで設定された方法でオペレーティングシステムから一時的に共有メモリを獲得しようとします。 +これはメモリ管理のオーバーヘッドにより遅くなる可能性があります。 +起動時にmin_dynamic_shared_memoryで獲得するメモリは、サポートするオペレーティングシステムに対するhuge_pagesの設定に影響を受けます。 +huge pageを自動管理するオペレーティングシステム上でより大きなページにより恩恵を被る可能性が大きいです。 +デフォルト値は0(none)です。 +このパラメータはサーバ起動時にのみ設定可能です。 @@ -2336,7 +3521,10 @@ include_dir 'conf.d' + + ディスク @@ -2344,9 +3532,13 @@ include_dir 'conf.d' temp_file_limit configuration parameter + + temp_file_limit設定パラメータ + + +あるプロセスが一時ファイルとして使用できるディスクの最大容量を設定します。 +例えば、ソートやハッシュの一時ファイルであったり、カーソルを保持する格納ファイルです。 +この制限値を超えようとするトランザクションはキャンセルされます。 +この値が単位なしで指定された場合は、キロバイト単位であるとみなします。 +-1(デフォルトです)の場合は制限がありません。 +この設定はスーパーユーザと、適切なSET権限を持つユーザのみ変更可能です。 + +この設定により、ある PostgreSQL セッションによって使用される一時ファイルの合計の容量が常に制約されることになります。 +なお、問い合わせの実行において暗黙的に使用される一時ファイルとは異なり、一時テーブルとして明示的に使用されるディスク容量は、この制限には含まれません @@ -2371,16 +3574,26 @@ include_dir 'conf.d' file_copy_method configuration parameter + + file_copy_method設定パラメータ + + +ファイルのコピーに使用する方法を指定します。 +指定できる値はCOPY(デフォルト)とCLONE(操作がサポートがされている場合)です。 + +このパラメータは以下に影響を与えます。 @@ -2396,10 +3609,14 @@ include_dir 'conf.d' + +CLONEは、copy_file_range()(Linux、FreeBSDの場合)またはcopyfile(macOSの場合) システムコールを使用します。 +これにより、カーネルはディスクブロックを共有したり、一部のファイルシステムの処理を下位レイヤにプッシュダウンしたりできます。 @@ -2409,14 +3626,23 @@ include_dir 'conf.d' max_notify_queue_pages configuration parameter + + max_notify_queue_pages設定パラメータ + + +/キューのために割り当てられたページの最大量を指定します。 +デフォルト値は1048576です。 +8キロバイトページの場合、最大8ギガバイトのディスクスペースが消費されます。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -2425,7 +3651,10 @@ include_dir 'conf.d' + + カーネル資源使用 @@ -2433,15 +3662,24 @@ include_dir 'conf.d' max_files_per_process configuration parameter + + max_files_per_process設定パラメータ + + +サーバの各子プロセスが同時にオープンできるファイル数の最大値を設定します。 +既にpostmasterで開かれているファイルは、この制限にはカウントされません。 +デフォルトは1000ファイルです。 + +カーネルがプロセス毎の安全制限を強要している場合、この設定を気にかける必要はありません。 +しかし、いくつかのプラットフォーム(特にほとんどのBSDシステム)では、もし多くのプロセス全てがそれだけ多くのファイルを開くことを試みる場合、実際にサポートできるファイル数より多くのファイルを開くことを許しています。 +もしToo many open filesというエラーが発生した場合、この設定を削減してみてください。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -2458,9 +3701,13 @@ include_dir 'conf.d' + + バックグラウンドライタ + +バックグラウンドライタと呼ばれる個別のサーバプロセスがあり、その機能は(新規または更新された)ダーティな共有バッファの書き込みを行うことです。 +クリーンなバッファの数が足りないことが分かると、バックグラウンドライタはダーティバッファをファイルシステムに書き込み、それらのバッファにクリーンであるという印を付けます。 +これにより、ユーザの問い合わせを処理するサーバプロセスがクリーンなバッファを見つけることができず、ダーティなバッファを自分で書き込まなければならなくなる可能性を減らすことができます。 +しかし、バックグラウンドライタは正味の全体的I/O負荷の増加を引き起こします。 +その理由は、繰り返しダーティ化されるページは、バックグラウンドライタを使わなければチェックポイント間隔で一度だけ書き出されれば十分なのに対し、バックグラウンドライタは同じ間隔内で何度もダーティ化されると、それを複数回書き出すかもしれないからです。 +この副節で説明する各パラメータは、サイト独自の必要に応じて動作を調整することに使用できます。 @@ -2483,9 +3737,13 @@ include_dir 'conf.d' bgwriter_delay configuration parameter + + bgwriter_delay設定パラメータ + + +バックグラウンドライタの動作周期間の遅延を指定します。 +それぞれの周期でライタは、(以下のパラメータで管理される)一部のダーティバッファの書き込みを行います。 +そしてbgwriter_delayの長さスリープした後、これを繰りかえします。 +しかし、バッファプールにダーティバッファが存在しない場合、bgwriter_delayに係わらずより長くスリープします。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +デフォルトの値は200ミリ秒(200ms)です。 +ある種のシステムでは、スリープ遅延の実精度は10ミリ秒です。 +bgwriter_delayの値の設定を10の倍数としない場合、次に大きい10の倍数に設定した結果と同一になるかもしれないことを覚えておいてください。 +このパラメータはpostgresql.confファイル、または、サーバのコマンドラインで設定可能です。 @@ -2511,9 +3779,13 @@ include_dir 'conf.d' bgwriter_lru_maxpages configuration parameter + + bgwriter_lru_maxpages設定パラメータ + + +それぞれの周期で、この数以上のバッファはバックグラウンドライタにより書き込まれません。 +ゼロに設定することでバックグラウンド書き込みは無効になります。 +(分離し、そして専用の補助プロセスにより管理されるチェックポイントは影響を受けません。) +デフォルト値は100バッファです。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -2530,9 +3808,13 @@ include_dir 'conf.d' bgwriter_lru_multiplier configuration parameter + + bgwriter_lru_multiplier設定パラメータ + + +各周期で書き出されるダーティバッファ数は、最近の周期でサーバプロセスが必要とした新しいバッファ数を基にします。 +次の周期で必要となるバッファ数を推定するために、最近必要とされた平均がbgwriter_lru_multiplierと掛け合わせられます。 +ダーティバッファの書き出しは、同数の整理済み、再利用可能なバッファが利用できるようになるまで行われます。 +(しかし1周期にbgwriter_lru_maxpagesを超えるバッファ数を書き出しません。) +したがって、1.0と設定することは、必要と予想されるバッファ数の書き込みについて必要なときに必要なだけというポリシーを表します。 +より大きな値は突発的な要求に対する多少の緩衝材を提供します。 +より小さな値はサーバプロセスでなされる書き込みを意図的に残します。 +デフォルトは2.0です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -2558,9 +3850,13 @@ include_dir 'conf.d' bgwriter_flush_after configuration parameter + + bgwriter_flush_after設定パラメータ + + +バックグラウンドライタがこの値より多く書く度に、OSが記憶装置に書き込むことを強制しようとします。 +このことにより、カーネルのページキャッシュが持つダーティデータの量を一定量に制限し、チェックポイントの最後にfsyncが実行される際、あるいはOSがバックグラウンドでデータを大きな塊で書き出す際に性能の急激な低下を招く可能性を減らします。 +多くの場合これによってトランザクションの遅延が大幅に少なくなりますが、あるケース、特にワークロードがよりも大きく、OSのページキャッシュよりも小さい時には性能が低下するかもしれません。 +この設定が無効なプラットフォームがあります。 +この値が単位なしで指定された場合は、ブロック単位であるとみなします。すなわち、BLCKSZバイト、一般的には8kBです。 +有効な設定値は、この強制書き込み機能が無効になる0から、2MBまでです。 +デフォルト値は、Linuxでは512kBで、それ以外は0です。 +(BLCKSZが8kBでなければ、この設定のデフォルト値と最大値がBLCKSZに比例して変更されます。) +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 + +bgwriter_lru_maxpagesおよびbgwriter_lru_multiplierの値がより少ないと、バックグラウンドライタで引き起こされる追加のI/O負荷を軽減しますが、サーバプロセスが自分自身で行わなければならない書き込みが増加することになり、会話型問い合わせを遅らせることになります。 @@ -2604,9 +3913,13 @@ include_dir 'conf.d' backend_flush_after configuration parameter + + backend_flush_after設定パラメータ + + +この量を超えるデータが単一のバックエンドによって書き込まれたときはいつでも、OSが記憶装置に書き込むことを強制します。 +このことにより、カーネルのページキャッシュが持つダーティデータの量を一定量に制限し、チェックポイントの最後にfsyncが実行される際、あるいはバックグラウンドで実行される大きなバッチの中でOSがデータを書き出す際に性能の急激な低下を招く可能性を減らします。 +多くの場合これによってトランザクションの遅延が大幅に少なくなりますが、あるケース、特にワークロードがよりも大きく、OSのページキャッシュよりも小さい時には性能が低下するかもしれません。 +この設定が無効なプラットフォームがあります。 +この値が単位なしで指定された場合は、ブロック単位であるとみなします。すなわち、BLCKSZバイト、一般的には8kBです。 +有効な範囲は、この強制書き込み機能が無効になる0から、2MBまでです。 +デフォルト値は0です(すなわち書き出し制御を行いません)。 +(BLCKSZが8kBでなければ、最大値がBLCKSZに比例して変更されます。) @@ -2634,9 +3956,13 @@ include_dir 'conf.d' effective_io_concurrency configuration parameter + + effective_io_concurrency設定パラメータ + + +PostgreSQLが同時実行可能であると想定する同時ストレージI/O操作の数を設定します。 +この値を大きくすると、あらゆる個別のPostgreSQLセッションが並行して開始を試みるI/O操作の数が増加します。 +設定可能な範囲は1から1000まで、または非同期I/Oリクエストの発行を無効にする0です。 +デフォルトは16です。 + +値が高いほど、問い合わせで顕著なI/Oストールが発生するレイテンシの高いストレージや、IOPSが高いデバイスに最も大きな影響を与えます。 +不必要に高い値を設定すると、システム上のすべての問い合わせのI/O待ち時間が長くなる可能性があります。 + +プリフェッチ指示がサポートされているシステムでは、effective_io_concurrencyがプリフェッチの距離も制御します。 + +この値は、同じ名前のテーブル空間パラメータを設定することで、特定のテーブル空間内のテーブルに対して上書きできます(を参照)。 @@ -2673,17 +4014,27 @@ include_dir 'conf.d' maintenance_io_concurrency configuration parameter + + maintenance_io_concurrency設定パラメータ + + +effective_io_concurrencyと似ていますが、多くのクライアントセッションのために行われる保守作業で適用されるところが異なります。 + +デフォルトは16です。 +この値は、同じ名前のテーブル空間パラメータを設定することで、特定のテーブル空間内のテーブルに対して上書きできます(を参照)。 @@ -2693,9 +4044,13 @@ include_dir 'conf.d' io_max_combine_limit configuration parameter + + io_max_combine_limit設定パラメータ + + +《マッチ度[66.521739]》I/Oを結合する操作の最大のI/Oサイズを制御し、ユーザが設定可能なパラメータであるio_combine_limitを暗黙的に制限します。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +可能な最大サイズは、オペレーティングシステムとブロックサイズによって異なりますが、通常、Unixでは1MBであり、Windowsでは128kBです。 +デフォルトは128kBです。 +《機械翻訳》«Controls the largest I/O size in operations that combine I/O, and silently limits the user-settable parameter io_combine_limit. This parameter can only be set at server start. If this value is specified without units, it is taken as blocks, that is BLCKSZ bytes, typically 8kB. The maximum possible size depends on the operating system and block size, but is typically 1MB on Unix and 128kB on Windows. The default is 128kB.» @@ -2713,9 +4074,13 @@ include_dir 'conf.d' io_combine_limit configuration parameter + + io_combine_limit設定パラメータ + + +《マッチ度[67.063492]》I/Oを結合する操作の最大のI/Oサイズを制御します。 +io_max_combine_limitパラメータよりも高い値に設定すると、代わりに低い値が自動的に使用されるため、I/Oサイズを増やすには両方を上げる必要がある場合があります。 +可能な最大サイズは、オペレーティングシステムとブロックサイズによって異なりますが、通常、Unixでは1MBであり、Windowsでは128kBです。 +デフォルトは128kBです。 +《機械翻訳》«Controls the largest I/O size in operations that combine I/O. If set higher than the io_max_combine_limit parameter, the lower value will silently be used instead, so both may need to be raised to increase the I/O size. If this value is specified without units, it is taken as blocks, that is BLCKSZ bytes, typically 8kB. The maximum possible size depends on the operating system and block size, but is typically 1MB on Unix and 128kB on Windows. The default is 128kB.» @@ -2734,13 +4105,20 @@ include_dir 'conf.d' io_max_concurrency configuration parameter + + io_max_concurrency設定パラメータ + + +1つのプロセスが同時に実行できるI/O操作の最大数を制御します。 + +デフォルトの設定値の-1では、とプロセスの最大数(、および)に基づいて値が選択されますが、64を超える値にはなりません。 + +このパラメータはサーバ起動時のみ設定可能です。 @@ -2760,35 +4143,61 @@ include_dir 'conf.d' io_method configuration parameter + + io_method設定パラメータ + + +非同期I/Oを実行する方法を選択します。 +可能な値は次のとおりです。 + +worker +(ワーカープロセスを使用する非同期I/Oを実行します) + +io_uring +(io_uringを使用して非同期I/Oを実行します。 + / を使用してビルドする必要があります) + +sync +(非同期で適格なI/Oを同期的に実行します) + +デフォルトはworkerです。 + +このパラメータはサーバ起動時のみ設定可能です。 @@ -2798,17 +4207,28 @@ include_dir 'conf.d' io_workers configuration parameter + + io_workers設定パラメータ + + +使用するI/Oワーカープロセスの数を選択します +デフォルトは3です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 + +workerと設定されている場合にのみ有効です。 @@ -2816,7 +4236,10 @@ include_dir 'conf.d' + + ワーカープロセス @@ -2824,25 +4247,40 @@ include_dir 'conf.d' max_worker_processes configuration parameter + + max_worker_processes設定パラメータ + + +クラスタがサポートするバックグラウンドプロセスの最大数を指定します。 +このパラメータはサーバ起動時のみ設定可能です。 +デフォルトは8です。 + +スタンバイサーバを起動しているときは、このパラメータを、プライマリサーバの設定値と同じかそれ以上にしなければなりません。 +さもなければ、スタンバイサーバで問い合わせの実行ができなくなります。 + +この値を変更する際は、を変更することも考慮してください。 @@ -2852,9 +4290,13 @@ include_dir 'conf.d' max_parallel_workers_per_gather configuration parameter + + max_parallel_workers_per_gather設定パラメータ + + +一つのGatherまたはGather Mergeノードに対して起動できるワーカー数の最大値を設定します。 +パラレルワーカーは、で上限が決まるで確立されたプロセスのプールから取得されます。 +実行時には、要求された数のワーカーは取得できないかもしれないことに注意してください。 +そうなると、実行プランは期待していたよりも少ない数のワーカーで実行されることになり、効率は悪化するかもしれません。 +デフォルト値は2です。 +この設定値を0にすると、パラレルクエリの実行は行われません。 + +パラレルクエリの実行により、パラレルクエリではない場合に比べて非常に多くのリソースが使用されるかもしれないことに注意してください。 +これは、個々のワーカープロセスは完全に別個のプロセスであり、システムに対してユーザセッションが追加されたのと大体同じくらいの影響があるからです。 +この設定値を選択する際には、他のリソースの消費量を制御する他の設定値、たとえばを設定するときと同様に、この点を考慮しておく必要があります。 +work_memのような設定値によるリソース制限は、個々のワーカーに対して個別に適用されます。 +つまり、ひとつのプロセスに対するよりも、すべてのプロセスの全体のリソース消費はずっと多いかもしれないということです。 +たとえば、あるパラレルクエリが4つのワーカーを使っているとすると、ワーカーを使わない場合に比べて、最大5倍のCPU時間、メモリ、I/Oバンド幅、その他を使うかもしれません。 + +パラレルクエリに関する更なる情報については、をご覧ください。 @@ -2894,9 +4354,13 @@ include_dir 'conf.d' max_parallel_maintenance_workers configuration parameter + + max_parallel_maintenance_workers設定パラメータ + + +単一のユーティリティコマンドで使用されるパラレルワーカーの最大数を設定します。 +今の所、パラレルワーカーの利用をサポートしているパラレルユーティリティコマンドは、CREATE INDEXがB-tree、GIN、またはBRINインデックスを構築するときと、FULLオプションなしのVACUUMです。 +パラレルワーカーは、で確立したプロセスのプールから取得され、によって制限されます。 +要求したワーカー数は、実行時に実際には利用可能でないかもしれないことに注意してください。 +この場合は、ユーティリティ操作は期待したよりも少ない数のワーカーにより実行されます。 +デフォルト値は2です。 +0に設定すると、ユーティリティコマンドはパラレルワーカーを使用しません。 + +パラレルユーティリティコマンドは同等の非パラレル操作よりもかなり多くのメモリを消費すべきでないことに留意してください。 +この戦略は、一般的にワーカー毎にリソース制限を適用するパラレルクエリとは異なります。 +パラレルワーカープロセスの数にかかわらず、パラレルユーティリティコマンドは、その全体でリソース制限maintenance_work_memが適用されるとみなします。 +しかし、パラレルユーティリティコマンドは、依然としてかなり多くのCPUリソースとI/Oバンド幅を消費するかも知れません。 @@ -2933,9 +4411,13 @@ include_dir 'conf.d' max_parallel_workers configuration parameter + + max_parallel_workers設定パラメータ + + +パラレルクエリ操作用にクラスタがサポートできる最大のワーカー数を設定します。 +デフォルト値は8です。 +この値を増減するときは、を調整することを考慮してください。 +また、この設定値をよりも高い値にしても効果がないことに注意してください。 +で決まるワーカープロセスのプールから、パラレルワーカーが使われるからです。 @@ -2955,9 +4443,13 @@ include_dir 'conf.d' parallel_leader_participation configuration parameter + + parallel_leader_participation設定パラメータ + + +ワーカープロセスを待つ代わりに、GatherノードとGather Mergeノード配下の問い合わせプランをリーダープロセスが実行できるようにします。 +デフォルトはonです。 +この値をoffにすると、リーダーがタプルを十分早く読まないためにワーカーがブロックされる可能性を減らすことができますが、リーダープロセスは最初のタプルが生成される前にワーカープロセスが起動するのを待つ必要があります。 +これがリーダーの性能を助けるのか、阻害要因になるかは計画型、ワーカーの数、問い合わせの実行時間の長さによります。 @@ -2975,16 +4472,28 @@ include_dir 'conf.d' + + + + + 先行書き込みログ(WAL) + +これらの設定をチューニングする追加情報はを参照してください。 + + 諸設定 @@ -2992,9 +4501,13 @@ include_dir 'conf.d' wal_level configuration parameter + + wal_level設定パラメータ + + +wal_levelはどれだけの情報がWALに書かれるかを決定します。 +デフォルト値はreplicaで、WALアーカイビングおよびレプリケーションをサポートするために十分なデータを書き出し、これにはスタンバイサーバで読み取り専用の問い合わせを実行することも含みます。 +minimalはクラッシュまたは即時停止から回復するのに必要な情報を除き、すべてのログを削除します。 +最後に、logicalは、更にロジカルデコーディングをサポートするのに必要な情報を追加します。 +それぞれのレベルは、下位のレベルのログ出力を含んでいます。 +このパラメータはサーバ起動時のみ設定可能です。 + +minimalレベルでは、最小限のWALの量しか生成されません。 +永続リレーションを作成あるいは書き換えるトランザクションの差分に関する情報は記録されません。 +これにより、それらの操作が大幅に高速になります(を参照してください)。 +この最適化が適用される操作には以下のものがあげられます。 ALTER ... SET TABLESPACE CLUSTER CREATE TABLE REFRESH MATERIALIZED VIEW + + (なし) REINDEX TRUNCATE + +しかし、minimal WALにはポイントインタイムリカバリのための十分な情報が含まれていないので、replica以上を使って継続的アーカイブ()とストリーミングバイナリレプリケーションを可能にしなければなりません。 +実際、max_wal_sendersが0以外の場合、サーバはこのモードで起動することさえありません。 +wal_levelminimalに変更すると、以前のベースバックアップがポイントインタイムリカバリとスタンバイサーバで使用できなくなることに注意してください。 + +logicalレベルでは、replicaと同じ情報が記録されるのに加え、ロジカルチェンジセットをWALから取り出すのに必要な情報が追加されます。 +logicalを使うとWALの量が増えます。 +とりわけ、多数のテーブルがREPLICA IDENTITY FULLと設定されていて(訳注: ALTER TABLE参照)、多くのUPDATEDELETE文が実行される場合はこのことが言えます。 + +9.6よりも前のリリースでは、このパラメータはarchivehot_standbyという設定値も可能でした。 +引き続きこれらも受け付けられますが、replicaへとマップされます。 @@ -3053,27 +4596,39 @@ include_dir 'conf.d' fsync configuration parameter + + fsync設定パラメータ + + +このパラメータがオンの場合、PostgreSQLサーバはfsync()システムコールを発行するか、もしくはこれに相当する方法(を参照)で、更新が物理的にディスクに確実に書き込まれるように試みます。 +これは、オペレーティングシステムもしくはハードウェアがクラッシュした後、データベースクラスタを一貫した状態に復旧させることを確実にします。 + +fsyncを停止することはしばしば性能上の利益になるとは言っても、停電やクラッシュの際に回復不可能なデータ破壊になることがあります。 +従って外部データから全てのデータベースを簡単に再構築できる場合のみfsyncを停止してください。 + +fsyncを停止しても安全な状況の例としては、以下があげられます。 +バックアップファイルから新しいデータベースクラスタにデータの初期読み込みを行う場合、バッチデータの処理のためにデータベースクラスタを使用し、その後データベースを削除して再構築する場合、読み込み専用のデータベースのクローンを頻繁に再作成するが、それをフェイルオーバーに使用しない場合、などです。 +高性能なハードウェアであるからと言って、fsyncを停止することは正当性を主張する十分な理由とはなりません。 + +fsyncを無効(off)から有効(on)に変更したときの信頼できるリカバリのためには、カーネル内の全ての変更されたバッファを恒久的ストレージに強制的に吐き出させることが必要です。 +これは、クラスタがシャットダウンしている間、またはfsyncが有効のときに、initdb --sync-onlyを実行する、syncを実行する、ファイルシステムをアンマウントする、またはサーバを再起動することによって可能となります。 + +多くの場合、重要でないトランザクションに対してを無効にすることにより、データ破壊という付随的危険性を伴うことなく、fsyncを無効にすることで得られるであろう性能上のメリットの多くを得ることができます。 + +fsyncpostgresql.confファイル、または、サーバのコマンドラインでのみ設定可能です。 +このパラメータを無効にする場合、も同時に無効にすることを検討してください。 @@ -3115,18 +4685,26 @@ include_dir 'conf.d' synchronous_commit configuration parameter + + synchronous_commit設定パラメータ + + +トランザクションのコミットがクライアントに成功の報告を返す前に、どれだけのWAL処理を完了しなければならないかを指定をします。 +有効な値はremote_applyon(デフォルト)、remote_writelocaloffです。 + +synchronous_standby_namesが空文字なら、意味のある設定はonoffだけです。 +remote_applyremote_writelocalはすべてonと同じ同期レベルを提供します。 +offモード以外のローカルの振る舞いは、WALがディスクにローカルにフラッシュされるのを待ちます。 +offモードでは待ちはありません。 +ですから、クライアントに成功が報告されてから、トランザクションが後でサーバクラッシュに対して安全が保証されるまでの間に遅延が生じる可能性があります。 +(遅延は最大での3倍です。) +と違って、このパラメータをoffにすることでデータベースの一貫性が損なわれるリスクはありません。 +オペレーティングシステムやデータベースのクラッシュにより最近コミットされたということになっているトランザクションの一部が失われる可能性がありますが、これらのトランザクションが正常にアボートされた時とデータベースの状態は変わりません。 +したがって、synchronous_commitのオフによる調整は、トランザクションの耐障害性を確実にするよりも性能が重要な場合の有用な代替案となるかも知れません。 +詳細はを参照してください。 + +が空文字でない場合は、synchronous_commitは、WALレコードが、スタンバイサーバに複製されるまでトランザクションコミットを待機するか否かも制御します。 + +remote_applyに設定すると、現在の同期スタンバイがトランザクションのコミットレコードを受け取って適用し、スタンバイ上で発行されたクエリから見えるようになり、スタンバイ上の永続的な記憶装置に書き込まれたことを報告するまでコミットは待機します。 +WALのリプレイを待つので、今までの設定に比べるとこの設定によってずっと大きなコミットの遅延が発生します。 +onに設定すると、現在の同期スタンバイがトランザクションのコミットレコードを受け取り、永続的な記憶装置にフラッシュしたことを報告するまでコミットは待機します。 +このモードでは、プライマリおよびすべての同期スタンバイがデータベース記憶装置の故障を被った場合を除いて、トランザクションが失われないことが保証されます。 +remote_writeに設定すると、現在の同期スタンバイがトランザクションのコミットレコードを受け取り、スタンバイのファイルシステムに書き出したことを報告するまでコミットは待機します。 +この設定は仮にPostgreSQLのスタンバイインスタンスがクラッシュしたとしても、データ保護を保証するのに充分です。 +しかし、スタンバイがオペレーティングシステムのレベルでクラッシュした場合はこの限りではありません。 +データが必ずしもスタンバイの永続的な記憶装置に到達したとは言えないからです。 +最後に、local設定は、コミットがローカルにディスクにフラッシュされるまで待機しますが、レプリケーションされるまでは待機しません。 +これは通常同期レプリケーションが使用されている場合は望ましい設定ではありませんが、完全さのために提供されています。 + +このパラメータはいつでも変更可能です。 +どのトランザクションの動作も、コミット時に有効であった設定によって決まります。 +したがって、一部のトランザクションのコミットを同期的に、その他を非同期的にすることが可能で、かつ、有用です。 +例えば、デフォルトが同期コミットの場合に複数文トランザクションを一つだけ非同期にコミットさせるためには、トランザクション内でSET LOCAL synchronous_commit TO OFFを発行します。 + +synchronous_commit設定の機能のまとめがにあります。 + + synchronous_commitモード @@ -3208,11 +4824,26 @@ include_dir 'conf.d' + + synchronous_commit設定 + + localの永続的なコミット + + PGがクラッシュした後のスタンバイの永続的なコミット + + OSがクラッシュした後のスタンバイの永続的なコミット + + スタンバイのクエリの一貫性 @@ -3220,31 +4851,61 @@ include_dir 'conf.d' remote_apply + + + + + + + + on + + + + + + remote_write + + + + local + + @@ -3270,42 +4931,65 @@ include_dir 'conf.d' wal_sync_method configuration parameter + + wal_sync_method設定パラメータ + + +WALの更新をディスクへ強制するのに使用される方法です。 +fsyncがオフの場合この設定は役に立ちません。と言うのはWALファイルの更新が全く強制されないからです。取り得る値は以下のものです。 + +open_datasyncopen()のオプションO_DSYNCでWALファイルに書き込む) + +fdatasync(コミット毎にfdatasync()を呼び出す) + +fsync(コミット毎にfsync()を呼び出す) + +fsync_writethrough(すべてのディスク書き込みキャッシュをライトスルーさせるため、コミット毎にfsync()を呼び出す) + +open_syncopen()のオプションO_SYNCでWALファイルに書き込む) + +全てのプラットフォームでこれら全ての選択肢が使えるわけではありません。 +デフォルトは、上のリストのプラットフォームでサポートされるものの最初に列挙されているものです。 +ただしLinuxとFreeBSDではfdatasyncがデフォルトです。 +デフォルトは必ずしも理想的なものではありません。 +クラッシュに適応した構成にする、あるいはアーカイブの最適性能を導くためには、この設定あるいはシステム構成の他の部分を変更することが必要かもしれません。 +これらの側面は で解説されます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -3325,9 +5017,13 @@ include_dir 'conf.d' full_page_writes configuration parameter + + full_page_writes設定パラメータ + + +このパラメータが有効の場合、PostgreSQLサーバは、チェックポイントの後にそのページが最初に変更された過程で、ディスクページの全ての内容をWALに書き込みます。 +オペレーティングシステムがクラッシュした時に進行中のページ書き込みは途中までしか終わっていない可能性があり、ディスク上のページが古いデータと新しいデータが混在する状態になるため、この機能が必要です。 +通常WAL内に保存される行レベルの変更データは、クラッシュ後のリカバリ時にこうしたページを完全に復旧させるには不十分です。 +完全なページイメージを保存することにより、ページを正しく復旧できることを保証しますが、その代わりに、WALに書き込まなければならないデータ量が増加することになります。 +(WAL再生は常にチェックポイントから始まるため、チェックポイント後のそれぞれのページの最初の変更時にこれを行えば十分です。 +従って、完全ページ書き出しのコストを低減する方法の1つは、チェックポイント間隔パラメータを大きくすることです。) + +このパラメータを無効にすると、通常の操作速度が上がりますが、システム障害後に、回復不能なデータ破損、あるいは警告なしのデータ損壊をもたらすかもしれません。 +このリスクは小さいながらfsyncを無効にした場合と似ています。そしてそのfsyncに対して推奨されている同一の状況に基づく限りにおいて停止されなければなりません。 + +このパラメータを無効にしてもポイントインタイムリカバリ(PITR)用のWALアーカイブの使用に影響ありません( を参照してください)。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトはonです。 @@ -3372,24 +5086,38 @@ include_dir 'conf.d' wal_log_hints configuration parameter + + wal_log_hints設定パラメータ + + +このパラメータがonの場合、PostgreSQLサーバはチェックポイント後にはじめてページを変更する際に、ディスクページの全内容をWALに書き出します。 +これは、あまり重要でない、ヒントビットと呼ばれるものに対する変更にさえ当てはまります。 + +データチェックサムが有効であると、ヒントビットの更新は常にWALにログされ、この設定パラメータは無視されます。この設定パラメータを使って、データチェックサムが有効なときにどれだけのWALログは余計に書きだされるかをテストすることができます。 + +このパラメータはサーバ起動時のみ設定可能です。 +デフォルト値はoffです。 @@ -3399,9 +5127,13 @@ include_dir 'conf.d' wal_compression configuration parameter + + wal_compression設定パラメータ + + +このパラメータは、指定された圧縮方式を使用したWALの圧縮を有効にします。 +有効にすると、PostgreSQLサーバはWALに書き込まれる全ページイメージを圧縮します(例えば、がオンの時やベースバックアップ中です)。 +圧縮されたページイメージはWAL再生中に伸長されます。 +サポートされている方法はpglzlz4PostgreSQLでコンパイルされた場合)およびzstdPostgreSQLでコンパイルされた場合)です。 +デフォルト値はoffです。 +スーパーユーザと適切なSET権限を持つユーザのみがこの設定を変更できます。 + +このパラメータを有効にすると、回復不可能なデータ破壊のリスクを増やすこと無しにWALの量を減らすことができます。 +しかし、WALロギングの際の圧縮のため、またWALリプレイの際には伸張のために余分なCPUを使用するというコストが発生します。 @@ -3433,9 +5176,13 @@ include_dir 'conf.d' wal_init_zero configuration parameter + + wal_init_zero設定パラメータ + + +このオプションがon(デフォルト)に設定されると、新しいWALファイルはゼロで初期化されます。 +システムによっては、このことによってWALレコードを書く必要が出てくる前にスペースが割り当てられることを保証します。 +しかし、Copy-On-Write (COW)ファイルシステムではこの技術は利点がないかもしれず、このオプションはスキップできるようになっています。 +offに設定すると、ファイルを作る時に期待する大きさになるように最後のバイトだけが書かれます。 @@ -3452,13 +5204,20 @@ include_dir 'conf.d' wal_recycle configuration parameter + + wal_recycle設定パラメータ + + +このオプションがon(デフォルト)に設定されると、新しくファイルを作るのを避けるために、名前を変えてWALファイルが再利用されます。 +COWファイルシステムでは、新しいファイルを作るほうが速いかも知れないので、この挙動を無効にできるようにオプションとなっています。 @@ -3468,9 +5227,13 @@ include_dir 'conf.d' wal_buffers configuration parameter + + wal_buffers設定パラメータ + + +未だディスクに書き込まれていないWALデータに対して使用される共有メモリ容量です。 +デフォルトの設定である-1は、の1/32(約3%)の容量に等しい大きさを選択します。 +しかし、64kB未満ではなく、かつ典型的に16MBであるWALセグメントの大きさを超えることはありません。 +もし、自動設定による選択が大きすぎたり、小さすぎる場合この値は手作業で設定可能です。 +しかし、32kB未満のどんな正の値であっても、32kBとして取り扱われます。 +この値が単位なしで指定された場合は、WALブロック単位であるとみなします。すなわち、XLOG_BLCKSZバイト、一般的には8kBです。 +このパラメータはサーバ起動時のみ設定可能です。 + +WALバッファの内容はトランザクションのコミット毎にディスクに書き込まれます。 +したがって、極端に大きな値は有意な効果を期待できません。 +しかし、この値を数メガバイトに設定することにより、多くのクライアントが同時にコミットするトラフィック量の多いサーバでは書き込み性能が向上します。 +デフォルト設定の-1で選択される自動チューニングによると、ほとんどの場合妥当な結果が得られます。 @@ -3502,9 +5279,13 @@ include_dir 'conf.d' wal_writer_delay configuration parameter + + wal_writer_delay設定パラメータ + + +WALライタがWALをフラッシュする頻度を時間で指定します。 +WALをフラッシュしたあと、非同期コミットしているトランザクションに起こされない限り、wal_writer_delayミリ秒待機します。 +最後のフラッシュが過去wal_writer_delay以内に行われ、かつそれ以降wal_writer_flush_after相当のWALが生成されていない場合は、WALはオペレーティングシステムに書き込まれますが、ディスクにはフラッシュされません。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +デフォルト値は200ミリ秒(200ms)です。 +ある種のシステムでは、待機間隔の実質的な分解能は10ミリ秒です。 +10の倍数以外の値をwal_writer_delayに設定しても、その次に大きい10の倍数を設定した場合と同じ結果となります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -3529,9 +5319,13 @@ include_dir 'conf.d' wal_writer_flush_after configuration parameter + + wal_writer_flush_after設定パラメータ + + +WALライタがWALをフラッシュする頻度を量で指定します。 +最後のフラッシュが過去wal_writer_delay以内に行われ、かつそれ以降wal_writer_flush_after相当のWALが生成されていない場合は、WALはオペレーティングシステムに書き込まれますが、ディスクにはフラッシュされません。 +wal_writer_flush_after0に設定されている場合は、WALデータが書かれるたびにWALが即時にフラッシュされます。 +この値が単位なしで指定された場合は、WALブロック単位であるとみなします。すなわち、XLOG_BLCKSZバイト、一般的には8kBです。 +デフォルト値は1MBです。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -3553,9 +5354,13 @@ include_dir 'conf.d' wal_skip_threshold configuration parameter + + wal_skip_threshold設定パラメータ + + +wal_levelminimalで、トランザクションのコミットが永続リレーションを作るかあるいは書き換えた場合に、この設定は新しいデータをどのように永続させるかを決定します。 +データがこの設定よりも少なければ、WALログに書きます。そうでなければ、影響のあるファイルに対してfsyncを使用します。 +そのようなコミットが現在のトランザクションを低速化しているようであれば、使用する記憶装置の特性によってはこの値を増減することが役に立つかも知れません。 +この値が単位なしに指定されるとキロバイトであると見なします。 +デフォルトは2メガバイト(2MB)です。 @@ -3574,9 +5385,13 @@ include_dir 'conf.d' commit_delay configuration parameter + + commit_delay設定パラメータ + + +commit_delayを設定することにより、WALフラッシュを開始する前の時間遅延が追加されます。 +このことにより、もし追加のトランザクションが与えられた時間間隔内でコミットが可能になるほどシステム負荷が充分に高い場合、一回のWALフラッシュでより多くの数のトランザクションをコミットできるようになり、コミット群のスループットを改善できます。 +とは言っても、それぞれのWALフラッシュに対して最大commit_delayの待ち時間の増加をきたします。 +コミットの準備が完了したトランザクションが他に存在しない場合、遅延は無駄になるため、遅延はフラッシュが開始されようとしている時点で少なくともcommit_siblingsだけのトランザクションが活動している場合にだけ機能します。 +同様に、fsyncが無効の場合も遅延は機能しません。 +この値が単位なしで指定された場合は、マイクロ秒単位であるとみなします。 +デフォルトのcommit_delayはゼロ(遅延無し)です。 +スーパーユーザと適切なSET権限を持つユーザのみがこの設定を変更できます。 + + + +9.3より前のPostgreSQLでは、commit_delayの振る舞いは異なっており、あまり効果がありませんでした。 +全てのWALフラッシュではなく、コミットだけに影響していました。また、そしてWALフラッシュが早めに完了しても設定された遅延分待機していました。 +PostgreSQL 9.3以降では、フラッシュの準備が整った最初のプロセスが設定値分待機し、後続のプロセスは最初のプロセスがフラッシュ操作を完了するまでの間だけ待機をします。 @@ -3612,14 +5441,22 @@ include_dir 'conf.d' commit_siblings configuration parameter + + commit_siblings設定パラメータ + + +commit_delayの遅延を実行するときに必要とされる同時に開いているトランザクションの最小数です。 +より大きい値にすると、遅延周期の間に、少なくとも1つの他のトランザクションのコミットの準備が整う確率が高くなります。 +デフォルトは5トランザクションです。 @@ -3627,7 +5464,10 @@ include_dir 'conf.d' + + チェックポイント @@ -3635,9 +5475,13 @@ include_dir 'conf.d' checkpoint_timeout configuration parameter + + checkpoint_timeout設定パラメータ + + +自動的WALチェックポイント間の最大間隔を指定します。 +この値が単位なしで指定された場合は、秒単位であるとみなします。 +有効な範囲は、30秒から1日の間です。 +デフォルトは5分(5min)です。 +このパラメータを増やすと、クラッシュリカバリで必要となる時間が増加します。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -3655,9 +5506,13 @@ include_dir 'conf.d' checkpoint_completion_target configuration parameter + + checkpoint_completion_target設定パラメータ + + +チェックポイントの間の時間のうち、どの程度の割合を使うかをチェックポイントの完了目標として指定します。 +デフォルトは0.9で、可能な限りの間隔のほとんどにチェックポイントを拡散し、かなり一定のI/O負荷をもたらしますが、チェックポイントが完了するにあたってオーバーヘッドをもたらします。 +チェックポイントの完了を早くするので、このパラメータを小さくするのはお勧めできません。 +これにより、チェックポイント中はI/Oの割合が大きくなり、チェックポイントの完了から次のチェックポイントまでの間はより少ないI/Oとなります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -3677,9 +5538,13 @@ include_dir 'conf.d' checkpoint_flush_after configuration parameter + + checkpoint_flush_after設定パラメータ + + +チェックポイント実行中にこのデータ量よりも多く書く度に、OSが記憶装置に書き込むことを強制しようとします。 +このことにより、カーネルのページキャッシュが持つダーティデータの量を一定量に制限し、チェックポイントの最後にfsyncが実行される際、あるいはOSがバックグラウンドでデータを大きな塊で書き出す際に性能の急激な低下を招く可能性を減らします。 +多くの場合これによってトランザクションの遅延が大幅に少なくなりますが、あるケース、特にワークロードがよりも大きく、OSのページキャッシュよりも小さい時には性能が低下するかもしれません。 +この設定が無効なプラットフォームがあります。 +この値が単位なしで指定された場合は、ブロック単位であるとみなします。すなわち、BLCKSZバイト、一般的には8kBです。 +有効な設定値は、この強制書き込み機能が無効になる0から、2MBまでです。 +デフォルト値は、Linuxでは256kBで、それ以外は0です。 +(BLCKSZが8kbでなければ、この設定のデフォルト値と最大値がBLCKSZに比例して変更されます。) +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -3709,9 +5584,13 @@ include_dir 'conf.d' checkpoint_warning configuration parameter + + checkpoint_warning設定パラメータ + + +WALセグメントファイルが溢れることが原因で起きるチェックポイントが、ここで指定した時間よりも短い間隔で発生したとき、サーバログにメッセージを書き出します +(これは、max_wal_sizeを増やす必要があることを示唆しています)。 +この値が単位なしで指定された場合は、秒単位であるとみなします。 +デフォルトは30秒(30s)です。 +零の場合は警告を出しません。 +checkpoint_timeoutcheckpoint_warningより小さい場合は警告を出しません。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -3732,9 +5619,13 @@ include_dir 'conf.d' max_wal_size configuration parameter + + max_wal_size設定パラメータ + + +自動WALチェックポイントの際にWALが増加する最大サイズです。 +これはソフトリミットです。特別な状況下、たとえば高負荷、archive_commandの失敗、archive_libraryの失敗、wal_keep_sizeが大きな値に設定されている、などの時には、WALサイズはmax_wal_sizeを超えることがあります。 +この値が単位なしで指定された場合は、メガバイト単位であるとみなします。 +デフォルトは1GBです。 +このパラメータを大きくすると、クラッシュリカバリに必要な時間が長くなります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -3755,9 +5653,13 @@ include_dir 'conf.d' min_wal_size configuration parameter + + min_wal_size設定パラメータ + + +この設定以下にWALのディスク使用量が保たれる限り、古いWALファイルは、消去されることなく今後のチェックポイントで使用するために常にリサイクルされます。 +この設定は、たとえば大きなバッチジョブを走らせる際のWALの利用スパイクを取り扱うために、十分なWALのスペースが予約されていることを保証するために使用できます。 +この値が単位なしで指定された場合は、メガバイト単位であるとみなします。 +デフォルトは80MBです。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -3774,7 +5682,10 @@ include_dir 'conf.d' + + アーカイビング @@ -3782,9 +5693,13 @@ include_dir 'conf.d' archive_mode configuration parameter + + archive_mode設定パラメータ + + +archive_modeが有効な場合、あるいはを設定することにより、完了したWALセグメントはアーカイブ格納領域に送信されます。 +無効にするためのoffに加え、2つのモードがあります。onalwaysです。 +通常の運用ではこの2つのモードには違いはありませんが、alwaysに設定すると、アーカイブリカバリおよびスタンバイモードでWALアーカイバが有効になります。 +alwaysモードでは、アーカイブからリストアされたファイルや、ストリーミングレプリケーションでストリームされたファイルもすべて(再び)アーカイブされます。 +詳細はを参照してください。 + +archive_commandarchive_libraryがアーカイブモードを停止することなく変更できるように、archive_modeは、archive_commandarchive_libraryとは別の設定項目になっています。 +このパラメータはサーバ起動時のみ設定可能です。 +wal_levelminimalに設定されている場合、archive_modeを有効にすることはできません。 @@ -3816,9 +5742,13 @@ include_dir 'conf.d' archive_command configuration parameter + + archive_command設定パラメータ + + +完了したWALファイルセグメントのアーカイブを実行するローカルのシェルコマンドです。 +文字列内のすべての%pは、格納されるファイルのパスで置き換えられ、そして、%fはファイル名のみ置換します。 +(このパス名はサーバの作業用ディレクトリ、つまり、クラスタのデータディレクトリからの相対パスです。) +コマンド内に%文字そのものを埋め込むには%%を使用します。 +コマンドが成功した場合にのみ終了ステータスゼロを返すことが重要です。 +詳しくはを参照ください。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +サーバ起動時にarchive_modeが有効で、archive_libraryが空文字の時にのみ使用されます。 +archive_commandarchive_libraryの両方が有効ならばエラーが発生します。 +archive_modeが有効であるにもかかわらず、archive_commandが空文字列(デフォルト)、(そしてarchive_libraryが空文字列)である場合、WALアーカイブ処理は一時的に無効になりますが、コマンドが後で提供されることを見越して、サーバはWALセグメントの蓄積を続けます。 +例えば、/bin/true(WindowsではREM)のように、真を返すだけで何もしないコマンドをarchive_commandに設定すると、実質的にアーカイブ処理が無効になりますが、アーカイブからの復帰に必要なWALファイルの連鎖も同時に断ち切るため、特別な場合のみ使用するようにしなければなりません。 @@ -3856,9 +5800,13 @@ include_dir 'conf.d' archive_library configuration parameter + + archive_library設定パラメータ + + +アーカイビングが完了したWALファイルセグメントに使用するライブラリです。 +空文字列(デフォルト)に設定された場合、シェル経由のアーカイビングが有効になり、が使用されます。 +archive_commandarchive_libraryの両方が有効ならばエラーが発生します。 +それ以外の場合は、指定された共有ライブラリがアーカイブに使用されます。 +WALアーカイバプロセスは、このパラメータが変更されたときにpostmasterによって再起動されます。 +詳細については、およびを参照してください。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -3881,9 +5839,13 @@ include_dir 'conf.d' archive_timeout configuration parameter + + archive_timeout設定パラメータ + + +または は、完了したWALセグメントに対してのみ呼び出されます。 +したがって、サーバがWALトラフィックをほとんど生成しない場合(あるいはそのような余裕期間がある場合)、トランザクションの完了とアーカイブストレージへの安全な記録との間に長い遅延が発生する可能性があります。 +アーカイブされていないデータの古さを制限するために、archive_timeoutを設定して、サーバに新しいWALセグメントファイルへの定期的な切り替えを強制することができます。 +このパラメータが0より大きい場合、サーバは、最後のセグメントファイル切り替えからこの時間が経過し、単一のチェックポイント(データベースアクティビティがない場合はチェックポイントはスキップされます)を含むデータベースアクティビティが発生するたびに新しいセグメントファイルへの切り替えを行います。 +強制的な切り替えにより早期に閉じられたアーカイブファイルは、完全に満杯のファイルと同じ長さのままであることに注意してください。 +したがって、非常に短いarchive_timeoutを使用することは賢明ではなく、アーカイブストレージを膨張させます。 +通常は1分程度のarchive_timeout設定が妥当です。 +プライマリサーバからデータをより迅速にコピーしたい場合は、アーカイブではなくストリーミングレプリケーションを使用することを検討してください。この値が単位なしで指定された場合、秒として取得されます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -3915,18 +5887,29 @@ include_dir 'conf.d' + + リカバリ configuration of recovery general settings + + 設定 + リカバリの + 一般設定 + + +この節では、クラッシュリカバリ、ストリーミングレプリケーション、およびアーカイブベースのレプリケーションに影響する一般的なリカバリに適用される設定について説明します。 @@ -3936,9 +5919,13 @@ include_dir 'conf.d' recovery_prefetch configuration parameter + + recovery_prefetch設定パラメータ + + +リカバリ中に、まだバッファプールにないWALで参照されているブロックをプリフェッチしようとするかどうかです。 +有効な値はoffon、およびtry(デフォルト)です。 +try設定は、オペレーティングシステムが先読み指示の発行をサポートしている場合にのみ先読みを有効にします。 + +すぐに必要になるブロックをプリフェッチすると、一部のワークロードでリカバリ中のI/O待機時間を短縮できます。 +プリフェッチ・アクティビティを制限するおよび設定も参照してください。 @@ -3962,14 +5957,23 @@ include_dir 'conf.d' wal_decode_buffer_size configuration parameter + + wal_decode_buffer_size設定パラメータ + + +サーバがプリフェッチするブロックを見つけるためにWAL内をどれだけ先まで見ることができるかの制限です。 +この値が単位なしで指定された場合、バイトとして扱われます。 +デフォルトは512KBです。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -3979,28 +5983,46 @@ include_dir 'conf.d' + + アーカイブからのリカバリ configuration of recovery of a standby server + + 設定 + リカバリの + スタンバイサーバの + + +この節では、リカバリの間だけ適用する設定について説明します。 +その後実施するリカバリでは、その設定はリセットしなければなりません。 + +リカバリは、サーバをスタンバイとして使用するとき、あるいはターゲットを指定したリカバリで適用されます。 +通常、スタンバイモードは、高可用性または読み出しスケーラビリティ、あるいはその両方を提供するために使用します。 +一方ターゲットを指定したリカバリは失なわれたデータを回復するために使用します。 + +スタンバイモードでサーバを起動するには、standby.signalstandby.signalと呼ばれるファイルをデータディレクトリに作ります。 +サーバはリカバリモードに入り、アーカイブWALの終端に到着してもリカバリを止めず、primary_conninfoの設定で指定された送信サーバに接続するか、restore_commandを使って新しいWALセグメントを取得するか、あるいはその両方によってリカバリを継続しようとします。 +このモードでは、この節とで説明するパラメータが関係します。 +のパラメータも適用できますが、このモードでは通常有用ではありません。 + +サーバをターゲットリカバリモードで起動するには、recovery.signalrecovery.signalという名前のファイルをデータディレクトリに作ります。 +standby.signalrecovery.signalの両方が作られた場合は、スタンバイモードが優先します。 +ターゲットリカバリモードはアーカイブWALが完全に再生されるか、recovery_targetに到達した時に終了します。 +このモードでは、この節とのパラメータの両方が使用されます。 @@ -4031,9 +6064,13 @@ include_dir 'conf.d' restore_command configuration parameter + + restore_command設定パラメータ + + +一連のWALファイルからアーカイブセグメントを取り出すために実行するローカルのシェルコマンドです。 +このパラメータはアーカイブリカバリでは必須ですが、ストリーミングレプリケーションではオプションです。 +文字列中の%fはアーカイブから取り出すファイルの名前に置換され、%pはサーバ上のコピー先のパス名に置換されます。 +(パス名は現在の作業ディレクトリの相対パス、つまりクラスタのデータディレクトリです。) +%rは有効な最後のリスタートポイントを含むファイル名に置換されます。 +これはリストアが再開可能であるために維持しなければならない最古のファイルで、現在のリストアからの再開をサポートするのに最小限必要なアーカイブを残して切り詰めるのに必要な情報として利用できます。 +%rは通常ウォームスタンバイ構成でのみ使用されます。 +(参照。) +%文字自体を埋め込むには%%と書いてください。 + +コマンドは、成功した時のみ終了コードのゼロを返却することが重要です。 +コマンドはアーカイブにないファイル名を聞かれることになります。 +その場合には、非ゼロの値を返却しなければなりません。以下に例を示します。 restore_command = 'cp /mnt/server/archivedir/%f "%p"' restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows + +例外は、データベースサーバのシャットダウンの一部として、SIGTERM以外のシグナルでコマンドが終了させられたり、シェルによってエラーが発生した(コマンドが見つからない場合など)場合で、その場合はリカバリは中断され、サーバはスタートアップしなくなります。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -4080,9 +6138,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows archive_cleanup_command configuration parameter + + archive_cleanup_command設定パラメータ + + +オプションのパラメータは、すべてのリスタートポイントで実行されるシェルコマンドを指定します。 +archive_cleanup_commandの目的は、スタンバイサーバにとって必要とされない古いアーカイブWALファイルをクリーンアップする仕組みを提供することです。 +%rは最後の有効なリスタートポイントを含むファイル名に置換されます。 +これはリストアが再開可能であるために保持しなければならない最古のファイルで、%rよりも前のすべてのファイルは安全に削除できます。 +これは現在のリストアからの再開をサポートするのに最小限必要なアーカイブを残して切り詰めるのに必要な情報として利用できます。 +単一のスタンバイ構成用のarchive_cleanup_commandで、たとえば以下のように、しばしばモジュールが使われます。 archive_cleanup_command = 'pg_archivecleanup /mnt/server/archivedir %r' + +だたし、複数のスタンバイサーバが同じアーカイブディレクトリからリストアしている場合は、どのサーバにおいてももはや必要がなくなるまでWALファイルが削除されることのないようにする必要があることに留意してください。 +archive_cleanup_commandは通常ウォームスタンバイ構成で使用されます。 +(参照。) +%文字自体を埋め込むには%%と書いてください。 + +コマンドが非ゼロの終了ステータスを返した場合、警告ログメッセージが出力されます。 +例外は、コマンドがシグナルで終了されたとき、あるいはシェルがエラーを起こしたとき(コマンドが見つからないなど)で、その場合致命的エラーが生じます。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -4125,26 +6207,42 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows recovery_end_command configuration parameter + + recovery_end_command設定パラメータ + + +このパラメータは、リカバリの終了時に一度だけ起動されるシェルコマンドを指定します。 +このパラメータはオプションです。 +recovery_end_commandの目的はレプリケーションあるいはリカバリの後のクリーンアップのための機構を提供することにあります。 +%rは、と同じように、有効な最後のリスタートポイントを含むWALファイル名に置換されます。 + +コマンドが非ゼロの終了ステータスを返した場合、警告ログメッセージが出力されますが、データベースはスタートアップ処理を続けます。 +例外は、コマンドがシグナルによって終了させられたか、シェルによってエラーが発生した(そのようなコマンドは見つからない)場合で、その場合はデータベースはスタートアップ処理を継続させません。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -4155,9 +6253,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows + + リカバリターゲット + +デフォルトではWALログの最後までリカバリを行います。 +次のパラメータがそれより前の時点でリカバリを停止するために利用できます。 +次のrecovery_targetrecovery_target_lsnrecovery_target_namerecovery_target_timerecovery_target_xidのどれか一つが使えます。 +設定ファイルの中で2つ以上指定するとエラーとなります。 +これらのパラメータはサーバ起動時のみ設定可能です。 @@ -4174,17 +6282,27 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows recovery_target configuration parameter + + recovery_target設定パラメータ + + +このパラメータは、リカバリが一貫した状態になり次第、すなわちできるだけ早く終了することを指定します。 +オンラインバックアップからリストアした場合、これはバックアップが終了した時点を意味します。 + +技術的にはこれは文字列型のパラメータですが、現時点では'immediate'だけが許容されている値です。 @@ -4194,11 +6312,17 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows recovery_target_name configuration parameter + + recovery_target_name設定パラメータ + + +このパラメータは、指定した(pg_create_restore_point()により作成された)名前付きリストアポイントまでリカバリを進行させます。 @@ -4208,16 +6332,24 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows recovery_target_time configuration parameter + + recovery_target_time設定パラメータ + + +このパラメータは、指定したタイムスタンプまでリカバリを進行させます。 +正確な停止点はにも影響されます。 + +(変数が設定ファイルで先に設定されていない限り)時間帯略語を使えないことを除けば、このパラメータの値はtimestamp with time zoneデータ型が受け付けるのと同じ形式のタイムスタンプです。 +おすすめの形式はUTCからのオフセットか、EESTではなくEurope/Helsinkiのような完全な時間帯名です。 @@ -4234,9 +6369,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows recovery_target_xid configuration parameter + + recovery_target_xid設定パラメータ + + +このパラメータは、指定したトランザクションIDまでリカバリを進行させます。 +トランザクションIDはトランザクション起動時に順番に割り当てられますが、トランザクションは数字順によらず完了することがあることに留意してください。 +リカバリされるトランザクションは、指定されたものよりも前 (オプションによっては指定されたものも含まれる) にコミットされたものになります。 +正確な停止点はにも影響されます。 @@ -4254,22 +6398,33 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows recovery_target_lsn configuration parameter + + recovery_target_lsn設定パラメータ + + +このパラメータは、指定した先行書き込みログ(WAL)の場所のLSNまでリカバリを進行させます。 +正確な停止点は、の影響も受けます。 +このパラメータは、システムデータ型pg_lsnを使用して解析されます。 + +以下のオプションはリカバリ対象をより詳細に指定し、リカバリが対象に達した時の動作に影響を与えます。 @@ -4279,9 +6434,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows recovery_target_inclusive configuration parameter + + recovery_target_inclusive設定パラメータ + + +指定したリカバリ対象のちょうど後に停止するか(on)、ちょうどその前に停止するか(off)を指定します。 +、又はが指定されている場合は適用されます。 +この設定は、指定した対象のWALの場所(LSN)、コミット時刻、あるいはトランザクションIDが、それぞれ正確に一致するトランザクションをリカバリに含めるかどうかを制御します。 +デフォルトはonです。 @@ -4301,9 +6465,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows recovery_target_timeline configuration parameter + + recovery_target_timeline設定パラメータ + + +リカバリが作成する個別のタイムラインを指定します。 +値は数値のタイムラインIDか、特殊な値です。 +currentでは、ベースバックアップが取得されたときにカレントだったタイムラインに沿ってリカバリします。 +latestでは、アーカイブ時に見つけた最新のタイムラインにリカバリします。これはスタンバイサーバで有用です。 +デフォルトはlatestです。 + +タイムラインIDを16進数で指定するには(たとえば、WALファイル名前または歴史ファイルから抽出した場合)、0xを前に置きます。 +例として、WALファイル名前が00000011000000A10000004Fであれば、タイムラインIDは0x11(または10進数で17)になります。 + +通常このパラメータの設定が必要となるのは、ポイントインタイムリカバリの実施後に到達した状態に戻す場合など、複雑なリカバリの状況のみです。 +説明はを参照してください。 @@ -4336,17 +6518,27 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows recovery_target_action configuration parameter + + recovery_target_action設定パラメータ + + +リカバリ対象に到達した場合に、サーバがする動作を指定します。 +デフォルトはpauseで、リカバリを休止することを意味します。 +promoteは、リカバリの過程が終われば、サーバは接続の受け付けを始めることを意味します。 +最後に、shutdownは、リカバリ対象に到達した後にサーバを停止します。 + +pauseの設定の意図した使い方は、このリカバリ対象がリカバリのための最も望ましいポイントかどうかチェックするために、データベースに対して問い合わせを実行できるようにすることです。 +休止された状態は、pg_wal_replay_resume()(参照)の使用により再開することができます。 +その後、それはリカバリを終了させます。 +このリカバリ対象が希望の止まるポイントでない場合、サーバをシャットダウンし、リカバリ対象の設定をより後の対象に変更し、リカバリを継続するために再起動してください。 + +shutdownの設定はインスタンスを正確に望ましい再生ポイントで準備するのに有用です。 +インスタンスはさらに多くのWALレコードを再生できます(実際、次に起動するときには最後のチェックポイントからWALレコードを再生しなければなりません)。 + +recovery.signalrecovery_target_actionshutdownに設定されていると削除されないことに留意してください。 +設定が変更されるか、recovery.signalが手動で削除されない限り、以降起動しても直ちに停止されてしまいます。 + +この設定はリカバリ対象が設定されていない場合には効果がありません。 +が有効になっていない場合、pauseの設定はshutdownと同じように動作します。 +昇格中にリカバリ対象に到達した場合は、pausepromoteと同じように働きます。 + +どのような場合でも、リカバリ対象が設定されていて、アーカイブリカバリがそのリカバリ対象に到達する前に終了すると、サーバはフェイタルエラーで停止します。 @@ -4391,12 +6604,18 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows + + WAL要約 + +これらの設定は、WAL要約を制御します。この機能は、インクリメンタルバックアップを実行するために有効にする必要があります。 @@ -4405,21 +6624,34 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows summarize_wal configuration parameter + + summarize_wal設定パラメータ + + +WAL要約プロセスを有効にします。 +WAL要約はプライマリまたはスタンバイのいずれかで有効にできることに注意してください。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトはoffです。 + +wal_levelminimalに設定されている場合、サーバをsummarize_wal=onで起動することはできません。 +wal_level=minimalの状態でサーバを起動し、その後summarize_wal=onに設定した場合、要約処理は動作しますが、wal_level=minimalで生成されたWALの要約ファイルの生成は拒否します。 @@ -4429,9 +6661,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows wal_summary_keep_time configuration parameter + + wal_summary_keep_time設定パラメータ + + +WAL要約処理が自動的に古いWAL要約を削除するまでの時間を設定します。 +ファイルタイムスタンプは、どのファイルが削除するのに十分な古さであるかを判断するために使用されます。 +通常、この値は、バックアップとそれに依存する後のインクリメンタルバックアップとの間で経過する時間よりも余裕を持って高く設定する必要があります。 +WAL要約は、先行するバックアップと新しいバックアップの間のWALレコードの全範囲に対して利用可能でなければなりません。そうでない場合、インクリメンタルバックアップは失敗します。 +このパラメータがゼロに設定されている場合、WAL要約は自動的には削除されませんが、将来の増分バックアップに必要でないことが分かっているファイルは手動で安全に削除できます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +この値が単位なしで指定されると、分として解釈されます。 +デフォルトは10日間です。 +summarize_wal = offの場合、WAL要約処理が動作しないため、このパラメータの値に関わらず、既存のWAL要約は削除されません。 @@ -4459,17 +6705,25 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows + + レプリケーション + +これらの設定は、組み込みストリーミングレプリケーション機能(参照)および組み込み論理レプリケーション機能(を参照)の動作を制御します。 + + +ストリーミングレプリケーションでは、サーバ群のサーバはプライマリかスタンバイのいずれかです。 +プライマリはデータを送出する一方、複数のスタンバイは複製されたデータを常に受け取ります。 +カスケードレプリケーション(を参照)が使用されている場合、スタンバイサーバ群は受け取り手でもあり、送り手でもあります。 +パラメータは主として送出サーバとスタンバイサーバ用ですが、いくつかのパラメータはプライマリサーバのみに効力を発します。 +必要とあればクラスタに渡って問題なく設定を変化させることができます。 + +論理レプリケーションの場合、パブリッシャー(CREATE PUBLICATIONを実行するサーバ)は、データをサブスクライバーCREATE SUBSCRIPTIONを実行するサーバ)に複製します。 +サーバは、パブリッシャーとサブスクライバーを同時に兼ねることもできます。 +以降の節でパブリッシャーを「送信者」と呼ぶことに注意してください。 +論理レプリケーション設定設定の詳細は、を参照してください。 + + 送出サーバ群 + +これらのパラメータはレプリケーションデータを1つ、またはそれ以上複数のスタンバイサーバに送るすべてのサーバ上で設定することができます。 +プライマリは常に送出サーバであるため、パラメータは常にプライマリ上に設定されなければなりません。 +これらのパラメータの役割と意味はスタンバイが後にプライマリに昇格しても変わりません。 @@ -4509,9 +6783,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows max_wal_senders configuration parameter + + max_wal_senders設定パラメータ + + +複数のスタンバイサーバあるいは、ストリーミングを使ったベースバックアップクライアントからの同時接続を受ける接続最大値を設定します(つまり、同時に稼働するWAL送信プロセスの最大値です)。 +デフォルトは10です。 +0ならば、レプリケーションは無効であるという意味になります。 +ストリーミングクライアントの突然の切断により、タイムアウトになるまで親のない接続スロットが残ることがあります。 +ですから、このパラメータは想定されるクライアント数の最大値よりも少し大きめにして、切断されたクライアントが直ちに再接続できるようにした方が良いでしょう。 +このパラメータはサーバ起動時のみ設定可能です。 +また、スタンバイサーバからの接続を許可するには、wal_levelreplica以上に設定しておかなければなりません。 + +スタンバイサーバを実行する際は、このパラメータをプライマリサーバと同じか高い値にしなければなりません。 +さもなければ、スタンバイサーバでクエリを実行できなくなります。 @@ -4539,9 +6829,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows max_replication_slots configuration parameter + + max_replication_slots設定パラメータ + + +サーバが使用できるレプリケーションスロット(参照)の最大数を指定します。 +デフォルトは10です。 +このパラメータはサーバ起動時のみ設定可能です。 +現在存在しているレプリケーションスロットの数よりも少ない値を設定すると、サーバは起動しません。 +また、レプリケーションスロットが使用できるためには、wal_levelreplica以上に設定しなければなりません。 @@ -4560,9 +6860,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows wal_keep_size configuration parameter + + wal_keep_size設定パラメータ + + +pg_walディレクトリに保持する過去のWALファイルの最小サイズを指定します。 +もし送出サーバに接続しているスタンバイサーバがwal_keep_sizeメガバイトを越えて遅延した場合、送出サーバはスタンバイサーバが今後とも必要とするWALセグメントを削除する可能性があります。 +この場合、レプリケーション接続は終了させられます。結果として下流に対する接続も結局は終了されることがあります。(しかし、WALアーカイブが使用されていれば、スタンバイサーバはアーカイブからセグメントを取り出し、復旧することができます。) + +pg_walに保持され続けるセグメントの最小値のみを設定します。 +システムはWALアーカイブのため、またはチェックポイントからの復旧のため、より多くのセグメント保持が必要となることがあります。 +もしwal_keep_sizeが(デフォルトの)ゼロの場合、システムはスタンバイサーバのために追加セグメントを保持することはしません。 +従って、スタンバイサーバが使用できる古いWALセグメントの数は、直前のチェックポイントの場所とWALアーカイブの状況によって算出されます。 +この値が単位無しで指定されると、メガバイトであると見なします。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -4597,9 +6913,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows max_slot_wal_keep_size configuration parameter + + max_slot_wal_keep_size設定パラメータ + + +チェックポイント時にレプリケーションスロットがpg_walディレクトリに残すことのできる +最大のWALファイルのサイズを指定します。 +max_slot_wal_keep_sizeが-1 (デフォルトです)なら、レプリケーションスロットは無制限のWALファイルを残すかも知れません。 +そうでなければ、レプリケーションスロットのrestart_lsnが現在のLSNよりも与えられたサイズ分遅れると、そのスロットを使っているスタンバイは必要なWALファイルが削除されたためにレプリケーションを継続できなくなります。 +レプリケーションスロットのWALが存在するかどうかはpg_replication_slotsを見て確認できます。 +この値が単位無しで指定されると、メガバイトであると見なします。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -4623,9 +6951,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows idle_replication_slot_timeout configuration parameter + + idle_replication_slot_timeout設定パラメータ + + +この期間より長く活動していない(レプリケーション接続で使用されていない)ままになっているレプリケーションスロットを無効にします。 +この値が単位なしで指定された場合は、秒単位であるとみなします。 +値がゼロ(デフォルト)の場合は、アイドルタイムアウトの無効化機構を無効にします。 +このパラメータは、postgresql.confファイルまたはサーバコマンドラインでのみ設定できます。 + +アイドルタイムアウトによるスロットの無効化は、チェックポイント中に発生します。 +チェックポイントはcheckpoint_timeoutの間隔で発生するため、idle_replication_slot_timeoutを超えてから次のチェックポイントでスロットの無効化が行われるまでに多少の遅れが生じる可能性があります。 +このような遅延を避けるために、ユーザはチェックポイントを強制して活動していないスロットを速やかに無効にすることができます。 +スロットが活動していない期間は、スロットのpg_replication_slots.inactive_sinceの値を使用して計算されます。 + +アイドルタイムアウトの無効化機構は、WALを保存していないスロットや、プライマリサーバから同期されているスタンバイサーバのスロット(つまり、pg_replication_slots.syncedの値がtrueであるスタンバイスロット)には適用されないことに注意してください。 +同期されているスロットは、論理的なデコードを実行して変更を生成しないため、常に活動していないものと見なされます。 @@ -4665,17 +7012,28 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows wal_sender_timeout configuration parameter + + wal_sender_timeout設定パラメータ + + +指定された時間より長く非活動であるレプリケーション接続を停止します。 +スタンバイサーバのクラッシュ、またはネットワークの停止を送出サーバが検出することにこれが役立ちます。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +デフォルトの値は60秒です。 +値ゼロはこのタイムアウト機能を無効にします。 + +地理的に複数の場所に分散したクラスタでは、場所によって異なる値を使うことでクラスタ管理がより柔軟にできるようになります。 +より小さな値は低遅延ネットワーク接続上のスタンバイの障害検知をより高速にするのに役立ちます。 +遅延の大きなネットワーク接続に設置されたスタンバイの健全性の判断にはより大きな値が助けになるでしょう。 @@ -4692,12 +7054,20 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows track_commit_timestamp configuration parameter + + track_commit_timestamp設定パラメータ + + +トランザクションのコミットタイムを記録します。 +このパラメータはサーバ起動時のみ設定可能です。 +デフォルトはoffです。 @@ -4707,9 +7077,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows synchronized_standby_slots configuration parameter + + synchronized_standby_slots設定パラメータ + + +ロジカルWAL送信プロセスが待機する、カンマで区切られたストリーミングレプリケーションのスタンバイサーバのスロット名です。 +ロジカルWAL送信プロセスは、指定されたレプリケーションスロットがWALの受信を確認した後にのみ、デコードされた変更をプラグインに送信します。 +これにより、論理レプリケーションフェイルオーバースロットは、変更が受信され、対応する物理的スタンバイに吐き出されるまで、変更を消費しないことが保証されます。 +物理スタンバイが昇格した後、論理レプリケーションコネクションがその物理スタンバイに移動した場合は、スタンバイの物理レプリケーションスロットがここに表示されます。 +synchronized_standby_slotsで指定されたスロットが存在しないか、無効になっている場合、論理レプリケーションが続行しないことに注意してください。 +また、レプリケーション管理関数である + +pg_replication_slot_advancepg_logical_slot_get_changespg_logical_slot_peek_changesがロジカルフェイルオーバースロットに使用されると、synchronized_standby_slotsで指定されたすべての物理スロットでWAL受信が確認されるまでブロックします。 + +synchronized_standby_slots内の物理レプリケーションスロットに対応するスタンバイは、sync_replication_slots = trueを設定して、プライマリからロジカルフェイルオーバースロットの変更を受信できるようにする必要があります。 @@ -4745,9 +7132,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows + + プライマリサーバ + +これらのパラメータはレプリケーションデータを1つ、またはそれ以上複数のスタンバイサーバに送るプライマリサーバ上で設定することができます。 +これらパラメータに加え、はプライマリサーバ上で適切に設定される必要があり、オプションとしてWALアーカイブを有効にしてもかまいません(を参照してください)。 +スタンバイサーバがプライマリサーバになるかもしれない状況に備え、それらのパラメータをスタンバイサーバで設定したいと考えたとしても、スタンバイサーバ上でのパラメータの値は意味をなしません。 @@ -4766,9 +7161,13 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows synchronous_standby_names configuration parameter + + synchronous_standby_names設定パラメータ + + +で説明されているように、同期レプリケーションをサポート可能なスタンバイサーバのリストを指定します。 +活動中の同期スタンバイサーバは1つまたはそれ以上です。 +コミットを待機しているトランザクションは、このスタンバイサーバがそのデータの受信を確認してから処理の継続が許可されます。 +同期スタンバイサーバはこのリストに名前が挙げられていており、現時点で接続され、そしてデータをリアルタイムでストリーミングしているものです(pg_stat_replication ビューにおいてstreaming状態として示されています)。 +このリストの後の方に記載されているその他のスタンバイサーバは潜在的に同期スタンバイサーバになることを示しています。 +二つ以上の同期スタンバイサーバ名を指定することで、かなりの高可用性とデータ損失に対する保護が得られます。 + +この目的のためのスタンバイサーバ名は、スタンバイの接続情報で指定された、スタンバイのapplication_name設定です。 +物理レプリケーションスタンバイでは、primary_conninfo設定です。 +デフォルトはの設定で、さもなければwalreceiverです。 +論理レプリケーションでは、サブスクリプションの接続情報で設定でき、デフォルトはサブスクリプション名です。 +それ以外のレプリケーションストリームの消費者については、それぞれのドキュメントをご覧ください。 + +このパラメータは、以下の構文のいずれかを用いてスタンバイサーバのリストを指定します。 [FIRST] num_sync ( standby_name [, ...] ) ANY num_sync ( standby_name [, ...] ) standby_name [, ...] + +ここで、num_syncは、トランザクションが応答を待機する必要のある同期スタンバイの数です。 +standby_nameは、スタンバイサーバの名前です。 +num_syncは、ゼロより大きい整数値である必要があります。 +FIRSTANYは、リスト中のサーバから同期スタンバイを選ぶ方法を指定します。 + +キーワードFIRSTnum_syncと組み合わせると、優先度に基づく同期レプリケーションを指定し、優先度に基づいて選ばれたnum_sync個の同期スタンバイにWALレコードがレプリケーションされるまで、トランザクションのコミットは待機します。 +たとえばFIRST 3 (s1, s2, s3, s4)とすると、s1s2s3s4の中から選ばれた優先順位の高い3つのスタンバイサーバが応答を返すまでコミットは待機します。 +リストの中で前の方に名前が出現するスタンバイには高い優先度が与えられ、同期と見なされます。 +それ以外のリストの中で後の方に名前が上がっているスタンバイサーバは、潜在的な同期スタンバイであることを表しています。 +どんな理由であれ、現在の同期スタンバイが切断されると、次に高い優先度を持つスタンバイに直ちに取って代わられます。 +キーワードFIRSTはオプションです。 + +キーワードANYnum_syncと組み合わせると、クォーラムに基づく同期レプリケーションを指定し、列挙されたスタンバイのうち少なくともnum_sync個の同期スタンバイにWALレコードがレプリケーションされるまで、トランザクションのコミットを待たせます。 +たとえばANY 3 (s1, s2, s3, s4)とすると、s1s2s3s4のうちの少なくとも3つが応答を返した時点でコミットが進行します。 + +FIRSTANYは、大文字小文字を区別しません。 +もしこれらのキーワードをスタンバイサーバの名前に使う場合は、standby_nameは二重引用符で囲わなければなりません。 + +3番目の構文は、PostgreSQL 9.6よりも前のバージョンで用いられていたもので、依然としてサポートされています。 +最初の構文で、FIRSTnum_syncを1とした時と同じです。 +たとえば、FIRST 1 (s1, s2)s1, s2は同じ意味です。 +s1s2が同期スタンバイとして選ばれます。 + +特別なエントリ*は、すべてのスタンバイ名に一致します。 + +スタンバイの一意性を強制する仕組みはありません。 +重複があった場合、一致したスタンバイは優先順位が高いと見なされますが、どれが選ばれるかは非決定的です。 + +各々のstandby_nameは、*である場合を除き、SQL識別子の形式を取らなければなりません。 +二重引用符を用いることもできます。 +しかし、二重引用符の有無に関わらず、standby_nameとスタンバイのアプリケーション名の比較は、大文字小文字の区別なしに行われることに注意してください。 + +ここに同期スタンバイ名が指定されていない場合、同期レプリケーションは有効とはならず、トランザクションコミットはレプリケーションを待機しません。これがデフォルトの設定です。同期レプリケーションが有効であっても、パラメータをlocal または offに設定することにより、個別のトランザクションをレプリケーションに対して待機しないように設定できます。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -4895,14 +7357,21 @@ ANY num_sync ( + + スタンバイサーバ + +これらの設定はレプリケーションデータを受け取るスタンバイサーバの動作を管理します。 +プライマリサーバ上のこれらの値は無意味です。 @@ -4912,9 +7381,13 @@ ANY num_sync ( . If any option is @@ -4922,8 +7395,14 @@ ANY num_sync ( ) is checked. If the environment variable is not set either, then defaults are used. +--> +スタンバイサーバが送信サーバに接続するための接続文字列を指定します。 +この文字列は、で説明されている書式で記述されます。 +この文字列に何のオプションも指定されていない場合、これに対応する環境変数 ( 参照) が確認されます。 +環境変数も設定されていなければデフォルトの値が使われます。 + +接続文字列では、プライマリサーバのホスト名(またはアドレス)、スタンバイサーバのデフォルトと異なるのであればポート番号も指定する必要があります。 +また、送信サーバ上で適切な権限を保有するロールのユーザを指定しなければなりません ( 参照)。 +送信サーバがパスワード認証を要求するのであれば、パスワードも記述される必要があります。 +パスワードは primary_conninfoに記述することもできますし、スタンバイサーバ上の分離されたファイル~/.pgpassに記述することもできます (データベース名には replication を使います)。 + +レプリケーションスロットを同期(を参照)するために、primary_conninfo文字列に有効なdbnameを指定する必要もあります。 +これはスロットの同期にのみ使用されます。 +ストリーミングでは無視されます。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +WAL受信プロセスが実行中にこのパラメータが変更されると、そのプロセスにシグナルが送られ、新しい設定で再起動するために停止します(primary_conninfoが空文字の場合を除きます。) +サーバがスタンバイモードでなければこの設定は無効となります。 @@ -4959,9 +7453,13 @@ ANY num_sync ( num_sync ( を参照)。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +WAL受信プロセスが実行中にこのパラメータが変更されると、そのプロセスにシグナルが送られ、新しい設定で再起動するために停止します。 +primary_conninfoが設定されていない場合、この設定は無効です。 @@ -4982,14 +7485,22 @@ ANY num_sync ( . The default value is on. This parameter can only be set at server start. It only has effect during archive recovery or in standby mode. +--> +に記載されている通り、リカバリの最中に接続し、そして問い合わせを実行できるか否かを設定します。デフォルト値はonです。 +このパラメータはサーバ起動時のみ設定可能です。 +これは、アーカイブリカバリ期間、又はスタンバイモードにある場合にのみ効果をもたらします。 @@ -4999,9 +7510,13 @@ ANY num_sync ( num_sync ( で説明されているように、適用されようとしているWALエントリと競合するスタンバイクエリをキャンセルするまで待機する時間を決定します。 +max_standby_archive_delayは、WALデータがWALアーカイブから読み取られるときに適用されます(したがって最新ではありません)。 +この値が単位なしで指定された場合、ミリ秒単位で取得されます。 +デフォルトは30秒です。 +値-1を指定すると、スタンバイは競合するクエリが完了するまで永遠に待機します。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 + +max_standby_archive_delayはキャンセル前に問い合わせが実行できる最大の時間の長さと同じでないことに注意してください。 +むしろ、任意の1つのWALセグメントのデータの適用のために許される最大合計時間です。 +従って、ある問い合わせによりWALセグメント内の前の部分で大幅な遅延となった場合、その後の衝突する問い合わせの猶予時間はずっと短くなります。 @@ -5031,9 +7558,13 @@ ANY num_sync ( num_sync ( で説明されているように、適用されようとしているWALエントリと競合するスタンバイクエリをキャンセルするまで待機する時間を決定します。 +max_standby_streaming_delayは、ストリーミングレプリケーションを介してWALデータを受信するときに適用されます。 +この値が単位なしで指定された場合、ミリ秒単位で取得されます。 +デフォルトは30秒です。 +値-1を指定すると、スタンバイは競合するクエリが完了するまで永久に待機します。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 + +max_standby_streaming_delayはキャンセル前に問い合わせが実行できる最大の時間の長さと同じでないことに注意してください。 +むしろ、プライマリサーバから一度受け取られたWALデータを適用するために許される最大合計時間です。 +従って、ある問い合わせが大幅な遅延を起こした場合、その後の衝突する問い合わせは、スタンバイサーバがふたたび遅れを取り戻すまでの間、猶予時間はずっと短くなります。 @@ -5064,9 +7607,13 @@ ANY num_sync ( ). @@ -5075,6 +7622,11 @@ ANY num_sync ( を使って)作成されない設定になっている時に、WAL受信プロセスがリモートインスタンス上に一時レプリケーションスロットを作るかどうかを指定します。 +デフォルトはoffです。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +WAL受信プロセスが実行中にこのパラメータが変更されると、そのプロセスにシグナルが送られ、新しい設定で再起動するために停止します。 @@ -5084,9 +7636,13 @@ ANY num_sync ( num_sync ( pg_stat_replicationビューにより確認することが可能です。 +スタンバイサーバは書き込みがされた直近の先行書き込みログ(WAL)位置、ディスクにフラッシュされた直近のログ位置、およびリカバリ適用された直近のログ位置を報告します。 +このパラメータの値がそれぞれの報告間における最大の時間間隔です。 +書き込み、またはフラッシュ位置が変更される毎、あるいはこのパラメータがゼロ以外なら、最低でもこのパラメータで設定された頻度で更新情報が送信されます。 +他にもこのパラメータを無視して更新情報が送信される場合があります。 +たとえば、既存のWALの処理が完了するか、synchronous_commitremote_applyに設定されている場合です。 +従って、適用位置は真の位置よりも少し後ろにずれることがあります。 +この値が単位なしで指定された場合は、秒単位であるとみなします。 +デフォルトの値は10秒です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -5116,9 +7684,13 @@ ANY num_sync ( ( ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( ( num_sync ( + + サブスクライバー + +これらの設定項目は、論理レプリケーションのサブスクライバーの挙動を制御します。 +パブリッシャーにおける設定値とは無関係です。 +詳細についてはを参照してください。 @@ -5311,9 +7985,13 @@ ANY num_sync ( ) can be tracked simultaneously, effectively limiting how many logical replication subscriptions can @@ -5326,6 +8004,12 @@ ANY num_sync ( を参照)の数を指定し、サーバ上に作成できる論理レプリケーションのサブスクリプション数を効果的に制限します。 +現在追跡されているレプリケーション起点の数(pg_replication_origin_statusに反映されている)よりも低い値に設定すると、サーバが起動しなくなります。 +デフォルトは10です。 +このパラメータはサーバ起動時のみ設定可能です。 +少なくともmax_active_replication_originsは、サブスクライバーに追加されるサブスクリプション数に、テーブル同期のために予約された数を加えた数以上に設定することが必要です。 @@ -5335,20 +8019,34 @@ ANY num_sync ( num_sync ( num_sync ( num_sync ( + + 問い合わせ計画 + + プランナメソッド設定 + +以下の設定パラメータは、問い合わせオプティマイザが選択する問い合わせ計画に影響する大雑把な手法を提供します。 +ある問い合わせに対してオプティマイザが選択したデフォルト計画が最適でない場合、暫定的な解決策は、これらの設定パラメータの1つを使用し、オプティマイザに異なる計画を選択するように仕向けることです。 +オプティマイザが選択する計画の品質を改善するためのより良い方法には、プランナコスト定数を調節する(を参照)、ANALYZEを手作業で実行する、設定パラメータの値を大きくする、ALTER TABLE SET STATISTICSを使用して、特定の列に対して収集される統計情報を増やす、などがあります。 @@ -5440,11 +8180,18 @@ ANY num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( . +--> +問い合わせプランナがインデックススキャン計画型とインデックスオンリースキャン計画型を選択することを有効もしくは無効にします。 +デフォルトはonです。 +も参照してください。 @@ -5578,14 +8388,22 @@ ANY num_sync ( ). The default is on. The setting must also be enabled to have the query planner consider index-only-scans. +--> +問い合わせプランナがインデックスオンリースキャン計画型を選択することを有効もしくは無効にします(を参照)。 +デフォルトはonです。 +問い合わせプランナがインデックスオンリースキャンを考慮するようにするには、設定も有効にすることが必要です。 @@ -5595,14 +8413,21 @@ ANY num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( for details. +--> +問い合わせプランナが、クエリプランからパーティション化テーブルのパーティションを除く機能を有効あるいは無効にします。 +これはまた、クエリエグゼキュータがクエリ実行中にパーティションを削除(無視)することができるプランを生成するプランナの機能を制御します。 +デフォルトはonです。 +詳細はをご覧ください。 @@ -5709,9 +8581,13 @@ ANY num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( + + プランナコスト定数 + +本節で扱うコスト変数は、任意の尺度で測られます。 +これらは相対的な値のみが意味を持つため、それらの値をすべて同じ係数で大きく、あるいは小さくしても、プランナの選択は結果として変わりません。 +デフォルトではこれらのコスト変数はシーケンシャルなページ取り込みに基づいています。 +つまり、seq_page_costを慣習的に1.0とし、他のコスト変数はそれを参考にして設定されています。 +しかし望むなら、特定のマシンにおけるミリ秒単位の実行時間など、異なる尺度を使用することができます。 + +残念ながら、コスト変数に対する理想的な値を決定する、上手く定義された方法がありません。 +特定のインストレーションが受け取る問い合わせ全体を混在させたものの平均として扱うのが最善でしょう。 +数回の実験のみを根拠にこの値を変更することは危険であるといえます。 @@ -5877,14 +8830,22 @@ ANY num_sync ( ). +--> +シーケンシャルな一連の取り出しの一部となる、ディスクページ取り出しに関する、プランナの推定コストを設定します。 +デフォルトは1.0です。 +この値は同じ名前のテーブル空間パラメータを設定することで、特定のテーブル空間の中にあるテーブルとインデックスに対して上書きできます(を参照してください)。 @@ -5894,35 +8855,53 @@ ANY num_sync ( ). +--> +非シーケンシャル的に取り出されるディスクページのコストに対するプランナの推測を設定します。 +デフォルトは4です。 +この値は同じ名前のテーブル空間パラメータを設定することで、特定のテーブル空間の中にあるテーブルとインデックスに対して上書きできます(を参照してください)。 + +この値をseq_page_costと比較して小さくすると、システムはなるべくインデックススキャンを使用するようになります。 +大きくすると、インデックススキャンが相対的に高価になります。 +両方の値を増減させることで、CPUコストに対するディスクI/Oコストの重要性を変更させることができます。 +これについては、後述のパラメータで説明します。 + +《機械翻訳》«Random access to durable storage is normally much more expensive than four times sequential access. However, a lower default is used (4.0) because the majority of random accesses to storage, such as indexed reads, are assumed to be in cache. Also, the latency of network-attached storage tends to reduce the relative overhead of random access.» + +《機械翻訳》«If you believe caching is less frequent than the default value reflects, and network latency is minimal, you can increase random_page_cost to better reflect the true cost of random storage reads. Storage that has a higher random read cost relative to sequential, like magnetic disks, might also be better modeled with a higher value for random_page_cost. Correspondingly, if your data is likely to be completely in cache, such as when the database is smaller than the total server memory, or network latency is high, decreasing random_page_cost might be appropriate.» + +システムはrandom_page_costseq_page_costよりも小さな値に設定することを許しますが、そのようにすることは物理的にはおかしなことです。 +しかし、データベースが完全にRAMにキャッシュされる場合、同じ値に設定することは意味を持ちます。 +この場合、順序通りではないページアクセスに対するペナルティが存在しないからです。 +また、多くがキャッシュされるデータベースでは、CPUパラメータに対して両値を小さく設定すべきです。 +RAM内に存在するページの取り出しコストは通常よりもかなり小さくなるためです。 @@ -5954,12 +8942,19 @@ ANY num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( をご覧ください。 +この値が単位なしで指定された場合は、ブロック単位であるとみなします。すなわち、BLCKSZバイト、一般的には8kBです。 +デフォルトは512キロバイト(512kB)です。 @@ -6071,9 +9115,13 @@ ANY num_sync ( num_sync ( num_sync ( ). Performing JIT costs planning time but can accelerate query execution. Setting this to -1 disables JIT compilation. The default is 100000. +--> +JITが有効な場合(参照)、それ以上ならJITコンパイルが起動する問い合わせコストを設定します。 +JITを実行するとプラン時間がかかりますが、問い合わせの実行を高速化することができます。 +これを-1にすると、JITコンパイルは無効になります。 +デフォルトは100000です。 @@ -6123,15 +9192,25 @@ ANY num_sync ( num_sync ( num_sync ( num_sync ( + + 遺伝的問い合わせオプティマイザ + +遺伝的問い合わせオプティマイザ(GEQO)はヒューリスティック(発見的)検索法を用いた問い合わせ計画を行なう演算手法です。 +通常のしらみつぶしの検索演算手法で見いだされる計画よりも時として劣った計画を作成するという代償を払いますが、この手法は(多くのリレーションを結合するような)複雑な問い合わせに対し計画時間を軽減します。 +より詳細はを参照してください。 @@ -6178,20 +9275,34 @@ ANY num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( num_sync ( + + その他のプランナオプション @@ -6323,9 +9486,13 @@ ANY num_sync ( num_sync ( . +--> +ALTER TABLE SET STATISTICSで列特定の目標が設定されていないテーブル列に対し、デフォルトの統計情報目標を設定します。 +より大きい値はANALYZEに必要な時間を増加させますが、プランナの予測の品質を向上させます。 +デフォルトは100です。 +PostgreSQLの問い合わせプランナによる統計情報の使用方法に関するより詳細な情報は、を参照してください。 @@ -6342,12 +9514,19 @@ ANY num_sync ( num_sync ( .) +--> +現在、継承ツリーを使ってテーブルパーティショニングを実装するために使用されるよくある場合のことだけを考慮して、制約排除はデフォルトで有効です。 +すべてのテーブルに対して有効にするのは、単純な問い合わせにおいて特にはっきりわかる計画作成の余計なオーバーヘッドをもたらし、単純な問い合わせにはメリットがありません。 +伝統的な継承を使うパーティショニングされたテーブルがない場合、完全に無効にする方が良いでしょう。 +(パーティショニングされたテーブル用の同等の機能は別のパラメータで制御します。) + +パーティショニングを実装するための制約排除の利用についてのより進んだ情報はを参照ください。 @@ -6403,9 +9603,13 @@ SELECT * FROM parent WHERE key = 2400; cursor_tuple_fraction configuration parameter + + cursor_tuple_fraction設定パラメータ + + +検索されるカーソル行の割合のプランナの見積もりを設定します。 +デフォルトは0.1です。 +この設定をより小さくすると、プランナはカーソルに対し起動を高速にする計画を使用するようになりがちになります。 +この場合先頭の数行の取り出しは高速になりますが、行全体を取り出す場合に時間がかかるようになる可能性があります。 +この値をより大きくすると、推定時間全体がより強調されるようになります。 +最大の設定である1.0の場合、カーソルは通常の問い合わせとまったく同様に計画されます。 +つまり、推定時間全体のみが考慮され、先頭の行の取り出しにかかる時間は考慮されなくなります。 @@ -6424,20 +9636,32 @@ SELECT * FROM parent WHERE key = 2400; from_collapse_limit configuration parameter + + from_collapse_limit設定パラメータ + + +プランナは、FROMリストがこの数の項目より少ない結果の場合、副問い合わせを上位の問い合わせに併合します。 +より小さい値は計画時間を縮小させますが、劣った問い合わせ計画をもたらす可能性があります。 +デフォルトは8です。 +詳細はを参照してください。 + +この値をか、それ以上に設定するとGEQOプランナ使用の誘引となり、最適ではない計画をもたらします。を参照してください。 @@ -6447,33 +9671,50 @@ SELECT * FROM parent WHERE key = 2400; jit configuration parameter + + jit設定パラメータ + + +PostgreSQLが、可能ならばJITコンパイルを使うかどうかを決定します(を参照)。 +デフォルトはonです。 + + join_collapse_limit (integer) join_collapse_limit configuration parameter + + join_collapse_limit設定パラメータ + + +最終的にリストがこの項目数以下になる時、プランナは、明示的なJOIN構文(FULL JOINを除く)をFROM項目のリストに直します。 +この値を小さくすれば計画作成時間は減少しますが、劣った問い合わせ計画が作成される可能性があります。 + +デフォルトでは、この値はfrom_collapse_limitと同じ値に設定されており、殆どの場合に適切です。 +これを1に設定すると明示的なJOINの再順序付けは行われなくなります。 +したがって、問い合わせで指定された明示的結合順序は、関係(リレーション)が結合される実際の順序となります。 +問い合わせプランナは常に最適な結合順序を選択するとは限らないので、 +上級ユーザなら暫定的にこの変数を1に設定し、明示的に希望とする結合順序を指定してもよいでしょう。 +詳細はを参照してください。 + +この値をか、それ以上に設定するとGEQOプランナ使用の誘引となり、最適ではない計画をもたらします。を参照してください。 @@ -6499,9 +9750,13 @@ SELECT * FROM parent WHERE key = 2400; plan_cache_mode configuration parameter + + plan_cache_mode設定パラメータ + + +準備された文(明示的に準備されたものあるいはPL/pgSQLのように暗黙的に生成されたもののどちらにおいても)は、カスタムあるいは汎用(generic)プランで実行することができます。 +カスタムプランは実行ごとに指定されたパラメータ値の集合で新たに作られます。 +一方汎用プランはパラメータ値に依存せず、複数の実行にまたがって再利用できます。 +したがって、汎用プランはプランニングに要する時間を節約できますが、理想的なプランがパラメータ値に強く依存している場合は、汎用プランは非効率かも知れません。 +通常この両者の選択は自動的に行われますが、plan_cache_modeで上書きできます。 +可能な値はauto(デフォルト)、force_custom_planforce_generic_planです。 +この設定は、準備するときではなく、キャッシュされたプランを実行する際に考慮されます。 +詳細はをご覧ください。 @@ -6527,9 +9791,13 @@ SELECT * FROM parent WHERE key = 2400; recursive_worktable_factor configuration parameter + + recursive_worktable_factor設定パラメータ + + +再帰問い合わせのワーキング・テーブルの平均サイズのプランナの推定値を、問い合わせの最初の非再帰項の推定サイズの倍数として設定します。 +これにより、プランナは、ワーキング・テーブルを問い合わせの他のテーブルに結合するための最も適切な方法を選択できます。 +デフォルト値は10.0です。 +1.0などの小さい値は、最短パス問い合わせなど、あるステップから次のステップへの再帰が低い広がり方(fanout)の場合に役立ちます。 +グラフ分析の問い合わせでは、デフォルト値より大きい値が有効な場合があります。 @@ -6550,23 +9824,39 @@ SELECT * FROM parent WHERE key = 2400; + + エラー報告とログ出力 server log + + サーバログ + + + どこにログを出力するか where to log + + ログの出力先 + current_logfiles and the log_destination configuration parameter + + current_logfiles + およびlog_destination設定パラメータ + @@ -6575,9 +9865,13 @@ SELECT * FROM parent WHERE key = 2400; log_destination configuration parameter + + log_destination設定パラメータ + + +PostgreSQLは、stderrjsonlogcsvlogjsonlogおよびsyslogを含めて、サーバメッセージのログ出力に対し数種類の方法を提供します。 +Windowsでは、eventlogも同時に提供します。 +このパラメータを設定するには、カンマ区切りでお好みのログ出力先を記載します。 +デフォルトでは、ログはstderrのみに出力されます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 + +csvloglog_destinationに含まれる場合、ログ項目はプログラムへの読み込みが簡便なカンマ区切り値書式(CSV)で出力されます。 +詳細はを参照してください。 +CSV書式のログ出力を生成するためにはを有効にする必要があります。 + +jsonloglog_destinationに含まれる場合、ログ項目はプログラムへの読み込みが簡便なJSON書式で出力されます。 +詳細はを参照してください。 +JSON書式のログ出力を生成するためにはを有効にする必要があります。 + +stderrcsvlog、またはjsonlogのいずれかが含まれている場合、ファイルcurrent_logfilesが作成され、ロギングコレクタによって現在使用されているログファイルの場所と関連付けられたロギング先が記録されます。 +これにより、インスタンスによって現在使用されているログを簡単に見つけることができます。 +このファイルの内容の例を次に示します: stderr log/postgresql.log csvlog log/postgresql.csv jsonlog log/postgresql.json + +current_logfilesは、ローテーションの効果として新しいログファイルが作成されたとき、およびlog_destinationがリロードされたときに再作成されます。 +stderrcsvlogjsonlogのいずれもlog_destinationに含まれていないとき、およびロギングコレクタが無効になっているときに削除されます。 + +log_destinationsyslogオプションを使用できるようにするために、ほとんどのUnixシステムではシステムのsyslogデーモンの設定を変更しなければならないでしょう。 +PostgreSQLではログをLOCAL0からLOCAL7までのsyslogファシリティで記録することができます(を参照してください)。 +しかし、ほとんどのプラットフォームのデフォルトのsyslog設定ではこれらのメッセージはすべて破棄されます。 +うまく動作させるために local0.* /var/log/postgresql + +syslogデーモンの設定ファイルに追加しなければならないでしょう。 + +Windowsでlog_destinationに対しeventlogオプションを使用する場合、Windows Event Viewer がイベントログメッセージを手際良く表示できるよう、オペレーティングシステムでイベントソースとそのライブラリを登録しなければなりません。 +詳細はを参照ください。 @@ -6665,9 +9997,13 @@ local0.* /var/log/postgresql logging_collector configuration parameter + + logging_collector設定パラメータ + + +このパラメータはログ収集機構を有効にします。 +それはstderrに送られたログメッセージを捕捉し、ログファイルにリダイレクトするバックグラウンドプロセスです。 +この手法はsyslogへのログよりもしばしば有用です。 +メッセージの一部の種類がsyslogでは出力されない可能性があるためです。 +(一般的な例として、ダイナミックリンカのエラーメッセージがあり、その他の例としてarchive_commandのようなスクリプトにより生成されたエラーメッセージが挙げられます。) +このパラメータはサーバ起動時のみ設定可能です。 + +ログ収集機構を使用せずにstderrのログを取ることは可能です。 +ログメッセージはサーバのstderrが指し示すいかなる場所にも向かうだけです。 +しかし、その方法はログファイルを巡回させる都合のよい方法を提供しないので、ログ容量が小さい場合のみに適しています。 +同時に、ログ収集機構を使用しないいくつかのプラットフォームにおいては、ログ出力が失われたり、文字化けします。なぜなら、同一のログファイルに同時に書き込みを行うマルチプロセッサはそれぞれの出力を上書きできるからです。 + +ログ収集機構はメッセージを決して失わないために設計されています。 +これは、極端に高い負荷の場合、サーバプロセスはコレクタが遅れをとった場合、追加のログメッセージを送信しようと試みる時に阻止される可能性があります。 +それとは対象的にsyslogは、もし書き込みができなかったときメッセージの廃棄を選びます。 +これらの場合にはいくつかのログメッセージを失うことになりますが、残ったシステムを阻止しません。 @@ -6712,9 +10067,13 @@ local0.* /var/log/postgresql log_directory configuration parameter + + log_directory設定パラメータ + + +logging_collectorを有効と設定した場合、このパラメータはログファイルが作成されるディレクトリを確定します。 +ディレクトリは、絶対パス、もしくはデータベースクラスタのディレクトリに対する相対パスで指定することができます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトはlogです。 @@ -6731,9 +10095,13 @@ local0.* /var/log/postgresql log_filename configuration parameter + + log_filename設定パラメータ + + +logging_collectorが有効な場合、このパラメータは作成されたログファイルのファイル名を設定します。 +値はstrftimeパターンとして扱われるため、%エスケープを使用して、時刻によって変動するファイル名を指定することができます。 +(時間帯に依存した%エスケープが存在する場合、で指定された時間帯で計算が行われます。) +サポートされている%-エスケープはstrftime 仕様によく似ています。 +システムのstrftimeは直接使用されないので、プラットフォーム固有の(非標準)の拡張は動作しません。 +デフォルトはpostgresql-%Y-%m-%d_%H%M%S.logです。 + +エスケープすることなくファイル名を指定する場合、ディスク全体を使い切ってしまうことを防止するためにログローテーションを行うユーティリティを使用することを計画しなければなりません。 +8.4より前のリリースのPostgreSQLでは、%エスケープがなければ、新しいログファイルの生成時のエポック時刻を付与しますが、これはもはや当てはまりません。 + +CSV書式の出力がlog_destinationで有効な場合、タイムスタンプ付きのログファイル名に.csvを付与し、最終的なCSV書式出力用のファイル名が作成されます。 +(log_filename.logで終わる場合は後置詞が置き換えられます。) + +JSON書式の出力がlog_destinationで有効な場合、タイムスタンプ付きのログファイル名に.jsonを付与し、最終的なJSON書式出力用のファイル名が作成されます。 +(log_filename.logで終わる場合は後置詞が置き換えられます。) + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -6785,9 +10176,13 @@ local0.* /var/log/postgresql log_file_mode configuration parameter + + log_file_mode設定パラメータ + + +Unixシステムにおいては、logging_collectorが有効になっている場合、このパラメータはログファイルのパーミッションを設定します。 +(Microsoft Windowsではこのパラメータは無視されます。) +パラメータの値はchmod および umaskシステムコールで許容されるフォーマットで指定される数値モードであると期待されます。 +(慣例的な8進数フォーマットを使用する場合、番号は0(ゼロ)で始まらなければなりません。 + +デフォルトのパーミッションは0600で、意味するところはサーバの所有者のみログファイルの読み書きが可能です。 +そのほか一般的に実用的な設定は0640で、所有者のグループはファイルを読み込めます。 +しかし、これらの設定を活用するにはがクラスタデータディレクトリの外部のどこかにあるファイルを格納できるように変更する必要があります。 +いずれにせよ、それらは機密データを含む可能性があるため、ログファイルを誰もが読み取り可能にすることは賢明ではありません。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -6819,9 +10228,13 @@ local0.* /var/log/postgresql log_rotation_age configuration parameter + + log_rotation_age設定パラメータ + + +logging_collectorが有効な場合、このパラメータは個々のログファイルの最大寿命を決定します。 +ここで指定した時間経過すると、新しいログファイルが生成されます。 +この値が単位なしで指定された場合は、分単位であるとみなします。 +デフォルトは24時間です。 +ゼロに設定することで、時間に基づいた新しいログファイルの生成は無効になります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -6839,9 +10259,13 @@ local0.* /var/log/postgresql log_rotation_size configuration parameter + + log_rotation_size設定パラメータ + + +logging_collectorが有効な場合、このパラメータは個々のログファイルの最大容量を決定します。 +ここで指定したデータ量がログファイルに出力された後、新しいログファイルが生成されます。 +この値が単位なしで指定された場合は、キロバイト単位であるとみなします。 +デフォルトは10メガバイトです。 +ゼロに設定することで、サイズに基づいた新しいログファイルの生成は無効になります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -6860,9 +10291,13 @@ local0.* /var/log/postgresql log_truncate_on_rotation configuration parameter + + log_truncate_on_rotation設定パラメータ + + +logging_collectorが有効な場合、このパラメータにより、PostgreSQLは既存の同名のファイルに追加するのではなく、そのファイルを切り詰める(上書きする)ようになります。 +しかし、切り詰めは時間を基にしたローテーションのために新規にファイルが開かれた時にのみ発生し、サーバ起動時やサイズを基にしたローテーションでは発生しません。 +偽の場合、全ての場合において既存のファイルは追記されます。 +例えば、この設定をpostgresql-%H.logのようなlog_filenameと組み合わせて使用すると、24個の時別のログファイルが生成され、それらは周期的に上書きされることになります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 + +例:7日間のログを保存し、毎日のログを server_log.Monserver_log.Tue、等とし、そして自動的に前週のログを今週のログで上書きするには以下のように設定します。 +log_filenameserver_log.%aとし、log_truncate_on_rotationonにし、そしてlog_rotation_age1440に設定します。 + +例:24時間のログを保持、1時間おきに1つのログファイルを作成、ただし、ログファイルのサイズが1ギガバイトを超えた場合それより早く切り替えさせるには、log_filenameserver_log.%H%Mにし、log_truncate_on_rotationonにし、log_rotation_age60にし、そしてlog_rotation_size1000000に設定します。 +log_filename%Mを含めると、サイズを元にしたローテーションが時間毎の始めのファイル名とは異なる名前のファイルを選択するようにできます。 @@ -6903,9 +10352,13 @@ local0.* /var/log/postgresql syslog_facility configuration parameter + + syslog_facility設定パラメータ + + +syslogへのログ出力が有効な場合、このパラメータはsyslogfacilityが使われるように確定します。 +LOCAL0LOCAL1LOCAL2LOCAL3LOCAL4LOCAL5LOCAL6LOCAL7の中から選んでください。 +デフォルトはLOCAL0です。 +使用しているシステムのsyslogデーモンの文書を同時に参照してください。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -6926,9 +10385,13 @@ local0.* /var/log/postgresql syslog_ident configuration parameter + + syslog_ident設定パラメータ + + +syslogにログ出力が有効な場合、このパラメータはsyslogログ内のPostgreSQLメッセージを特定するのに使用するプログラム名を確定します。デフォルトはpostgresです。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -6945,25 +10411,37 @@ local0.* /var/log/postgresql syslog_sequence_numbers configuration parameter + + syslog_sequence_numbers設定パラメータ + + +syslogにログを出力している場合で、これがオン(デフォルト)であると、各メッセージには([2]のような)増加する順序数が頭に追加されます。 +これにより、多くのsyslogの実装がデフォルトで行う--- last message repeated N times ---による出力の抑止が回避されます。 +より近代的なsyslogの実装では、繰り返されるメッセージの抑止は設定変更できるので(たとえば、rsyslog)における$RepeatedMsgReduction)、この機能は必要ないかもしれません。 +繰り返されるメッセージを抑止したい場合には、これをオフにできます。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -6973,9 +10451,13 @@ local0.* /var/log/postgresql syslog_split_messages configuration parameter + + syslog_split_messages設定パラメータ + + +syslogへのログ出力が有効な場合、このパラメータはメッセージがどのようにsyslogに送られるかを規定します。 +オンなら(デフォルト)、メッセージは行に分割され、長い行は、伝統的なsyslog実装のサイズ上限である1024バイト以内に分割されます。 +オフならば、PostgreSQLサーバログメッセージは、そのままsyslogサービスに送られます。 +大きなサイズになるかもしれないメッセージにどう対応するかは、syslogサービス次第となります。 + +もしsyslogが最終的にテキストファイルにログを出力するのであれば、どちらに設定しても効果は同じです。 +設定値をオンにしておくのが最善です。 +多くのsyslogの実装では、長いメッセージを扱えないか、長いメッセージを扱うための特別な設定が必要だからです。 +しかし、syslogが最終的に他のメディアに書き込むのであれば、メッセージを論理的に一緒にしておくことが必要か、もしくは有用です。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -7006,14 +10502,21 @@ local0.* /var/log/postgresql event_source configuration parameter + + event_source設定パラメータ + + +event logへのログ出力が有効になっていると、このパラメータはログ中のPostgreSQLメッセージを特定するのに使用されるプログラム名を決定します。デフォルトはPostgreSQLです。 +このパラメータはサーバ起動時にのみ設定可能です。 @@ -7021,7 +10524,10 @@ local0.* /var/log/postgresql + + いつログを出力するか @@ -7030,9 +10536,13 @@ local0.* /var/log/postgresql log_min_messages configuration parameter + + log_min_messages設定パラメータ + + +どのメッセージレベルをサーバログに書き込むかを管理します。 +有効な値はDEBUG5DEBUG4DEBUG3DEBUG2DEBUG1INFONOTICEWARNINGERRORLOGFATAL、およびPANICです。 +それぞれの階層はその下の全ての階層を含みます。階層を低くする程、より少ないメッセージがログに送られます。 +デフォルトはWARNINGです。 +ここでのLOGの優先順位がの場合と異なることに注意してください。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -7055,9 +10572,13 @@ local0.* /var/log/postgresql log_min_error_statement configuration parameter + + log_min_error_statement設定パラメータ + + +エラー条件の原因となったどのSQL文をサーバログに記録するかを制御します。 +設定したレベル以上のメッセージについては現在のSQL文がログに記録されます。 +有効な値は、DEBUG5DEBUG4DEBUG3DEBUG2DEBUG1INFONOTICEWARNINGERRORLOGFATALPANICです。 +デフォルトはERRORです。 +エラー、ログメッセージ、致命的エラー、パニックを引き起こした文がログに記録されることを意味します。 +失敗した文の記録を実質的に無効にするには、このパラメータをPANICに設定してください。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -7086,9 +10615,13 @@ local0.* /var/log/postgresql log_min_duration_statement configuration parameter + + log_min_duration_statement設定パラメータ + + +文の実行に少なくとも指定した時間かかった場合、それぞれの文の実行に要した時間をログに記録します。 +例えば、250msと設定した場合、250msもしくはそれ以上長くかかった全てのSQL文がログとして残ります。 +このパラメータを有効にすることにより、アプリケーションで最適化されていない問い合わせを追跡するのが便利になります。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +0に設定すれば、すべての文の実行時間が出力されます。 +-1(デフォルト)は、文実行時間の記録を無効にします。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 + +これはを上書きします。つまり、問い合わせがこの設定を越えると、実行時間のサンプリングの対象にならず、常に記録されます。 + +拡張問い合わせプロトコルを使用するクライアントでは、Parse、Bind、Executeそれぞれの段階で要した時間が独立して記録されます。 + +このオプションとを一緒に使用する時、log_statementによって記録されるテキスト文は、実行時間のログには重複されません。 +syslogを使用していなければ、プロセスIDとセッションIDを使用して、文メッセージと後の実行時間メッセージを関連付けできるように、を使用してPIDまたはセッションIDをログに記録することを勧めます。 @@ -7136,9 +10687,13 @@ local0.* /var/log/postgresql log_min_duration_sample configuration parameter + + log_min_duration_sample設定パラメータ + + +指定した時間以上で実行完了した文の実行時間のサンプルを許可します。 +これによりと同様ですが、で制御するレートでサンプルされた実行時間のサブセットのログエントリを生成します。 +たとえば、100msに設定すると、100ミリ秒以上かかったSQL文がサンプルの対象となります。 +このパラメータを有効にすることで、トラフィックが多すぎてすべての問い合わせをログできない状況で助けになることもあります。 +この値を単位無しで指定すると、ミリ秒と見なされます。 +これをゼロに設定すると、すべての文の実行時間がサンプルされます。 +-1(デフォルトです)とすると、文の実行時間のサンプリングが無効になります。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 + +この設定はlog_min_duration_statementよりも優先度が低いです。つまり、log_min_duration_statementを超えた実行時間の文はサンプリングの対象となり、常に記録されます。 + +log_min_duration_statementのその他の注意事項もこの設定に適用されます。 @@ -7177,9 +10747,13 @@ local0.* /var/log/postgresql log_statement_sample_rate configuration parameter + + log_statement_sample_rate設定パラメータ + + +を越え、記録対象となる文の割合を決定します。 +サンプリングは確率論的で、たとえば0.5は2つの文のうちひとつが統計的に記録対象になることを意味します。 +デフォルトは1.0で、サンプルされた文はすべて記録対象となります。 +ゼロに設定すると、log_min_duration_sample-1にしたのと同じで、文の実行時間のサンプルを記録しません。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -7202,9 +10782,13 @@ local0.* /var/log/postgresql log_transaction_sample_rate configuration parameter + + log_transaction_sample_rate設定パラメータ + + +他の理由に加え、トランザクションの文のうち、ログの対象となる割合を設定します。 +文の実行時間にかかわらず、新しいトランザクションに適用されます。 +サンプリングは確率論的で、たとえば0.1は10のトランザクションのうちひとつが統計的に記録対象になることを意味します。 +デフォルトは0で、これは追加のトランザクションのログを取らないことを意味します。 +1に設定すると、すべてのトランザクションのすべての文のログを取ります。 +log_transaction_sample_rateは、トランザクションのサンプルを調査するのに役立ちます。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 + +他の文のログを取るオプション同様、このオプションも大きなオーバーヘッドを与える可能性があります。 @@ -7233,9 +10828,13 @@ local0.* /var/log/postgresql log_startup_progress_interval configuration parameter + + log_startup_progress_interval設定パラメータ + + +起動プロセスが実行中の長時間実行操作に関するメッセージをログに記録するまでの時間と、その操作に関する次の進行状況メッセージの間隔を設定します。 +デフォルトは10秒です。 +0に設定すると、この機能は無効になります。この値を単位なしで指定すると、ミリ秒とみなされます。 +この設定は、各操作に個別に適用されます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 + +たとえば、データディレクトリの同期に25秒かかり、その後、unloggedリレーションのリセットに8秒かかったとします。 +この設定がデフォルト値の10秒である場合、データディレクトリを同期するためのメッセージは、10秒間処理された後と20秒間処理された後に記録されますが、unloggedリレーションのリセットに関しては何も記録されません。 @@ -7261,15 +10870,22 @@ local0.* /var/log/postgresql + +で、PostgreSQLで使用されるメッセージ深刻度レベルを説明します。 +ログ出力がsyslogまたはWindowsのeventlogに送られる場合、この深刻度レベルは表で示すように変換されます。
+ + メッセージ深刻度レベル @@ -7277,8 +10893,14 @@ local0.* /var/log/postgresql + + 深刻度 + + 使用方法 syslog eventlog @@ -7287,63 +10909,87 @@ local0.* /var/log/postgresql DEBUG1 .. DEBUG5 + + 開発者が使用する連続的かつより詳細な情報を提供します。 DEBUG INFORMATION INFO + + VACUUM VERBOSEの出力などの、ユーザによって暗黙的に要求された情報を提供します。 INFO INFORMATION NOTICE + + 長い識別子の切り詰めに関する注意など、ユーザの補助になる情報を提供します。 NOTICE INFORMATION WARNING + + トランザクションブロック外でのCOMMITの様な、ユーザへの警告を提供します。 NOTICE WARNING ERROR + + 現在のコマンドを中断させる原因となったエラーを報告します。 WARNING ERROR LOG + + チェックポイントの活動の様な、管理者に関心のある情報を報告します。 INFO INFORMATION FATAL + + 現在のセッションを中断させる原因となったエラーを報告します。 ERR ERROR PANIC + + 全てのデータベースセッションを中断させる原因となったエラーを報告します。 CRIT ERROR @@ -7353,12 +10999,19 @@ local0.* /var/log/postgresql + + なにをログに出力するか + +ログに出力する内容は、セキュリティに影響を与える可能性があります。 +を参照してください。 @@ -7369,9 +11022,13 @@ local0.* /var/log/postgresql application_name configuration parameter + + application_name設定パラメータ + + +application_nameNAMEDATALEN文字未満の任意の文字列(標準ビルドでは64文字)にすることができます。 +これは通常、サーバへの接続時にアプリケーションによって設定されます。 +この名前はpg_stat_activityビューに表示され、CSVログエントリに含まれます。 +またパラメータにより通常のログ項目に含めることができます。 +application_name値には印字可能なASCII文字のみを使用できます。 +他の文字はCスタイルの16進エスケープ文字に置き換えられます。 @@ -7391,19 +11055,29 @@ local0.* /var/log/postgresql debug_print_parse configuration parameter + + debug_print_parse設定パラメータ + debug_print_rewritten (boolean) debug_print_rewritten configuration parameter + + debug_print_rewritten設定パラメータ + debug_print_plan (boolean) debug_print_plan configuration parameter + + debug_print_plan設定パラメータ + + +これらのパラメータは生成される各種デバッグ出力を有効にします。 +設定すると実行された問い合わせそれぞれに対し、最終的な解析ツリー、問い合わせリライタの出力、実行計画を出力します。 +これらのメッセージはLOGメッセージレベルで出力されますので、デフォルトではサーバログに出力され、クライアントには渡されません。 +またはその両方を調整することで変更することができます。 +デフォルトではこれらのパラメータは無効です。 @@ -7422,15 +11102,22 @@ local0.* /var/log/postgresql debug_pretty_print configuration parameter + + debug_pretty_print設定パラメータ + + +設定された場合、debug_pretty_printdebug_print_parsedebug_print_rewritten、またはdebug_print_planで生成されたメッセージを字下げします。 +設定されない場合のコンパクト形式よりもより見やすく、しかしより長いものとなります。デフォルトは有効です。 @@ -7441,9 +11128,14 @@ local0.* /var/log/postgresql log_autovacuum_min_duration configuration parameter + + log_autovacuum_min_duration + 設定パラメータ + + +少なくとも指定時間実行した場合、autovacuumで実行される各活動がログに残るようになります。 +これをゼロに設定すると、すべてのautovacuumの活動がログに残ります。 +-1はautovacuum活動のログを無効にします。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +例えば、これを250msに設定すると、250ms以上かかって実行されたautovacuumやanalyzeはすべてログに残ります。 +さらに、-1以外の値にこのパラメータが設定された場合、競合するロックや並行して削除されたリレーションによりautovacuum動作がスキップされるとメッセージはログに記録されます。 +デフォルトは10minです。 +このパラメータを有効にすることは、autovacuum活動の追跡に役に立ちます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -7467,14 +11170,23 @@ local0.* /var/log/postgresql log_checkpoints configuration parameter + + log_checkpoints設定パラメータ + + +チェックポイントおよびリスタートポイントをサーバログに記録するようにします。 +書き出されたバッファ数や書き出しに要した時間など、いくつかの統計情報がこのログメッセージに含まれます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトはonです。 @@ -7484,35 +11196,56 @@ local0.* /var/log/postgresql log_connections configuration parameter + + log_connections設定パラメータ + + +サーバへの各接続の情報をログに記録します。 +デフォルトは空文字列である''で、すべての接続ログを無効にします。 +以下のオプションは単独で指定することも、コンマで区切ったリストで指定することもできます。
+ + 接続ログのオプション + + 名前 + + 説明 receipt + + 接続の受信を記録します。 authentication + +ユーザを識別する認証方法で使用される元の識別子を記録します。 +ほとんどの場合、識別子はPostgreSQLのユーザ名と一致しますが、サードパーティの認証方法によっては、サーバが保存する前に元のユーザ識別子が変更されることがあります。 +認証が失敗した場合、この設定の値に関係なく常に記録されます。 authorization + +認証が正常に完了したことを記録します。 +この時点で接続は確立されていますが、バックエンドはまだ完全には設定されていません。 +ログメッセージには、認証されたユーザ名に加えて、データベース名とアプリケーション名(該当する場合)が含まれます。 setup_durations + +接続が最初の問い合わせを実行する準備ができるまで、接続の確立とバックエンドの設定にかかった時間を記録します。 +ログメッセージには、合計設定時間(postmasterが接続の着信を受け入れてから、接続が問い合わせ可能になった時点まで)、新しいバックエンドをフォークするのにかかった時間、およびユーザ認証にかかった時間の3つの期間が含まれます。 all + +すべてのオプションを指定するのと同じ便利な別名です。 +他のオプションのリストにallが指定されていると、すべての接続状況がログに記録されます。 @@ -7561,11 +11311,15 @@ local0.* /var/log/postgresql
+ +切断時のロギングはによって個別に制御されます。 + +下位互換性の目的で、onofftruefalseyesno1、および0は引き続きサポートされます。 +正の値はreceiptauthentication、およびauthorizationオプションを指定するのと同じです。 + +スーパーユーザと、適切なSET権限を持つユーザだけがセッション開始時にこのパラメータを変更でき、セッションが開始された後は変更できません。 + +psqlなどクライアントプログラムは、パスワードが要求されているかどうか確認するまで2回接続を試みるので、二重のconnection receivedメッセージは必ずしも問題を示すものではありません。
@@ -7597,9 +11360,13 @@ local0.* /var/log/postgresql log_disconnections configuration parameter + + log_disconnections設定パラメータ + + +セッションの終了をログします。 +ログ出力の情報はlog_connectionsと同様で、更にセッションの経過時間が追加されます。 +スーパーユーザと、適切なSET権限を持つユーザだけがセッション開始時にこのパラメータを変更でき、セッションが開始された後は変更できません。 +デフォルトはoffです。 @@ -7617,22 +11389,34 @@ local0.* /var/log/postgresql log_duration configuration parameter - + + log_duration設定パラメータ + + + +すべての完了した文について、その経過時間をログするようにします。 +デフォルトはoffです。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 + +拡張問い合わせプロトコルを使用するクライアントでは、Parse、Bind、Executeそれぞれの段階で要した時間が独立して記録されます。 + +log_durationを有効にするのとを0に設定する方法との違いは、log_min_duration_statementを超えた場合、テキスト版の問い合わせが強制的に出力されるのに対して、このオプションでは出力されないという点です。 +したがって、log_durationon、かつ、log_min_duration_statementが正の値を持つ場合、すべての経過時間がログに記録されますが、閾値を超えた文のみがテキスト版の問い合わせが含められるようになります。 +この動作は、高負荷なインストレーションで統計情報を収集する際に有用です。 @@ -7652,9 +11440,13 @@ local0.* /var/log/postgresql log_error_verbosity configuration parameter + + log_error_verbosity設定パラメータ + + +ログ出力されるそれぞれのメッセージに対し、サーバログに書き込まれる詳細の量を制御します。 +有効な値は、TERSEDEFAULT、およびVERBOSEで、それぞれは表示されるメッセージにより多くのフィールドを追加します。 +TERSEDETAILHINTQUERY、およびCONTEXTエラー情報を除外します。 +VERBOSE出力は、SQLSTATEエラーコード(も参照)、および、ソースコードファイル名、関数名、そしてエラーを生成した行番号を含みます。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -7675,15 +11473,24 @@ local0.* /var/log/postgresql log_hostname configuration parameter + + log_hostname設定パラメータ + + +デフォルトでは、接続ログメッセージは接続元ホストのIPアドレスのみを表示します。 +このパラメータを有効にすると、ホスト名もログに残るようになります。 +ホスト名解決方法の設定に依存しますが、これが無視できないほどの性能劣化を起こす可能性があることに注意してください。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -7693,9 +11500,13 @@ local0.* /var/log/postgresql log_line_prefix configuration parameter + + log_line_prefix設定パラメータ + + +これは、各ログ行の先頭に出力するprintfの書式文字列です。 +%から始まるエスケープシーケンスは、後述の通りのステータス情報で置き換えられます。 +この他のエスケープは無視されます。 +他の文字はそのままログ行に出力されます。 +エスケープの中には、セッションプロセスによってのみ認識可能なものがあり、これらはメインサーバプロセスなどのバックグラウンドプロセスでは空文字として扱われます。 +状態情報は%の後かつオプションの前に数字を指定することにより、左寄せまた右寄せにすることができます。 +数字が負ならば状態情報を右側に空白を詰めて最小限の幅にし、正の値は左に空白を詰めます。 +ログファイルではパディングは人間の視認性を向上させるので有用です。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +デフォルトは、タイムスタンプとプロセスIDをログ出力する'%m [%p] 'です。 + + エスケープ + + 効果 + + セッションのみ %a + + アプリケーション名 + + %u + + ユーザ名 + + %d + + データベース名 + + %r + + 遠隔ホスト名、またはIPアドレス、およびポート番号 + + %h + + 遠隔ホスト名、またはIPアドレス + + %L Local address (the IP address on the server that the client connected to) + + %b + + バックエンドタイプ + + × %p + + プロセス識別子 + + × %P + + このプロセスがパラレルクエリワーカーである場合に、パラレルグループリーダーのプロセス識別子 + + × %t + + ミリ秒無しのタイムスタンプ + + × %m + + ミリ秒付きタイムスタンプ + + × %n + + ミリ秒付きタイムスタンプ(Unixエポックとして) + + × %i + + コマンドタグ。セッションの現在のコマンド種類 + + %e + + SQLSTATE エラーコード + + × %c + + セッションID。下記参照 + + × %l + + 各セッションまたは各プロセスのログ行の番号。1から始まります。 + + × %s + + プロセスの開始タイムスタンプ + + × %v + + 仮想トランザクションID(procNumber/localXID)。 + を参照してください + + × %x + + トランザクションID(何もアサインされていない場合0)。 + 参照 + + × %q + + 何も出力しません。 + 非セッションプロセスではこのエスケープ以降の出力を停止します。 + セッションプロセスでは無視されます。 + + × %Q + + 現在の問い合わせの問い合わせ識別子。問い合わせ識別子はデフォルトでは計算されません。 + ですからパラメータが有効であるか、あるいは問い合わせ識別子を計算するサードパーティのモジュールが設定されていないければゼロとなります。 + + %% + + %文字そのもの + + × + +バックエンドタイプはpg_stat_activityビューのbackend_type列に関連します。しかし、ビューにない他のタイプがログに現れることがあります。 + +%cエスケープは、2つの4バイトの16進数(先頭のゼロは省略)をドットで区切った構成の、準一意なセッション識別子を表示します。 +この数値はプロセスの起動時間とそのプロセスIDです。 +したがって、%cを使用して、これらの項目を出力するための文字数を省略することができます。例として、pg_stat_activityからセッション識別子を生成するには以下の問い合わせを行ないます。 SELECT to_hex(trunc(EXTRACT(EPOCH FROM backend_start))::integer) || '.' || to_hex(pid) @@ -7878,26 +11853,38 @@ FROM pg_stat_activity; + +log_line_prefixに空白文字以外の値を設定する場合、通常、ログ行の残りとの区切りを明確にするために、その最後の文字を空白文字にすべきです。 +句読点用の文字も使用できます。 + +Syslogは独自にタイムスタンプとプロセスID情報を生成します。 +ですのでおそらく、Syslogにログを保管する場合は、こうしたエスケープを含めるとは考えないでしょう。 + +%qエスケープは、ユーザやデータベース名のように、セッション(バックエンド)コンテキストでのみ存在する情報を含める場合に有用です。 +%q log_line_prefix = '%m [%p] %q%u@%d/%a ' @@ -7906,11 +11893,14 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' + +識別子が計算できない不正な文も含め、log_statementは識別子が計算可能になる前に出力を生成するため、%Qエスケープは、が生成する行では常にゼロの識別子を報告します。 @@ -7921,15 +11911,24 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' log_lock_waits configuration parameter + + log_lock_waits設定パラメータ + + +セッションがロックの獲得までの間により長く待機する場合にログメッセージを生成するかどうかを制御します。 +これは、ロック待ちによって性能がでていないのかどうか確認する時に有用です。 +デフォルトはoffです。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -7939,9 +11938,13 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' log_lock_failures configuration parameter + + log_lock_failures設定パラメータ + + +ロック獲得が失敗したときに詳細なログメッセージを生成するかどうかを制御します。 +これは、ロックの獲得が失敗した原因を分析するのに役立ちます。 +現在、SELECT NOWAITによるロック獲得失敗のみがサポートされています。 +デフォルトはoffです。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -7959,19 +11968,30 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' log_recovery_conflict_waits configuration parameter + + log_recovery_conflict_waits設定パラメータ + + +スタートアッププロセスがdeadlock_timeoutよりも長くリカバリコンフリクトを待つ場合にログメッセージを出力するかどうかを制御します。 +リカバリコンフリクトによってリカバリがWALを適用するのを妨げられているかどうかを決定するのに有用です。 + +デフォルトはoffです。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -7981,9 +12001,13 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' log_parameter_max_length configuration parameter + + log_parameter_max_length設定パラメータ + + +ゼロよりも大きければ、エラーではない時にバインドパラメータ値が、文とともにこの指定バイト数に短縮されて記録されます。 +ゼロなら、エラーではない時のバインドパラメータ値と文の記録は行われません。 +-1(デフォルトです)ならバインドパラメータはすべて記録されます。 +この値が単位なしに指定されると、バイト単位と見なされます。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 + +この設定は、および関連設定の結果を表示するログメッセージにのみ影響します。 +ゼロ以外の値の設定は、とりわけパラメータがバイナリ形式で送信される際に多少のオーバーヘッドをもたらします。 +テキストへの変換が必要になるからです。 @@ -8009,18 +12044,28 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' log_parameter_max_length_on_error configuration parameter + + log_parameter_max_length_on_error設定パラメータ + + +ゼロよりも大きければ、エラー時のバインドパラメータ値が、エラーメッセージ中にこの指定バイト数に短縮されて記録されます。 +ゼロ(デフォルトです)ならエラーメッセージ中のバインドパラメータは記録されません。 +-1ならバインドパラメータはすべて記録されます。 +この値が単位なしに指定されると、バイト単位と見なされます。 + +ゼロ以外の値の設定は多少のオーバーヘッドをもたらします。 +エラーが起きるかどうかに関わらず、PostgreSQLは文を開始する際にテキスト形式のパラメータ値をメモリに保存する必要があるからです。 +パラメータがバイナリ形式で送信される場合にテキスト形式で送信するよりもオーバーヘッドが大きくなります。 +前者はデータ変換が必要なのに対し、後者は単に文字列をコピーするだけだからです。 @@ -8037,9 +12087,13 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' log_statement configuration parameter + + log_statement設定パラメータ + + +どのSQL文をログに記録するかを制御します。 +有効な値は、none(off)、ddlmod、およびall(全ての文)です。 +ddlは、CREATEALTER、およびDROP文といった、データ定義文を全てログに記録します。 +modは、全てのddl文に加え、INSERTUPDATEDELETETRUNCATE、およびCOPY FROMといった、データ変更文をログに記録します。 +PREPAREEXECUTEおよびEXPLAIN ANALYZEコマンドも、そこに含まれるコマンドが適切な種類であればログが録られます。 +拡張問い合わせプロトコルを使用するクライアントでは、Executeメッセージを受け取った時にBindパラメータの値が(すべての単一引用符が二重にされた状態で)含まれていた場合、ログに記録されます。 + +デフォルトはnoneです。 +スーパーユーザおよび適切なSET権限を持つユーザのみがこの設定を変更できます。 + +ログメッセージの発行は、基本解析により文の種類が決まった後に行われますので、log_statement = allという設定を行ったとしても、単純な構文エラーを持つ文は記録されません。 +拡張問い合わせプロトコルの場合も同様に、この設定ではExecute段階以前(つまり、解析や計画作成期間)に失敗した文は記録されません。 +こうした文のログを記録するには、log_min_error_statementERROR(以下)に設定してください。 + +ログに記録された文は、機密データを明らかにし、プレーンテキストのパスワードを含むことさえあります。 @@ -8087,15 +12160,24 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' log_replication_commands configuration parameter + + log_replication_commands設定パラメータ + + +サーバログに各レプリケーションコマンドと、walsenderプロセスのレプリケーションスロットの獲得/解放を記録します。 +レプリケーションコマンドの更なる情報はをご覧ください。 +デフォルト値はoffです。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -8105,9 +12187,13 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' log_temp_files configuration parameter + + log_temp_files設定パラメータ + + +一時ファイルのファイル名とサイズのログ出力を制御します。 +一時ファイルはソート処理やハッシュ処理、一時的な問い合わせの結果のために作成されます。 +この設定が有効になると、指定されたファイルのバイト単位の大きさを伴うログの項目が、すべての一時ファイルそれぞれについて削除されたときに生成されます。 +0を指定すると、すべての一時ファイル情報のログが残ります。 +正の数を指定すると、指定した以上の容量のファイルのみがログに残ります。 +この値が単位なしで指定された場合は、キロバイト単位であるとみなします。 +デフォルトの設定は-1で、このログ出力を無効にします。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 +この設定を変更できるのは、スーパーユーザと適切なSET権限を持つユーザだけです。 @@ -8129,9 +12225,13 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' log_timezone configuration parameter + + log_timezone設定パラメータ + + +サーバログに書き出す際に使用される時間帯を設定します。 +と異なり、すべてのセッションで一貫性を持ってタイムスタンプが報告されるようにこの値はクラスタ全体に適用されます。 +組み込まれているデフォルトはGMTですが、postgresql.confにより通常は上書きされます。initdbによりこれらと関連した設定をシステム環境にインストールされます。 +詳細はを参照してください。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -8148,9 +12254,13 @@ log_line_prefix = '%m [%p] %q%u@%d/%a '
+ + CSV書式のログ出力の利用 + +log_destinationリストにcsvlogを含めることは、ログファイルをデータベーステーブルにインポートする簡便な方法を提供します。このオプションはカンマ区切り値書式(CSV)で以下の列を含むログ行を生成します。 +ミリ秒単位のtimestamp、 +ユーザ名、 +データベース名、 +プロセスID、 +クライアントホスト:ポート番号、 +セッションID、 +セッション前行番号、 +コマンドタグ、 +セッション開始時間、 +仮想トランザクションID、 +通常トランザクションID、 +エラーの深刻度、 +SQLSTATEコード、 +エラーメッセージ、 +詳細エラーメッセージ、 +ヒント、 +エラーとなった内部的な問い合わせ(もしあれば)、 +内部問い合わせにおけるエラー位置の文字数、 +エラーの文脈、 +エラーの原因となったユーザ問い合わせ(存在しlog_min_error_statementで有効になっている場合)、 +エラー位置の文字数、 +PostgreSQLソースコード上のエラー発生場所(log_error_verbosityverboseに設定されているならば)、 +アプリケーション名、バックエンドタイプ、パラレルグループリーダーのプロセスID、問い合わせID。 +以下にcsvlog出力を格納するためのテーブル定義のサンプルを示します。 CREATE TABLE postgres_log @@ -8219,48 +12355,68 @@ CREATE TABLE postgres_log + +このテーブルにログファイルをインポートするためには、COPY FROMコマンドを使用してください。 COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; + +提供されたモジュールを使って外部テーブルとしてファイルをアクセスすることも可能です。 + +CSVログファイルをインポートする作業を単純にするためにいくつか必要な作業があります。 + +一貫性があり、予測可能なログファイル命名機構を提供するために、log_filenameおよびlog_rotation_ageを設定してください。 +これによりどのようなファイル名になると、個々のログファイルが完了しインポートする準備が整ったかが推測できるようになります。 + +ログファイル名の予測が困難になりますので、log_rotation_sizeを0にして容量を基にしたログの回転を無効にしてください。 + +同じファイルに古いログデータと新しいログデータが混在しないようにするために、log_truncate_on_rotationonに設定してください。 + +上のテーブル定義には主キーの指定が含まれています。 +これにより、同じ情報が2回インポートされる事故を防止するために有用です。 +COPYコマンドは、一度にインポートするすべてのデータをコミットしますので、何か1つでもエラーがあればインポート全体が失敗します。 +ログファイルの一部をインポートし、そのファイルが完了した後に再度インポートしようとした場合、主キー違反によりインポートが失敗します。 +インポートする前に、ログファイルの完了を待ち、閉じるまで待機してください。 +この手順は、COPYが失敗する原因となる、完全に書き込まれなかった欠落した行をインポートするという事故も防止します。 + + JSON書式のログ出力の利用 + +log_destinationリストにjsonlogを含めると、ログファイルをさまざまなプログラムにインポートするのに便利です。 +このオプションは、JSON書式のログ行を出力します。 + +NULL値を持つ文字列フィールドは出力から除外されます。 +将来、フィールドが追加される可能性があります。 +jsonlog出力を処理するユーザアプリケーションは不明なフィールドを無視する必要があります。 + +各ログ行はJSONオブジェクトとしてシリアライズされ、一連のキーとそれに関連する値がで示されます。 + + JSONログ項目のキーと値 + + キー名 + + + + 説明 timestamp string + + ミリ秒付きのタイムスタンプ user string + + ユーザ名 dbname string + + データベース名 pid number + + プロセスID remote_host string + + クライアントホスト remote_port number + + クライアントポート session_id string + + セッションID line_num number + + セッション単位の行番号 ps string + + 現在のps表示 session_start string + + セッション開始時刻 vxid string + + 仮想トランザクションID txid string + + 通常トランザクションID error_severity string + + エラー深刻度 state_code string + + SQLSTATEコード message string + + エラーメッセージ detail string + + エラーメッセージ詳細 hint string + + エラーメッセージヒント internal_query string + + このエラーの原因となった内部問い合わせ internal_position number + + 内部問い合わせへのカーソルインデックス context string + + エラーコンテキスト statement string + + クライアント提供の問い合わせ文字列 cursor_position number + + 問い合わせ文字列へのカーソルインデックス func_name string + + エラー位置関数名 file_name string + + エラー位置のファイル名 file_line_num number + + エラー位置のファイル行番号 application_name string + + クライアントアプリケーション名 backend_type string + + バックエンドの種類 leader_pid number + + 活動中のパラレルワーカーのリーダーのプロセスID query_id number + + 問い合わせ識別子 @@ -8460,13 +12737,21 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; + + プロセスのタイトル + +これらの設定項目は、サーバプロセスのタイトルを変更します。 +プロセスのタイトルは、典型的にはps、あるいはWindowsにおいてはProcess Explorerで見ることができます。 +詳細については、を参照してください。 @@ -8475,17 +12760,26 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; cluster_name configuration parameter + + cluster_name設定パラメータ + + +様々な目的のために、このデータベースクラスタ(インスタンス)を識別する名前を設定します。 +クラスタ名はこのクラスタのすべてのサーバプロセスのプロセスタイトルに現れます。 +更に、スタンバイ接続のデフォルトのアプリケーション名となります(参照)。 + +名前はNAMEDATALEN文字(標準のビルドでは64文字)より少ない文字列です。 +表示可能なASCII文字だけがcluster_nameの値として設定できます。 +他の文字は、Cスタイルの16進エスケープ文字に置き換えられます。 +空文字''(これがデフォルト値です)が設定されると、クラスタ名は表示されません。 +このパラメータはサーバ起動時にのみ設定できます。 @@ -8504,9 +12804,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; update_process_title configuration parameter + + update_process_title設定パラメータ + + +サーバが新しいSQLコマンドを受け取る時に毎回、プロセスタイトルを更新できるようにします。 +この設定値はたいていのプラットフォームでonがデフォルトになっていますが、Windowsではプロセスタイトルを更新するオーバーヘッドが大きいため、offがデフォルトになっています。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -8522,17 +12830,28 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; + + 実行時統計情報 + + 累積的な問い合わせ及びインデックスの統計情報 + +これらのパラメータは、サーバ全体の累積的な統計情報収集機能を制御します。 +統計情報収集が有効ならば、生成されるデータはpg_statpg_statio系のシステムビュー経由でアクセス可能です。 +詳細はを参照してください。 @@ -8542,9 +12861,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; track_activities configuration parameter + + track_activities設定パラメータ + + +各セッションで実行中のコマンドに関する情報と、そのコマンドの識別子および実行開始時刻の収集を有効にします。 +このパラメータはデフォルトで有効です。 +有効な場合であっても、スーパーユーザ、pg_read_all_statsロール権限を持つロール、報告対象のセッション(権限を持つロールに所属するセッションを含みます)の所有者のみから可視である点に注意してください。 +このためセキュリティ上の危険性はありません。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -8564,15 +12893,24 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; track_activity_query_size configuration parameter + + track_activity_query_size設定パラメータ + + +pg_stat_activity.queryフィールドに対し、それぞれの活動中のセッションで現在実行されているコマンドを追跡記録するため予約されるメモリ量を指定します。 +この値が単位なしで指定された場合は、バイト単位であるとみなします。 +デフォルトの値は1024バイトです。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -8582,14 +12920,22 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; track_counts configuration parameter + + track_counts設定パラメータ + + +データベースの活動についての統計情報の収集を有効にします。 +収集される情報を自動バキュームデーモンが必要とするため、このオプションはデフォルトで有効です。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -8599,9 +12945,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; track_cost_delay_timing configuration parameter + + track_cost_delay_timing設定パラメータ + + +コストベースのバキューム遅延の記録を有効にします(を参照)。 +このパラメータはデフォルトでは無効になっています。 +これは、オペレーティングシステムに現在の時刻を繰り返し問い合わせるため、一部のプラットフォームでは大きなオーバーヘッドが発生する可能性があるためです。 +ツールを使用して、システム上のタイミングのオーバーヘッドを測定できます。 +コストベースのバキューム遅延タイミング情報は、pg_stat_progress_vacuumpg_stat_progress_analyzeに表示されます。 +また、VERBOSEオプションが使用されているの出力、が設定されている場合はautovacuumで行われる自動バキューム処理と自動解析処理でも表示されます。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -8627,9 +12985,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; track_io_timing configuration parameter + + track_io_timing設定パラメータ + + +データベースによるI/O待機の記録を有効にします。 +このパラメータはデフォルトで無効になっています。 +その理由は、現時点の時刻をオペレーティングシステムに繰り返し問い合わせるので、プラットフォームによっては深刻な負荷の原因になるからです。 +使用しているシステムにおける記録の負荷を計測するためツールが使用できます。 +I/Oの記録情報は、pg_stat_databasepg_stat_ioobjectwalではない)、pg_stat_get_backend_io()関数(objectwalではない)の出力に表示されます。 +また、BUFFERSオプションが使用されているの出力、VERBOSEオプションが使用されているの出力、が設定されている場合はにより表示されます。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -8661,9 +13031,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; track_wal_io_timing configuration parameter + + track_wal_io_timing設定パラメータ + + +WALによるI/O待機の記録を有効にします。 +このパラメータはデフォルトで無効になっています。 +その理由は、現時点の時刻をオペレーティングシステムに繰り返し問い合わせるので、プラットフォームによっては深刻な負荷の原因になるからです。 +使用しているシステムにおける負荷のタイミングを計測するためpg_test_timingツールが使用できます。 +I/Oの記録情報は、objectwalpg_stat_io、およびobjectwalpg_stat_get_backend_io()関数の出力に表示されます。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -8687,9 +13068,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; track_functions configuration parameter + + track_functions設定パラメータ + + +関数の呼び出し数と費やされた時間の追跡を有効にします。 +手続き言語関数のみを追跡するためにはplと指定してください。 +SQL関数、C言語関数も追跡するためにはallと指定してください。 +デフォルトは、統計情報追跡機能を無効にするnoneです。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 + +呼び出す問い合わせ内にインライン化できる位単純なSQL言語関数は、この設定と関係なく、追跡されません。 @@ -8714,9 +13108,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; stats_fetch_consistency configuration parameter + + stats_fetch_consistency設定パラメータ + + +トランザクション内で累積的統計に複数回アクセスする場合の動作を決定します。 +noneに設定すると、各アクセスは共有メモリからカウンタを再フェッチします。 +cacheに設定すると、オブジェクトの統計への最初のアクセスは、pg_stat_clear_snapshot()が呼び出されない限り、トランザクションが終了するまでこれらの統計をキャッシュします。 +snapshotに設定すると、最初の統計アクセスは、pg_stat_clear_snapshot()が呼び出されない限り、トランザクションが終了するまで現在のデータベースでアクセス可能なすべての統計をキャッシュします。 +トランザクション内でこのパラメータを変更すると、統計情報のスナップショットは破棄されます。 +デフォルトはcacheです。 + +noneは、システムの監視に最も適しています。 +値が一度しかアクセスされない場合、最も効率的です。 +cacheは、繰り返しアクセスによって同じ値が生成されることを保証します。 +これは、自己結合などを含むクエリで重要です。 +snapshotは、統計情報を対話的に検査する場合に便利ですが、特に多くのデータベースオブジェクトが存在する場合にはオーバーヘッドが高くなります。 @@ -8748,7 +13160,10 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; + + 統計情報の監視 @@ -8756,9 +13171,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; compute_query_id configuration parameter + + compute_query_id設定パラメータ + + +組み込みの問い合わせ識別子の計算を有効にします。 +問い合わせ識別子は、pg_stat_activityビュー、EXPLAIN、あるいはパラメータが設定されていればログに出力されます。 +拡張も問い合わせ識別子の計算が必要です。 +組み込みの計算が許容できなければ、外部モジュールを代わりに利用することができることに注意してください。 +この場合、組み込みの計算は常に無効にしなければなりません。 +有効な値は、off(常に無効)、on(常に有効)、のようなモジュールによって自動的に有効になるauto、自動リグレッションテストを機能させるために、問い合わせ識別子がEXPLAIN出力に表示されないことを除けばautoと同じ効果を持つregressです。 +デフォルトはautoです。 + +一つの問い合わせ識別子のみが計算されて表示されることを確実にするために、問い合わせ識別子を計算する拡張は、問い合わせ識別子がすでに計算済みのときにエラーを生じるようにすべきです。 @@ -8793,24 +13223,37 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; log_statement_stats configuration parameter + + log_statement_stats設定パラメータ + log_parser_stats (boolean) log_parser_stats configuration parameter + + log_parser_stats設定パラメータ + log_planner_stats (boolean) log_planner_stats configuration parameter + + log_planner_stats設定パラメータ + log_executor_stats (boolean) log_executor_stats configuration parameter + + log_executor_stats設定パラメータ + + +各問い合わせに対し、対応するモジュールの性能に関する統計情報をサーバログに出力します。 +これは、Unixのgetrusage()オペレーティングシステム機能に類似した、雑なプロファイリング手段です。 +log_statement_statsは文に関する統計情報全体を、この他はモジュール毎の統計情報を報告します。 +log_statement_statsとモジュール毎のオプションを一緒に有効にすることはできません。 +デフォルトでこれらのオプションはすべて無効です。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -8831,26 +13281,46 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; + + Vacuum作業 vacuum configuration parameters + + vacuum + 設定パラメータ + + +これらのパラメータは、バキューム処理の挙動を制御します。 +バキュームの目的と責任の詳細はを参照してください。 + + 自動Vacuum作業 + +以下に示す設定は自動バキューム機能の動作を制御します。 +詳細はを参照してください。 +これらの設定の多くは、テーブル単位で変更できることに注意してください。 +を参照してください。 @@ -8860,9 +13330,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum configuration parameter + + autovacuum設定パラメータ + + +サーバが自動バキュームランチャデーモンを実行すべきかどうかを管理します。 +デフォルトでは有効です。 +しかし自動バキュームを作動させるためにはも有効でなければなりません。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、テーブル格納パラメータを変更することにより、自動バキュームは個々のテーブルに対して無効にできます。 + +このパラメータが無効であったとしてもシステムは、トランザクションIDの周回を防止する必要があれば、自動バキュームプロセスを起動することに注意してください。 +詳細はを参照してください。 @@ -8885,17 +13369,28 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_worker_slots configuration parameter + + autovacuum_worker_slots設定パラメータ + + +自動バキュームワーカープロセス用に予約するバックエンドのスロット数を指定します。 +デフォルトは通常16スロットですが、カーネル設定でサポートされない場合(initdb中に判定します)、それより少なくなる可能性があります。 +このパラメータはサーバ起動時のみ設定可能です。 + +この値を変更する場合は、を調整することも考慮してください。 @@ -8905,19 +13400,31 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_max_workers configuration parameter + + autovacuum_max_workers設定パラメータ + + +同時に実行することができる自動バキュームプロセス(自動バキュームランチャ以外)の最大数を指定します。 +デフォルトは3です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 + +よりも大きい値を設定しても効果はありません。 +これは、自動バキュームワーカーがこの設定によって確立されたスロットのプールから取得されるためです。 @@ -8927,9 +13434,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_naptime configuration parameter + + autovacuum_naptime設定パラメータ + + +あるデータベースについて実行される自動バキュームデーモンの最小遅延を指定します。 +それぞれの周期で、デーモンはそのデータベースを試験し、そしてそのデータベース内のテーブルで必要性が認められると、VACUUMおよびANALYZEコマンドを発行します。 +この値が単位なしで指定された場合は、秒単位であるとみなします。 +デフォルトは1分(1min)です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -8948,9 +13465,14 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_vacuum_threshold configuration parameter + + autovacuum_vacuum_threshold + 設定パラメータ + + +ある任意のテーブルでVACUUMが起動されるのに必要な更新もしくは削除されたタプルの最小数を指定します。 +デフォルトは50タプルです。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -8968,9 +13495,14 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_vacuum_insert_threshold configuration parameter + + autovacuum_vacuum_insert_threshold + 設定パラメータ + + +ある任意のテーブルでVACUUMが起動されるのに必要な挿入タプル数を設定します。 +デフォルトは1000タプルです。 +-1が指定されると、自動バキュームが挿入タプル数に基づいてVACUUM操作を引き起こすことはなくなります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -8990,9 +13528,14 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_analyze_threshold configuration parameter + + autovacuum_analyze_threshold + 設定パラメータ + + +ある任意のテーブルでANALYZEが起動されるのに必要な、挿入、更新、もしくは削除されたタプルの最小数を指定します。 +デフォルトは50タプルです。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -9010,9 +13558,14 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_vacuum_scale_factor configuration parameter + + autovacuum_vacuum_scale_factor + 設定パラメータ + + +VACUUMを起動するかどうか決定するときに、autovacuum_vacuum_thresholdに追加するテーブルサイズの割合を指定します。 +デフォルトは0.2(テーブルサイズの20%)です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -9031,9 +13589,14 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_vacuum_insert_scale_factor configuration parameter + + autovacuum_vacuum_insert_scale_factor + 設定パラメータ + + +VACUUMを起動するかどうか決めるときに、autovacuum_vacuum_insert_thresholdに追加するテーブルの未凍結なページの割合を指定します。 +デフォルトは0.2(テーブルで未凍結なページの20%)です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -9051,9 +13619,14 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_analyze_scale_factor configuration parameter + + autovacuum_analyze_scale_factor + 設定パラメータ + + +ANALYZEを起動するかどうか決めるときに、autovacuum_analyze_thresholdに追加するテーブルサイズの割合を指定します。 +デフォルトは0.1(テーブルサイズの10%)です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -9072,9 +13650,14 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_vacuum_max_threshold configuration parameter + + autovacuum_vacuum_max_threshold + 設定パラメータ + + +ある任意のテーブルでVACUUMが起動されるのに必要な更新または削除されたタプルの最大数、つまりautovacuum_vacuum_thresholdautovacuum_vacuum_scale_factorで計算される値の上限値を指定します。 +デフォルトは1億タプルです。 +-1を指定すると、自動バキュームは、VACUUM操作を起動する更新または削除されたタプルの最大数を強制しません。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -9096,18 +13685,27 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_freeze_max_age configuration parameter + + autovacuum_freeze_max_age + 設定パラメータ + + +トランザクションID周回を防ぐためにVACUUM操作が強制される前までにテーブルのpg_class.relfrozenxidフィールドが到達できる(トランザクションにおける)最大の年代を指定します。 +自動バキュームが無効であった時でも、システムは周回を防ぐために自動バキューム子プロセスを起動することに注意してください。 + +バキューム処理は同時にpg_xactサブディレクトリから古いファイルの削除を許可します。 +これが、比較的低い2億トランザクションがデフォルトである理由です。 +このパラメータはサーバ起動時にのみ設定可能です。 +しかし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルで減らすことができます。 +詳細はを参照してください。 @@ -9125,18 +13729,27 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_multixact_freeze_max_age configuration parameter + + autovacuum_multixact_freeze_max_age + 設定パラメータ + + +トランザクションID周回を防ぐためにVACUUM操作が強制される前までにテーブルのpg_class.relminmxidフィールドが到達できる(マルチトランザクションにおける)最大の年代を指定します。 +自動バキュームが無効であった時でも、システムは周回を防ぐために自動バキューム子プロセスを起動することに注意してください。 + +マルチトランザクションのバキューム処理は同時にpg_multixact/memberspg_multixact/offsetsサブディレクトリから古いファイルの削除を許可します。 +これが、比較的低い4億トランザクションがデフォルトである理由です。 +このパラメータはサーバ起動時にのみ設定可能です。 +しかし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルで減らすことができます。 +詳細はを参照してください。 @@ -9154,9 +13773,14 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_vacuum_cost_delay configuration parameter + + autovacuum_vacuum_cost_delay + 設定パラメータ + + +自動VACUUM操作に使用されるコスト遅延値を指定します。 +-1が指定されると、通常のの値が使用されます。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +デフォルト値は2ミリ秒です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -9176,9 +13807,14 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; autovacuum_vacuum_cost_limit configuration parameter + + autovacuum_vacuum_cost_limit + 設定パラメータ + + +自動VACUUM操作に使用されるコスト限界値を指定します。 +(デフォルトの)-1が指定されると、通常のの値が使用されます。 +実行中の自動バキュームワーカーが複数存在する場合、この値はすべてのワーカーに比例分配されることに注意してください。 +したがって各ワーカーの上限の合計がこの変数の値を超えることはありません。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -9198,9 +13841,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; + + コストに基づくVacuum遅延 + + および コマンドの実行中、実行される各種I/O操作の予測コストを追跡し続ける内部カウンタをシステムが保守します。 +累積されたコストが(vacuum_cost_limitで指定された)限度に達すると、操作を実行しているプロセスはvacuum_cost_delayで指定されたちょっとの間スリープします。その後、カウンタをリセットし、実行を継続します。 + +この機能の目的は、同時に実行されているデータベースの活動に対するこれらコマンドによるI/Oへの影響を、管理者が軽減できるようにすることです。 +VACUUM および ANALYZEの様な保守用コマンドが即座に終了することが重要ではない事態が数多くあります。 +しかし、他のデータベースの操作を行うに当たって、これらのコマンドがシステムの能力に多大な阻害を与えないことは通常とても重要です。 +コストに基づいたvacuum遅延はこれを実現するための方法を管理者に提供します。 + +手動で実行したVACUUMコマンドについては、デフォルトでこの機能は無効になっています。 +有効にするには、vacuum_cost_delay変数をゼロでない値に設定します。 @@ -9238,17 +13898,27 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_cost_delay configuration parameter + + vacuum_cost_delay設定パラメータ + + +コストの上限を越えた場合に、プロセスがスリープする時間の長さです。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +デフォルトの値は0で、コストに基づいたvacuum遅延機能を無効にします。 +正の整数はコストに基づいたvacuumを有効にします。 + +コストに基づいたバキューム処理を使用する場合、vacuum_cost_delayの適切な値は通常かなり小さくなり、おそらく1ミリ秒以下になります。 +バキュームによるリソース消費の調整は、他のバキュームのコストパラメータを変更して行うことが最善です。 +vacuum_cost_delayを1ミリ秒以下に設定することは可能ですが、そうした遅延は古いプラットフォームでは正確には計測されないかも知れません。 +そうしたプラットフォームでは、VACUUMのリソース消費制限を1ミリ秒のときに得られる値以上にするには、他のVACUUMコストパラメータの変更が必要となるでしょう。 +とは言うものの、使用するプラットフォームで常に計測できる範囲でvacuum_cost_delayをできるだけ小さくするようにしてください。 +大きな遅延は助けになりません。 @@ -9268,13 +13945,21 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_cost_page_hit configuration parameter + + vacuum_cost_page_hit設定パラメータ + + +共有バッファキャッシュにあるバッファをバキュームするための推定コストです。 +これは、バッファプールのロック、共有ハッシュテーブルの検索、およびページ内容をスキャンするためのコストを示します。 +デフォルトの値は1です。 @@ -9284,14 +13969,22 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_cost_page_miss configuration parameter + + vacuum_cost_page_miss設定パラメータ + + +ディスクから読み込まれなければならないバッファをバキュームするための推定コストです。 +これは、バッファプールロックの試み、共有ハッシュテーブルの参照、ディスクから目的ブロックの読み込み、そしてその内容をスキャンするためのコストを示します。 +デフォルトの値は2です。 @@ -9301,13 +13994,21 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_cost_page_dirty configuration parameter + + vacuum_cost_page_dirty設定パラメータ + + +以前掃除されたブロックをバキュームで変更するときに必要な推定コストです。 +これは、ダーティブロックを再度ディスクにフラッシュするのに必要な追加のI/Oを表します。 +デフォルトの値は20です。 @@ -9317,12 +14018,19 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_cost_limit configuration parameter + + vacuum_cost_limit設定パラメータ + + +これは、バキューム処理をvacuum_cost_delayの間スリープさせるための累積コストです。 +デフォルトの値は200です。 @@ -9330,6 +14038,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; + +重要なロックを保有し可能なかぎり早急に完了しなければならないある種の操作があります。コストに基づいたvacuum遅延はこの様な操作では起こりません。 +したがって、コストの累計が指定された限度をかなり高く超える可能性があります。 +このような場合無駄な長い遅延を防止するため、実際の遅延はvacuum_cost_delay * 4 を上限として、以下のように計算されます。 +vacuum_cost_delay * accumulated_balance / vacuum_cost_limit + + デフォルトの動作 @@ -9353,9 +14070,14 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_truncate configuration parameter + + vacuum_truncate + 設定パラメータ + + +テーブルの最後にある空のページを切り捨てようとするバキュームの機能を有効または無効にします。 +デフォルト値はtrueです。 +trueに設定すると、VACUUMと自動バキュームが切り捨てを行い、切り捨てられたページのディスク容量がオペレーティングシステムに返されます。 +切り捨てにはテーブルのACCESS EXCLUSIVEロックが必要であることに注意してください。 +VACUUMTRUNCATEパラメータが指定されている場合、このパラメータの値を上書きします。 +この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -9374,9 +14103,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; + + 凍結処理 + +トランザクションIDが周回した後でも正確さを維持するために、PostgreSQLは十分に古い行を凍結済みとして印付けます。 +これらの行はすべてのユーザに表示されます。 +他のトランザクションでは、挿入したXIDを調べて可視性を判断する必要はありません。 +VACUUMには、行を凍結状態として印付ける責任があります。 +次の設定はVACUUMの凍結動作を制御します。 +これらの設定は、システムのXID消費率と主要なワークロードのデータ参照パターンに基づいて調整する必要があります。 +トランザクションIDの周回とこれらのパラメータの調整の詳細については、を参照してください。 @@ -9395,9 +14136,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_freeze_table_age configuration parameter + + vacuum_freeze_table_age設定パラメータ + + +テーブルのpg_class.relfrozenxidフィールドがこの設定で指定した年代に達すると、VACUUMは積極的なテーブルスキャンを行います。 +積極的なスキャンは、無効タプルを含む可能性のあるページだけではなく、凍結されていないXIDあるいはMXIDを含むすべてのページを読む点で通常のVACUUMとは異なります。 +デフォルトは1.5億トランザクションです。 +ユーザはこの値をゼロから20億までの任意の値に設定することができますが、周回問題対策の自動バキュームがテーブルに対して起動する前に定期的な手動VACUUMが実行する機会を持つように、VACUUMは警告することなく実際の値をの95%に制限します。 +詳細はを参照してください。 @@ -9420,9 +14171,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_freeze_min_age configuration parameter + + vacuum_freeze_min_age設定パラメータ + + +VACUUMが、古いXIDを持つページの凍結を行うかどうかを決定する、カットオフ年代を(トランザクション単位で)指定します。 +デフォルトは5千万トランザクションです。 +ユーザはこの値をゼロから10億までの間で任意の値に設定することができますが、VACUUMは警告することなく実際の値をの半分の値まで制限します。 +このため、強制的な自動バキュームの間隔が不合理に短くなることはありません。 +詳細はを参照してください。 @@ -9442,9 +14203,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_failsafe_age configuration parameter + + vacuum_failsafe_age設定パラメータ + + +VACUUMがシステム全体に渡るトランザクションID周回障害を避けるために異例の措置を取るようになる、テーブルのpg_class.relfrozenxidフィールドが到達する最大の(トランザクション数単位での)年代を指定します。 +これはVACUUMの最後の手段となる戦略です。 +この安全機構は典型的には、トランザクションID周回を防ぐための自動バキュームがすでに走っているときに起動されます。 +しかし、すべてのVACUUMの実行中にこの安全機構が起動する可能性があります。 + +この安全機構が起動すると、すべての有効なコストに基づく遅延はもはや適用されず、(インデックスのバキュームのような)必須ではない保守タスクは迂回されます。 +使用中のバッファアクセスストラテジは無効になり、その結果VACUUM共有バッファのすべてを自由に使用することになります。 + +デフォルトは16億トランザクションです。 +ユーザはこの値をゼロから21億までの間で設定できますが、VACUUMは警告することなく実際の値をの105%よりも小さくならないように調整します。 @@ -9479,9 +14257,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_multixact_freeze_table_age configuration parameter + + vacuum_multixact_freeze_table_age設定パラメータ + + +pg_class.relminmxidフィールドがこの設定値で指定した年代に達すると、VACUUMはテーブルの積極的なスキャンを行います。 +積極的なスキャンは、無効タプルを含む可能性のあるページだけではなく、凍結されていないXIDあるいはMXIDを含むすべてのページを読む点で通常のVACUUMとは異なります。 +デフォルトは1億5千万トランザクションです。 +ユーザはゼロから20億まで任意の値を設定できますが、テーブルに対して周回防止処理が起動される前に定期的な手動VACUUMが走ることができるように、VACUUMは警告することなく実際の値をの95%まで制限します。 +詳細はを参照してください。 @@ -9503,9 +14291,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_multixact_freeze_min_age configuration parameter + + vacuum_multixact_freeze_min_age設定パラメータ + + +VACUUMが、古いマルチトランザクションIDを持つページの凍結を行うかどうかを決定する、カットオフ年代を(マルチトランザクション単位で)指定します。 +デフォルトは500万マルチトランザクションです。 +ユーザはゼロから10億まで任意の値を設定できますが、強制的な自動バキュームの間隔が短くなり過ぎないように、VACUUMは警告することなく実際の値をの半分の値に制限します。 +詳細はを参照してください。 @@ -9524,9 +14321,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_multixact_failsafe_age configuration parameter + + vacuum_multixact_failsafe_age設定パラメータ + + +VACUUMがシステム全体マルチトランザクションID周回障害を避けるために異例の措置を取るようになる、テーブルのpg_class.relminmxidフィールドが到達する最大の(マルチトランザクション数単位での)年代を指定します。 +これはVACUUM最後の手段となる戦略です。 +この安全機構は典型的には、マルチトランザクションID周回を防ぐための自動バキュームがすでに走っているときに起動されます。 +しかし、すべてのVACUUMの実行中にこの安全機構が起動する可能性があります。 + +この安全機構が起動すると、すべての有効なコストに基づく遅延はもはや適用されず、(インデックスのバキュームのような)必須ではない保守タスクは迂回されます。 + +デフォルトは16億マルチトランザクションです。 +ユーザはこの値をゼロから21億までの間で設定できますが、VACUUMは警告することなく実際の値をの105%よりも小さくならないように調整します。 @@ -9558,18 +14371,28 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; vacuum_max_eager_freeze_failure_rate configuration parameter + + vacuum_max_eager_freeze_failure_rate + 設定パラメータ + + +熱心なスキャンを無効にする前に、VACUUMがスキャンした時に可視性マップで全凍結と設定することに失敗するページの最大数(そのリレーション内の全ページ数に対する割合)を指定します。 +値が0の場合、熱心なスキャンは完全に無効になります。 +デフォルトは0.03(3%)です。 + +熱心なスキャンを有効にすると、凍結の失敗のみがカウントされ、凍結の成功はカウントされないことに注意してください。 +凍結に成功するページは、内部的には、そのリレーション内の全可視ではあるが全凍結ではないページの20%に制限されます。 +凍結に成功するページを制限すると、複数の通常のバキューム処理でオーバーヘッドを分散でき、次の積極的バキュームの前に再度修正されたページに対する熱心な凍結処理が無駄になるという潜在的な欠点を抑えることができます。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定は対応するテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 +バキュームの凍結動作の詳細については、を参照してください。 @@ -9597,10 +14429,16 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; + + クライアント接続デフォルト + + 文の動作 @@ -9608,9 +14446,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; client_min_messages configuration parameter + + client_min_messages設定パラメータ + + +どのメッセージレベルをクライアントに送るかを管理します。有効な値は、DEBUG5DEBUG4DEBUG3DEBUG2DEBUG1LOGNOTICEWARNINGおよびERRORです。 +それぞれのレベルはそれに続く全てのレベルを包含します。 +レベルが後の方になるにつれ、より少ないメッセージが送られます。 +デフォルトはNOTICEです。 +ここでのLOGの優先順位がの場合と異なることに注意してください。 + +INFOレベルのメッセージは常にクライアントに送られます。 @@ -9634,10 +14485,15 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; search_path configuration parameter + + search_path設定パラメータ + pathfor schemas + パススキーマへの + +この変数は、オブジェクト(テーブル、データ型、関数など)がスキーマを指定されていない単純な名前で参照されている場合に、スキーマを検索する順番を指定します。 +異なるスキーマに同じ名前のオブジェクトがある場合、検索パスで最初に見つかったものが使用されます。 +検索パス内のどのスキーマにも存在しないオブジェクトを参照するには、修飾名(ドット付き)でそのオブジェクトが含まれるスキーマを指定する必要があります。 + +search_pathの値は、スキーマの名前をカンマで区切った一覧でなければなりません。 +存在していないスキーマ、またはユーザがUSAGE権限を所有していないスキーマは警告なしに無視されます。 + +もしそのようなスキーマが存在し、ユーザがそれにたいしてUSAGE権限を所有している場合、一覧内の項目の1つが特別な名前である$userの場合、CURRENT_USERと同じ名前を持つスキーマがあれば、そのスキーマが置換されます。 +(このような名前空間がない場合は$userは無視されます。) + +システムカタログのスキーマであるpg_catalogは、パスでの指定の有無にかかわらず、常に検索されます。 +パスで指定されている場合は、指定された順序で検索されます。 +pg_catalogがパスに含まれていない場合、パスに含まれる項目を検索する前に検索が行われます + + +同様に、現在のセッションの一時テーブルスキーマpg_temp_nnnも、存在すれば常に検索されます。 +これはpg_temppg_tempという別名を使用してパスに明示的に列挙させることができます。 +パスに列挙されていない場合、最初に(pg_catalogよりも前であっても)検索されます。 +しかし、一時スキーマはリレーション(テーブル、ビュー、シーケンスなど)とデータ型名に対してのみ検索されます。 +関数や演算子名に対してはまったく検索されません。 + +対象となる特定のスキーマを指定せずにオブジェクトが作成された場合、それらのオブジェクトはsearch_pathで名前を付けられた最初に有効となっているスキーマに配置されます。 +検索パスが空の場合、エラーが報告されます。 + +このパラメータのデフォルト値は"$user", publicです。 +この設定はデータベースの共有(どのユーザも非公開のスキーマを持たず、全員がpublicを共有)、ユーザごとの非公開のスキーマ、およびこれらの組み合わせがサポートします。 +デフォルトの検索パスの設定を全体的またはユーザごとに変更することで、その他の効果を得ることもできます。 + +スキーマの扱いについての詳細は、をご覧ください。 +とりわけ、デフォルトの設定はデータベースのユーザが、一人あるいはお互いに信頼できる少数のユーザだけである場合にのみ適切です。 + +SQL関数のcurrent_schemas によって、検索パスの現在の有効な値を調べることができます(を参照してください)。 +これは、search_path の値を調べるのとは異なります。 +current_schemasは、search_pathに現れる項目がどのように解決されたかを表すからです。 @@ -9728,9 +14628,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; row_security configuration parameter + + row_security設定パラメータ + + +この設定値は、行セキュリティポリシーの適用によってエラーを生じさせるかどうかを制御します。 +onに設定すると、通常通りポリシーが適用されます。 +offにすると、少なくともひとつのポリシーが適用されたクエリは失敗します。 +デフォルトはonです。 +行の可視性が制限されている場合、offにすると不正な結果を招くことがあります。 +たとえば、pg_dumpはデフォルトでoffにしています。 +この設定値は、行セキュリティポリシーを迂回するロールには効果がありません。 +それはすなわち、BYPASSRLSアトリビュートを持つスーパーユーザです。 + +行セキュリティポリシーについての更なる情報はをご覧ください。 @@ -9754,14 +14670,21 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; default_table_access_method configuration parameter + + default_table_access_method設定パラメータ + + +このパラメータは、テーブルあるいはマテリアライズドビューの作成時にCREATEコマンドが明示的にアクセスメソッドを指定しないか、あるいはテーブルアクセスメソッドを指定できないSELECT ... INTOが利用された時に使われるデフォルトのテーブルアクセスメソッドを指定します。 +デフォルトはheapです。 @@ -9771,16 +14694,24 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; default_tablespace configuration parameter + + default_tablespace設定パラメータ + tablespacedefault + テーブル空間デフォルト + +この変数は、CREATEコマンドで明示的にテーブル空間を指定していない場合にオブジェクト(テーブルとインデックス)の作成先となるデフォルトのテーブル空間を指定します。 + +値はテーブル空間名、もしくは現在のデータベースのデフォルトのテーブル空間を使用することを意味する空文字列です。 +この値が既存のテーブル空間名と一致しない場合、PostgreSQLは自動的に現在のデータベースのデフォルトのテーブル空間を使用します。 +デフォルト以外のテーブル空間が指定された場合、ユーザはそのテーブル空間でCREATE権限を持たなければなりません。 +さもなくば作成に失敗します。 + +この変数は一時テーブル向けには使用されません。 +一時テーブル向けには代わりにが考慮されます。 + +また、この変数はデータベース作成時には使用されません。 +デフォルトでは、新しいデータベースはコピー元のテンプレートデータベースからテーブル空間の設定を引き継ぎます。 + +パーティションテーブルが作られたときにこのパラメータが空文字以外に設定されていると、default_tablespaceがその後変更されたとしても、パーティションテーブルのテーブル空間はその値になり、今後作られるパーティションのデフォルトテーブル空間として使われます。 + +テーブル空間に付いてより詳細な情報はを参照してください。 @@ -9821,9 +14771,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; default_toast_compression configuration parameter + + default_toast_compression設定パラメータ + + +この変数は圧縮可能な列の値のデフォルトTOAST圧縮方式を設定します。 +(これはCREATE TABLEあるいはALTER TABLECOMPRESSION列オプションを設定することにより、置き換えることができます。) +サポートされている圧縮方式は、pglzlz4PostgreSQLでコンパイルされている場合)です。 +デフォルトはpglzです。 @@ -9844,18 +14803,27 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; temp_tablespaces configuration parameter + + temp_tablespaces設定パラメータ + tablespacetemporary + テーブル空間一時的 + +この変数は、CREATEコマンドで明示的にテーブル空間が指定されない場合に、生成する一時オブジェクト(一時テーブルと一時テーブル上のインデックス)を格納するテーブル空間(複数可)を指定します。 +大規模データ集合のソートなどを目的とした一時ファイルもまた、このテーブル空間(複数可)に作成されます。 + +この値はテーブル空間名のリストです。 +リストに複数の名前が存在する場合、一時オブジェクトが作成される度にPostgreSQLは無作為にリストから要素を選択します。 +トランザクションの内側は例外で、連続して作成される一時オブジェクトはそのリストで連続するテーブル空間に格納されます。 +リスト内の選択された要素が空文字列だった場合、PostgreSQLは自動的に現在のデータベースのデフォルトのテーブル空間を代わりに使用します。 + +temp_tablespacesを対話式に設定する場合、存在しないテーブル空間を指定するとエラーになります。 +ユーザがCREATE権限を持たないテーブル空間を指定した場合も同様です。 +しかし事前に設定された値を使用する場合、存在しないテーブル空間は無視されます。 +ユーザがCREATE権限を持たないテーブル空間も同様です。 +具体的には、この規則はpostgresql.conf内で設定した値を使用する場合に適用されます。 + +デフォルト値は空文字列です。 +この結果、すべての一時オブジェクトは現在のデータベースのデフォルトのテーブル空間内に作成されます。 + +も参照してください @@ -9893,9 +14880,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; check_function_bodies configuration parameter + + check_function_bodies設定パラメータ + + +このパラメータは通常オンです。 +offに設定すると、の実行中の関数本体文字列の妥当性検証を無効にします。 +妥当性検証を無効にするとその妥当性検証処理の副作用を避け、前方参照による問題から起こる偽陽性(false positive)を避けることができます。 +関数をロードする前にこのパラメータを他のユーザとしてoffにします。 +pg_dumpはこれを自動的に行います。 @@ -9915,46 +14912,78 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; transaction isolation level setting default + + トランザクション分離レベル + デフォルト設定 + default_transaction_isolation configuration parameter + + default_transaction_isolation設定パラメータ + + +SQLトランザクションはそれぞれ、read uncommittedread committedrepeatable read、またはserializableのいずれかの分離レベルを持ちます。 +このパラメータは各新規トランザクションのデフォルトの分離レベルを制御します。 +デフォルトはread committedです。 + +より詳細は および を調べてください。 + + default_transaction_read_only (boolean) read-only transaction setting default + + 読み取り専用トランザクション + デフォルト設定 + default_transaction_read_only configuration parameter + + default_transaction_read_only設定パラメータ + + +読み取り専用のSQLトランザクションでは、非一時的テーブルを変更することができません。 +このパラメータは、各新規トランザクションのデフォルトの読み取りのみ状況を制御します。 +デフォルトoff(読み書き)です。 + +より詳細な情報はを調べてください。 @@ -9965,12 +14994,20 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; deferrable transaction setting default + + 遅延トランザクション + デフォルト設定 + default_transaction_deferrable configuration parameter + + default_transaction_deferrable設定パラメータ + + +シリアライザブル分離レベルで運用されている場合、繰り延べ読み取り専用SQLトランザクションは、その処理の許可の前に遅延されることがあります。 +しかし、ひとたび処理が開始されるとシリアライザブル可能性を保障するために必要ないかなるオーバーヘッドも発生させません。 +従って、シリアル化(直列化)のコードは、このオプションを長期間にわたる読み取り専用トランザクションに対して適切な処置と位置づけ、同時実行の更新の観点から中断を強制する理由はありません。 + +このパラメータはそれぞれの新規トランザクションのデフォルトでの繰り延べ状態を制御します。 +現時点では、読み取り専用トランザクション、またはシリアライザブルより低位の分離レベルの運用に対して効果はありません。 +デフォルトはoffです。 + +より詳細はを参照してください。 @@ -10001,14 +15050,22 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; transaction_isolation configuration parameter + + transaction_isolation設定パラメータ + + +このパラメータは現在のトランザクションの隔離レベルを反映します。 +個々のトランザクションの開始時、これにの現在の値が設定されます。 +その後のこの変数の値を変更する試みは、と同等です。 @@ -10021,14 +15078,22 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; transaction_read_only configuration parameter + + transaction_read_only設定パラメータ + + +このパラメータは現在のトランザクションの読み込み専用状態を反映します。 +個々のトランザクションの開始時、これにの現在の値が設定されます。 +その後のこの変数の値を変更する試みは、と同等です。 @@ -10041,14 +15106,22 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; transaction_deferrable configuration parameter + + transaction_deferrable設定パラメータ + + +このパラメータは現在のトランザクションの延期状態(deferrable status)を反映します。 +個々のトランザクションの開始時、これにの現在の値が設定されます。 +その後のこの変数の値を変更する試みは、と同等です。 @@ -10059,9 +15132,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; session_replication_role configuration parameter + + session_replication_role設定パラメータ + + +現在のセッションに対するレプリケーション関連のトリガおよびルールの起動を制御します。 +使用可能な値は、origin(デフォルト)、replicaおよびlocalです。 +このパラメータを設定すると、以前にキャッシュされた問い合わせ計画が破棄されます。 +スーパーユーザおよび適切なSET権限を持つユーザのみがこの設定を変更できます。 + +この設定の使い方の趣旨としては、レプリケーションされた更新を適用する際に論理レプリケーションシステムがreplicaに設定するということです。 +このことによる効果としては、(デフォルトの設定から変更されていない)トリガとルールはレプリカ上では起動されない、ということです。 +更なる情報は、ALTER TABLE節のENABLE TRIGGERENABLE RULEをご覧ください。 + +PostgreSQLはoriginlocalの設定を内部的に同じものとして扱います。 +サードパーティのレプリケーションシステムは内部的な目的、たとえばlocalを使ってレプリケーションされるべきでないセッションを指定するためにこれら2つの値を使って構いません。 + +外部キーはトリガとして実装されているため、このパラメータをreplicaとすることによって同時にすべての外部キー検査が無効になります。 +このことにより、正しく使用しないと、データを不整合状態にしてしまう可能性があります。 @@ -10103,18 +15198,28 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; statement_timeout configuration parameter + + statement_timeout設定パラメータ + + +コマンドがクライアントからサーバに届いた時から数えて、実行時間が指定された時間を越えた文を停止します。 +log_min_error_statementERRORもしくはそれ以下に設定されている場合は、タイムアウトした文はログに書き込まれます。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +値がゼロ(デフォルト)の場合、これを無効にします。 + +タイムアウトは、コマンドがサーバに到着したときから、サーバがそのコマンドの実行を完了するまでを基準にします。 +複数のSQL文が一つの単純問い合わせメッセージに含まれる場合、タイムアウトは個々のSQL文に別々に適用されます。 +(13よりも前のPostgreSQLバージョンでは、通常SQL文字列全体に対してタイムアウトが適用されていました。) +拡張問い合わせでは、タイムアウトは問い合わせに関するメッセージ(Parse、Bind、Execute、Describe)が到着したときに開始し、ExecuteあるいはSyncメッセージが完了した時にキャンセルされます。 + +すべてのセッションに影響することがあるので、postgresql.conf内でstatement_timeoutを設定することは推奨されません。 @@ -10139,32 +15252,50 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; transaction_timeout configuration parameter + + transaction_timeout設定パラメータ + + +トランザクションが指定された時間を超えていた場合に、このセッションを終了します。 +この時間制限は、明示的なトランザクション(BEGINで開始)と、単一の文に対応する暗黙的に開始されたトランザクションの両方に適用されます。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +値がゼロ(デフォルト)の場合はタイムアウトは無効になります。 + +transaction_timeoutidle_in_transaction_session_timeoutまたはstatement_timeoutより短いか、等しい場合、長い方のタイムアウトは無視されます。 + +すべてのセッションに影響することがあるので、postgresql.conf内でtransaction_timeoutを設定することは推奨されません。 + +準備されたトランザクションには、このタイムアウトは影響ありません。 @@ -10175,9 +15306,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; lock_timeout configuration parameter + + lock_timeout設定パラメータ + + +テーブル、インデックス、行、またはその他のデータベースオブジェクトに対してロック獲得を試みている最中、指定された時間を超えて待機するいかなる命令も停止されます。 +時間制限はそれぞれのロック取得の試みに対し個別に適用されます。 +制限は明示的ロック要求(例えばLOCK TABLE、またはSELECT FOR UPDATE without NOWAITなど)および暗黙的に取得されるロックに適用されます。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +値ゼロ(デフォルト)はこの機能を無効にします。 + +statement_timeoutと異なり、このタイムアウトはロックを待機しているときのみ発生します。 +命令によるタイムアウトは常に第一に起動されるため、もしstatement_timeoutが非ゼロであればlock_timeoutを同一、もしくはより大きい値に設定するのは的を射ていません。 +log_min_error_statementERRORまたはそれより低く設定されると、時間制限を超えた命令はログに記録されます。 + +lock_timeoutpostgresql.confにて設定することは、すべてのセッションに影響を与える可能性があるため推奨されません。 @@ -10212,23 +15361,37 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; idle_in_transaction_session_timeout configuration parameter + + idle_in_transaction_session_timeout設定パラメータ + + +開いているトランザクションが、指定された時間を超えてアイドルだった場合(つまりクライアントからの問い合わせを待っている場合)に、セッションを終了します。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +値がゼロ(デフォルト)の場合はタイムアウトは無効になります。 + +このオプションにより、アイドル状態のセッションが不合理なほど長い時間ロックを保持することを防ぐことができます。 +強いロックが保持されていなくても、開いたトランザクションは、自分にしか可視でない、最近無効になったタプルをvacuumが掃除するのを妨げます。 +ですから、長時間アイドルのままになっていると、テーブルの溢れにつながります。 +更なる詳細はを見てください。 @@ -10238,29 +15401,46 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; idle_session_timeout configuration parameter + + idle_session_timeout設定パラメータ + + +トランザクションが開いた状態ではなく、指定した時間よりも長い時間アイドル(すなわちクライアントからの問い合わせを待っている)であるセッションを終了させます。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +値ゼロ(デフォルトです)はタイムアウトを無効にします。 + +開いたトランザクションの場合と違って、トランザクションを伴わないアイドルなセッションは、サーバに対して大きなコストにはなりません。 +ですからこのタイムアウトを有効にする必要性は、idle_in_transaction_session_timeoutよりも低いと言えます。 + +コネクションプーリングソフトウェアその他のミドルウェアを通じたコネクションに対してこのタイムアウトを強制することには慎重になってください。 +そのようなレイヤは、突然のコネクション切断に対して好ましくない振る舞いをするかもしれないからです。 +おそらく特定のユーザに対してのみ適用し、対話形式のセッションに対してのみこのタイムアウトを有効にするのが助けになるかもしれません。 @@ -10270,15 +15450,24 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; bytea_output configuration parameter + + bytea_output設定パラメータ + + +bytea型の値の出力形式を設定します。 +有効な値はhex(デフォルト)、およびescape(PostgreSQLの伝統的な書式)です。 +より詳細はを参照してください。 +bytea型は常にこの設定に係わらず、入力時に双方の書式を受け付けます。 @@ -10288,9 +15477,13 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; xmlbinary configuration parameter + + xmlbinary設定パラメータ + + +バイナリデータをXMLに符号化する方法を設定します。 +例えばこれは、xmlelementxmlforest関数でbytea値をXMLに変換する際に適用されます。 +取り得る値はbase64hexです。 +どちらもXMLスキーマ標準で定義されています。 +デフォルトはbase64です。 +XMLに関連した関数についてはを参照してください。 + +実のところこの選択はほとんど趣味の問題で、クライアントアプリケーションで起こり得る制限のみに制約されます。 +どちらの方法もすべての値をサポートしますが、hex符号化方式はbase64符号化方式より少し大きくなります。 @@ -10316,15 +15520,22 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; xmloption configuration parameter + + xmloption設定パラメータ + SET XML OPTION XML option + + XMLオプション + + +XMLと文字列値との変換時にDOCUMENTとするかCONTENTとするかを設定します。 +この説明についてはを参照してください。 +有効な値はDOCUMENTCONTENTです。 +デフォルトはCONTENTです。 + +標準SQLに従うと、このオプションを設定するコマンドは以下のようになります。 SET XML OPTION { DOCUMENT | CONTENT }; + +この構文はPostgreSQLでも使用可能です。 @@ -10350,9 +15572,14 @@ SET XML OPTION { DOCUMENT | CONTENT }; gin_pending_list_limit configuration parameter + + gin_pending_list_limit + 設定パラメータ + + +fastupdateが有効なときに使用されるGINインデックスのペンディングリストの最大サイズを設定します。 +リストがこの設定値よりも大きくなったら、エントリをインデックスのGINの主データ構造に一括転送してリストはクリアされます。 +この値が単位なしで指定された場合は、キロバイト単位であるとみなします。 +デフォルトは4メガバイト(4MB)です。 +この設定は、個々のGINインデックスに対してインデックスストレージパラメータを変更することにより、上書きできます。 +更なる情報については、を参照してください。 @@ -10373,9 +15607,14 @@ SET XML OPTION { DOCUMENT | CONTENT }; createrole_self_grant configuration parameter + + createrole_self_grant + 設定パラメータ + + +CREATEROLEを持ち、SUPERUSERを持たないユーザがロールを作成し、これが空でない値に設定されている場合、新しく作成されたロールは、この指定されたオプションを持ち、ロールを作成したユーザに付与されます。 +値は、setinherit、またはこれらのリストをカンマで区切ったものである必要があります。 +デフォルト値は空の文字列であるため、この機能は無効になります。 + +このオプションの目的は、CREATEROLEが許可されているスーパーユーザではないユーザが、作成されたユーザを自動的に継承するか、またはSET ROLE権限を自動的に取得できるようにすることです。 +CREATEROLEユーザは、作成されたロールに対して常に暗黙的にADMIN OPTIONが付与されるため、そのユーザは、この設定と同じ効果を達成するGRANT文を常に実行できます。 +しかし、権限付与が自動的に行われることは、使用上の理由から便利です。 +スーパーユーザは、すべてのロールの権限を自動的に継承し、どのロールに対しても常にSET ROLEできます。 +また、この設定を使用して、CREATEROLEユーザが作成したユーザに対して同様の動作を生成できます。 @@ -10407,15 +15657,26 @@ SET XML OPTION { DOCUMENT | CONTENT }; event_triggers configuration parameter + + event_triggers + 設定パラメータ + + +イベントトリガの実行を一時的に無効化して、障害のあるイベントトリガのトラブルシューティングおよび修復を可能にします。 +falseに設定することですべてのイベントトリガが無効になります。 +値をtrueに設定すると、すべてのイベントトリガが起動します。 +これがデフォルト値です。 +スーパーユーザおよび適切なSET権限を持つユーザのみがこの設定を変更できます。 @@ -10426,13 +15687,22 @@ SET XML OPTION { DOCUMENT | CONTENT }; restrict_nonsystem_relation_kind configuration parameter + + restrict_nonsystem_relation_kind + 設定パラメータ + + +非システムリレーションへのアクセスが禁止されているリレーションの種類を設定します。 +値は、カンマで区切られたリレーションの種類のリストのフォームを取ります。 +現在サポートされているリレーション種別はviewforeign-tableです。 @@ -10440,7 +15710,10 @@ SET XML OPTION { DOCUMENT | CONTENT }; + + ロケールと書式設定 @@ -10449,9 +15722,13 @@ SET XML OPTION { DOCUMENT | CONTENT }; DateStyle configuration parameter + + DateStyle設定パラメータ + + +日付時刻値の表示書式を設定し、曖昧な日付入力の解釈規則を設定します。 +歴史的な理由により、この変数には2つの独立した要素が含まれています。 +出力書式指定(ISOPostgresSQLGerman)と年/月/日の順序の入出力指定(DMYMDYYMD)です。 +これらは分けて設定することもまとめて設定することもできます。 +EuroおよびEuropeanキーワードはDMYの同義語であり、USNonEuroNonEuropeanMDYの同義語です。 +詳細はを参照してください。 +組み込みのデフォルトはISO, MDYですが、initdbにより、選択されたlc_timeロケールの動作に対応した設定で設定ファイルが初期化されます。 @@ -10477,9 +15762,13 @@ SET XML OPTION { DOCUMENT | CONTENT }; IntervalStyle configuration parameter + + IntervalStyle設定パラメータ + + +間隔の値の表示形式を設定します。sql_standard値は、標準SQL間隔リテラルに一致する出力を生成します。 +(デフォルトの)値postgresは、パラメータがISOに設定されている場合、リリース8.4以前のPostgreSQLに一致する出力を生成します。 +値postgres_verboseは、DateStyleパラメータが非ISO出力に設定されている場合、リリース8.4以前のPostgreSQLに一致する出力を生成します。 +値iso_8601は、ISO 8601の4.4.3.2節で定義されている時間間隔format with designatorsに一致する出力を生成します。 + +またIntervalStyleパラメータはあいまいに入力された時間間隔の解釈に影響を与えます。 +詳細についてはを参照してください。 @@ -10508,15 +15806,24 @@ SET XML OPTION { DOCUMENT | CONTENT }; TimeZone configuration parameter + + TimeZone設定パラメータ + time zone + 時間帯 + +表示用およびタイムスタンプ解釈用の時間帯を設定します。 +組み込まれているデフォルトはGMTですが、通常はpostgresql.confにより上書きされます。initdbによりこれらと関連した設定をシステム環境にインストールされます。 +詳細はを参照してください。 @@ -10526,10 +15833,15 @@ SET XML OPTION { DOCUMENT | CONTENT }; timezone_abbreviations configuration parameter + + timezone_abbreviations設定パラメータ + time zone names + 時間帯名 + +サーバで日付時刻の入力として受付け可能となる追加の時間帯省略形の集合を設定します(現在のTimeZone設定によって定義された略語を除きます)。 +デフォルトは'Default'です。 +これはほぼ全世界で通じる集合です。 +また、'Australia''India'、およびその他特定のインストレーションで定義可能な集合が存在します。 +詳細はを参照してください。 @@ -10547,21 +15865,35 @@ SET XML OPTION { DOCUMENT | CONTENT }; significant digits + + 有効数字 + floating-point display + + 浮動小数点 + 表示 + extra_float_digits configuration parameter + + extra_float_digits設定パラメータ + + +このパラメータは、float4float8、幾何データ型などにおいて、浮動小数点数値のテキスト形式の出力で使用される桁数を調整します。 + +この値が1(デフォルト)あるいはそれ以上なら、浮動小数点数値の出力は最も短い精度の形式で出力されます。 +を参照してください。 +生成される実際の桁数は出力される値にのみ依存します。 +float8値では最大でも17桁、float4値では最大9桁必要です。 +この形式は高速かつ高精度で、正しく読まれる際には元の2進数における浮動小数点値を正確に保存します。 +歴史的な互換性の理由により、3までの値が許容されています。 + +この値がゼロまたは負なら、出力は与えられた10進精度に丸められます。 +使用される精度は、各々の型の標準的の桁数(型に応じてFLT_DIGあるいはDBL_DIG)がこのパラメータの値により制限されたものになります。 +(たとえば、-1にするとfloat4値は5桁に、float8値では14桁に丸められます。) +この形式は低速、かつ元の2進数における浮動小数点値のビットを保存しませんが、人間にとってより読みやすいかも知れません。 + +このパラメータの意味とデフォルト値はPostgreSQL 12で変更されました。 +更なる説明についてはをご覧ください。 @@ -10597,14 +15946,22 @@ SET XML OPTION { DOCUMENT | CONTENT }; client_encoding configuration parameter + + client_encoding設定パラメータ + character set + 文字集合 + +クライアント側符号化方式(文字集合)を設定します。デフォルトはデータベース符号化方式を使用します。 +PostgreSQLサーバでサポートされている文字集合はに記載されています。 @@ -10614,27 +15971,42 @@ SET XML OPTION { DOCUMENT | CONTENT }; lc_messages configuration parameter + + lc_messages設定パラメータ + + +メッセージが表示される言語を設定します。使用可能な値はシステムに依存します。詳細についてはを参照してください。 +この変数が空に設定された場合(これがデフォルトです)、値はシステムに依存する方法でサーバの実行環境から継承されます。 + +システムによっては、このロケールのカテゴリが存在しません。この変数を設定することはできますが、実効性はありません。 +また、指定の言語に翻訳されたメッセージが存在しないこともあります。 +その場合は、引き続き英語のメッセージが表示されます。 + +この設定を変更できるのは、スーパーユーザと適切なSET権限を持つユーザだけです。 @@ -10644,9 +16016,13 @@ SET XML OPTION { DOCUMENT | CONTENT }; lc_monetary configuration parameter + + lc_monetary設定パラメータ + + +通貨書式で使用するロケールを設定します。 +例えば、to_char()系の関数で使用します。 +使用可能な値はシステムに依存します。 +詳細についてはを参照してください。 +この変数が空に設定された場合(これがデフォルトです)、値はシステムに依存する方法でサーバの実行環境から継承されます。 @@ -10663,9 +16045,13 @@ SET XML OPTION { DOCUMENT | CONTENT }; lc_numeric configuration parameter + + lc_numeric設定パラメータ + + +数字の書式で使用するロケールを設定します。 +例えば、to_char系の関数で使用します。 +使用可能な値はシステムに依存します。 +詳細についてはを参照してください。 +この変数が空に設定された場合(これがデフォルトです)、値はシステムに依存する方法でサーバの実行環境から継承されます。 @@ -10682,9 +16074,13 @@ SET XML OPTION { DOCUMENT | CONTENT }; lc_time configuration parameter + + lc_time設定パラメータ + + +例えばto_char系関数における、日付と時間の書式で使用するロケールを設定します。 +使用可能な値はシステムに依存します。 +詳細についてはを参照してください。 +この変数が空に設定された場合(これがデフォルトです)、値はシステムに依存する方法でサーバの実行環境から継承されます。 @@ -10701,9 +16102,13 @@ SET XML OPTION { DOCUMENT | CONTENT }; icu_validation_level configuration parameter + + icu_validation_level設定パラメータ + + +ICUロケール検証の問題が発生した場合、問題を報告するために使用されるメッセージレベルを制御します。 +有効な値は、DISABLEDDEBUG5DEBUG4DEBUG3DEBUG2DEBUG1INFONOTICEWARNINGERROR、および LOGです。 + +DISABLEDに設定すると、検証で見つかった問題は全く報告されません。 +それ以外の場合は、指定したメッセージレベルの問題が報告されます。 +デフォルトはWARNINGです。 @@ -10727,9 +16140,13 @@ SET XML OPTION { DOCUMENT | CONTENT }; default_text_search_config configuration parameter + + default_text_search_config設定パラメータ + + +明示的な設定指定引数を持たないテキスト検索関数の亜種で使用される、テキスト検索設定を選択します。 +詳細はを参照してください。 +組み込みのデフォルトはpg_catalog.simpleですが、initdbは、ロケールに合う設定を認識することができれば、選択されたlc_ctypeロケールに対応した設定で設定ファイルを初期化します。 @@ -10748,9 +16169,13 @@ SET XML OPTION { DOCUMENT | CONTENT }; + + 共有ライブラリのプリロード + +追加機能や性能改良の目的で共有ライブラリをプリロードするいくつかの設定があります。 +たとえば'$libdir/mylib'を設定するとmylib.so(あるいは他のプラットフォームではmylib.sl)を導入設定したの標準ディレクトリからプリロードします。 +各設定の違いは、設定変更を行うためにいつ、どのような権限が必要かにあります。 + +典型的には'$libdir/plXXX'のような構文を用いてPostgreSQL手続き言語ライブラリをこの方法でプリロードできます。 +XXXpgsqlperltclpythonです。 + +PostgreSQLで使用することを意図したライブラリだけがこの方法でロードできます。 +すべてのPostgreSQL用のライブラリはmagic blockを持ち、互換性を保証するためにチェックされます。 +ですからPostgreSQL用ではないライブラリはこの方法ではロードできません。 +LD_PRELOADのようなOSの機能を使えばあるいは使用できるかもしれません。 + +一般的に言ってモジュールのドキュメントを参照し、推奨される方法でロードしてください。 @@ -10789,12 +16231,16 @@ SET XML OPTION { DOCUMENT | CONTENT }; local_preload_libraries configuration parameter + + local_preload_libraries設定パラメータ + $libdir/plugins + +この変数は、接続時に事前読み込みされる、1つまたは複数の共有ライブラリを指定します。 +ここにはカンマ区切りでライブラリ名のリストを格納し、各々の名前はLOADコマンドで解釈されます。 +項目の間の空白は無視されます。 +名前の中に空白あるいはカンマを含める場合は、二重引用符で囲ってください。 +このパラメータは、接続の開始時にのみ効果があります。 +以降の変更は効果がありません。 +もし指定したライブラリが見つからない場合は、接続は失敗します。 + +このオプションはすべてのユーザが設定できます。 +この理由で、読み込み可能なライブラリはインストレーションの共有ライブラリディレクトリのサブディレクトリplugins内にあるものに制限されています。 +(確実に安全なライブラリのみをここにインストールすることはデータベース管理者の責任です。) +local_preload_libraries内の項目で、たとえば$libdir/plugins/mylibのようにこのディレクトリを明示的に指定することも、単にライブラリ名を指定することも可能です。 +mylib$libdir/plugins/mylibと同じ効果です。 + +この機能の意図するところは、明示的なLOADコマンドを使わずに、特定のセッションにおいて非特権ユーザがデバッグ用あるいは性能計測用のライブラリをロードできるようにすることにあります。 +そのためにも、クライアント側でPGOPTIONS環境変数を使う、あるいはALTER ROLE SETを使うことが典型的になるでしょう。 + +しかし、モジュールが特にスーパーユーザ以外に使われることを意図しているのでない限り、通常この方法は正しい使い方ではありません。 +代わりにを見てください。 @@ -10843,9 +16312,13 @@ SET XML OPTION { DOCUMENT | CONTENT }; session_preload_libraries configuration parameter + + session_preload_libraries設定パラメータ + + +この変数は、接続時に事前読み込みされる、1つまたは複数の共有ライブラリを指定します。 +ここにはカンマ区切りでライブラリ名のリストを格納し、各々の名前はLOADコマンドで解釈されます。 +項目の間の空白は無視されます。 +名前の中に空白あるいはカンマを含める場合は、二重引用符で囲ってください。 +このパラメータは、接続の開始時にのみ効果があります。 +以降の変更は効果がありません。 +もし指定したライブラリが見つからない場合は、接続は失敗します。 +スーパーユーザおよび適切なSET権限を持つユーザのみがこの設定を変更できます。 + +この機能は、デバッグや性能測定の目的でLOADコマンドを使わずに特定のセッションでライブラリをロードする目的で使われます。 +たとえばALTER ROLE SETで設定することにより、特定のユーザが開始するすべてのセッションでが有効になります。 +また、このパラメータはサーバを再起動せずに変更できます(しかし変更は新しいセッションが開始するときにのみ有効となります)。すべてのセッションで有効にしたいのであれば、この方法で新しいモジュールを容易に追加できます。 + +と違って、ライブラリがはじめて使われるときにロードする方法と比べてセッションが開始するときにライブラリをロードする方法には大きな性能的な優位性はありません。 +しかし、コネクションプーリングを使うのであれば、いくらか優位性があります。 @@ -10886,9 +16377,13 @@ SET XML OPTION { DOCUMENT | CONTENT }; shared_preload_libraries configuration parameter + + shared_preload_libraries設定パラメータ + + +この変数はサーバ起動時にプリロードされる一つ以上の共有ライブラリを指定します。 +ここにはカンマ区切りでライブラリ名のリストを格納し、各々の名前はLOADコマンドで解釈されます。 +項目の間の空白は無視されます。 +名前の中に空白あるいはカンマを含める場合は、二重引用符で囲ってください。 +このパラメータはサーバ起動時のみ設定可能です。 +もし指定したライブラリが見つからない場合は、サーバの起動は失敗します。 + +ライブラリによってはpostmaster起動時にのみ可能な操作を実行する必要があるものがあります。 +たとえば、共有メモリの獲得、軽量ロックの予約、バックグラウンドワーカーの起動などです。 +このようなライブラリはこのパラメータを使ってサーバ起動時にロードしなければなりません。 +詳細は各ライブラリのドキュメントを見てください。 + +これ以外のライブラリもプリロードできます。 +共有ライブラリをプリロードすることにより、最初にライブラリが使われる際にライブラリが起動する時間を避けることができます。 +しかし、そのライブラリが使われないとしても、サーバプロセスが起動する時間がわずかに長くなる可能性があります。 +したがって、この方法は、ほとんどのセッションで使われるライブラリにのみ使用することを推奨します。 +また、パラメータの変更にはサーバの再起動が必要になります。 +ですから、たとえば短期のデバッグ仕事にこの設定を使うのは適当とは言えません。 +を代わりに使ってください。 + +Windowsのホストでは、ライブラリのプリロードは、新しいサーバプロセスの起動に要する時間を短縮しません。 +個々のサーバプロセスは、すべてのプリロードライブラリを再読み込みします。 +それでもpostmaster起動時に操作を実行しなければならないライブラリを使用するWindowsホストにとってはshared_preload_librariesは有用です。 @@ -10936,20 +16458,32 @@ SET XML OPTION { DOCUMENT | CONTENT }; jit_provider configuration parameter + + jit_provider設定パラメータ + + +この変数は、使用するJITプロバイダライブラリ(参照)の名前です。 +デフォルトはllvmjitです。 +このパラメータはサーバ起動時のみ設定可能です。 + +存在しないライブラリが指定されると、JITは利用できませんが、エラーは起こりません。 +これにより、PostgreSQLパッケージとは別にJITサポートをインストールできるようになります。 @@ -10958,7 +16492,10 @@ SET XML OPTION { DOCUMENT | CONTENT }; + + その他のデフォルト @@ -10967,19 +16504,27 @@ SET XML OPTION { DOCUMENT | CONTENT }; dynamic_library_path configuration parameter + + dynamic_library_path設定パラメータ + dynamic loading + 動的ロード + +オープンする必要がある動的ロード可能なモジュールについて、そのCREATE FUNCTIONLOADコマンドで指定されたファイル名にディレクトリ要素がなく(つまり、名前にスラッシュが含まれずに)指定された場合、システムは必要なファイルをこのパスから検索します。 + +dynamic_library_pathの値は、絶対パスのディレクトリ名をコロン(Windowsの場合はセミコロン)で区切った一覧です。 +この一覧の要素が特別な$libdirという値から始まる場合、コンパイルされたPostgreSQLパッケージのライブラリディレクトリで$libdirは置換されます。 +ここには、PostgreSQLの標準配布物により提供されるモジュールがインストールされます。 +(このディレクトリ名を表示するには、pg_config --pkglibdir を使用してください。) +例を以下に示します。 dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir' + +Windows環境の場合は以下です。 dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' + +このパラメータのデフォルト値は'$libdir'です。 +この値が空に設定された場合、自動的なパス検索は無効になります。 + +このパラメータはスーパーユーザと、適切なSET権限を持つユーザによって実行時に変更することができますが、この方法での設定は、そのクライアント接続が終わるまでしか有効になりません。 +ですので、この方法は開発目的でのみ使用すべきです。 +推奨方法はこのパラメータをpostgresql.conf設定ファイル内で設定することです。 @@ -11022,17 +16585,26 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' extension_control_path configuration parameter + + extension_control_path設定パラメータ + + +拡張機能、特に拡張制御ファイル(name.control)を検索するためのパスです。 +残りの拡張スクリプトと副制御ファイルは、主制御ファイルが見つかったディレクトリと同じディレクトリからロードされます。 +詳細はを参照してください。 + +extension_control_pathの値は、絶対パスのディレクトリ名をコロン(Windowsの場合はセミコロン)で区切った一覧です。 +この一覧の要素が$systemという特別な値から始まる場合、$systemはコンパイルされたPostgreSQLの拡張用のディレクトリで置換されます。 +ここには、PostgreSQLの標準配布物により提供される拡張機能がインストールされます。 +(このディレクトリ名を表示するには、pg_config --sharedir を使用してください。) +例を以下に示します。 extension_control_path = '/usr/local/share/postgresql:/home/my_project/share:$system' + +Windows環境の場合は以下です。 extension_control_path = 'C:\tools\postgresql;H:\my_project\share;$system' + +指定されたパス要素では、.controlファイルと.sqlファイルを含むextensionサブディレクトリを持つことが想定されていることに注意してください。 +各パス要素に、サフィックスextensionが自動的に追加されます。 + +このパラメータのデフォルト値は'$system'です。 +値が空文字列に設定されている場合、デフォルトの'$system'も想定されます。 + +設定されたパスで、同じ名前をもつ拡張が複数のディレクトリに存在する場合、パスで最初に見つかったインスタンスのみが使用されます。 + +このパラメータはスーパーユーザと、適切なSET権限を持つユーザによって実行時に変更することができますが、この方法での設定は、そのクライアント接続が終わるまでしか有効になりません。 +ですので、この方法は開発目的でのみ使用すべきです。 +推奨方法はこのパラメータをpostgresql.conf設定ファイル内で設定することです。 + +非標準の場所から拡張をロードできるようにこのパラメータを設定する場合、多くの場合も対応する場所に設定する必要があることに注意してください。 +たとえば、次のようになります。 extension_control_path = '/usr/local/share/postgresql:$system' dynamic_library_path = '/usr/local/lib/postgresql:$libdir' @@ -11097,11 +16698,18 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' gin_fuzzy_search_limit configuration parameter + + gin_fuzzy_search_limit設定パラメータ + + +GINインデックススキャンにより返されるセットのソフトな上限サイズです。 +詳細はを参照してください。 @@ -11111,7 +16719,10 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' + + ロック管理 @@ -11121,16 +16732,28 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' deadlock timeout during + + デッドロック + 間のタイムアウト + timeout deadlock + + タイムアウト + デッドロック + deadlock_timeout configuration parameter + + deadlock_timeout設定パラメータ + + +これは、デッドロック状態があるかどうかを調べる前にロックを待つ時間です。 +デッドロックの検査は比較的高価なので、サーバはロックを待つ度にこれを実行するわけではありません。 +楽天的ですがデッドロックは実用レベルのアプリケーションでは頻繁に発生しないと仮定し、デッドロックの検査の前にしばらくはロック待ちをします。 +この値を増やすことにより必要のないデッドロックの検査で無駄にされる時間は減りますが、本当にデッドロックがあった場合の報告が遅れます。 +この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 +デフォルトは1秒(1s)で、おそらく実用の際にはこれ以上は必要でしょう。 +負荷の大きいサーバではもっと必要かもしれません。 +理想としてはこの設定は通常のトランザクションにかかる時間を超えているべきです。 +そうすればロック待ちトランザクションがデッドロックの検査をする前にロックが解除される可能性が改善されます。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 + +が設定された場合、このパラメータはロック待機に関するログメッセージを出力する前の待機時間を決定します。 +ロック遅延の調査を行う場合は、通常のdeadlock_timeoutよりも短い値を設定することを勧めます。 @@ -11166,9 +16804,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' max_locks_per_transaction configuration parameter + + max_locks_per_transaction設定パラメータ + + +共有ロックテーブルは、プロセスごと、あるいは準備されたトランザクションごとのmax_locks_per_transactionオブジェクト(たとえばテーブル)空間を持っています。 +したがって、ある時点でこの数以上の個々のオブジェクトをロックすることはできません。 +このパラメータは各トランザクションで使用するオブジェクトロックの平均値を制限します。 +個々のトランザクションでは、このロックテーブルにすべてのトランザクションのロックが収まる限りオブジェクトのロックを獲得できます。 +これは、ロックできる行数ではありません。この値には制限がありません。 +デフォルトの64は、経験的に十分であると証明されていますが、単一のトランザクションで数多くの異なるテーブルをいじる問い合わせがいる場合、たとえば、数多くの子テーブルを持つ親テーブルの問い合わせなど、この値を大きくする必要があるかも知れません。 +このパラメータはサーバ起動時のみ設定可能です。 + +スタンバイサーバを運用している場合、このパラメータはプライマリサーバでの設定と同じ、もしくはより高い値に設定しなければなりません。そうしないと問い合わせがスタンバイサーバ内で受け入れられません。 @@ -11197,9 +16850,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' max_pred_locks_per_transaction configuration parameter + + max_pred_locks_per_transaction設定パラメータ + + +共有述語ロックテーブルは、プロセスごと、あるいは準備されたトランザクションごとのmax_pred_locks_per_transactionオブジェクト(たとえばテーブル)空間を持っています。 +したがって、ある時点でこの数以上の個々のオブジェクトをロックすることはできません。 +このパラメータは各トランザクションで使用するオブジェクトロックの平均値を制限します。 +個々のトランザクションでは、このロックテーブルにすべてのトランザクションのロックが収まる限りオブジェクトのロックを獲得できます。 +これはロック可能な行数ではありません。その値は無制限です。 +デフォルトは64で、過去の経験から十分であることがわかっていますが、単一のシリアライザブルトランザクションで数多くの異なるテーブルに触れるクライアントが存在する場合、この値を大きくする必要があることがあります。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -11222,9 +16887,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' max_pred_locks_per_relation configuration parameter + + max_pred_locks_per_relation設定パラメータ + + +リレーション全体をカバーするロックに昇格する前に、一つリレーションの中で述語ロックできるページ数あるいはタプル数を指定します。 +0以上の値は、絶対的な制限を表し、負の数はをその絶対値で割ったものを表します。 +デフォルトは-2で、以前のバージョンのPostgreSQLの振る舞いを維持します。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -11243,13 +16917,21 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' max_pred_locks_per_page configuration parameter + + max_pred_locks_per_page設定パラメータ + + +ページ全体をカバーするロックに昇格する前に、一つページの中で述語ロックできる行数を指定します。 +デフォルトは2です。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -11258,10 +16940,16 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' + + バージョンとプラットフォーム互換性 + + 以前のPostgreSQLバージョン @@ -11270,9 +16958,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' array_nulls configuration parameter + + array_nulls設定パラメータ + + +これは、配列入力パーサが引用符のないNULLをNULL配列要素として認識するかどうかを制御します。 +デフォルトでは、これはonで、NULL値を持つ配列値を入力することができます。 +しかし、8.2より前のバージョンのPostgreSQLでは、配列内のNULL値をサポートしておらず、NULLNULLという値の文字列を持つ通常の配列要素として扱っていました。 +古い動作を必要とするアプリケーションの後方互換性のため、この変数をoffにすることができます。 + +この変数がoffであっても、NULL値を含む配列値を作成することができることに注意してください。 @@ -11294,12 +16994,17 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' backslash_quote (enum) stringsbackslash quotes + 文字列バックスラッシュによる引用 backslash_quote configuration parameter + + backslash_quote設定パラメータ + + +文字列リテラルの中で引用符が\'で表現されるかどうかを管理します。 +引用符の表現として標準SQLの方式では二重化('')ですが、PostgreSQLは歴史的に\'も受け付けます。 +とは言っても、いくつかのクライアント文字集合エンコーディング方式において、最終バイトが数値的にASCIIの\に等しいマルチバイト文字があり、\'を使用するとセキュリティ上問題を引き起こす可能性があります。 +クライアント側のコードが事実上エスケープを正しく扱わない場合、SQLインジェクション攻撃が可能になります。この危険性の回避は、サーバが逆スラッシュでエスケープされた引用符を含む問い合わせを拒絶するようにします。 +許可されるbackslash_quoteの値は、on (常に \' を許可),off (常に拒否)、およびsafe_encoding (クライアント符号化方式がASCIIの\を許可しないときのみ、マルチバイト文字内で許可)。 +safe_encoding がデフォルトの設定。 + +標準に従った文字列リテラルでは、\は単に\を意味するものです。 +このパラメータのみが、エスケープ文字列構文(E'...')を含む標準に従わないリテラルの取り扱いに影響します。 @@ -11331,23 +17047,35 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' escape_string_warning (boolean) stringsescape warning + 文字列エスケープに関する警告 escape_string_warning configuration parameter + + escape_string_warning設定パラメータ + + +有効の場合、通常の文字列リテラル('...'構文)にバックスラッシュ(\)があり、standard_conforming_stringsが無効な場合、警告が発せられます。 +デフォルトはonです。 + +通常文字列のデフォルトの振る舞いは、標準SQLではバックスラッシュを通常文字として取り扱うため、バックスラッシュをエスケープとして使用したいアプリケーションは、エスケープ文字列構文(E'...')を使用するように変更すべきです。 +この変数は変更すべきコードを突き止めるのに役立つよう、有効にすることができます。 @@ -11357,9 +17085,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' lo_compat_privileges configuration parameter + + lo_compat_privileges設定パラメータ + + +9.0以前のPostgreSQLリリースでは、ラージオブジェクトはアクセス権限が無く、従って全てのユーザが常に読み込み、書き込みが可能でした。 +この変数をonにすると、以前のリリースとの互換性のため、新規の権限チェックが無効になります。 +デフォルトはoffです。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 + +この変数を設定しても、ラージオブジェクトに関連した全ての安全性チェックを無効にする訳ではありません。 +PostgreSQL 9.0で変更されたデフォルトの動きに対してのみです。 @@ -11381,15 +17122,23 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' quote_all_identifiers configuration parameter + + quote_all_identifiers設定パラメータ + + +データベースがSQLを生成する時、たとえ(現在)キーワードになっていなくても、全ての識別子を引用符で囲むことを強制します。 +これは EXPLAINの出力に影響を与えるのみならず、pg_get_viewdefのような関数の結果にも影響します。 + および オプションも参照してください。 @@ -11397,12 +17146,17 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' standard_conforming_strings (boolean) stringsstandard conforming + 文字列標準に従う standard_conforming_strings configuration parameter + + standard_conforming_strings設定パラメータ + + +標準SQLで規定されたように、通常の文字列リテラル('...')がバックスラッシュをそのまま取り扱うか否かを制御します。 +PostgreSQL 9.1からデフォルトはonになっています(それ以前のリリースではoffがデフォルトでした)。 +どのように文字列リテラルが処理されるかを決めるこのパラメータを、アプリケーションで検査することができます。 +このパラメータの存在は、エスケープ文字列構文(E'...')がサポートされているかどうかを示すものとも考えられます。 +エスケープ文字列構文 ()は、アプリケーションでバックスラッシュをエスケープ文字として扱いたい場合に使用すべきです。 @@ -11424,9 +17184,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' synchronize_seqscans configuration parameter + + synchronize_seqscans設定パラメータ + + +これにより、同時実行スキャンがほぼ同じ時間に同じブロックを読み取り、I/Oへの負荷を分散できるように、互いに同期して、大規模テーブルをシーケンシャルスキャンすることができます。 +これが有効な場合、スキャンはテーブルの途中から始まり、進行中のスキャンの活動と同期するように、行全体を覆うように終端を巻き上げる可能性があります。 +これにより、ORDER BY句を持たない問い合わせが返す行の順序は予想できない程変わってしまいます。 +このパラメータをoffにすることで、シーケンシャルスキャンが常にテーブルの先頭から始まるという、8.3より前の動作を保証します。 +デフォルトはonです。 @@ -11446,7 +17216,10 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' + + プラットフォームとクライアント互換性 @@ -11455,9 +17228,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' transform_null_equals configuration parameter + + transform_null_equals設定パラメータ + + +有効の場合、expr = NULL(もしくはNULL = expr)形式の式はexpr IS NULLとして取り扱われ、それは、もしexprがNULL値と評価すれば真を返し、そうでなければ偽を返します。 +expr = NULLの正しいSQL仕様準拠の動作は常にNULL(判らない)を返すことです。 +従って、このパラメータのデフォルトはoffになっています。 + +しかし、Microsoft Accessのフィルタ形式はNULL値を検査するためにexpr = NULLを使用する問い合わせを生成しますので、そのインタフェースを使用してデータベースにアクセスする場合は、このオプションを有効にする方が良いでしょう。 +expr = NULLという形の式は(標準SQL解釈を使用した結果)常にNULL値を返しますので、通常のアプリケーションでは意味がほとんどなく、滅多に使用されません。 +ですので、このオプションは実際は害はありません。 +しかし、慣れていないユーザはしばしばNULL値に関する式の意味に戸惑いますので、デフォルトでこのオプションはoffです。 + +このオプションは= NULLという形式にのみ影響することに注意してください。 +他の比較演算子や等価演算子を呼び出す他の(INのような)式と計算する上で等価となる式には影響を与えません。 +したがって、このオプションは間違ったプログラミングの汎用的な問題解決を行いません。 + +関連する情報はを参照してください。 @@ -11502,17 +17297,26 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' allow_alter_system configuration parameter + + allow_alter_system設定パラメータ + + +allow_alter_systemoffに設定されている場合、ALTER SYSTEMコマンドが実行されるとエラーが返されます。 +このパラメータは、PostgreSQL.confファイルまたはサーバコマンドラインでのみ設定できます。 +デフォルト値はonです。 + +この設定をセキュリティ機能とみなしてはならないことに注意してください。 +これはALTER SYSTEMコマンドを無効にするだけです。 +スーパーユーザが他のSQLコマンドを使用して設定を変更することを妨げるものではありません。 +スーパーユーザにはオペレーティングシステムレベルでシェルコマンドを実行する多くの方法があるため、この設定の値に関係なくpostgresql.auto.confを変更できます。 + +この設定を無効にすることは、PostgreSQLの設定が外部のツールによって管理されている環境を対象としています。 +このような環境では、善意のスーパーユーザがツールを使わずに、誤ってALTER SYSTEMを使って設定を変更する可能性があります。 +これにより、外部ツールを使って後で設定を更新したときに、変更を上書きするなど、意図しない振る舞いとなる可能性があります。 +このパラメータをoffに設定すると、そのような間違いを避けるための助けになります。 + +このパラメータはALTER SYSTEMの使用のみを制御します。 +postgresql.auto.confに保存された設定は、allow_alter_systemoffに設定されていても有効になります。 @@ -11550,7 +17369,10 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' + + エラー処理 @@ -11559,12 +17381,19 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' exit_on_error configuration parameter + + exit_on_error設定パラメータ + + +onなら、全てのエラーは現在のセッションを中止させます。 +デフォルトではこれはoffに設定されているので、 FATALエラーのみがセッションを中止させます。 @@ -11574,9 +17403,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' restart_after_crash configuration parameter + + restart_after_crash設定パラメータ + + +デフォルトであるonの場合、PostgreSQLはバックエンドのクラッシュの後、自動的に再初期化を行います。 +この値を真のままにしておくことが、通常データベースの可用性を最大化する最適の方法です。 +しかし、 PostgreSQLがクラスタウェアにより起動された時のような状況では、クラスタウェアが制御を獲得して、適切とみなすいかなる振る舞いをも行えるように再起動を無効にすることが有益かもしれません。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -11598,15 +17438,24 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' data_sync_retry configuration parameter + + data_sync_retry設定パラメータ + + +デフォルトであるoffに設定すると、PostgreSQLは変更されたデータファイルのファイルシステムへのフラッシュの失敗に対してPANICレベルのエラーを発生させます。 +これによりデータベースサーバのクラッシュが引き起こされます。 +このパラメータはサーバ起動時のみ設定可能です。 + +オペレーティングシステムによっては、カーネルキャッシュのページ内のデータの状態は、書き戻しの失敗の後は不明です。 +完全に忘れられてしまった場合には、再試行することが危険であるかもしれません。 +二度目の試行は成功と報告されるかもしれませんが、実際にはデータが失われているかもしれません。 +このような状況では、データロスを避ける唯一の方法は、失敗が報告された後、可能ならば失敗の根本原因を調査して故障したハードウェアを交換したのち、WALからの回復することだけです。 + +onに設定すると、代わりにPostgreSQLはエラーを報告して実行を継続し、後のチェックポイントでデータのフラッシュをリトライします。 +書き戻しの失敗が起きたときのオペレーティングシステムのバッファデータの扱いを調査した後でのみonに設定してください。 @@ -11631,9 +17489,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' recovery_init_sync_method configuration parameter + + recovery_init_sync_method設定パラメータ + + +デフォルトであるfsyncに設定すると、PostgreSQLはクラッシュリカバリを開始する前に、再帰的にデータディレクトリ内のすべてのファイルを開いて同期します。 +ファイルの探索は、WALディレクトリと設定されているテーブル空間へのシンボリックリンクを追跡します(他のシンボリックリンクは追跡しません)。 +これはリプレイを開始する前に、すべてのWALとデータファイルをディスクに恒久的に書くことを確実にすることを意図しています。 +これは、pg_basebackupで作られた複製も含めて、正しく停止されなかったデータベースクラスタを起動する際には必ず適用されます。 + +Linuxでは代わりに、オペレーティングシステムに対して、データディレクトリ、WALファイル、各々のテーブル空間(しかし、シンボリックリンクを通じて到達可能な他のファイルシステムを含みません)を含むファイルシステムを同期することを依頼するsyncfsが使えるかもしれません。 +これは各々のファイルを一つ一つ開けることが必要ないため、fsyncを設定するよりもずっと速いかもしれません。 +一方で、そのファイルシステムが多くのファイルを変更するアプリケーションも利用している場合、これらのファイルもディスクに書かれるので、遅くなるかもしれません。 +更に、Linuxのバージョン5.8以前では、ディスクへの書き込み中に発生したI/OエラーがPostgreSQLに報告されないことがあり、関連エラーメッセージはカーネルログにのみ現れるかもしれません。 + +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -11670,9 +17546,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' + + 設定済みのオプション + +以下のパラメータは読み取り専用です。 +そのため、これらはpostgresql.confのサンプルから除かれています。 +このオプションは、特定のアプリケーション、特に管理用フロントエンドによって注目される可能性があるPostgreSQLの様々な部分の振舞いを報告します。 +これらのうち多くはPostgreSQLのコンパイル時、もしくはインストール時に決定されます。 @@ -11690,15 +17575,24 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' block_size configuration parameter + + block_size設定パラメータ + + +ディスクブロックの容量を報告します。 +サーバ構築の際にBLCKSZの値で決定されます。デフォルトの値は8192バイトです。 +(の様な)いくつかの構成変数の意味はblock_sizeによって影響されます。 +これに関しての情報はを参照してください。 @@ -11708,11 +17602,18 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' data_checksums configuration parameter + + data_checksums設定パラメータ + + +このクラスタでデータチェックサムが有効になっているかどうかを報告します。 +詳細はを見てください。 @@ -11722,9 +17623,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' data_directory_mode configuration parameter + + data_directory_mode設定パラメータ + + +このパラメータは、Unixシステムでは起動時のデータディレクトリ(により定義されます)のパーミッションを報告します。 +(Microsoft Windowsではこのパラメータは常に0700を表示します。) +詳細はinitdbオプションを参照してください。 @@ -11742,17 +17651,25 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' debug_assertions configuration parameter + + debug_assertions設定パラメータ + + +PostgreSQLがアサーションを有効にしてビルドされているかどうかを報告します。 +これは、USE_ASSERT_CHECKINGマクロがPostgreSQLをビルドされた際に定義されている場合(つまり、configureオプションのが適用されている)に該当します。 +デフォルトではPostgreSQLは、アサーションなしにビルドされます。 @@ -11762,9 +17679,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' huge_pages_status configuration parameter + + huge_pages_status設定パラメータ + + +現在インスタンスのhuge pagesの状態を報告します:onoff、またはunknownのどれかです(postgres -Cで表示される場合)。 +このパラメータは、huge_pages=tryでhuge pagesのアロケーションが成功したかどうかを判断するのに役立ちます。 +詳細については、を参照してください。 @@ -11781,12 +17706,19 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' integer_datetimes configuration parameter + + integer_datetimes設定パラメータ + + +PostgreSQLが64ビット整数による日付と時刻のサポート付きで構築されたかどうかを報告します。 +PostgreSQL 10では、これは常にonです。 @@ -11796,14 +17728,23 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' in_hot_standby configuration parameter + + in_hot_standby設定パラメータ + + +サーバが現在ホットスタンバイモードかどうかを報告します。 +これがonの時は、すべてのトランザクションは読み取り専用を強制されます。 +セッション中ではこれはサーバがプライマリに昇格するときだけ変更できます。 +詳細はをご覧ください。 @@ -11813,12 +17754,20 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' max_function_args configuration parameter + + max_function_args設定パラメータ + + +関数の引数の最大数を報告します。 +サーバを構築する時、FUNC_MAX_ARGSの値で決定されます。 +デフォルトの値は100引数です。 @@ -11828,15 +17777,23 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' max_identifier_length configuration parameter + + max_identifier_length設定パラメータ + + +最長の識別子の長さを報告します。 +サーバ構築時のNAMEDATALENの値より一つ少なく設定されます。 +デフォルトのNAMEDATALENの値は64ですので、デフォルトのmax_identifier_lengthは63バイトで、マルチバイト符号化方式を使用している場合、63文字以下になることがあります。 @@ -11846,12 +17803,18 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' max_index_keys configuration parameter + + max_index_keys設定パラメータ + + +インデックスキーの最大数を報告します。サーバをビルドする際にINDEX_MAX_KEYSの値で決定されます。デフォルトの値は32キーです。 @@ -11861,15 +17824,21 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' num_os_semaphores configuration parameter + + num_os_semaphores設定パラメータ + + +設定されている接続数()、自動バキュームワーカープロセス数()、WAL送信プロセス数()、およびバックグラウンドプロセス数()などに基づいて、サーバに必要なセマフォの数を報告します。 @@ -11879,14 +17848,22 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' segment_size configuration parameter + + segment_size設定パラメータ + + +あるファイルセグメントの中に格納できるブロック数(ページ数)を報告します。 +サーバ構築時にRELSEG_SIZEの値で決定されます。 +バイト単位の一セグメントファイルの最大容量は、block_size倍のsegment_sizeと等しくなります。デフォルトでは1GBです。 @@ -11896,14 +17873,22 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' server_encoding configuration parameter + + server_encoding設定パラメータ + character set + 文字集合 + +データベース符号化方式(文字集合)を報告します。 +データベースが作成された時に決定されます。通常クライアントはの値にのみ注意する必要があります。 @@ -11913,11 +17898,18 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' server_version configuration parameter + + server_version設定パラメータ + + +サーバのバージョン番号を報告します。 +サーバ構築の際のPG_VERSIONの値によって決定されます。 @@ -11927,11 +17919,18 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' server_version_num configuration parameter + + server_version_num設定パラメータ + + +サーバのバージョン番号を整数として返します。 +この値は、サーバ構築時のPG_VERSION_NUMの値により決まります。 @@ -11941,11 +17940,18 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' shared_memory_size configuration parameter + + shared_memory_size設定パラメータ + + +主共有メモリ領域のサイズを報告します。 +最も近いメガバイト単位に切り上げられます。 @@ -11955,18 +17961,30 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' shared_memory_size_in_huge_pages configuration parameter + + shared_memory_size_in_huge_pages設定パラメータ + + +指定されたに基づいて、主共有メモリ領域に必要な巨大ページの数を報告します。 +巨大ページがサポートされていない場合、-1になります。 + +この設定はLinuxでのみサポートされています。 +他のプラットフォームでは常に-1に設定されます。 +Linuxで巨大なページを使うための詳細はを参照してください。 @@ -11976,13 +17994,19 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' ssl_library configuration parameter + + ssl_library設定パラメータ + + +(このインスタンスでSSLが設定あるいは使用されていなくても)このPostgreSQLサーバの構築時に使用されたSSLライブラリの名前、たとえばOpenSSLあるいは空文字列、を報告します。 @@ -11992,12 +18016,19 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' wal_block_size configuration parameter + + wal_block_size設定パラメータ + + +WALディスクブロックの容量を報告します。 +サーバ構築時にXLOG_BLCKSZの値で決定されます。デフォルトの値は8192バイトです。 @@ -12007,11 +18038,19 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' wal_segment_size configuration parameter + + wal_segment_size設定パラメータ + + +先行書き込みログ(WAL)のセグメントの大きさを報告します。 +デフォルト値は16MBです。 +さらなる詳細についてはをご覧ください。 @@ -12020,22 +18059,34 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' + + 独自のオプション + +この機能は追加モジュール(手続き言語など)によって追加されるPostgreSQLが識別できないパラメータを使えるように設計されたものです。 +これにより拡張モジュールは標準の方法で構成されます。 + +カスタムオプションには2つに分かれた名称があります。拡張名につづいてドット、そして特定のパラメータ名です。SQLの修飾名に良く似ています。 +例としてplpgsql.variable_conflictが挙げられます。 + +カスタムオプションは読み込まれていない関連性のある拡張モジュールのプロセスに設定される必要がある場合があるので、PostgreSQLはどんな2つの部分のパラメータ名による設定を受け付けます。これらの変数は代替物として取り扱われ、それらを定義したモジュールが読み込まれるまで機能しません。 +拡張モジュールが読み込まれた時、その変数定義が追加され、それら定義に基づいてプレースホルダ値が変換されます。 +拡張名で始まる認識できないプレースホルダに対しては警告が発せられ、そのプレースホルダは削除されます。 + + 開発者向けオプション + +以下のパラメータは、開発者のテスト用であり、決して実運用のデータベースに使わないでください。 +しかし、中には深刻な損傷を負ったデータベースの復旧に役立つものもあります。 +したがって、これらはサンプルのpostgresql.confからは除外されています。 +これらのパラメータの多くは、それを動作させるために特殊なソースコンパイルを必要としていることに注意してください。 @@ -12066,9 +18130,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' allow_in_place_tablespaces configuration parameter + + allow_in_place_tablespaces設定パラメータ + + +CREATE TABLESPACEコマンドに空の位置文字列が渡された時に、pg_tblspc内にテーブル空間をディレクトリとして作ることを可能にします。 +これは、プライマリとスタンバイサーバが同じマシン上で実行されるレプリケーションシナリオをテストするために使用することを意図しています。 +このようなディレクトリは、その場所にシンボリックリンクだけが見つかることを期待しているバックアップツールを混乱させる可能性が高いでしょう。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -12087,9 +18160,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' allow_system_table_mods configuration parameter + + allow_system_table_mods設定パラメータ + + +システムテーブルの構造変更とその他の危険性の高いシステムテーブルに対するアクションを許可します。 +これは通常スーパーユーザにさえ許可されません。 +この設定の無分別な使用は回復不能なデータ喪失やデータベースシステムの重大な破損を招きます。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -12106,24 +18188,38 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' backtrace_functions configuration parameter + + backtrace_functions設定パラメータ + + +このパラメータはカンマ区切りのC関数名を含みます。 +エラーが発生し、エラー発生箇所の内部C関数がこのリストの値と一致すると、エラーメッセージとともにバックトレースが一緒にサーバログに書かれます。 +これはソースコードの特定箇所をデバッグするのに役立ちます。 + +バックトレースのサポートはすべてのプラットフォームで提供されているわけではありませんし、バックトレースの品質はコンパイルオプションに依存します。 + +この設定を変更できるのは、スーパーユーザと適切なSET権限を持つユーザだけです。 @@ -12133,20 +18229,30 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' debug_copy_parse_plan_trees configuration parameter + + debug_copy_parse_plan_trees設定パラメータ + + +これを有効にすると、copyObject()でのエラーや省略を簡単に検出できるように、すべての解析ツリーと問い合わせツリーがcopyObject()を介して渡されます。 +デフォルトはoffです。 + +このパラメータは、コンパイル時にDEBUG_NODE_TESTS_ENABLEDが定義された場合にのみ使用できます(これは、configureオプションのを使用すると自動的に実行されます)。 @@ -12156,9 +18262,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' debug_discard_caches configuration parameter + + debug_discard_caches設定パラメータ + + +1なら、可能な最初の機会にシステムカタログのキャッシュ項目が破棄されます。 +すべてのキャッシュ項目を無効にするすべてのことが実際に起きます。 +結果としてシステムカタログのキャッシュが無効になり、サーバは極めて低速に動作します。 +1より大きければ、再帰的にキャッシュを削除します。 +これは更に遅くなり、キャッシュのロジック自体をテストするときにだけ役に立ちます。 +デフォルト値の0で正常なカタログキャッシュは通常の動作になります。 + +このパラメータは並行的なカタログの変更を伴う再現しにくいバグを引き起こす際にとても役に立ちますが、それ以外にはめったに必要になりません。 +詳細はinval.cpg_config_manual.hのソースコードファイルを見てください。 + +このパラメータはコンパイル時にDISCARD_CACHES_ENABLEDが定義されたとき(これはconfigureオプションのが使われたときに自動的に起こります)にサポートされます。 +実運用のビルドでは0となり、それ以外の値に設定しようとするとエラーが起こります。 @@ -12194,15 +18319,22 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' debug_io_direct configuration parameter + + debug_io_direct設定パラメータ + + +リレーションデータとWALファイルに対して、O_DIRECT(ほとんどのUnixライクなシステム)、F_NOCACHE(macOS)、FILE_FLAG_NO_BUFFERING (Windows)を使って、キャッシュ効果を最小にするようカーネルに依頼します。 + +空文字列(デフォルト)を設定してダイレクトI/Oの使用を無効にすることも、カンマで区切られたリストを設定してダイレクトI/Oを使用するようにすることもできます。 +有効なオプションは、メインデータファイルの場合はdata、WALファイルの場合はwal、最初に割り当てられたWALファイルの場合はwal_initです。 +このパラメータはサーバ起動時にのみ設定可能です。 + +一部のオペレーティングシステムおよびファイルシステムでは、ダイレクトI/Oが行われないため、デフォルト以外の設定が起動時に拒否されたり、エラーが発生したりする場合があります。 + +今の所、この機能はパフォーマンスを悪くするので、開発者のテストのみを目的としています。 @@ -12227,9 +18369,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' debug_parallel_query configuration parameter + + debug_parallel_query設定パラメータ + + +性能改善が期待できなくても、テスト目的のためにパラレルクエリを利用できるようにします。 +debug_parallel_queryに設定できる値は、off(性能改善が期待できるときにだけパラレルクエリを使用する)、on(安全なクエリに対しては常にパラレルクエリを強制する)、regressonと同様だが、下記のような振る舞いの変更を伴う)です。 + +正確に言えば、この値をonにすると、安全と見なされるすべての問い合わせ計画の上にGatherノードを追加し、クエリをパラレルワーカー上で実行するようにします。 +プランナがこれによってクエリが失敗すると思わない限り、パラレルワーカーが利用できない、あるいは使用できないような場合でも、たとえばサブトランザクションの開始のように、パラレルクエリコンテキストでは許可されない操作は不許可となります。 +このオプションを設定することによって、エラーとなったり、あるいは期待していなかった結果がもたらされる場合には、クエリで使用されている関数はPARALLEL UNSAFE(もしくは、PARALLEL RESTRICTED)と印を付ける必要があるかもしません。 + +この設定値をregressとすると、onとするのに加え、自動リグレッションテストを助けるための付加的な効果が現れます。 +通常パラレルワーカーからのメッセージは、そのことを表すコンテキスト行を表示しますが、regressと設定すると、非パラレル実行と同じ出力になるように、これを抑止します。 +また、プランに追加されたGatherノードは、EXPLAIN出力から隠され、offに設定したときと同じ出力が得られるようにします。 @@ -12272,21 +18431,31 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' debug_raw_expression_coverage_test configuration parameter + + debug_raw_expression_coverage_test設定パラメータ + + +これを有効にすると、DML文の加工されていない解析ツリーがすべてraw_expression_tree_walker()でスキャンされるようになり、その関数でのエラーや省略を簡単に検出できます。 +デフォルトはoffです。 + +このパラメータは、コンパイル時にDEBUG_NODE_TESTS_ENABLEDが定義された場合にのみ使用できます(これは、configureオプションのを使用すると自動的に実行されます)。 @@ -12296,21 +18465,31 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' debug_write_read_parse_plan_trees configuration parameter + + debug_write_read_parse_plan_trees設定パラメータ + + +これを有効にすると、すべての解析ツリーと問い合わせツリーがoutfuncs.c/readfuncs.cを介して渡され、これらのモジュールでのエラーや省略を簡単に検出できるようになります。 +デフォルトはoffです。 + +このパラメータは、コンパイル時にDEBUG_NODE_TESTS_ENABLEDが定義された場合にのみ使用できます(これは、configureオプションのを使用すると自動的に実行されます)。 @@ -12320,13 +18499,21 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' ignore_system_indexes configuration parameter + + ignore_system_indexes設定パラメータ + + +システムテーブルの読み込み時にシステムインデックスを無視します(しかしテーブルが更新された時はインデックスを更新します)。 +障害があるシステムインデックスを復旧する時、これは有用です。 +セッションが始まった後に、このパラメータを変更することはできません。 @@ -12336,9 +18523,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' post_auth_delay configuration parameter + + post_auth_delay設定パラメータ + + +サーバプロセスが始まり認証手続きが終わった後の遅延時間です。 +これは、デバッガを使用してサーバプロセスに接続する機会を開発者に提供することを目的としています。 +この値が単位なしで指定された場合は、秒単位であるとみなします。 +値がゼロ(デフォルト)の場合、この遅延は無効になります。 +セッションが始まった後に、このパラメータを変更することはできません。 @@ -12355,9 +18552,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' pre_auth_delay configuration parameter + + pre_auth_delay設定パラメータ + + +新しくサーバプロセスがforkした後、認証手続きに入る前の遅延時間です。 +これは、認証における誤動作を追跡するために、デバッガを使用してサーバプロセスに接続する機会を開発者に提供することを目的としたものです。 +この値が単位なしで指定された場合は、秒単位であるとみなします。 +値がゼロ(デフォルト)の場合、この機能は無効になります。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -12376,15 +18583,22 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' trace_notify configuration parameter + + trace_notify設定パラメータ + + +LISTENNOTIFYコマンドのための大量なデバッグ出力を生成します。 +この出力をクライアントもしくはサーバログに送信するためには、それぞれ、もしくはDEBUG1以下でなければなりません。 @@ -12394,10 +18608,16 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' trace_sort configuration parameter + + trace_sort設定パラメータ + + +有効な場合、ソート操作中のリソース使用状況に関する情報を出力します。 @@ -12407,9 +18627,13 @@ dynamic_library_path = '/usr/local/lib/postgresql:$libdir' trace_locks configuration parameter + + trace_locks設定パラメータ + + +有効な場合、ロックの使用状況に関する情報を出力します。 +出力される情報には、ロック操作の種類、ロックの種類、ロックまたはロック解除されているオブジェクトの一意な識別子が含まれます。 +また、このオブジェクトに既に与えられているロック種類やこのオブジェクトで待機しているロック種類を表すビットマスクも含まれます。 +ロック種類それぞれについて、与えられているロック数、待機中のロック数がその総数と共に出力されます。 +ログファイル出力例を以下に示します。 LOG: LockAcquire: new: lock(0xb7acd844) id(24688,24696,0,0,0,1) grantMask(0) req(0,0,0,0,0,0,0)=0 grant(0,0,0,0,0,0,0)=0 @@ -12432,13 +18662,19 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) grantMask(0) req(0,0,0,0,0,0,0)=0 grant(0,0,0,0,0,0,0)=0 wait(0) type(INVALID) + +ダンプされる構造の詳細は、src/include/storage/lock.h にあります。 + +このパラメータはPostgreSQLがコンパイル時にLOCK_DEBUGマクロが定義された場合のみ有効です。 @@ -12448,17 +18684,27 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) trace_lwlocks configuration parameter + + trace_lwlocks設定パラメータ + + +有効な場合、軽量ロックの使用状況に関する情報を出力します。 +軽量ロックは主に、共有メモリ上のデータ構造へのアクセスに関する排他制御機能を提供することを意図したものです。 + +このパラメータはPostgreSQLがコンパイル時にLOCK_DEBUGマクロが定義された場合のみ有効です。 @@ -12468,16 +18714,26 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) trace_userlocks configuration parameter + + trace_userlocks設定パラメータ + + +有効な場合、ユーザロックの使用状況に関する情報を出力します。 +出力はtrace_locksと同じですが、勧告的ロックに関するもののみを出力します。 + +このパラメータはPostgreSQLがコンパイル時にLOCK_DEBUGマクロが定義された場合のみ有効です。 @@ -12487,16 +18743,26 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) trace_lock_oidmin configuration parameter + + trace_lock_oidmin設定パラメータ + + +設定すると、このOID未満のテーブルに関するロックの追跡を行いません。 +(システムテーブルに関する出力を抑えるために使用します。) + +このパラメータはPostgreSQLがコンパイル時にLOCK_DEBUGマクロが定義された場合のみ有効です。 @@ -12506,15 +18772,24 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) trace_lock_table configuration parameter + + trace_lock_table設定パラメータ + + +このテーブル(OID)に対し無条件でロックを追跡します。 + +このパラメータはPostgreSQLがコンパイル時にLOCK_DEBUGマクロが定義された場合のみ有効です。 @@ -12524,16 +18799,25 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) debug_deadlocks configuration parameter + + debug_deadlocks設定パラメータ + + +設定すると、デッドロックタイムアウトが発生した時全ての進行中のロックについての情報がダンプされます。 + +このパラメータはPostgreSQLがコンパイル時にLOCK_DEBUGマクロが定義された場合のみ有効です。 @@ -12543,16 +18827,25 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) log_btree_build_stats configuration parameter + + log_btree_build_stats設定パラメータ + + +設定すると、各種B-tree操作に関するシステムリソース(メモリとCPU)の使用についての統計情報をログに出力します。 + +このパラメータはPostgreSQLがコンパイル時にBTREE_BUILD_STATSマクロが定義された場合のみ有効です。 @@ -12562,9 +18855,13 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) wal_consistency_checking configuration parameter + + wal_consistency_checking設定パラメータ + + +このパラメータは、WALのREDOルーチンのバグをチェックするために使うことを意図しています。 +有効にすると、WALレコードと一緒に変更されたバッファのフルページイメージをレコードに追加します。 +後でそのレコードがリプレイされるときは、システムはまず各々のレコードを適用し、次にレコードによって変更されたバッファが、格納したイメージと一致するかどうかをテストします。 +ある種のケース(たとえばヒントビット)では、些細な変化は許容され、無視されます。 +予期しない差異は、致命的エラーを引き起こし、リカバリが中断されます。 + +デフォルト値は空文字で、この機能を無効にします。 +すべてのレコードをチェックするために、allにすることができます。 +カンマ区切りのリストにすると、対応するリソースマネージャに由来するレコードのみをチェックします。 +今のところ、サポートされているリソースマネージャは、heapheap2btreehashgingistsequencespgistbringenericです。 +拡張は追加のリソースマネージャを定義しても構いません。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -12595,13 +18906,19 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) wal_debug configuration parameter + + wal_debug設定パラメータ + + +もしonであれば、WALに関連したデバッグ出力が有効になります。このパラメータはWAL_DEBUGマクロが PostgreSQLのコンパイルの時に定義された場合にのみ有効です。 @@ -12611,12 +18928,19 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) ignore_checksum_failure configuration parameter + + ignore_checksum_failure設定パラメータ + + +が有効の時のみ効果があります。 + +読み込み過程でチェックサム障害が検出されると、通常PostgreSQLはエラーを報告し、現時点のトランザクションを停止します。 +ignore_checksum_failureを有効(on)に設定するとシステムはその障害を無視し(しかし警告は報告をします)、処理を継続します。 +この振る舞いはたぶんクラッシュの原因、破損の伝播や隠ぺい、もしくはその他の深刻な問題の原因になることがあります。 +とは言っても、エラーを切り抜け、ブロックヘッダが健全に存在するテーブルにある障害を受けていないタプルの回収は行えます。 +もしヘッダが破損されたら、オプションが有効になっていたとしても報告はなされます。 +デフォルトの設定はoffです。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -12638,9 +18970,13 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) zero_damaged_pages configuration parameter + + zero_damaged_pages設定パラメータ + + +ページヘッダの障害がわかると、通常PostgreSQLはエラーの報告を行い、現在のトランザクションを中断させます。 +zero_damaged_pagesをonに設定することにより、システムは代わりに警告を報告し、障害のあるメモリ内のページをゼロで埋め、処理を継続します。 +この動作により、障害のあったページ上にある全ての行のデータが破壊されます。 +しかし、これによりエラーを確実に無視し、正常なページに存在するテーブル内の行を取り出すことができます。 +ハードウェアまたはソフトウェアのエラーによって破損が発生した場合のデータの復旧時に有用です。 +障害のあるページからのテーブルのデータの復旧をあきらめた場合を除き、通常はこれをonにしてはいけません。 +ゼロで埋められたページはディスクに書き込みを強要されないため、このパラメータを再び無効にする以前にテーブル、またはインデックスを再作成することを勧めます。 +デフォルトはoffです。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -12666,9 +19012,13 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) ignore_invalid_pages configuration parameter + + ignore_invalid_pages設定パラメータ + + +off(デフォルトです)に設定すると、無効なページを参照しているWALレコードはPostgreSQLに対してPANICレベルのエラーを引き起こし、リカバリをアボートします。 +ignore_invalid_pagesonに設定すると、WALレコードの無効なページへの参照を無視し(しかしワーニングは報告されます)、リカバリを継続します。 +この振る舞いにより、クラッシュ、データロス、破壊を増長したり見えなくするなどの深刻な問題を被るかもしれません。 +しかし、これによってPANICレベルのエラーを回避してリカバリを完了し、サーバを起動できるかもしれません。 +このパラメータはサーバ起動時にのみ設定できます。 +リカバリ中、あるいはスタンバイモードでのみ効果があります。 @@ -12691,13 +19048,22 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) jit_debugging_support configuration parameter + + jit_debugging_support設定パラメータ + + +LLVMに要求された機能がある場合は、生成した関数をGDB用に登録します。 +これにより、デバッグが容易になります。 +デフォルト設定はoffです。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -12707,15 +19073,24 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) jit_dump_bitcode configuration parameter + + jit_dump_bitcode設定パラメータ + + +生成されたLLVM IRを内のファイルシステムに出力します。 +これはJITコンパイルのインターナルについて作業するときだけ有用です。 +デフォルト設定はoffです。 +スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -12725,12 +19100,20 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) jit_expressions configuration parameter + + jit_expressions設定パラメータ + + +JITコンパイルが有効な時に式がJITコンパイルされるかどうかを決定します。 +(参照。) +デフォルトはonです。 @@ -12740,15 +19123,25 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) jit_profiling_support configuration parameter + + jit_profiling_support設定パラメータ + + +LLVMに要求された機能がある場合は、JITが生成した関数をperfでプロファイルすることができるデータを出力します。 +これにより~/.debug/jit/にファイルが書き出されます。 +ユーザは自分の責任で必要なときに後始末を行わなければなりません。 +デフォルト設定はoffです。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -12758,12 +19151,20 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) jit_tuple_deforming configuration parameter + + jit_tuple_deforming設定パラメータ + + +JITコンパイルが有効な時にタプルデフォーミングがJITコンパイルされるかどうかを決定します。 +(参照。) +デフォルトはonです。 @@ -12773,9 +19174,13 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) remove_temp_files_after_crash configuration parameter + + remove_temp_files_after_crash設定パラメータ + + +デフォルトであるonに設定すると、PostgreSQLはバックエンドがクラッシュした後に自動的に一時ファイルを削除します。 +無効にすると、ファイルは保存され、たとえばデバッグ目的で使用できます。 +しかしクラッシュを繰り返すと不要なファイルが溜まっていくかもしれません。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -12792,9 +19202,13 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) send_abort_for_crash configuration parameter + + send_abort_for_crash設定パラメータ + + +デフォルトでは、バックエンドクラッシュの後、postmasterは残りの子プロセスをSIGQUITシグナルを送ることで停止します。 +これにより、子プロセスは多かれ少なかれ礼儀正しく終了することができます。 +このオプションがonに設定されている場合、代わりにSIGABRTが送信されます。 +これにより通常、子プロセスごとにコアダンプファイルを生成します。 +これは、クラッシュの後の他のプロセスの状態を調査するのに便利です。 +また、クラッシュが繰り返されるイベントで大量のディスクスペースを消費する可能性があるため、注意深く監視していないシステムではこれを有効にしないでください。 +自動的にコアファイルを削除する機能は提供されていないことに注意してください。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -12820,9 +19243,13 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) send_abort_for_kill configuration parameter + + send_abort_for_kill設定パラメータ + + +デフォルトでは、SIGQUITで子プロセスを停止しようとした後、postmasterは5秒間待ってからSIGKILLを送信して即時終了を強制します。 +このオプションがonに設定されている場合、SIGKILLの代わりにSIGABRTが送信されます。 +これにより通常、子プロセスごとにコアダンプファイルを生成します。 +これは、スタックした子プロセスの状態を調査するのに便利です。 +また、クラッシュが繰り返されるイベントで大量のディスクスペースを消費する可能性があるため、注意深く監視していないシステムではこれを有効にしないでください。 +自動的にコアファイルを削除する機能は提供されていないことに注意してください。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 @@ -12848,18 +19283,28 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) debug_logical_replication_streaming configuration parameter + + debug_logical_replication_streaming設定パラメータ + + +指定できる値は、bufferedおよびimmediateです。 +デフォルトはbufferedです。 +このパラメータは、大きなトランザクションにおけるロジカルデコーディングおよびレプリケーションのテストに使用することを目的としています。 +debug_logical_replication_streamingの効果は、パブリッシャーとサブスクライバーで異なります。 + +パブリッシャー側では、debug_logical_replication_streamingを使用すると、ロジカルデコーディングでただちに変更をストリーミングまたはシリアル化できます。 +immediateに設定すると、CREATE SUBSCRIPTIONstreamingオプションが有効になっている場合は各変更をストリームし、それ以外の場合は各変更をシリアル化します。 +bufferedに設定すると、logical_decoding_work_memに達したときに、デコーディング処理がストリームまたはシリアル化します。 + +サブスクライバー側では、streamingオプションがparallelに設定されている場合、debug_logical_replication_streamingを使用して、リーダー適用ワーカーに変更を共有メモリキューに送信するか、すべての変更をファイルにシリアル化するように指示できます。 +bufferedに設定されている場合、リーダーは共有メモリキューを介してパラレル適用ワーカーに変更を送信します。 +immediateに設定されている場合、リーダーはファイルに対するすべての変更をシリアル化し、パラレル適用ワーカーにファイルを読み取ってトランザクションの最後に適用するように通知します。 @@ -12888,26 +19342,44 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) + + 短いオプション + +簡便性のために、一文字のコマンドラインオプションスイッチも、幾つかのパラメータのために用意されています。 +それらはに解説されています。 +一部のオプションは歴史的な理由のために存在します。 +また、この一文字オプションが存在することが、このオプションを多く使用することを支持することを示しているわけではありません。
+ + 短いオプションキー + + 短いオプション + + 同義 @@ -13000,4 +19472,5 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
+
diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml index 3a88a42b97c..0f423f45ac2 100644 --- a/doc/src/sgml/protocol.sgml +++ b/doc/src/sgml/protocol.sgml @@ -366,7 +366,10 @@ + + プロトコルバージョン From 53c351389ad0ba7f32d9ddf22e28f6d1e67cf674 Mon Sep 17 00:00:00 2001 From: Noboru Saito Date: Sat, 31 Jan 2026 06:16:13 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E6=A9=9F=E6=A2=B0=E7=BF=BB=E8=A8=B3?= =?UTF-8?q?=E3=81=AE=E8=BF=BD=E5=8A=A0=E3=81=A8=E5=88=86=E5=89=B2=E5=87=A6?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/src/sgml/config.sgml | 21 +- doc/src/sgml/config0.sgml | 255 +++++++++--------- doc/src/sgml/config1.sgml | 149 +++++------ doc/src/sgml/config2.sgml | 530 ++++++++++++++++++-------------------- doc/src/sgml/config3.sgml | 115 ++++----- 5 files changed, 533 insertions(+), 537 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index e6d550f213e..b7d0f2c9f8e 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -4064,7 +4064,11 @@ huge pageを自動管理するオペレーティングシステム上でより このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 可能な最大サイズは、オペレーティングシステムとブロックサイズによって異なりますが、通常、Unixでは1MBであり、Windowsでは128kBです。 デフォルトは128kBです。 -《機械翻訳》«Controls the largest I/O size in operations that combine I/O, and silently limits the user-settable parameter io_combine_limit. This parameter can only be set at server start. If this value is specified without units, it is taken as blocks, that is BLCKSZ bytes, typically 8kB. The maximum possible size depends on the operating system and block size, but is typically 1MB on Unix and 128kB on Windows. The default is 128kB.» +《機械翻訳》入出力を組み合せる操作の最大入出力サイズを制御し、ユーザで設定可能なパラメータio_combine_limitを暗黙的に制限します。 +このパラメータは、サーバスタートでのみ設定できます。 +この値がユニットなしで指定された場合、ブロックBLCKSZバイト、通常8キロバイトとみなされます。 +最大サイズはオペレーティングシステムとブロックサイズによって異なりますが、通常はUNIXで1メガバイト、Windowsで128キロバイトです。 +デフォルトは128キロバイトです。 @@ -4095,7 +4099,11 @@ huge pageを自動管理するオペレーティングシステム上でより io_max_combine_limitパラメータよりも高い値に設定すると、代わりに低い値が自動的に使用されるため、I/Oサイズを増やすには両方を上げる必要がある場合があります。 可能な最大サイズは、オペレーティングシステムとブロックサイズによって異なりますが、通常、Unixでは1MBであり、Windowsでは128kBです。 デフォルトは128kBです。 -《機械翻訳》«Controls the largest I/O size in operations that combine I/O. If set higher than the io_max_combine_limit parameter, the lower value will silently be used instead, so both may need to be raised to increase the I/O size. If this value is specified without units, it is taken as blocks, that is BLCKSZ bytes, typically 8kB. The maximum possible size depends on the operating system and block size, but is typically 1MB on Unix and 128kB on Windows. The default is 128kB.» +《機械翻訳》入出力を組み合せる操作の最大入出力サイズを制御します。 +io_max_combine_limitパラメータより大きい値を設定すると、より小さい値がかわりに暗黙的に使用されるため、入出力サイズを増やすために両方の値を大きくする必要がある場合があります。 +この値がユニットなしで指定された場合、ブロック、つまりBLCKSZバイト、通常8キロバイトとみなされます。 +可能な最大サイズはオペレーティングシステムとブロックサイズによって異なりますが、通常はUNIXで1メガバイト、Windowsで128キロバイトです。 +デフォルトは128キロバイトです。 @@ -8897,7 +8905,10 @@ WALレコードは、適用される準備が整うまでスタンバイに保 latency of network-attached storage tends to reduce the relative overhead of random access. --> -《機械翻訳》«Random access to durable storage is normally much more expensive than four times sequential access. However, a lower default is used (4.0) because the majority of random accesses to storage, such as indexed reads, are assumed to be in cache. Also, the latency of network-attached storage tends to reduce the relative overhead of random access.» +《機械翻訳》通常、耐久性のあるランダムアクセスへのストレージは、4回の順次アクセスよりもコストがかかります。 +ただし、より低いデフォルト(4.0)が使用されます。 +これは、インデックス付き読取りなど、ストレージへのランダム・アクセスの大部分がキャッシュで行われると想定されるためです。 +また、ネットワークに接続されたストレージのレイテンシは、ランダムアクセスの相対的なオーバーヘッドを下げる傾向があります。 @@ -8912,7 +8923,9 @@ WALレコードは、適用される準備が整うまでスタンバイに保 is smaller than the total server memory, or network latency is high, decreasing random_page_cost might be appropriate. --> -《機械翻訳》«If you believe caching is less frequent than the default value reflects, and network latency is minimal, you can increase random_page_cost to better reflect the true cost of random storage reads. Storage that has a higher random read cost relative to sequential, like magnetic disks, might also be better modeled with a higher value for random_page_cost. Correspondingly, if your data is likely to be completely in cache, such as when the database is smaller than the total server memory, or network latency is high, decreasing random_page_cost might be appropriate.» +《機械翻訳》キャッシュの頻度がデフォルト値に反映される頻度よりも低く、ネットワークのレイテンシが最小であると考えられる場合は、random_page_costを増やして、ランダムのストレージ読取りの真コストをより反映させることができます。 +磁気ディスクのように、シーケンシャルと比較してランダムの読取りコストが高いストレージは、random_page_costの値を大きくした方がモデル化に適している可能性があります。 +これに対応して、データベースがサーバメモリの合計よりも小さい場合やネットワークレイテンシが高い場合など、データが完全にキャッシュに含まれる可能性が高い場合は、random_page_costを減らすことが適切な場合があります。 diff --git a/doc/src/sgml/config0.sgml b/doc/src/sgml/config0.sgml index fcd5391014a..67817313932 100644 --- a/doc/src/sgml/config0.sgml +++ b/doc/src/sgml/config0.sgml @@ -1098,10 +1098,8 @@ dataディレクトリ以外の場所に設定ファイルを格納したいの max_connections. Increasing its value leads to higher allocation of those resources, including shared memory. --> -《マッチ度[80.542986]》PostgreSQLは、max_connectionsの値に直接基づいてある種のリソースのサイズを設定します。 -その値を大きくすると、共有メモリを含み、より大きなリソースがアロケーションされます。 -《機械翻訳》PostgreSQL特定のリソースのサイズは、max_connectionsの値に直接基づいています。 -その値を増やすと、共有メモリを含むそれらのリソースのアロケーションが高くなります。 +PostgreSQLは、max_connectionsの値に直接基づいてある種のリソースのサイズを設定します。 +この値を大きくすると、共有メモリを含むこれらのリソースの割り当てが増えます。 @@ -1140,12 +1138,9 @@ dataディレクトリ以外の場所に設定ファイルを格納したいの slots are available, new connections will be accepted only for superusers. --> -《マッチ度[80.812325]》権限を持つロールによる接続のために予約される接続スロットの数を決定します。 +権限を持つロールによる接続のために予約される接続スロットの数を決定します。 空き接続スロットの数がより大きく、かつsuperuser_reserved_connectionsreserved_connectionsの合計以下の場合は常に、新しい接続はスーパーユーザあるいはpg_use_reserved_connections権限を持つロールに対してのみ受け入れられます。 superuser_reserved_connections以下の接続スロットが利用可能な場合、新しい接続はスーパーユーザに対してのみ受け入れられます。 -《機械翻訳》コネクションの権限を持つロールによる接続のための予約であるロールスロットの数を決定します。 -フリーコネクションスロットの数がより大きいであっても、以下がsuperuser_reserved_connectionsおよびreserved_connectionsの総和である場合、新しい接続はスーパーユーザおよびpg_use_reserved_connectionsの権限を持つロールに対してのみ受け付けられます。 -superuser_reserved_connectionsまたはより少ないコネクションスロットが利用可能な場合、新しい接続はスーパーユーザに対してのみ受け付けられます。 @@ -1455,7 +1450,10 @@ Unixドメインソケットは通常のUnixファイルシステムパーミッ + + TCP設定 @@ -1730,7 +1728,7 @@ UNIXドメインソケットで接続しているセッションではこのパ to for details about migrating to another password type. --> -《機械翻訳》MD5で暗号化されたパスワードのサポートは非推奨となり、将来のPostgreSQLのリリースで削除されます。 +MD5で暗号化されたパスワードのサポートは非推奨となり、将来のPostgreSQLのリリースで削除されます。 他のパスワードタイプへの移行の詳細については、を参照してください。 @@ -1772,6 +1770,9 @@ SCRAM-SHA-256を使用してパスワードを暗号化するときに実行さ md5_password_warnings configuration parameter + + md5_password_warnings設定パラメータ + @@ -1781,7 +1782,7 @@ SCRAM-SHA-256を使用してパスワードを暗号化するときに実行さ ALTER ROLE statement sets an MD5-encrypted password. The default value is on. --> -《機械翻訳》CREATE ROLEまたはALTER ROLEパスワードが暗号化されたステートメントを設定するときに、WARNING about MD5パスワードdeprecationを生成するかどうかを制御します。 +CREATE ROLEまたはALTER ROLE文によりMD5で暗号化されたパスワードを設定するときに、MD5パスワードの廃止に関するWARNINGを生成するかどうかを制御します。 デフォルト値はonです。 @@ -1877,6 +1878,9 @@ GSSAPIユーザ名を大文字小文字の区別なく取り扱うかどうか oauth_validator_libraries configuration parameter + + oauth_validator_libraries設定パラメータ + @@ -1890,11 +1894,11 @@ GSSAPIユーザ名を大文字小文字の区別なく取り扱うかどうか refused. This parameter can only be set in the postgresql.conf file. --> -《機械翻訳》OAuthライブラリトークンの検証に使用するコネクション/ライブラリ。 -バリデータライブラリが1つしか指定されていない場合は、デフォルトがすべてのOAuth接続に使用します。 -それ以外の場合は、すべてのoauthHBAエントリにvalidatorこのリストから選択したものを明示的に設定する必要があります。 +OAuth接続トークンの検証に使用するライブラリです。 +検証用のライブラリが1つしか提供されていない場合は、それがすべてのOAuth接続でデフォルトで使用されます。 +それ以外の場合は、すべてのoauth HBA項目で、このリストから選択したvalidatorを明示的に設定する必要があります。 空の文字列(デフォルト)に設定すると、OAuth接続は拒否されます。 -このパラメータはpostgresql.confファイル。 +このパラメータはpostgresql.confファイルでのみ設定できます。 -《機械翻訳》バリデータモジュールは別途実装/取得する必要がありますPostgreSQLデフォルト実装には同梱されていません。 -OAuthバリデータの実装の詳細については、を参照してください。 +検証モジュールは個別に実装/入手する必要があります。 +PostgreSQLにはデフォルトの実装は付属していません。 +OAuth検証の実装の詳細については、を参照してください。 @@ -1960,7 +1965,7 @@ OAuthバリデータの実装の詳細については、を参照してください。 -この設定のマニュアルページおよびサポートされている値のパッケージについては、OpenSSL構文のciphersを参照してください。 +TLSバージョン1.2以下を使用する接続で許可されるSSL暗号のリストを指定します。 +TLSバージョン1.3を使用する接続についてはを参照してください。 +この設定の構文とサポートされている値の一覧については、OpenSSLパッケージのマニュアルページciphersを参照してください。 デフォルト値はHIGH:MEDIUM:+3DES:!aNULLです。 -デフォルトは、特定のセキュリティ要件がない限り、通常は合理的な選択です。 -リスト +特定のセキュリティ要件がない限り、通常はデフォルトが妥当な選択です。 @@ -2312,6 +2319,9 @@ TLSバージョン1.3接続の場合は ssl_groups configuration parameter + + ssl_groups設定パラメータ + @@ -2324,25 +2334,18 @@ TLSバージョン1.3接続の場合は postgresql.conf file or on the server command line. The default is X25519:prime256v1. --> -《マッチ度[73.981900]》ECDHキー交換で使われる曲線の名前を指定します。 +ECDHキー交換で使われる曲線の名前を指定します。 接続するすべてのクライアントがこの設定をサポートしている必要があります。 +コロンで区切られたリストを使用して複数の曲線を指定できます。 サーバの楕円曲線キーで使用されるのと同じ曲線である必要はありません。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -デフォルト値はprime256v1です。 -《機械翻訳》ECDH名前交換で使用する曲線のキーを指定します。 -ニーズは、接続するすべてのクライアントでサポートされます。 -マルチプル曲線は、コロンで区切られたリストを使用して指定できます。 -サーバの楕円曲線キーで使用される曲線と同じである必要はありません。 -このパラメータはpostgresql.confファイルまたはサーバコマンドラインでのみ設定できます。 -デフォルトはX25519:prime256v1です。 +デフォルト値はX25519:prime256v1です。 -OpenSSLはよく使われる曲線に名前を付けています。 prime256v1 (NIST P-256), secp384r1 (NIST P-384), secp521r1 (NIST P-521). @@ -2350,6 +2353,10 @@ TLSバージョン1.3接続の場合は openssl ecparam -list_curves. Not all of them are usable with TLS though, and many supported group names and aliases are omitted. +--> +最も一般的な曲線のOpenSSL名は、prime256v1(NIST P-256)、secp384r1(NIST P-384)、およびsecp521r1(NIST P-521)です。 +openssl ecparam -list_curvesコマンドを使用すると、使用可能なグループの不完全なリストを表示することができます。 +ただし、すべてがTLSで使用できるわけではなく、サポートされているグループ名と別名の多くは省略されています。 @@ -2358,7 +2365,7 @@ TLSバージョン1.3接続の場合は setting was named ssl_ecdh_curve and only accepted a single value. --> -《機械翻訳》PostgreSQLversions前18.0では、この設定は記名的でしたssl_ecdh_curveそして1つの値だけを受け付けました。 +バージョン18.0より前のPostgreSQLでは、この設定はssl_ecdh_curveという名前で、指定できる値は1つだけでした。 @@ -2670,7 +2677,8 @@ TLS 1.0より前のプロトコルバージョン、すなわちSSLバージョ 主共有メモリ領域に対してhuge pageを要求するかどうかを管理します。 可能な値はtry (デフォルト)、onoffです。 +このパラメータはサーバ起動時のみ設定可能です。 huge_pagestryに設定すると、サーバはhuge pageの要求を試み、失敗したらデフォルトに戻します。 onにすると、要求に失敗した場合にサーバの起動ができなくなることになります。 offならhuge pageの要求は行いません。 @@ -3426,6 +3435,7 @@ Linuxでは、これはtransparent huge pages platform, is generally discouraged because it typically requires non-default kernel settings to allow for large allocations (see ). + This parameter can only be set at server start. --> PostgreSQLの共有バッファおよび他の共有データを保持する主共有メモリ領域のためにサーバが使用すべき共有メモリの実装を指定します。 可能な値はmmapmmapを使って獲得した無名共有メモリ)、sysvshmgetを使って獲得したSystem V共有メモリ)、windows (Windows共有メモリ)です。 @@ -3434,6 +3444,7 @@ Linuxでは、これはtransparent huge pages どのプラットフォームでもデフォルトになっていないsysvオプションの利用は一般に推奨されません。 通常、デフォルトではないカーネルの設定が大きなアロケーションでは必要になるからです。 (参照。) +このパラメータはサーバ起動時のみ設定可能です。 @@ -3465,12 +3476,14 @@ Linuxでは、これはtransparent huge pages however, it may be useful for debugging, when the pg_dynshmem directory is stored on a RAM disk, or when other shared memory facilities are not available. + This parameter can only be set at server start. --> サーバが使う動的共有メモリの実装を指定します。可能な値はposix (shm_openで獲得するPOSIX共有メモリ)、sysv(shmgetで獲得するSystem V共有メモリ)、windows (Windows共有メモリ)、 mmap(データディレクトリ内のメモリマップファイルを使ってシミュレートする共有メモリ)です。 すべての値がすべてのプラットフォームでサポートされているわけではありません。 そのプラットフォームでの推奨実装が通常デフォルトになります。 どのプラットフォームでもデフォルトになっていないmmapは、オペレーティングシステムが変更されたページをディスクに継続的に書き込み、I/O負荷を増加させるので一般的には利用が推奨されていません。 しかし、デバッグ目的のためにpg_dynshmemディレクトリがRAMディスク上にある場合や、他の共有メモリ機能が使えない場合は有用かもしれません。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -3569,6 +3582,9 @@ huge pageを自動管理するオペレーティングシステム上でより file_copy_method configuration parameter + + file_copy_method設定パラメータ + @@ -3577,31 +3593,25 @@ huge pageを自動管理するオペレーティングシステム上でより Possible values are COPY (default) and CLONE (if operating support is available). --> -《機械翻訳》ファイルのコピーに使用するメソッドを指定します。 -有効な値はCOPYデフォルトとCLONEサポートが使用可能な場合です。 +ファイルのコピーに使用する方法を指定します。 +指定できる値はCOPY(デフォルト)とCLONE(操作がサポートがされている場合)です。 -《機械翻訳》このパラメータは以下に影響します。 +このパラメータは以下に影響を与えます。 - -《機械翻訳》CREATE DATABASE ... STRATEGY=FILE_COPYです。 - -《機械翻訳》ALTER DATABASE ... SET TABLESPACE ...です。 @@ -3613,7 +3623,8 @@ huge pageを自動管理するオペレーティングシステム上でより (macOS) system calls, giving the kernel the opportunity to share disk blocks or push work down to lower layers on some file systems. --> -《機械翻訳》CLONEは、copy_file_range()リナックス、FreeBSDまたはcopyfile(macOS)システム呼び出しを使用して、カーネルにディスクブロックまたはプッシュ作業ダウンを一部のファイルシステムの下位レイヤと共有する機会を与えます。 +CLONEは、copy_file_range()(Linux、FreeBSDの場合)またはcopyfile(macOSの場合) システムコールを使用します。 +これにより、カーネルはディスクブロックを共有したり、一部のファイルシステムの処理を下位レイヤにプッシュダウンしたりできます。 @@ -3623,6 +3634,9 @@ huge pageを自動管理するオペレーティングシステム上でより max_notify_queue_pages configuration parameter + + max_notify_queue_pages設定パラメータ + @@ -3631,10 +3645,12 @@ huge pageを自動管理するオペレーティングシステム上でより / queue. The default value is 1048576. For 8 KB pages it allows to consume up to 8 GB of disk space. + This parameter can only be set at server start. --> /キューのために割り当てられたページの最大量を指定します。 デフォルト値は1048576です。 8キロバイトページの場合、最大8ギガバイトのディスクスペースが消費されます。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -3666,9 +3682,9 @@ huge pageを自動管理するオペレーティングシステム上でより postmaster are not counted toward this limit. The default is one thousand files. --> -《機械翻訳》各オープンサブプロセスが同時にオープンできるサーバファイルの最大数を設定します。 -既にpostmasterで開かれるになっているファイルは、この制限にはカウントされません。 -デフォルトは1,000ファイルです。 +サーバの各子プロセスが同時にオープンできるファイル数の最大値を設定します。 +既にpostmasterで開かれているファイルは、この制限にはカウントされません。 +デフォルトは1000ファイルです。 -《マッチ度[56.666667]》それぞれのサーバ子プロセスが同時にオープンできるファイル数の最大値をセットします。 -デフォルトは1000ファイルです。 -もしもカーネルがプロセス毎の安全制限を強要している場合、この設定を気にかける必要はありません。 -しかし、いくつかのプラットフォーム(特にほとんどのBSDシステム)では、もし多くのプロセス全てがそれだけ多くのファイルを開くことを試みたとした場合、実際にサポートできるファイル数より多くのファイルを開くことを許しています。もしもToo many open filesエラーが発生した場合、この設定を削減してみてください。 +カーネルがプロセス毎の安全制限を強要している場合、この設定を気にかける必要はありません。 +しかし、いくつかのプラットフォーム(特にほとんどのBSDシステム)では、もし多くのプロセス全てがそれだけ多くのファイルを開くことを試みる場合、実際にサポートできるファイル数より多くのファイルを開くことを許しています。 +もしToo many open filesというエラーが発生した場合、この設定を削減してみてください。 このパラメータはサーバ起動時のみ設定可能です。 -《機械翻訳》カーネルがセーフごとの制限を実施している場合は、この設定について心配する必要はありません。 -しかし、一部のプラットフォーム(特にほとんどのBSDシステム)では、多くのプロセスがすべてのプロセスをオープンにして多くのファイルをオープンする場合、カーネルはシステムが実際にサポートできるよりも多くのファイルをトライにすることを許可します。 -開いているファイルが多すぎる障害が発生した場合は、トライはこの設定を減らします。 -このパラメータはサーバスタートでのみ設定できます。 @@ -3969,15 +3980,10 @@ huge pageを自動管理するオペレーティングシステム上でより 0 to disable issuance of asynchronous I/O requests. The default is 16. --> -《マッチ度[66.179541]》PostgreSQLが同時実行可能であると想定する同時ディスクI/O操作の数を設定します。 +PostgreSQLが同時実行可能であると想定する同時ストレージI/O操作の数を設定します。 この値を大きくすると、あらゆる個別のPostgreSQLセッションが並行して開始を試みるI/O操作の数が増加します。 -設定可能な範囲は1から1000まで、または非同期I/Oリクエストの発行を無効にするゼロです。 -現在、この設定はビットマップヒープスキャンのみに影響します。 -《機械翻訳》が同時に実行できる同時ストレージ入出力操作の数を設定します。 -この値を大きくすると、個々のPostgreSQLセッションがパラレルで開始しようとする入出力操作の数が増加します。 -許可されるレンジは1から1000または0非同期入出力要求の発行を無効にするため。 +設定可能な範囲は1から1000まで、または非同期I/Oリクエストの発行を無効にする0です。 デフォルトは16です。 -PostgreSQL @@ -3987,9 +3993,8 @@ huge pageを自動管理するオペレーティングシステム上でより devices with high IOPs. Unnecessarily high values may increase I/O latency for all queries on the system --> -《機械翻訳》値を大きくすると、高いインパクトストレージで最大のレイテンシが発生します。 -このシステムでは、値を大きくしない場合に問い合わせで顕著な入出力停止が発生したり、IOPの高いデバイスで発生したりします。 -必要以上に値を大きくすると、この地域のすべての問い合わせの入出力レイテンシが増加する可能性があります。 +値が高いほど、問い合わせで顕著なI/Oストールが発生するレイテンシの高いストレージや、IOPSが高いデバイスに最も大きな影響を与えます。 +不必要に高い値を設定すると、システム上のすべての問い合わせのI/O待ち時間が長くなる可能性があります。 @@ -3998,7 +4003,7 @@ huge pageを自動管理するオペレーティングシステム上でより effective_io_concurrency also controls the prefetch distance. --> -《機械翻訳》プレフェッチアドバイスサポートのシステムでは、effective_io_concurrencyはプレフェッチの間隔も制御します。 +プリフェッチ指示がサポートされているシステムでは、effective_io_concurrencyがプリフェッチの距離も制御します。 @@ -4007,7 +4012,7 @@ huge pageを自動管理するオペレーティングシステム上でより setting the tablespace parameter of the same name (see ). --> -《機械翻訳》同じテーブルスペースのテーブルスペースパラメータを設定することで、特定の名前にあるテーブルのこの値を上書きできます(を参照)。 +この値は、同じ名前のテーブル空間パラメータを設定することで、特定のテーブル空間内のテーブルに対して上書きできます(を参照)。 @@ -4036,11 +4041,8 @@ huge pageを自動管理するオペレーティングシステム上でより parameter of the same name (see ). --> -《マッチ度[66.831683]》デフォルトは、サポートされているシステムでは1、そうでなければ0です。 -この値は、テーブル空間パラメータの同じ名前のパラメータを設定することで、特定のテーブル空間内のテーブルに対して上書きできます。 -(を参照ください)。 -《機械翻訳》デフォルトは16です。 -同じテーブルスペースのテーブルスペースパラメータを設定することで、特定の名前のテーブルの値を上書きできます(を参照してください)。 +デフォルトは16です。 +この値は、同じ名前のテーブル空間パラメータを設定することで、特定のテーブル空間内のテーブルに対して上書きできます(を参照)。 @@ -4050,22 +4052,30 @@ huge pageを自動管理するオペレーティングシステム上でより io_max_combine_limit configuration parameter + + io_max_combine_limit設定パラメータ + -《機械翻訳》入出力を組み合せる操作の最大入出力サイズを制御し、ユーザを設定できるパラメータio_combine_limitを暗黙的に制限します。 -このパラメータは、postgresql.confファイルまたはサーバコマンドラインにのみ設定できます。 -設定可能な最大サイズはオペレーティングシステムとブロックサイズによって異なりますが、通常はUNIXでは1メガバイト、Windowsでは128キロバイトです。 +《マッチ度[66.521739]》I/Oを結合する操作の最大のI/Oサイズを制御し、ユーザが設定可能なパラメータであるio_combine_limitを暗黙的に制限します。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +可能な最大サイズは、オペレーティングシステムとブロックサイズによって異なりますが、通常、Unixでは1MBであり、Windowsでは128kBです。 +デフォルトは128kBです。 +《機械翻訳》入出力を組み合せる操作の最大入出力サイズを制御し、ユーザで設定可能なパラメータio_combine_limitを暗黙的に制限します。 +このパラメータは、サーバスタートでのみ設定できます。 +この値がユニットなしで指定された場合、ブロックBLCKSZバイト、通常8キロバイトとみなされます。 +最大サイズはオペレーティングシステムとブロックサイズによって異なりますが、通常はUNIXで1メガバイト、Windowsで128キロバイトです。 デフォルトは128キロバイトです。 @@ -4076,6 +4086,9 @@ huge pageを自動管理するオペレーティングシステム上でより io_combine_limit configuration parameter + + io_combine_limit設定パラメータ + @@ -4084,13 +4097,20 @@ huge pageを自動管理するオペレーティングシステム上でより higher than the io_max_combine_limit parameter, the lower value will silently be used instead, so both may need to be raised to increase the I/O size. + If this value is specified without units, it is taken as blocks, + that is BLCKSZ bytes, typically 8kB. The maximum possible size depends on the operating system and block size, but is typically 1MB on Unix and 128kB on Windows. The default is 128kB. --> +《マッチ度[67.063492]》I/Oを結合する操作の最大のI/Oサイズを制御します。 +io_max_combine_limitパラメータよりも高い値に設定すると、代わりに低い値が自動的に使用されるため、I/Oサイズを増やすには両方を上げる必要がある場合があります。 +可能な最大サイズは、オペレーティングシステムとブロックサイズによって異なりますが、通常、Unixでは1MBであり、Windowsでは128kBです。 +デフォルトは128kBです。 《機械翻訳》入出力を組み合せる操作の最大入出力サイズを制御します。 -io_max_combine_limitパラメータより大きい値を設定すると、より小さい値が自動的に使用されるため、入出力サイズを増やすには、両方の値を大きくする必要があります。 -可能な最大サイズはオペレーティングシステムとブロックサイズによって異なりますが、通常はUNIXでは1メガバイト、Windowsでは128キロバイトです。 +io_max_combine_limitパラメータより大きい値を設定すると、より小さい値がかわりに暗黙的に使用されるため、入出力サイズを増やすために両方の値を大きくする必要がある場合があります。 +この値がユニットなしで指定された場合、ブロック、つまりBLCKSZバイト、通常8キロバイトとみなされます。 +可能な最大サイズはオペレーティングシステムとブロックサイズによって異なりますが、通常はUNIXで1メガバイト、Windowsで128キロバイトです。 デフォルトは128キロバイトです。 @@ -4101,6 +4121,9 @@ huge pageを自動管理するオペレーティングシステム上でより io_max_concurrency configuration parameter + + io_max_concurrency設定パラメータ + @@ -4108,7 +4131,7 @@ huge pageを自動管理するオペレーティングシステム上でより Controls the maximum number of I/O operations that one process can execute simultaneously. --> -《機械翻訳》1つのプロセスが同時に実行できる入出力操作の最大数を制御します。 +1つのプロセスが同時に実行できるI/O操作の最大数を制御します。 -《機械翻訳》デフォルトに設定すると、とプロセスの最大数()に基づいて数が選択されますが、64を超えることはありません。 --1 +デフォルトの設定値の-1では、とプロセスの最大数(、および)に基づいて値が選択されますが、64を超える値にはなりません。 -《マッチ度[82.978723]》このパラメータはサーバ起動時のみ設定可能です。 -《機械翻訳》このパラメータはサーバ起動時のみ設定可能です。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -4138,6 +4159,9 @@ huge pageを自動管理するオペレーティングシステム上でより io_method configuration parameter + + io_method設定パラメータ + @@ -4145,7 +4169,7 @@ huge pageを自動管理するオペレーティングシステム上でより Selects the method for executing asynchronous I/O. Possible values are: --> -《機械翻訳》非同期入出力を実行するメソッドを選択します。 +非同期I/Oを実行する方法を選択します。 可能な値は次のとおりです。 @@ -4153,7 +4177,8 @@ huge pageを自動管理するオペレーティングシステム上でより -《機械翻訳》worker実行プロセスを使用したワーカー非同期入出力。 +worker +(ワーカープロセスを使用する非同期I/Oを実行します) @@ -4164,7 +4189,9 @@ huge pageを自動管理するオペレーティングシステム上でより / ) --> -《機械翻訳》io_uring io_uringを使用する実行非同期の入出力では、/を使用するビルドが必要です。 +io_uring +(io_uringを使用して非同期I/Oを実行します。 + / を使用してビルドする必要があります) @@ -4172,18 +4199,21 @@ huge pageを自動管理するオペレーティングシステム上でより -《機械翻訳》sync実行非同期:同期的に適格なI/O。 +sync +(非同期で適格なI/Oを同期的に実行します) + +デフォルトはworkerです。 -《マッチ度[82.978723]》このパラメータはサーバ起動時のみ設定可能です。 -《機械翻訳》このパラメータはサーバ起動時のみ設定可能です。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -4193,6 +4223,9 @@ huge pageを自動管理するオペレーティングシステム上でより io_workers configuration parameter + + io_workers設定パラメータ + @@ -4202,18 +4235,16 @@ huge pageを自動管理するオペレーティングシステム上でより postgresql.conf file or on the server command line. --> -《マッチ度[68.156425]》このパラメータはデフォルトで無効です。 -このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -《機械翻訳》使用する入出力ワーカープロセスの数を選択します。 +使用するI/Oワーカープロセスの数を選択します デフォルトは3です。 -このパラメータは、postgresql.confファイルまたはサーバコマンドラインでのみ設定できます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -《機械翻訳》workerに設定されている場合にのみ有効です。 +workerと設定されている場合にのみ有効です。 @@ -4221,7 +4252,10 @@ huge pageを自動管理するオペレーティングシステム上でより + + ワーカープロセス @@ -4273,7 +4307,7 @@ huge pageを自動管理するオペレーティングシステム上でより max_parallel_workers_per_gather configuration parameter - max_parallel_workers_per_gather 設定パラメータ + max_parallel_workers_per_gather設定パラメータ @@ -4358,22 +4392,13 @@ huge pageを自動管理するオペレーティングシステム上でより value to 0 disables the use of parallel workers by utility commands. --> -《マッチ度[83.246073]》単一のユーティリティコマンドで使用されるパラレルワーカーの最大数を設定します。 -今の所、パラレルワーカーの利用をサポートしているパラレルユーティリティコマンドは、CREATE INDEXがB-treeまたはBRINインデックスを構築するときと、FULLオプションなしのVACUUMです。 +単一のユーティリティコマンドで使用されるパラレルワーカーの最大数を設定します。 +今の所、パラレルワーカーの利用をサポートしているパラレルユーティリティコマンドは、CREATE INDEXがB-tree、GIN、またはBRINインデックスを構築するときと、FULLオプションなしのVACUUMです。 パラレルワーカーは、で確立したプロセスのプールから取得され、によって制限されます。 -要求したワーカー数は、実行時に実際には利用可能でないかも知れないことに注意してください。 +要求したワーカー数は、実行時に実際には利用可能でないかもしれないことに注意してください。 この場合は、ユーティリティ操作は期待したよりも少ない数のワーカーにより実行されます。 デフォルト値は2です。 0に設定すると、ユーティリティコマンドはパラレルワーカーを使用しません。 -《機械翻訳》1つのユーティリティコマンドで開始できるパラレル・ワーカーの最大数を設定します。 -現在、パラレルのユーティリティでは、サポートでのパラレル・ワーカーの使用を次のように指示しています。 -CREATE INDEXB-ツリー、GINまたはBRINインデックスを構築する場合、FULLオプションなし。 -パラレル・ワーカーは、によって確立されたプロセスのプールから取得され、によって制限されます。 -要求されたワーカーの数が実行時に実際に使用可能でない可能性があることを示すノート。 -この場合、ユーティリティオペレーションは予想よりも少ないワーカーで実行されます。 -デフォルト値は2です。 -この値を0に設定すると、ユーティリティコマンドによるパラレル・ワーカーの使用が無効になります。 -VACUUM diff --git a/doc/src/sgml/config1.sgml b/doc/src/sgml/config1.sgml index e4554da8406..db5d7c26a16 100644 --- a/doc/src/sgml/config1.sgml +++ b/doc/src/sgml/config1.sgml @@ -683,19 +683,12 @@ WALの更新をディスクへ強制するのに使用される方法です。 Only superusers and users with the appropriate SET privilege can change this setting. --> -《マッチ度[84.785436]》このパラメータは、指定された圧縮方式を使用したWALの圧縮を有効にします。 -有効にすると、PostgreSQLサーバはがオンの時またはベースバックアップ中にWALに書き込まれた全ページイメージを圧縮します。 +このパラメータは、指定された圧縮方式を使用したWALの圧縮を有効にします。 +有効にすると、PostgreSQLサーバはWALに書き込まれる全ページイメージを圧縮します(例えば、がオンの時やベースバックアップ中です)。 圧縮されたページイメージはWAL再生中に伸長されます。 -サポートされている方法はpglzlz4(PostgreSQLでコンパイルされた場合)およびzstd(PostgreSQLでコンパイルされた場合)です。 +サポートされている方法はpglzlz4PostgreSQLでコンパイルされた場合)およびzstdPostgreSQLでコンパイルされた場合)です。 デフォルト値はoffです。 スーパーユーザと適切なSET権限を持つユーザのみがこの設定を変更できます。 -《機械翻訳》このパラメータは指定された圧縮メソッドを使用したWALの圧縮を有効にします。 -有効になっている場合、PostgreSQLサーバはWALに書き込まれたフルページイメージを圧縮します。 -例えばが有効な場合やベースバックアップ中など。 -圧縮されたページイメージはWALリプレイ中に展開されます。 -サポートされている方法はpglz,lz4PostgreSQLでコンパイルされた場合とzstdPostgreSQLでコンパイルされた場合です。 -デフォルト値はoffです。 -スーパーユーザと適切なSET権限を持つユーザのみがこの設定を変更することができます。 @@ -860,7 +853,7 @@ WALをフラッシュしたあと、非同期コミットしているトラン wal_writer_flush_after configuration parameter - wal_writer_flush_after 設定パラメータ + wal_writer_flush_after設定パラメータ @@ -1340,6 +1333,9 @@ WALセグメントファイルが溢れることが原因で起きるチェッ archive_library configuration parameter + + archive_library設定パラメータ + @@ -1471,9 +1467,9 @@ WALアーカイバプロセスは、このパラメータが変更されたと prefetching only if the operating system provides support for issuing read-ahead advice. --> -《機械翻訳》トライからプレフェッチへのブロックで、WALでは被参照であるがバッファプールではないものをリカバリ中に処理するかどうかを指定します。 -有効な値はoffonおよびtryデフォルトです。 -設定tryは、オペレーティングシステムが先読みアドバイスを発行するためにサポートを提供する場合にのみプリフェッチを有効にします。 +リカバリ中に、まだバッファプールにないWALで参照されているブロックをプリフェッチしようとするかどうかです。 +有効な値はoffon、およびtry(デフォルト)です。 +try設定は、オペレーティングシステムが先読み指示の発行をサポートしている場合にのみ先読みを有効にします。 サーバがプリフェッチするブロックを見つけるためにWAL内をどれだけ先まで見ることができるかの制限です。 この値が単位なしで指定された場合、バイトとして扱われます。 デフォルトは512KBです。 +このパラメータはサーバ起動時のみ設定可能です。 @@ -2364,6 +2362,9 @@ WAL要約は、先行するバックアップと新しいバックアップの max_replication_slots configuration parameter + + max_replication_slots設定パラメータ + @@ -2483,6 +2484,9 @@ WAL要約は、先行するバックアップと新しいバックアップの idle_replication_slot_timeout configuration parameter + + idle_replication_slot_timeout設定パラメータ + @@ -2496,9 +2500,9 @@ WAL要約は、先行するバックアップと新しいバックアップの postgresql.conf file or on the server command line. --> -《機械翻訳》この期間より長く非アクティブのままになっているレプリケーションレプリケーションによって使用されていないコネクションスロットを無効にします。 -この値がユニットなしで指定された場合、秒単位で処理されます。 -ゼロ(デフォルト)の値は、アイドル状態のタイムアウト無効化メカニズムを無効にします。 +この期間より長く活動していない(レプリケーション接続で使用されていない)ままになっているレプリケーションスロットを無効にします。 +この値が単位なしで指定された場合は、秒単位であるとみなします。 +値がゼロ(デフォルト)の場合は、アイドルタイムアウトの無効化機構を無効にします。 このパラメータは、postgresql.confファイルまたはサーバコマンドラインでのみ設定できます。 @@ -2514,10 +2518,10 @@ WAL要約は、先行するバックアップと新しいバックアップの slot's pg_replication_slots.inactive_since value. --> -《機械翻訳》スロットの空き時間によるタイムアウトの無効化は、チェックポイント中に発生します。 -チェックポイントはcheckpoint_timeout間隔で発生するため、idle_replication_slot_timeoutを超えた時点と、次のスロットでチェックポイントの無効化がトリガされる時点との間に多少の遅延が発生する可能性があります。 -このような遅延を回避するために、ユーザはチェックポイントに対して、すぐに非アクティブなスロットを無効にするように強制できます。 -スロットの非アクティブな期間は、スロットのpg_replication_slots.inactive_since値を使用して計算されます。 +アイドルタイムアウトによるスロットの無効化は、チェックポイント中に発生します。 +チェックポイントはcheckpoint_timeoutの間隔で発生するため、idle_replication_slot_timeoutを超えてから次のチェックポイントでスロットの無効化が行われるまでに多少の遅れが生じる可能性があります。 +このような遅延を避けるために、ユーザはチェックポイントを強制して活動していないスロットを速やかに無効にすることができます。 +スロットが活動していない期間は、スロットのpg_replication_slots.inactive_sinceの値を使用して計算されます。 @@ -2530,8 +2534,8 @@ WAL要約は、先行するバックアップと新しいバックアップの be inactive because they don't perform logical decoding to produce changes. --> -《機械翻訳》ノートアイドルタイムアウト無効化メカニズムは、WALを予約しないスロットや、スタンバイサーバから同期されるプライマリサーバ上のスロット(すなわち、pg_replication_slots.syncedの値trueを持つレプリケーションスロット)には適用されません。 -同期スロットは、変更を生成するロジカルデコーディングを行わないため、常に非アクティブとみなされます。 +アイドルタイムアウトの無効化機構は、WALを保存していないスロットや、プライマリサーバから同期されているスタンバイサーバのスロット(つまり、pg_replication_slots.syncedの値がtrueであるスタンバイスロット)には適用されないことに注意してください。 +同期されているスロットは、論理的なデコードを実行して変更を生成しないため、常に活動していないものと見なされます。 @@ -2590,12 +2594,12 @@ WAL要約は、先行するバックアップと新しいバックアップの トランザクションのコミットタイムを記録します。 -このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +このパラメータはサーバ起動時のみ設定可能です。 デフォルトはoffです。 @@ -2760,12 +2764,10 @@ ANY num_sync ( num_syncは、トランザクションが応答を待機する必要のある同期スタンバイの数です。 +ここで、num_syncは、トランザクションが応答を待機する必要のある同期スタンバイの数です。 standby_nameは、スタンバイサーバの名前です。 +num_syncは、ゼロより大きい整数値である必要があります。 FIRSTANYは、リスト中のサーバから同期スタンバイを選ぶ方法を指定します。 -《機械翻訳》ここで、num_syncはトランザクションが応答を待機する必要がある同期的スタンバイの数、standby_名前はスタンバイサーバの名前です。 -num_syncは整数の値より大きいゼロである必要があります。 -FIRSTおよびANYメソッドを指定して、リストされたサーバから同期的スタンバイを選択します。 -《機械翻訳》スタンバイのノートを前後に移動すると、必要なクロックでフィードバックメッセージが送信されない可能性があるインターバル。 -極端な場合、フィードバックのリスクはタイムスタンプに基づいているため、拡張期間のプライマリで不要な行が削除されないメカニズムが長くなる可能性があります。 +スタンバイの時計が前後にずれると、必要な間隔でフィードバックメッセージが送信されない場合があることに注意してください。 +フィードバック機構はタイムスタンプに基づいているため、極端なケースでは、プライマリの無効な行が長期間削除されないという危険が長引く可能性があります。 @@ -3267,7 +3269,7 @@ WAL受信プロセスが実行中にこのパラメータが変更されると wal_receiver_timeout configuration parameter - wal_receiver_timeout 設定パラメータ + wal_receiver_timeout設定パラメータ @@ -3344,8 +3346,7 @@ WALの生成頻度が少ないシステムでは、この値を大きくする replication apply worker or table synchronization worker will be respawned. --> -《マッチ度[67.123288]》論理レプリケーションでは、このパラメータによって、失敗したレプリケーション適用ワーカーが再生成される頻度も制限されます。 -《機械翻訳》論理レプリケーションでは、このパラメータによって、失敗したレプリケーション適用ワーカーまたはテーブル同期化ワーカーが再生成される頻度も制限されます。 +論理レプリケーションでは、このパラメータによって、失敗したレプリケーション適用ワーカーやテーブル同期ワーカーが再生成される頻度も制限されます。 @@ -3517,6 +3518,9 @@ WALレコードは、適用される準備が整うまでスタンバイに保 max_active_replication_origins configuration parameter + + max_active_replication_origins設定パラメータ + @@ -3534,17 +3538,11 @@ WALレコードは、適用される準備が整うまでスタンバイに保 number of subscriptions that will be added to the subscriber, plus some reserve for table synchronization. --> -《マッチ度[78.739003]》サブスクライバー側ではレプリケーション原点(origin)(参照)をいくつ並行して追跡できるかを指定します。 -これは実質的に論理レプリケーションのサブスクリプションをサーバ上にいくつ作ることができるかを制限します。 -現在追跡しているレプリケーション原点の数(pg_replication_origin_statusに反映されます)よりも小さい値を設定すると、サーバが起動しなくなります。 -max_replication_slotsは、少なくともサブスクライバーに追加されるサブスクリプションの数に、テーブル同期用の予備を加えた数に設定する必要があります。 - -《機械翻訳》同時に追跡できるレプリケーション起点(を参照)の数を指定し、その論理レプリケーションで作成できるサーバサブスクリプションの数を効果的に制限します。 - pg_replication_origin_statusに反映される追跡される現在のレプリケーション起点番号よりも小さい値に設定すると、サーバは開始できなくなります。 +同時に追跡できるレプリケーション起点(replication origin)(を参照)の数を指定し、サーバ上に作成できる論理レプリケーションのサブスクリプション数を効果的に制限します。 +現在追跡されているレプリケーション起点の数(pg_replication_origin_statusに反映されている)よりも低い値に設定すると、サーバが起動しなくなります。 デフォルトは10です。 -このパラメータはサーバスタートにのみ設定できます。 -max_active_replication_origins少なくともサブスクライバーに追加されるサブスクリプションの数に設定する必要があります。 -プラスはテーブルの同期化のために予約します。 +このパラメータはサーバ起動時のみ設定可能です。 +少なくともmax_active_replication_originsは、サブスクライバーに追加されるサブスクリプション数に、テーブル同期のために予約された数を加えた数以上に設定することが必要です。 @@ -3762,6 +3760,9 @@ WALレコードは、適用される準備が整うまでスタンバイに保 enable_distinct_reordering configuration parameter + + enable_distinct_reordering設定パラメータ + @@ -3769,9 +3770,7 @@ WALレコードは、適用される準備が整うまでスタンバイに保 Enables or disables the query planner's ability to reorder DISTINCT keys to match the input path's pathkeys. The default is on. --> -《マッチ度[59.589041]》問い合わせプランナがギャザーマージ計画型を選択することを有効もしくは無効にします。 -デフォルトはonです。 -《機械翻訳》入力されたプランナのパスキーをマッチするために、問い合わせパスがDISTINCTキーを並べ替える機能を有効または無効にします。 +入力パスのパスキーと一致するようにDISTINCTキーの順序を並べ替える問い合わせプランナの機能を有効または無効にします。 デフォルトはonです。 @@ -4219,6 +4218,9 @@ WALレコードは、適用される準備が整うまでスタンバイに保 enable_self_join_elimination configuration parameter + + enable_self_join_elimination設定パラメータ + @@ -4228,8 +4230,8 @@ WALレコードは、適用される準備が整うまでスタンバイに保 single scans. Takes into consideration only plain tables. The default is on. --> -《機械翻訳》プランナを分析し、自己結合を意味的に等価な単一スキャンに置換する問い合わせ「最適化の問い合わせツリー」を有効または無効にします。 -プレーン表のみが考慮されます。 +問い合わせツリーを分析し、自己結合を意味的に同等の一度のスキャンに置き換える問い合わせプランナの最適化を有効または無効にします。 +通常のテーブルのみが考慮されます。 デフォルトはonです。 @@ -4421,33 +4423,34 @@ WALレコードは、適用される準備が整うまでスタンバイに保 -機械的ディスク記憶装置に対するランダムアクセスは通常はシーケンシャルアクセスの4倍よりもかなり高価です。 -しかし、より低いデフォルト(4.0)が使用されます。というのはインデックスのついた読み取りのようなディスクに対するランダムアクセスのほとんどはキャッシュにあると想定されるからです。 -このデフォルト値は、ランダムアクセスがシーケンシャルアクセスより40倍遅い一方で、ランダム読み込みの90%はキャッシュされていることが期待されるというモデルとして考えることができます。 +《機械翻訳》通常、耐久性のあるランダムアクセスへのストレージは、4回の順次アクセスよりもコストがかかります。 +ただし、より低いデフォルト(4.0)が使用されます。 +これは、インデックス付き読取りなど、ストレージへのランダム・アクセスの大部分がキャッシュで行われると想定されるためです。 +また、ネットワークに接続されたストレージのレイテンシは、ランダムアクセスの相対的なオーバーヘッドを下げる傾向があります。 -自環境の作業負荷において、90%のキャッシュ率は誤った仮定と考えられるのであれば、ランダム記憶装置読み込みのコストをより良く反映するため random_page_cost を大きくすることができます。 -反対に、データが完全にキャッシュされていると思われるのであれば、random_page_cost を小さくすることが適切です。例えば、データベースの容量がサーバのメモリより小さい場合などです。 -例えばSSDのような、シーケンシャルアクセスに比べてランダム読み込みコストがあまり大きくない記憶装置の場合も、random_page_cost に対し1.1のようにより低い値のモデル化の方が良いでしょう。 +《機械翻訳》キャッシュの頻度がデフォルト値に反映される頻度よりも低く、ネットワークのレイテンシが最小であると考えられる場合は、random_page_costを増やして、ランダムのストレージ読取りの真コストをより反映させることができます。 +磁気ディスクのように、シーケンシャルと比較してランダムの読取りコストが高いストレージは、random_page_costの値を大きくした方がモデル化に適している可能性があります。 +これに対応して、データベースがサーバメモリの合計よりも小さい場合やネットワークレイテンシが高い場合など、データが完全にキャッシュに含まれる可能性が高い場合は、random_page_costを減らすことが適切な場合があります。 diff --git a/doc/src/sgml/config2.sgml b/doc/src/sgml/config2.sgml index b8592eda289..fd2871eab66 100644 --- a/doc/src/sgml/config2.sgml +++ b/doc/src/sgml/config2.sgml @@ -217,14 +217,9 @@ Windowsでは、eventlogも同時に提供します。 must be enabled to generate CSV-format log output. --> -《マッチ度[85.347044]》csvloglog_destinationに含まれる場合、ログ項目はプログラムへの読み込みが簡便なカンマ区切り値書式(CSV)で出力されます。 +csvloglog_destinationに含まれる場合、ログ項目はプログラムへの読み込みが簡便なカンマ区切り値書式(CSV)で出力されます。 詳細はを参照してください。 CSV書式のログ出力を生成するためにはを有効にする必要があります。 -《機械翻訳》log_destination csvlogが含まれている場合、ログエントリはカンマ区切り値CSV)フォーマットに出力されます。 -プログラムにログをロードするのに便利です。 -詳細はを参照してください。 -CSV-フォーマットログ出力を生成するには、を有効にする必要があります。 - event logへのログ出力が有効になっていると、このパラメータはログ中のPostgreSQLメッセージを特定するのに使用されるプログラム名を決定します。デフォルトはPostgreSQLです。 -このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +このパラメータはサーバ起動時にのみ設定可能です。 @@ -1531,13 +1525,16 @@ Unixシステムにおいては、logging_collectorが有効 disables all connection logging. The following options may be specified alone or in a comma-separated list: --> -《機械翻訳》各コネクションのサーバをログに記録します。 -デフォルトは空の文字列''で、すべてのコネクションロギングを無効にします。 -次のオプションは単独で指定するか、カンマで区切ったリストで指定できます: +サーバへの各接続の情報をログに記録します。 +デフォルトは空文字列である''で、すべての接続ログを無効にします。 +以下のオプションは単独で指定することも、コンマで区切ったリストで指定することもできます。
+ + 接続ログのオプション @@ -1559,7 +1556,7 @@ Unixシステムにおいては、logging_collectorが有効 - 《機械翻訳》コネクションの受領を記録します。 + 接続の受信を記録します。 @@ -1574,9 +1571,9 @@ Unixシステムにおいては、logging_collectorが有効 authentication is always logged regardless of the value of this setting. --> -《機械翻訳》オリジナルメソッドが認証を識別するために使用するユーザIDを記録します。 -ほとんどの場合、ID文字列はPostgreSQLusernameと一致しますが、一部のサード・パーティ認証メソッドは、サーバが格納するオリジナルユーザ識別子前を変更する場合があります。 -失敗した認証は、この設定の値に関係なく常に記録されます。 +ユーザを識別する認証方法で使用される元の識別子を記録します。 +ほとんどの場合、識別子はPostgreSQLのユーザ名と一致しますが、サードパーティの認証方法によっては、サーバが保存する前に元のユーザ識別子が変更されることがあります。 +認証が失敗した場合、この設定の値に関係なく常に記録されます。 @@ -1590,9 +1587,9 @@ Unixシステムにおいては、logging_collectorが有効 username as well as the database name and application name, if applicable. --> -《機械翻訳》認証が正常に完了したことをログに記録します。 -このポイントでは、コネクションは設定されていますが、バックエンドはまだ完全には設定されていません。 -ログメッセージには、認証されたユーザ名と、該当する場合はデータベース名前およびアプリケーション名前が含まれます。 +認証が正常に完了したことを記録します。 +この時点で接続は確立されていますが、バックエンドはまだ完全には設定されていません。 +ログメッセージには、認証されたユーザ名に加えて、データベース名とアプリケーション名(該当する場合)が含まれます。 @@ -1608,8 +1605,8 @@ Unixシステムにおいては、logging_collectorが有効 for query), the time it took to fork the new backend, and the time it took to authenticate the user. --> -《機械翻訳》コネクションが最初のバックエンドを実行する準備ができるまでに、コネクションの確立と問い合わせの設定に費やした時間を記録します。 -ログメッセージには、合計セットアップ時間(ポストマスタが着信コネクションを受け入れてから、コネクションが問い合わせの準備ができたときに終了するまで)、新バックエンドをフォークするのにかかった時間、ユーザを認証するのにかかった時間の3つの時間が含まれます。 +接続が最初の問い合わせを実行する準備ができるまで、接続の確立とバックエンドの設定にかかった時間を記録します。 +ログメッセージには、合計設定時間(postmasterが接続の着信を受け入れてから、接続が問い合わせ可能になった時点まで)、新しいバックエンドをフォークするのにかかった時間、およびユーザ認証にかかった時間の3つの期間が含まれます。 @@ -1621,8 +1618,8 @@ Unixシステムにおいては、logging_collectorが有効 all is specified in a list of other options, all connection aspects will be logged. --> -《機械翻訳》すべての別名を指定することと同等の便宜的オプション。 -allが他のオプションのリストで指定されている場合、すべてのコネクションの側面がログに記録されます。 +すべてのオプションを指定するのと同じ便利な別名です。 +他のオプションのリストにallが指定されていると、すべての接続状況がログに記録されます。 @@ -1635,7 +1632,7 @@ Unixシステムにおいては、logging_collectorが有効 Disconnection logging is separately controlled by . --> -《機械翻訳》断路器ロギングはが別途管理している。 +切断時のロギングはによって個別に制御されます。 @@ -1648,8 +1645,8 @@ Unixシステムにおいては、logging_collectorが有効 the receipt, authentication, and authorization options. --> -《機械翻訳》後方互換性の目的では、onofftruefalseyesno1、および0は引き続きサポートされます。 -正の値はreceiptauthenticationauthorizationオプションを指定するのと同じです。 +下位互換性の目的で、onofftruefalseyesno1、および0は引き続きサポートされます。 +正の値はreceiptauthentication、およびauthorizationオプションを指定するのと同じです。 @@ -1658,9 +1655,7 @@ Unixシステムにおいては、logging_collectorが有効 privilege can change this parameter at session start, and it cannot be changed at all within a session. --> -《マッチ度[51.445087]》この設定を変更できるのは、スーパーユーザと適切なSET権限を持つユーザだけです。 -《機械翻訳》スーパーユーザおよび適切なSET権限権限を持つユーザのみが、セッションパラメータでこのスタートを変更することができます。 -セッション内で変更することはできません。 +スーパーユーザと、適切なSET権限を持つユーザだけがセッション開始時にこのパラメータを変更でき、セッションが開始された後は変更できません。 @@ -2260,6 +2255,9 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' log_lock_failures configuration parameter + + log_lock_failures設定パラメータ + @@ -2272,16 +2270,11 @@ log_line_prefix = '%m [%p] %q%u@%d/%a ' users with the appropriate SET privilege can change this setting. --> -《マッチ度[51.358696]》セッションがロックの獲得までの間により長く待機する場合にログメッセージを生成するかどうかを制御します。 -これは、ロック待ちによって性能がでていないのかどうか確認する時に有用です。 +ロック獲得が失敗したときに詳細なログメッセージを生成するかどうかを制御します。 +これは、ロックの獲得が失敗した原因を分析するのに役立ちます。 +現在、SELECT NOWAITによるロック獲得失敗のみがサポートされています。 デフォルトはoffです。 スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 -《機械翻訳》ログの取得に失敗した場合に、詳細なメッセージを生成するかどうかを制御します。 -これは、ロックの失敗の原因を分析するのに役立ちます。 -現在、SELECT NOWAITによるロックの失敗のみがサポートされています。 -ロックはoffです。 -スーパーユーザおよび適切なSETデフォルトを持つユーザのみがこの設定を変更できます。 -権限 @@ -3269,10 +3262,13 @@ NULL値を持つ文字列フィールドは出力から除外されます。 track_cost_delay_timing configuration parameter + + track_cost_delay_timing設定パラメータ + - -《マッチ度[54.964176]》データベースによるI/O呼び出しの記録を有効にします。 -このパラメータはデフォルトで無効になっています。その理由は、現時点の時刻をオペレーティングシステムに繰り返し問い合わせるので、プラットフォームによっては深刻な負荷の原因になるからです。 -使用しているシステムにおける記録の負荷を計測するためツールが使用できます。 -I/O呼び出し情報は、pg_stat_databasepg_stat_ioに表示されます。 -BUFFERSオプションが設定されている時は の出力、VERBOSEオプションが設定されている時はの出力、が設定されている時はにより表示されます。 +コストベースのバキューム遅延の記録を有効にします(を参照)。 +このパラメータはデフォルトでは無効になっています。 +これは、オペレーティングシステムに現在の時刻を繰り返し問い合わせるため、一部のプラットフォームでは大きなオーバーヘッドが発生する可能性があるためです。 +ツールを使用して、システム上のタイミングのオーバーヘッドを測定できます。 +コストベースのバキューム遅延タイミング情報は、pg_stat_progress_vacuumpg_stat_progress_analyzeに表示されます。 +また、VERBOSEオプションが使用されているの出力、が設定されている場合はautovacuumで行われる自動バキューム処理と自動解析処理でも表示されます。 スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 -《機械翻訳》コストを拠点とするタイミング遅延のバキュームを有効にします(を参照)。 -このパラメータはデフォルトのオフです。 -これは、現在時間の間オペレーティングシステムを繰り返し問い合わせするため、一部のプラットフォームでは重大なオーバーヘッドを引き起こす可能性があります。 -ツールを使用して、システムのタイミングのオーバーヘッドを測定できます。 -コストを拠点とするバキューム遅延タイミングの情報は、VERBOSEオプションが使用された場合はの出力のpg_stat_progress_vacuumpg_stat_progress_analyzeに表示され、が設定された場合は自動バキュームと自動分析のオートバキュームに表示されます。 -スーパーユーザと適切なSET権限を持つユーザのみがこの設定を変更できます。 @@ -3341,18 +3332,13 @@ I/O呼び出し情報は、SET privilege can change this setting. --> -《マッチ度[69.105691]》データベースによるI/O呼び出しの記録を有効にします。 -このパラメータはデフォルトで無効になっています。その理由は、現時点の時刻をオペレーティングシステムに繰り返し問い合わせるので、プラットフォームによっては深刻な負荷の原因になるからです。 +データベースによるI/O待機の記録を有効にします。 +このパラメータはデフォルトで無効になっています。 +その理由は、現時点の時刻をオペレーティングシステムに繰り返し問い合わせるので、プラットフォームによっては深刻な負荷の原因になるからです。 使用しているシステムにおける記録の負荷を計測するためツールが使用できます。 -I/O呼び出し情報は、pg_stat_databasepg_stat_ioに表示されます。 -BUFFERSオプションが設定されている時は の出力、VERBOSEオプションが設定されている時はの出力、が設定されている時はにより表示されます。 +I/Oの記録情報は、pg_stat_databasepg_stat_ioobjectwalではない)、pg_stat_get_backend_io()関数(objectwalではない)の出力に表示されます。 +また、BUFFERSオプションが使用されているの出力、VERBOSEオプションが使用されているの出力、が設定されている場合はにより表示されます。 スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 -《機械翻訳》データベース入出力待機のタイミングを有効にします。 -このパラメータはデフォルトのオフです。 -現在時間の間、繰り返しオペレーティングシステムを問い合わせするため、一部のプラットフォームでは重大なオーバーヘッドが発生する可能性があります。 -ツールを使用して、システムのタイミングのオーバーヘッドを測定できます。 -入出力タイミング情報はpg_stat_databasepg_stat_ioオブジェクトwalでない場合、pg_stat_get_backend_io()関数の出力(オブジェクトwalでない場合)、BUFFERSオプションが使用された場合のの出力、VERBOSEオプションが使用された場合のの出力、自動バキュームと自動分析の場合のオートバキューム、が設定されている場合、およびによって表示されます。 -スーパーユーザと適切なSET権限を持つユーザのみがこの設定を変更できます。 @@ -3384,16 +3370,12 @@ I/O呼び出し情報は、SET privilege can change this setting. --> -《マッチ度[59.563543]》データベースによるWAL I/O呼び出しの記録を有効にします。 -このパラメータはデフォルトで無効になっています。その理由は、現時点の時刻をオペレーティングシステムに繰り返し問い合わせるので、プラットフォームによっては深刻な負荷の原因になるからです。 +WALによるI/O待機の記録を有効にします。 +このパラメータはデフォルトで無効になっています。 +その理由は、現時点の時刻をオペレーティングシステムに繰り返し問い合わせるので、プラットフォームによっては深刻な負荷の原因になるからです。 使用しているシステムにおける負荷のタイミングを計測するためpg_test_timingツールが使用できます。 -I/O呼び出し情報は、pg_stat_walに表示されます。 +I/Oの記録情報は、objectwalpg_stat_io、およびobjectwalpg_stat_get_backend_io()関数の出力に表示されます。 スーパーユーザと、適切なSET権限を持つユーザのみがこの設定を変更することができます。 -《機械翻訳》WAL I/O待機のタイミングを有効にします。 -このパラメータはデフォルトによるオフで、現在時間の間オペレーティングシステムを繰り返し問い合わせするため、一部のプラットフォームで重大なオーバーヘッドが発生する可能性があります。 -pg_test_timingツールを使用して、システムでタイミングのオーバーヘッドを測定できます。 -入出力タイミング情報は、オブジェクトwalの場合はpg_stat_ioに、オブジェクトwalの場合はpg_stat_get_backend_io()関数の出力に表示されます。 -スーパーユーザおよび適切なSET権限を持つユーザのみがこの設定を変更できます。 @@ -3616,20 +3598,27 @@ SQL関数、C言語関数も追跡するためにはallと指 + + Vacuum作業 vacuum configuration parameters + + vacuum + 設定パラメータ + -《機械翻訳》これらのパラメータは、バキューム処理の動作をコントロールします。 -バキュームの目的と責任の詳細は、を参照してください。 +これらのパラメータは、バキューム処理の挙動を制御します。 +バキュームの目的と責任の詳細はを参照してください。 @@ -3658,6 +3647,9 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum configuration parameter + + autovacuum設定パラメータ + @@ -3670,15 +3662,11 @@ SQL関数、C言語関数も追跡するためにはallと指 file or on the server command line; however, autovacuuming can be disabled for individual tables by changing table storage parameters. --> -《マッチ度[85.459184]》サーバがautovacuumランチャデーモンを実行すべきかどうかを管理します。 +サーバが自動バキュームランチャデーモンを実行すべきかどうかを管理します。 デフォルトでは有効です。 -しかしautovacuumを作動させるためにはも有効でなければなりません。 +しかし自動バキュームを作動させるためにはも有効でなければなりません。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -ただし、テーブルストレージパラメータを変更することにより、autovacuumは個々のテーブルに対して無効にできます。 -《機械翻訳》サーバが自動バキュームランチャデーモンを稼働させるかどうかを制御します。 -これはデフォルトによって有効になっていますが、オートバキュームが機能するためにはも有効になっている必要があります。 -このパラメータはpostgresql.confファイルまたはサーバコマンドライン上でのみ設定可能です。 -しかし、テーブルストレージパラメータを変更することで個々のテーブルに対して自動バキュームを無効にすることができます。 +ただし、テーブル格納パラメータを変更することにより、自動バキュームは個々のテーブルに対して無効にできます。 -《マッチ度[84.134615]》このパラメータが無効であったとしてもシステムは、トランザクションIDの周回を防止する必要があれば、autovacuumプロセスを起動することに注意してください。 -詳細はを参照してください。 -《機械翻訳》このパラメータが無効であったとしてもシステムは、トランザクションIDの周回を防止する必要があれば、autovacuumプロセスを起動することに注意してください。 +このパラメータが無効であったとしてもシステムは、トランザクションIDの周回を防止する必要があれば、自動バキュームプロセスを起動することに注意してください。 詳細はを参照してください。 @@ -3700,6 +3686,9 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_worker_slots configuration parameter + + autovacuum_worker_slots設定パラメータ + @@ -3709,16 +3698,16 @@ SQL関数、C言語関数も追跡するためにはallと指 your kernel settings will not support it (as determined during initdb). This parameter can only be set at server start. --> -《機械翻訳》バックエンドワーカープロセスのために予約するオートバキュームスロットの数を指定します。 -デフォルトは通常16スロットですが、カーネル設定がサポートしない場合(initdb時に決定されます)はこれより少なくなる可能性があります。 -このパラメータはサーバスタートでのみ設定できます。 +自動バキュームワーカープロセス用に予約するバックエンドのスロット数を指定します。 +デフォルトは通常16スロットですが、カーネル設定でサポートされない場合(initdb中に判定します)、それより少なくなる可能性があります。 +このパラメータはサーバ起動時のみ設定可能です。 -《機械翻訳》この値を変更する場合は、の調整も考慮してください。 +この値を変更する場合は、を調整することも考慮してください。 @@ -3728,6 +3717,9 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_max_workers configuration parameter + + autovacuum_max_workers設定パラメータ + @@ -3737,12 +3729,9 @@ SQL関数、C言語関数も追跡するためにはallと指 is 3. This parameter can only be set in the postgresql.conf file or on the server command line. --> -《マッチ度[61.313869]》同時に実行することができるautovacuumプロセス(autovacuumランチャ以外)の最大数を指定します。 -デフォルトは3です。 -このパラメータはサーバ起動時のみ設定可能です。 -《機械翻訳》同時に実行できる自動バキュームプロセス(自動バキュームランチャ以外)の最大数を指定します。 +同時に実行することができる自動バキュームプロセス(自動バキュームランチャ以外)の最大数を指定します。 デフォルトは3です。 -このパラメータはpostgresql.confファイルまたはサーバコマンドラインにのみ設定できます。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -《機械翻訳》ノートでは、この値をよりも高く設定しても効果はありません。 -これは、オートバキュームワーカーがその設定によって確立されたプールのスロットから取得されるためです。 +よりも大きい値を設定しても効果はありません。 +これは、自動バキュームワーカーがこの設定によって確立されたスロットのプールから取得されるためです。 @@ -3762,6 +3751,9 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_naptime configuration parameter + + autovacuum_naptime設定パラメータ + @@ -3775,16 +3767,11 @@ SQL関数、C言語関数も追跡するためにはallと指 This parameter can only be set in the postgresql.conf file or on the server command line. --> -《マッチ度[86.081370]》あるデータベースについて実行されるautovacuumデーモンの最小遅延を指定します。 +あるデータベースについて実行される自動バキュームデーモンの最小遅延を指定します。 それぞれの周期で、デーモンはそのデータベースを試験し、そしてそのデータベース内のテーブルで必要性が認められると、VACUUMおよびANALYZEコマンドを発行します。 この値が単位なしで指定された場合は、秒単位であるとみなします。 デフォルトは1分(1min)です。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -《機械翻訳》任意のデータベースで実行されるオートバキューム間の最小遅延を指定します。 -各ラウンドで、デーモンはデータベースを検査し、必要に応じてそのデータベースの表に対してVACUUMおよびANALYZEコマンドを発行します。 -この値がユニットなしで指定された場合、秒として扱われます。 -デフォルトは1分(1min)です。 -このパラメータはpostgresql.confファイルまたはサーバコマンドラインでのみ設定できます。 @@ -3795,6 +3782,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_vacuum_threshold configuration parameter + + autovacuum_vacuum_threshold + 設定パラメータ + @@ -3807,13 +3798,10 @@ SQL関数、C言語関数も追跡するためにはallと指 but the setting can be overridden for individual tables by changing table storage parameters. --> -《マッチ度[84.090909]》どのテーブルに対してもVACUUMを起動するために必要な、更新もしくは削除されたタプルの最小数を指定します。 +ある任意のテーブルでVACUUMが起動されるのに必要な更新もしくは削除されたタプルの最小数を指定します。 デフォルトは50タプルです。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -ただし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルに対して上書きすることができます。 -《機械翻訳》VACUUM任意の1つのテーブルのトリガに必要な更新または削除されたタプルの最小数を指定します。 -デフォルトは50タプルです。 -このパラメータはpostgresql.confファイルまたはサーバコマンドラインにのみ設定できますが、テーブルストレージパラメータを変更することで個々の表の設定を上書きできます。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -3824,6 +3812,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_vacuum_insert_threshold configuration parameter + + autovacuum_vacuum_insert_threshold + 設定パラメータ + @@ -3838,15 +3830,11 @@ SQL関数、C言語関数も追跡するためにはallと指 but the setting can be overridden for individual tables by changing table storage parameters. --> -《マッチ度[84.401709]》あるテーブルでVACUUMを起動するきっかけとなるのに必要な挿入タプル数を設定します。 +ある任意のテーブルでVACUUMが起動されるのに必要な挿入タプル数を設定します。 デフォルトは1000タプルです。 --1が指定されると、自動VACUUMが挿入タプル数に基づいてVACUUM操作を引き起こすことはなくなります。 +-1が指定されると、自動バキュームが挿入タプル数に基づいてVACUUM操作を引き起こすことはなくなります。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -ただし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルに対して上書きすることができます。 -《機械翻訳》VACUUM任意の1つのテーブルのトリガaに必要な挿入タプルの数が指定されます。 -デフォルトは1000タプルです。 --1が指定された場合、オートバキュームは挿入の数に基づいてVACUUM任意の表のオペレーションをトリガしません。 -このパラメータはpostgresql.confファイルまたはサーバコマンドラインでのみ設定できますが、テーブルストレージパラメータを変更することで個々の表の設定を上書きできます。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -3857,6 +3845,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_analyze_threshold configuration parameter + + autovacuum_analyze_threshold + 設定パラメータ + @@ -3869,13 +3861,10 @@ SQL関数、C言語関数も追跡するためにはallと指 but the setting can be overridden for individual tables by changing table storage parameters. --> -《マッチ度[84.615385]》どのテーブルに対してもANALYZEを起動するのに必要な、挿入、更新、もしくは削除されたタプルの最小数を指定します。 +ある任意のテーブルでANALYZEが起動されるのに必要な、挿入、更新、もしくは削除されたタプルの最小数を指定します。 デフォルトは50タプルです。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -ただし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルに対して上書きすることができます。 -《機械翻訳》ANALYZE任意の1つのテーブルのトリガに必要な挿入、更新または削除されたタプルの最小数を指定します。 -デフォルトは50タプルです。 -このパラメータはpostgresql.confファイルまたはサーバコマンドラインにのみで設定できますが、テーブルストレージパラメータを変更することで個々の表の設定を上書きできます。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -3886,6 +3875,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_vacuum_scale_factor configuration parameter + + autovacuum_vacuum_scale_factor + 設定パラメータ + @@ -3899,13 +3892,10 @@ SQL関数、C言語関数も追跡するためにはallと指 but the setting can be overridden for individual tables by changing table storage parameters. --> -《マッチ度[80.285036]》VACUUMを起動するか否かを決定するときに、autovacuum_vacuum_thresholdに足し算するテーブル容量の割合を指定します。 -デフォルトは0.2(テーブルサイズの20%)です。 +VACUUMを起動するかどうか決定するときに、autovacuum_vacuum_thresholdに追加するテーブルサイズの割合を指定します。 +デフォルトは0.2(テーブルサイズの20%)です。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -ただし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルに対して上書きすることができます。 -《機械翻訳》aVACUUMをトリガするかどうかを決定するときに、autovacuum_vacuum_thresholdに追加するテーブルサイズの割合を指定します。 -デフォルトは0.2(テーブルサイズの20%です)。 -このパラメータはpostgresql.confファイルまたはサーバコマンドラインでのみ設定できますが、テーブルストレージパラメータを変更することで個々の表の設定を上書きできます。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -3916,6 +3906,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_vacuum_insert_scale_factor configuration parameter + + autovacuum_vacuum_insert_scale_factor + 設定パラメータ + @@ -3928,13 +3922,10 @@ SQL関数、C言語関数も追跡するためにはallと指 file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters. --> -《マッチ度[75.109170]》VACUUMを起動するかどうか決める際のautovacuum_vacuum_insert_thresholdに追加するテーブルサイズの割合を指定します。 -デフォルトは0.2(テーブルサイズの20%)です。 +VACUUMを起動するかどうか決めるときに、autovacuum_vacuum_insert_thresholdに追加するテーブルの未凍結なページの割合を指定します。 +デフォルトは0.2(テーブルで未凍結なページの20%)です。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -ただし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルに対して上書きすることができます。 -《機械翻訳》aVACUUMをページにするかどうかを決定する場合に、autovacuum_vacuum_insert_thresholdに追加するテーブルの未凍結トリガの割合を指定します。 -デフォルトは0.2テーブルの未凍結ページの20%です。 -このパラメータはpostgresql.confファイルまたはサーバコマンドラインでのみ設定できますが、テーブルストレージパラメータを変更することで個々の表の設定を上書きできます。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -3945,6 +3936,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_analyze_scale_factor configuration parameter + + autovacuum_analyze_scale_factor + 設定パラメータ + @@ -3958,13 +3953,10 @@ SQL関数、C言語関数も追跡するためにはallと指 but the setting can be overridden for individual tables by changing table storage parameters. --> -《マッチ度[80.424528]》ANALYZEを起動するか否かを決定するときに、autovacuum_analyze_thresholdに足し算するテーブル容量の割合を指定します。 -デフォルトは0.1(テーブルサイズの10%)です。 +ANALYZEを起動するかどうか決めるときに、autovacuum_analyze_thresholdに追加するテーブルサイズの割合を指定します。 +デフォルトは0.1(テーブルサイズの10%)です。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -ただし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルに対して上書きすることができます。 -《機械翻訳》ANALYZEをトリガするかどうかを決定するときに、autovacuum_analyze_thresholdに追加するテーブルサイズの割合を指定します。 -デフォルトは0.1(テーブルサイズの10%です)。 -このパラメータはpostgresql.confファイルまたはサーバコマンドラインでのみ設定できますが、テーブルストレージパラメータを変更することで個々の表の設定を上書きできます。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -3975,6 +3967,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_vacuum_max_threshold configuration parameter + + autovacuum_vacuum_max_threshold + 設定パラメータ + @@ -3991,15 +3987,11 @@ SQL関数、C言語関数も追跡するためにはallと指 command line; but the setting can be overridden for individual tables by changing storage parameters. --> -《マッチ度[51.766513]》あるテーブルでVACUUMを起動するきっかけとなるのに必要な挿入タプル数を設定します。 -デフォルトは1000タプルです。 --1が指定されると、自動VACUUMが挿入タプル数に基づいてVACUUM操作を引き起こすことはなくなります。 +ある任意のテーブルでVACUUMが起動されるのに必要な更新または削除されたタプルの最大数、つまりautovacuum_vacuum_thresholdautovacuum_vacuum_scale_factorで計算される値の上限値を指定します。 +デフォルトは1億タプルです。 +-1を指定すると、自動バキュームは、VACUUM操作を起動する更新または削除されたタプルの最大数を強制しません。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -ただし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルに対して上書きすることができます。 -《機械翻訳》トリガaに必要な更新または削除されたタプルの最大数を指定しますVACUUM任意の1つのテーブル、つまりautovacuum_vacuum_thresholdおよびautovacuum_vacuum_scale_factorで計算された値の制限。 -デフォルトは100,000,000タプルです。 --1を指定すると、オートバキュームはトリガaVACUUMオペレーションになる更新または削除されたタプルの最大数を強制しません。 -このパラメータはpostgresql.confファイルまたはサーバコマンドラインにのみ設定できますが、ストレージパラメータを変更することで個々の表の設定を上書きできます。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -4010,6 +4002,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_freeze_max_age configuration parameter + + autovacuum_freeze_max_age + 設定パラメータ + @@ -4021,12 +4017,8 @@ SQL関数、C言語関数も追跡するためにはallと指 Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. --> -《マッチ度[87.335092]》トランザクションID周回を防ぐためにVACUUM操作が強制される前までにテーブルのpg_class.relfrozenxid フィールドが到達できる最大(トランザクションにおける)年代を指定します。 +トランザクションID周回を防ぐためにVACUUM操作が強制される前までにテーブルのpg_class.relfrozenxidフィールドが到達できる(トランザクションにおける)最大の年代を指定します。 自動バキュームが無効であった時でも、システムは周回を防ぐために自動バキューム子プロセスを起動することに注意してください。 -《機械翻訳》テーブルpg_classの最大有効期間(トランザクション数)を指定します。 -relfrozenxidフィールドは前を獲得することができます。 -VACUUMオペレーションはテーブル内のトランザクションIDの周回を防ぐことを強制されます。 -オートバキュームが他の障害を負っている場合でも周回を防ぐためにシステムが自動バキュームプロセスを立ち上げるというノート。 @@ -4039,15 +4031,11 @@ SQL関数、C言語関数も追跡するためにはallと指 changing table storage parameters. For more information see . --> -《マッチ度[84.741144]》vacuumは同時にpg_xactサブディレクトリから古いファイルの削除を許可します。 +バキューム処理は同時にpg_xactサブディレクトリから古いファイルの削除を許可します。 これが、比較的低い2億トランザクションがデフォルトである理由です。 このパラメータはサーバ起動時にのみ設定可能です。 -しかし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルで減らすことができます。 +しかし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルで減らすことができます。 詳細はを参照してください。 -《機械翻訳》バキュームでは、pg_xactサブディレクトリから古いファイルを削除することもできます。 -これが、デフォルトが比較的少ない200,000,000トランザクションである理由です。 -このパラメータはサーバスタートでのみ設定できますが、テーブルストレージパラメータを変更することで個々のテーブルの設定を減らすことができます。 -詳細については、を参照してください。 @@ -4058,6 +4046,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_multixact_freeze_max_age configuration parameter + + autovacuum_multixact_freeze_max_age + 設定パラメータ + @@ -4069,12 +4061,8 @@ SQL関数、C言語関数も追跡するためにはallと指 Note that the system will launch autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. --> -《マッチ度[87.131367]》トランザクションID周回を防ぐためにVACUUM操作が強制される前までにテーブルのpg_class.relminmxid フィールドが到達できる最大(マルチトランザクションにおける)年代を指定します。 +トランザクションID周回を防ぐためにVACUUM操作が強制される前までにテーブルのpg_class.relminmxidフィールドが到達できる(マルチトランザクションにおける)最大の年代を指定します。 自動バキュームが無効であった時でも、システムは周回を防ぐために自動バキューム子プロセスを起動することに注意してください。 -《機械翻訳》テーブルpg_classの最大有効期間を(multixacts)で指定します。 -relminmxidフィールドは前を獲得することができます。 -VACUUMオペレーションはテーブル内のマルチトランザクションIDの周回を防ぐことを強制されます。 -オートバキュームが他の障害を負っている場合でも周回を防ぐためにシステムが自動バキュームプロセスを立ち上げるというノート。 @@ -4087,15 +4075,11 @@ SQL関数、C言語関数も追跡するためにはallと指 be reduced for individual tables by changing table storage parameters. For more information see . --> -《マッチ度[87.555556]》またマルチトランザクションIDのvacuumはpg_multixactpg_multixact/offsetsサブディレクトリから古いファイルの削除します。 -これがデフォルトが4億トランザクションをやや下回る理由です。 +マルチトランザクションのバキューム処理は同時にpg_multixact/memberspg_multixact/offsetsサブディレクトリから古いファイルの削除を許可します。 +これが、比較的低い4億トランザクションがデフォルトである理由です。 このパラメータはサーバ起動時にのみ設定可能です。 -しかし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルで減らすことができます。 +しかし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルで減らすことができます。 詳細はを参照してください。 -《機械翻訳》バキューム処理マルチxactsでは、pg_multixact/membersおよびpg_multixact/offsetsサブディレクトリから古いファイルを削除することもできます。 -これが、デフォルトが比較的少ない400,000,000マルチxactsである理由です。 -このパラメータはサーバスタートでのみ設定できますが、テーブルストレージパラメータを変更することで個々のテーブルの設定を減らすことができます。 -詳細は、を参照してください。 @@ -4106,6 +4090,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_vacuum_cost_delay configuration parameter + + autovacuum_vacuum_cost_delay + 設定パラメータ + @@ -4120,17 +4108,12 @@ SQL関数、C言語関数も追跡するためにはallと指 but the setting can be overridden for individual tables by changing table storage parameters. --> -《マッチ度[85.515873]》自動VACUUM操作に使用されるコスト遅延値を指定します。 --1に指定されると、一定の の値が使用されます。 +自動VACUUM操作に使用されるコスト遅延値を指定します。 +-1が指定されると、通常のの値が使用されます。 この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 デフォルト値は2ミリ秒です。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -ただし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルに対して上書きすることができます。 -《機械翻訳》自動VACUUM操作で使用されるコスト遅延値を指定します。 --1を指定すると、通常の値が使用されます。 -この値をユニットなしで指定すると、ミリ秒と見なされます。 -デフォルト値は2ミリ秒です。 -このパラメータはpostgresql.confファイルまたはサーバコマンドライン上でのみ設定できますが、テーブルストレージパラメータを変更することで個々のテーブルの設定を上書きできます。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -4141,6 +4124,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuum_vacuum_cost_limit configuration parameter + + autovacuum_vacuum_cost_limit + 設定パラメータ + @@ -4157,16 +4144,12 @@ SQL関数、C言語関数も追跡するためにはallと指 but the setting can be overridden for individual tables by changing table storage parameters. --> -《マッチ度[83.048212]》自動VACUUM操作に使用されるコスト限界値を指定します。 -(デフォルトの)-1が指定されると、一定の の値が使用されます。 -この値は、実行中の自動バキュームワーカーが複数存在する場合ワーカーすべてに比例分配されることに注意してください。 -したがって各ワーカーの制限を足し合わせてもこの変数による制限を超えることはありません。 +自動VACUUM操作に使用されるコスト限界値を指定します。 +(デフォルトの)-1が指定されると、通常のの値が使用されます。 +実行中の自動バキュームワーカーが複数存在する場合、この値はすべてのワーカーに比例分配されることに注意してください。 +したがって各ワーカーの上限の合計がこの変数の値を超えることはありません。 このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 -ただし、この設定はテーブルストレージパラメータの変更により、それぞれのテーブルに対して上書きすることができます。 -《機械翻訳》自動VACUUMコスト操作で使用されるデフォルト制限値を指定します。 --1が指定されている場合はノート、通常の値が使用されます。 -複数のオートバキュームワーカーが存在する場合、各ワーカーの制限の総和がこの変数の値を超えないように、値が実行中のワーカー間で比例的に配分されるパラメータ。 -このはpostgresql.confファイルまたはサーバコマンドラインでのみ設定できますが、テーブルストレージパラメータを変更することで個々の表の設定を上書きできます。 +ただし、この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -4245,14 +4228,10 @@ SQL関数、C言語関数も追跡するためにはallと指 0, which disables the cost-based vacuum delay feature. Positive values enable cost-based vacuuming. --> -《マッチ度[78.378378]》コストの限度を越えた場合、プロセスがスリープする時間の長さです。 +コストの上限を越えた場合に、プロセスがスリープする時間の長さです。 この値が単位なしで指定された場合は、ミリ秒単位であるとみなします。 -デフォルトの値は0で、コストに基づいたvacuum遅延機能を無効にします。 +デフォルトの値は0で、コストに基づいたvacuum遅延機能を無効にします。 正の整数はコストに基づいたvacuumを有効にします。 -《機械翻訳》コスト制限を超えたときにプロセスがスリープする時間です。 -この値がユニットなしで指定された場合、ミリ秒とみなされます。 -デフォルト値は0で、コストベースのバキューム遅延機能を無効にします。 -正の値はコストベースのバキューム処理を有効にします。 @@ -4295,10 +4274,9 @@ SQL関数、C言語関数も追跡するためにはallと指 lookup the shared hash table and scan the content of the page. The default value is 1. --> -《マッチ度[75.982533]》共有バッファキャッシュの中のバッファにvacuumを掛ける予測コストです。バッファプールのロック、共有ハッシュテーブルの検索、およびページ内容のスキャンのコストを示します。デフォルトの値は1です。 -《機械翻訳》共有バッファキャッシュにあるバッファバキューム処理の見積コスト。 -バッファプールロックまでのコストを表し、共有ハッシュテーブルを参照し、ページのコンテンツスキャンを参照します。 -デフォルト値は1です。 +共有バッファキャッシュにあるバッファをバキュームするための推定コストです。 +これは、バッファプールのロック、共有ハッシュテーブルの検索、およびページ内容をスキャンするためのコストを示します。 +デフォルトの値は1です。 @@ -4321,10 +4299,9 @@ SQL関数、C言語関数も追跡するためにはallと指 the disk and scan its content. The default value is 2. --> -《マッチ度[78.378378]》ディスクから読み込まれなければならないバッファにvacuumを掛ける予測コストです。これが示すものは、バッファプールロックの試み、共有ハッシュテーブルの参照、ディスクから目的ブロックの読み込み、そしてその内容のスキャンです。デフォルトの値は2です。 -《機械翻訳》バキューム処理の見積コストディスクから読み取る必要があるバッファ。 -これは、バッファプールをロックし、共有ハッシュテーブルを検索し、ディスクから目的のブロックを読み取り、そのコンテンツをスキャンするための労力を表します。 -デフォルト値は2です。 +ディスクから読み込まれなければならないバッファをバキュームするための推定コストです。 +これは、バッファプールロックの試み、共有ハッシュテーブルの参照、ディスクから目的ブロックの読み込み、そしてその内容をスキャンするためのコストを示します。 +デフォルトの値は2です。 @@ -4346,11 +4323,9 @@ SQL関数、C言語関数も追跡するためにはallと指 flush the dirty block out to disk again. The default value is 20. --> -《マッチ度[77.294686]》vacuumが、先だって掃除したブロックを変更するのに必要な推定コストです。 -ダーティブロックを再度ディスクにフラッシュするのに必要な余分なI/Oを表します。デフォルトの値は20です。 -《機械翻訳》バキュームが以前はきれいだったブロックを変更したときに請求される推定コスト。 -これは、ダーティブロックを再びディスクにフラッシュするために必要な追加の入出力を表します。 -デフォルト値は20です。 +以前掃除されたブロックをバキュームで変更するときに必要な推定コストです。 +これは、ダーティブロックを再度ディスクにフラッシュするのに必要な追加のI/Oを表します。 +デフォルトの値は20です。 @@ -4371,10 +4346,8 @@ SQL関数、C言語関数も追跡するためにはallと指 process to sleep for vacuum_cost_delay. The default is 200. --> -《マッチ度[75.641026]》vacuumを掛けるプロセスをvacuum_cost_delayの間スリープさせることになる累計されたコストです。 -デフォルトの値は200です。 -《機械翻訳》これは、vacuum_cost_delayのバキューム処理プロセスをスリープにする累積コストです。 -デフォルトは200です。 +これは、バキューム処理をvacuum_cost_delayの間スリープさせるための累積コストです。 +デフォルトの値は200です。 @@ -4402,7 +4375,10 @@ SQL関数、C言語関数も追跡するためにはallと指 + + デフォルトの動作 @@ -4411,6 +4387,10 @@ SQL関数、C言語関数も追跡するためにはallと指 vacuum_truncate configuration parameter + + vacuum_truncate + 設定パラメータ + @@ -4427,13 +4407,12 @@ SQL関数、C言語関数も追跡するためにはallと指 also be overridden for individual tables by changing table storage parameters. --> -《機械翻訳》「バキュームからトライ」を有効または無効にして、オフの最後にある空のページを切り捨てます。 +テーブルの最後にある空のページを切り捨てようとするバキュームの機能を有効または無効にします。 デフォルト値はtrueです。 -true,VACUUMおよびオートバキュームが切り捨てを行うと、切り捨てられたページのディスクスペースがオペレーティングシステムに戻されます。 -切捨てにはテーブルのACCESS EXCLUSIVEロックが必要なノートです。 -VACUUMTRUNCATEパラメータを指定すると、このパラメータの値が上書きされます。 -テーブルストレージパラメータを変更すると、個々の表の設定を上書きすることもできます。 -テーブル +trueに設定すると、VACUUMと自動バキュームが切り捨てを行い、切り捨てられたページのディスク容量がオペレーティングシステムに返されます。 +切り捨てにはテーブルのACCESS EXCLUSIVEロックが必要であることに注意してください。 +VACUUMTRUNCATEパラメータが指定されている場合、このパラメータの値を上書きします。 +この設定はテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 @@ -4441,7 +4420,10 @@ SQL関数、C言語関数も追跡するためにはallと指 + + 凍結処理 -《機械翻訳》トランザクションIDが循環した後でも正確さを維持するために、PostgreSQLは十分に古い行を凍結済としてマークします。 -これらの行はすべての人にとって可視です。 -他のトランザクションは挿入XIDを検査する必要はありません。 -VACUUMはマーキング行を凍結済として扱います。 -次の設定はコントロールVACUUMの凍結動作であり、主要なワークロードのシステムとデータアクセスのパターンのXID消費レートに基づいて調整する必要があります。 -これらのパラメータのトランザクションIDの周回とチューニングの詳細はを参照してください。 +トランザクションIDが周回した後でも正確さを維持するために、PostgreSQLは十分に古い行を凍結済みとして印付けます。 +これらの行はすべてのユーザに表示されます。 +他のトランザクションでは、挿入したXIDを調べて可視性を判断する必要はありません。 +VACUUMには、行を凍結状態として印付ける責任があります。 +次の設定はVACUUMの凍結動作を制御します。 +これらの設定は、システムのXID消費率と主要なワークロードのデータ参照パターンに基づいて調整する必要があります。 +トランザクションIDの周回とこれらのパラメータの調整の詳細については、を参照してください。 @@ -4470,6 +4453,9 @@ SQL関数、C言語関数も追跡するためにはallと指 vacuum_freeze_table_age configuration parameter + + vacuum_freeze_table_age設定パラメータ + @@ -4488,16 +4474,10 @@ SQL関数、C言語関数も追跡するためにはallと指 information see . --> -《マッチ度[86.935287]》テーブルのpg_class.relfrozenxidフィールドがこの設定で指定した時期に達すると、VACUUMは積極的なテーブルスキャンを行います。 +テーブルのpg_class.relfrozenxidフィールドがこの設定で指定した年代に達すると、VACUUMは積極的なテーブルスキャンを行います。 積極的なスキャンは、無効タプルを含む可能性のあるページだけではなく、凍結されていないXIDあるいはMXIDを含むすべてのページを読む点で通常のVACUUMとは異なります。 デフォルトは1.5億トランザクションです。 -ユーザはこの値をゼロから20億までの任意の値に設定することができますが、VACUUMは警告することなく、周回問題対策のautovacuumがテーブルに対して起動する前に定期的な手動VACUUMが実行する機会を持つように、の95%に実効値を制限します。 -詳細はを参照してください。 -《機械翻訳》VACUUMは、テーブルのpg_class.relfrozenxidスキャンがこの設定で指定された経過時間に達した場合、積極的なクラスを実行します。 -積極的なフィールドは、通常のVACUUM不要なタプルを含む可能性のあるページだけでなく、フリーズされていないXIDまたはMXIDを含む可能性のあるすべてのデフォルトを訪問するとは異なります。 -デフォルトは150,000,000トランザクションです。 -ユーザはこの値をゼロから2,000,000,000までの任意の場所に設定できますが、VACUUMは暗黙的に実効値をの95%に制限します。 -これにより、テーブルに対して反ラップアラウンドの自動バキュームが起動される前に、定期的な手動VACUUMが実行される可能性があります。 +ユーザはこの値をゼロから20億までの任意の値に設定することができますが、周回問題対策の自動バキュームがテーブルに対して起動する前に定期的な手動VACUUMが実行する機会を持つように、VACUUMは警告することなく実際の値をの95%に制限します。 詳細はを参照してください。 @@ -4508,6 +4488,9 @@ SQL関数、C言語関数も追跡するためにはallと指 vacuum_freeze_min_age configuration parameter + + vacuum_freeze_min_age設定パラメータ + @@ -4523,14 +4506,10 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuums. For more information see . --> -《マッチ度[84.870849]》VACUUMが、古いXIDを持つページをフリーズするきっかけとするかどうかを決定する、カットオフ年代を(トランザクション単位で)指定します。 +VACUUMが、古いXIDを持つページの凍結を行うかどうかを決定する、カットオフ年代を(トランザクション単位で)指定します。 デフォルトは5千万トランザクションです。 -ユーザはこの値を0から10億までの間で任意の値に設定することができますが、VACUUMは警告なくの半分までの値に値を制限します。 -このため、強制的なautovacuumの間隔が不合理に短くなることはありません。 -詳細はを参照してください。 -《機械翻訳》古いXIDを持つページの凍結をトリガするかどうかを決定するためにVACUUMが使用すべきカットオフの経過時間(トランザクション単位)を指定します。 -デフォルトは50,000,000トランザクションです。 -ユーザはこの値をゼロから10億までの任意の値に設定することができますが、VACUUMは自動的に実効値をの半分の値に制限するので、強制的な自動バキュームの間隔が不当に短くなることがありません。 +ユーザはこの値をゼロから10億までの間で任意の値に設定することができますが、VACUUMは警告することなく実際の値をの半分の値まで制限します。 +このため、強制的な自動バキュームの間隔が不合理に短くなることはありません。 詳細はを参照してください。 @@ -4541,6 +4520,9 @@ SQL関数、C言語関数も追跡するためにはallと指 vacuum_failsafe_age configuration parameter + + vacuum_failsafe_age設定パラメータ + @@ -4555,14 +4537,10 @@ SQL関数、C言語関数も追跡するためにはallと指 already been running for some time, though it's possible for the failsafe to trigger during any VACUUM. --> -《マッチ度[86.372007]》VACUUMがシステム全体に渡るトランザクションID周回障害を避けるために異例の措置を取るようになる、テーブルのpg_class.relfrozenxidフィールドが到達する最大の(トランザクション数単位での)年齢を指定します。 +VACUUMがシステム全体に渡るトランザクションID周回障害を避けるために異例の措置を取るようになる、テーブルのpg_class.relfrozenxidフィールドが到達する最大の(トランザクション数単位での)年代を指定します。 これはVACUUMの最後の手段となる戦略です。 この安全機構は典型的には、トランザクションID周回を防ぐための自動バキュームがすでに走っているときに起動されます。 しかし、すべてのVACUUMの実行中にこの安全機構が起動する可能性があります。 -《機械翻訳》テーブルpg_classの最大有効期間(トランザクション単位)を指定します。 -relfrozenxidフィールドは前を獲得することができますVACUUMシステム全体のトランザクションIDの周回障害を回避するために特別な措置を講じます。 -これはVACUUMの最後の手段のストラテジです。 -通常、フェイルセーフは、トランザクションIDの周回を回避するためのオートバキュームがすでにしばらく実行されている場合にトリガされますが、VACUUMの間にトリガにフェイルセーフを行うことは可能です。 -《マッチ度[87.301587]》この安全機構が起動すると、すべての有効なコストに基づく遅延はもはや適用されず、(インデックスのバキュームのような)必須ではない保守タスクは迂回されます。 +この安全機構が起動すると、すべての有効なコストに基づく遅延はもはや適用されず、(インデックスのバキュームのような)必須ではない保守タスクは迂回されます。 使用中のバッファアクセスストラテジは無効になり、その結果VACUUM共有バッファのすべてを自由に使用することになります。 -《機械翻訳》フェイルセーフがトリガされると、有効なコストベースの遅延は適用されなくなり、それ以降の重要でないメンテナンスタスク(インデックスバキューム処理など)はバイパスされ、使用中のバッファアクセスストラテジは無効になり、VACUUMフリーは共有バッファのすべてをmakeで使用することになる。 -《マッチ度[83.132530]》デフォルトは16億トランザクションです。 -ユーザはこの値をゼロから21億までの間で設定できますが、VACUUMの105%よりも小さくならないように実際の値を調整します。 -《機械翻訳》デフォルトは1,600,000,000トランザクションです。 -ユーザはこの値をゼロから2,100,000,000までの任意の値に設定できますが、VACUUMは暗黙的に実効値をより小さいなしの105%に調整します。 +デフォルトは16億トランザクションです。 +ユーザはこの値をゼロから21億までの間で設定できますが、VACUUMは警告することなく実際の値をの105%よりも小さくならないように調整します。 @@ -4599,6 +4574,9 @@ SQL関数、C言語関数も追跡するためにはallと指 vacuum_multixact_freeze_table_age configuration parameter + + vacuum_multixact_freeze_table_age設定パラメータ + @@ -4616,20 +4594,11 @@ SQL関数、C言語関数も追跡するためにはallと指 anti-wraparound is launched for the table. For more information see . --> -《マッチ度[88.106796]》pg_class.relminmxidフィールドがこの設定値で指定した年代に達するとVACUUMはテーブルの積極的なスキャンを行います。 -積極的なスキャンは、無効タプルを含む可能性のあるページだけではなく、凍結XIDあるいはMXIDを含むすべてのページを読む点で通常のVACUUMとは異なります。 +pg_class.relminmxidフィールドがこの設定値で指定した年代に達すると、VACUUMはテーブルの積極的なスキャンを行います。 +積極的なスキャンは、無効タプルを含む可能性のあるページだけではなく、凍結されていないXIDあるいはMXIDを含むすべてのページを読む点で通常のVACUUMとは異なります。 デフォルトは1億5千万トランザクションです。 -ユーザは0から20億まで任意の値を設定できますが、テーブルに対してラップアラウンド防止処理が起動される前に定期的な手動VACUUMが走ることができるように、VACUUMの95%に暗黙的に制限します。 -詳細はをご覧ください。 -《機械翻訳》VACUUMテーブルのpg_frozen.relminmxidスキャンがこの設定で指定された経過時間に達した場合、積極的なクラスを実行します。 -積極的なフィールドは、通常のスキャンとは異なります。 -VACUUM通常のページは、デッドタプルを含む可能性のあるものだけでなく、フリーズされていないXIDまたはMXIDを含む可能性のあるすべてのを訪問します。 -デフォルトは150,000,000のマルチスケールです。 -ユーザはこの値をゼロから2,000,000,000までの任意の場所に設定できますが、VACUUMは暗黙のうちに実効値をの95%に制限します。 -これにより、定期的なVACUUMアンチを実行する機会があります。 -テーブルに対して-周回が起動されます。 +ユーザはゼロから20億まで任意の値を設定できますが、テーブルに対して周回防止処理が起動される前に定期的な手動VACUUMが走ることができるように、VACUUMは警告することなく実際の値をの95%まで制限します。 詳細はを参照してください。 -マニュアル前 @@ -4639,6 +4608,9 @@ SQL関数、C言語関数も追跡するためにはallと指 vacuum_multixact_freeze_min_age configuration parameter + + vacuum_multixact_freeze_min_age設定パラメータ + @@ -4653,14 +4625,9 @@ SQL関数、C言語関数も追跡するためにはallと指 autovacuums. For more information see . --> -《マッチ度[86.987522]》VACUUMがテーブルをスキャンする際に、ページを凍結するきっかけとするかどうかを決める下限値をマルチトランザクション単位で指定します。 +VACUUMが、古いマルチトランザクションIDを持つページの凍結を行うかどうかを決定する、カットオフ年代を(マルチトランザクション単位で)指定します。 デフォルトは500万マルチトランザクションです。 -ユーザは0から10億まで任意の値を設定できますが、強制的な自動バキュームの間隔が短くなり過ぎないように、VACUUMの半分に暗黙的に実効的な値を制限します。 -詳細はをご覧ください。 -《機械翻訳》古いトリガのページを凍結するかどうかを決定するためにVACUUMが使用すべきカットオフマルチトランザクションID multixactsを指定します。 -デフォルトは5,000,000 multixactsです。 -ユーザはこの値をゼロから10億までの任意の値に設定することができますが、VACUUMは暗黙のうちに実効値をの半分の値に制限します。 -そのため、強制的な自動バキュームの間隔が不当に短くなることはありません。 +ユーザはゼロから10億まで任意の値を設定できますが、強制的な自動バキュームの間隔が短くなり過ぎないように、VACUUMは警告することなく実際の値をの半分の値に制限します。 詳細はを参照してください。 @@ -4671,6 +4638,9 @@ SQL関数、C言語関数も追跡するためにはallと指 vacuum_multixact_failsafe_age configuration parameter + + vacuum_multixact_failsafe_age設定パラメータ + @@ -4685,14 +4655,10 @@ SQL関数、C言語関数も追跡するためにはallと指 been running for some time, though it's possible for the failsafe to trigger during any VACUUM. --> -《マッチ度[86.219739]》VACUUMがシステム全体マルチトランザクションID周回障害を避けるために異例の措置を取るようになる、テーブルのpg_class.relminmxidフィールドが到達する最大の(マルチトランザクション数単位での)年齢を指定します。 +VACUUMがシステム全体マルチトランザクションID周回障害を避けるために異例の措置を取るようになる、テーブルのpg_class.relminmxidフィールドが到達する最大の(マルチトランザクション数単位での)年代を指定します。 これはVACUUM最後の手段となる戦略です。 -この安全機構は典型的には、トランザクションID周回を防ぐための自動バキュームがすでに走っているときに起動されます。 +この安全機構は典型的には、マルチトランザクションID周回を防ぐための自動バキュームがすでに走っているときに起動されます。 しかし、すべてのVACUUMの実行中にこの安全機構が起動する可能性があります。 -《機械翻訳》テーブルpg_classの最大有効期間を(マルチxactsで)指定します。 -relminmxidフィールドは前を獲得することができますVACUUMシステム全体のマルチトランザクションIDの周回障害を回避するために特別な措置を講じます。 -これはVACUUMの最後の手段のストラテジです。 -通常、フェイルセーフは、トランザクションIDの周回を回避するためのオートバキュームがすでにしばらく実行されているときにトリガされますが、VACUUMの間にトリガにフェイルセーフすることは可能です。 -《マッチ度[86.740331]》この安全機構が起動すると、すべての有効なコストに基づく遅延はもはや適用されず、(インデックスのバキュームのような)必須ではない保守タスクは迂回されます。 -《機械翻訳》この安全機構が起動すると、すべての有効なコストに基づく遅延はもはや適用されず、(インデックスのバキュームのような)必須ではない保守タスクは迂回されます。 +この安全機構が起動すると、すべての有効なコストに基づく遅延はもはや適用されず、(インデックスのバキュームのような)必須ではない保守タスクは迂回されます。 -《マッチ度[83.657588]》デフォルトは16億マルチトランザクションです。 -ユーザはこの値をゼロから21億までの間で設定できますが、VACUUMの105%よりも小さくならないように実際の値を調整します。 -《機械翻訳》デフォルトは1,600,000,000マルチトランザクションです。 -ユーザはこの値をゼロから2,100,000,000までの任意の場所に設定できますが、VACUUMは暗黙のうちに実効値をより小さいなしの105%に調整します。 +デフォルトは16億マルチトランザクションです。 +ユーザはこの値をゼロから21億までの間で設定できますが、VACUUMは警告することなく実際の値をの105%よりも小さくならないように調整します。 @@ -4725,6 +4688,10 @@ SQL関数、C言語関数も追跡するためにはallと指 vacuum_max_eager_freeze_failure_rate configuration parameter + + vacuum_max_eager_freeze_failure_rate + 設定パラメータ + @@ -4736,10 +4703,9 @@ SQL関数、C言語関数も追跡するためにはallと指 disables eager scanning altogether. The default is 0.03 (3%). --> -《機械翻訳》ページの最大数を指定しますVACUUMリレーションのページの合計に対する割合として。 -可視性マップ前では、早期スキャンを無効にしてオール凍結を設定できます設定できない場合もあります。 -値が0の場合、早期スキャンが完全に無効になります。 -デフォルトは0.03(3%)です。 +熱心なスキャンを無効にする前に、VACUUMがスキャンした時に可視性マップで全凍結と設定することに失敗するページの最大数(そのリレーション内の全ページ数に対する割合)を指定します。 +値が0の場合、熱心なスキャンは完全に無効になります。 +デフォルトは0.03(3%)です。 @@ -4752,10 +4718,9 @@ SQL関数、C言語関数も追跡するためにはallと指 potential downside of wasted eager freezes of pages that are modified again before the next aggressive vacuum. --> -《機械翻訳》ノートでは、Eager Scanningが有効になっている場合、フリーズのみが上限に対してカウントで失敗し、凍結の成功ではありません。 -成功したページの凍結は、リレーション内の完全に凍結されたページではなく、完全に凍結されたページの20%に内部的に上限が設定されます。 -成功したページの凍結に上限を設定すると、マルチプルの通常のバキューム全体でオーバーヘッドを償却し、次の積極的なバキュームの前で再び変更されるの無駄なEager Freezeの潜在的なマイナス面を制限できます。 -可視 +熱心なスキャンを有効にすると、凍結の失敗のみがカウントされ、凍結の成功はカウントされないことに注意してください。 +凍結に成功するページは、内部的には、そのリレーション内の全可視ではあるが全凍結ではないページの20%に制限されます。 +凍結に成功するページを制限すると、複数の通常のバキューム処理でオーバーヘッドを分散でき、次の積極的バキュームの前に再度修正されたページに対する熱心な凍結処理が無駄になるという潜在的な欠点を抑えることができます。 @@ -4769,8 +4734,9 @@ SQL関数、C言語関数も追跡するためにはallと指 For more information on tuning vacuum's freezing behavior, see . --> -《機械翻訳》このパラメータはpostgresql.confファイルまたはサーバコマンドラインでのみ設定できますが、対応するテーブルストレージパラメータを変更することで、個々のテーブルの設定を上書きできます。 -チューニングバキュームのフリーズ動作の詳細については、を参照してください。 +このパラメータは、postgresql.confファイルか、サーバのコマンドラインでのみ設定可能です。 +ただし、この設定は対応するテーブル格納パラメータの変更により、それぞれのテーブルに対して上書きすることができます。 +バキュームの凍結動作の詳細については、を参照してください。 diff --git a/doc/src/sgml/config3.sgml b/doc/src/sgml/config3.sgml index 015b00cc1e1..50f339d70b7 100644 --- a/doc/src/sgml/config3.sgml +++ b/doc/src/sgml/config3.sgml @@ -59,7 +59,7 @@ default_transaction_deferrable configuration parameter - default_transaction_deferrable 設定パラメータ + default_transaction_deferrable設定パラメータ @@ -364,7 +364,7 @@ PostgreSQLはoriginlocalの設定を内 lock_timeout configuration parameter - lock_timeout 設定パラメータ + lock_timeout設定パラメータ @@ -908,15 +908,10 @@ SET XML OPTION { DOCUMENT | CONTENT }; and other collections can be defined for a particular installation. See for more information. --> -《マッチ度[71.624266]》サーバで日付時刻の入力として受付け可能となる時間帯省略形の集合を設定します。 +サーバで日付時刻の入力として受付け可能となる追加の時間帯省略形の集合を設定します(現在のTimeZone設定によって定義された略語を除きます)。 デフォルトは'Default'です。 これはほぼ全世界で通じる集合です。 -また、AustraliaIndia、その他特定のインストレーションで定義可能な集合が存在します。 -詳細はを参照してください。 -《機械翻訳》(サーバタイムゾーンの設定で定義された略語を超えてその現在で受け入れられる日時入力用の追加タイムゾーン略語のコレクションを設定します。 -デフォルトは'Default'です。 -これは世界のほとんどのインストールで機能するコレクションです。 -また、特定の地域に対して'Australia'および'India'などの他のコレクションも定義できます。 +また、'Australia''India'、およびその他特定のインストレーションで定義可能な集合が存在します。 詳細はを参照してください。 @@ -1393,20 +1388,13 @@ PostgreSQLで使用することを意図したライブラリだけがこの方 Only superusers and users with the appropriate SET privilege can change this setting. --> -《マッチ度[73.746313]》この変数は、接続時に事前読み込みされる、1つまたは複数の共有ライブラリを指定します。 +この変数は、接続時に事前読み込みされる、1つまたは複数の共有ライブラリを指定します。 ここにはカンマ区切りでライブラリ名のリストを格納し、各々の名前はLOADコマンドで解釈されます。 項目の間の空白は無視されます。 名前の中に空白あるいはカンマを含める場合は、二重引用符で囲ってください。 このパラメータは、接続の開始時にのみ効果があります。 以降の変更は効果がありません。 もし指定したライブラリが見つからない場合は、接続は失敗します。 -《機械翻訳》この変数は、コネクションスタートでプリロードされる1つ以上の共有ライブラリを指定します。 -包含は、カンマで区切られたライブラリ名のリストで、各名前はLOADコマンドと同様に解釈されます。 -エントリ間の空白は無視されます。 -名前にincludeの空白またはカンマが必要な場合は、ライブラリ名前を二重引用符で囲みます。 -パラメータの値は、コネクションのスタートでのみ有効になります。 -その後の変更は無効です。 -指定されたライブラリが見つからない場合、コネクションの試行は失敗します。 スーパーユーザおよび適切なSET権限を持つユーザのみがこの設定を変更できます。 @@ -1654,6 +1642,9 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' extension_control_path configuration parameter + + extension_control_path設定パラメータ + @@ -1664,8 +1655,8 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' from the same directory where the primary control file was found. See for details. --> -《機械翻訳》パスから検索への内線番号、特にextensionコントロールファイル(name.control。 -残りのextensionスクリプトおよび二次的なコントロールファイルは、プライマリ制御ファイルが見つかったのと同じディレクトリからロードされます。 +拡張機能、特に拡張制御ファイル(name.control)を検索するためのパスです。 +残りの拡張スクリプトと副制御ファイルは、主制御ファイルが見つかったディレクトリと同じディレクトリからロードされます。 詳細はを参照してください。 @@ -1682,16 +1673,11 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' (Use pg_config --sharedir to find out the name of this directory.) For example: --> -《マッチ度[75.886525]》dynamic_library_pathの値は、絶対パスのディレクトリ名をコロン(Windowsの場合はセミコロン)で区切った一覧です。 -この一覧の要素が特別な$libdirという値から始まる場合、コンパイルされたPostgreSQLパッケージのライブラリディレクトリで$libdirは置換されます。 -ここには、PostgreSQLの標準配布物により提供されるモジュールがインストールされます。 -(このディレクトリ名を表示するには、pg_config --pkglibdir を使用してください。) +extension_control_pathの値は、絶対パスのディレクトリ名をコロン(Windowsの場合はセミコロン)で区切った一覧です。 +この一覧の要素が$systemという特別な値から始まる場合、$systemはコンパイルされたPostgreSQLの拡張用のディレクトリで置換されます。 +ここには、PostgreSQLの標準配布物により提供される拡張機能がインストールされます。 +(このディレクトリ名を表示するには、pg_config --sharedir を使用してください。) 例を以下に示します。 -《機械翻訳》extension_control_pathの値は、コロン(またはWindowsのセミコロン)で区切られた絶対ディレクトリ経路のリストである必要があります。 -リスト要素が特殊文字列で始まる場合、コンパイルされたPostgreSQLextensionディレクトリは$systemに置き換えられます。 -これは標準PostgreSQLディストリビューションによって提供される拡張がインストールされている場所です(このディレクトリの名前を調べるにはpg_config --sharedirを使用します)。 -例の場合:。 -$system extension_control_path = '/usr/local/share/postgresql:/home/my_project/share:$system' @@ -1709,8 +1695,8 @@ extension_control_path = 'C:\tools\postgresql;H:\my_project\share;$system' extension suffix is automatically appended to each path element. --> -《機械翻訳》指定されたノート要素にサブディレクトリがあると予想される経路extensionこれには.controlおよび.sqlファイルが含まれます。 -extensionサフィックスは各パス要素に自動的に追加されます。 +指定されたパス要素では、.controlファイルと.sqlファイルを含むextensionサブディレクトリを持つことが想定されていることに注意してください。 +各パス要素に、サフィックスextensionが自動的に追加されます。 @@ -1719,10 +1705,8 @@ extension_control_path = 'C:\tools\postgresql;H:\my_project\share;$system' '$system'. If the value is set to an empty string, the default '$system' is also assumed. --> -《マッチ度[57.485030]》このパラメータのデフォルト値は'$libdir'です。 -この値が空に設定された場合、自動的なパス検索は無効になります。 -《機械翻訳》このパラメータのデフォルト値は'$system'です。 -値が空の文字列に設定されている場合は、デフォルト'$system'も想定されます。 +このパラメータのデフォルト値は'$system'です。 +値が空文字列に設定されている場合、デフォルトの'$system'も想定されます。 @@ -1731,7 +1715,7 @@ extension_control_path = 'C:\tools\postgresql;H:\my_project\share;$system' the configured path, only the instance found first in the path will be used. --> -《機械翻訳》設定されたパスのマルチプルディレクトリに同じ名前の内線番号が存在する場合は、そのパスで最初に見つかったインスタンスだけが使用されます。 +設定されたパスで、同じ名前をもつ拡張が複数のディレクトリに存在する場合、パスで最初に見つかったインスタンスのみが使用されます。 @@ -1756,7 +1740,8 @@ extension_control_path = 'C:\tools\postgresql;H:\my_project\share;$system' linkend="guc-dynamic-library-path"/> to a correspondent location, for example, --> -《機械翻訳》ノート:このパラメータを非標準のロケーションから内線番号をロードできるように設定した場合は、を例のコルレスロケーションにも設定する必要があります。 +非標準の場所から拡張をロードできるようにこのパラメータを設定する場合、多くの場合も対応する場所に設定する必要があることに注意してください。 +たとえば、次のようになります。 extension_control_path = '/usr/local/share/postgresql:$system' dynamic_library_path = '/usr/local/lib/postgresql:$libdir' @@ -2195,7 +2180,7 @@ GINインデックススキャンにより返されるセットのソフトな quote_all_identifiers configuration parameter - quote_all_identifiers 設定パラメータ + quote_all_identifiers設定パラメータ @@ -2417,14 +2402,10 @@ GINインデックススキャンにより返されるセットのソフトな Setting this parameter to off can help avoid such mistakes. --> -《マッチ度[84.494774]》この設定をオフにすることは、PostgreSQLの設定が外部のツールによって管理されている環境を対象としています。 +この設定を無効にすることは、PostgreSQLの設定が外部のツールによって管理されている環境を対象としています。 このような環境では、善意のスーパーユーザがツールを使わずに、誤ってALTER SYSTEMを使って設定を変更する可能性があります。 これにより、外部ツールを使って後で設定を更新したときに、変更を上書きするなど、意図しない振る舞いとなる可能性があります。 -このパラメータをオフに設定すると、そのような間違いを避けるための助けになります。 -《機械翻訳》この設定をオフにするのは、PostgreSQLの設定が一部の外部ツールによって管理されている環境向けです。 -このような環境では、善意のスーパーユーザがALTER SYSTEM誤って外部代わりを使用して設定ツールを変更するために使用する可能性があります。 -これにより、後でポイントが設定を更新するときに、外部ツールが変更を上書きするなど、予期しない動作が発生する可能性があります。 -このパラメータをoffに設定すると、ヘルプはこのような間違いを回避できます。 +このパラメータをoffに設定すると、そのような間違いを避けるための助けになります。 @@ -2458,7 +2439,7 @@ GINインデックススキャンにより返されるセットのソフトな exit_on_error configuration parameter - exit_on_error 設定パラメータ + exit_on_error設定パラメータ @@ -2715,12 +2696,9 @@ Linuxでは代わりに、オペレーティングシステムに対して、デ initdb option for more information. --> -《マッチ度[67.292225]》このパラメータは、Unixシステムでは起動時のデータディレクトリのパーミッション(により定義されます)を報告します。 +このパラメータは、Unixシステムでは起動時のデータディレクトリ(により定義されます)のパーミッションを報告します。 (Microsoft Windowsではこのパラメータは常に0700を表示します。) -さらなる情報はをご覧ください。 -《機械翻訳》Unixシステムでは、このパラメータはデータディレクトリ(によって定義される)がサーバスタートアップで持っていた権限を報告します(Microsoft Windowsでは、このパラメータは常にディスプレイです。 -詳細はinitdbオプションを参照してください。 -0700 +詳細はinitdbオプションを参照してください。 @@ -2903,6 +2881,9 @@ Linuxでは代わりに、オペレーティングシステムに対して、デ num_os_semaphores configuration parameter + + num_os_semaphores設定パラメータ + @@ -2914,7 +2895,7 @@ Linuxでは代わりに、オペレーティングシステムに対して、デ sender processes (), allowed background processes (), etc. --> -《機械翻訳》許可された接続()、許可されたサーバオートバキュームプロセス()、許可されたWAL送信者プロセス()、許可されたワーカープロセス()などの設定された数に基づいたバックグラウンドで必要とされるセマフォの数を報告します。 +設定されている接続数()、自動バキュームワーカープロセス数()、WAL送信プロセス数()、およびバックグラウンドプロセス数()などに基づいて、サーバに必要なセマフォの数を報告します。 @@ -3305,6 +3286,9 @@ WALディスクブロックの容量を報告します。 debug_copy_parse_plan_trees configuration parameter + + debug_copy_parse_plan_trees設定パラメータ + @@ -3313,8 +3297,8 @@ WALディスクブロックの容量を報告します。 copyObject(), to facilitate catching errors and omissions in copyObject(). The default is off. --> -《機械翻訳》これを有効にすると、すべての解析と計画の木が強制的に通過されcopyObject()copyObject()のエラーや脱落を見つけやすくなります。 -デフォルトはオフです。 +これを有効にすると、copyObject()でのエラーや省略を簡単に検出できるように、すべての解析ツリーと問い合わせツリーがcopyObject()を介して渡されます。 +デフォルトはoffです。 @@ -3325,8 +3309,7 @@ WALディスクブロックの容量を報告します。 configure option ). --> -《機械翻訳》このパラメータは、DEBUG_NODE_TESTS_ENABLEDがコンパイル時間に定義された場合にのみ使用できます。 -これはconfigureオプションを使用すると自動的に行われます。 +このパラメータは、コンパイル時にDEBUG_NODE_TESTS_ENABLEDが定義された場合にのみ使用できます(これは、configureオプションのを使用すると自動的に実行されます)。 @@ -3415,9 +3398,11 @@ WALディスクブロックの容量を報告します。 main data files, wal for WAL files, and wal_init for WAL files when being initially allocated. + This parameter can only be set at server start. --> 空文字列(デフォルト)を設定してダイレクトI/Oの使用を無効にすることも、カンマで区切られたリストを設定してダイレクトI/Oを使用するようにすることもできます。 有効なオプションは、メインデータファイルの場合はdata、WALファイルの場合はwal、最初に割り当てられたWALファイルの場合はwal_initです。 +このパラメータはサーバ起動時にのみ設定可能です。 -《機械翻訳》これを有効にすると、DML文のすべての未処理の解析が強制的にraw_expression_tree_walker()でスキャンされ、その関数のエラーや脱落の検出が容易になります。 -デフォルトはオフです。 +これを有効にすると、DML文の加工されていない解析ツリーがすべてraw_expression_tree_walker()でスキャンされるようになり、その関数でのエラーや省略を簡単に検出できます。 +デフォルトはoffです。 @@ -3524,8 +3512,7 @@ WALディスクブロックの容量を報告します。 configure option ). --> -《機械翻訳》このパラメータは、DEBUG_NODE_TESTS_ENABLEDがコンパイル時間に定義された場合にのみ使用できます。 -これはconfigureオプションを使用すると自動的に行われます。 +このパラメータは、コンパイル時にDEBUG_NODE_TESTS_ENABLEDが定義された場合にのみ使用できます(これは、configureオプションのを使用すると自動的に実行されます)。 @@ -3535,6 +3522,9 @@ WALディスクブロックの容量を報告します。 debug_write_read_parse_plan_trees configuration parameter + + debug_write_read_parse_plan_trees設定パラメータ + @@ -3544,8 +3534,8 @@ WALディスクブロックの容量を報告します。 facilitate catching errors and omissions in those modules. The default is off. --> -《機械翻訳》これを有効にすると、すべての解析と計画モジュールが強制的に通過されoutfuncs.c/readfuncs.c、これらのデフォルトのエラーや脱落の検出を容易にします。 -樹木はオフです。 +これを有効にすると、すべての解析ツリーと問い合わせツリーがoutfuncs.c/readfuncs.cを介して渡され、これらのモジュールでのエラーや省略を簡単に検出できるようになります。 +デフォルトはoffです。 @@ -3556,8 +3546,7 @@ WALディスクブロックの容量を報告します。 configure option ). --> -《機械翻訳》このパラメータは、DEBUG_NODE_TESTS_ENABLEDがコンパイル時間に定義された場合にのみ使用できます。 -これはconfigureオプションを使用すると自動的に行われます。 +このパラメータは、コンパイル時にDEBUG_NODE_TESTS_ENABLEDが定義された場合にのみ使用できます(これは、configureオプションのを使用すると自動的に実行されます)。 @@ -3685,7 +3674,7 @@ WALディスクブロックの容量を報告します。 -《機械翻訳》オンの場合、ソート操作中のリソース使用に関する情報が放出されます。 +有効な場合、ソート操作中のリソース使用状況に関する情報を出力します。