listen_addresses
(string)クライアントアプリケーションからの接続をサーバが監視する TCP/IP アドレスを指定します。この値は、ホスト名をコンマで区切ったリスト、そして/もしくは、数値によるIPアドレスです。*という特別なエントリは利用可能な全てのIPインタフェースに対応します。リストが空の場合、サーバはいかなるIPインターフェイスも全く監視しないで、Unixドメインソケットのみを使用して接続が行われます。デフォルトの値はlocalhostで、"loopback"接続のみが可能です。このパラメータはサーバ起動時のみ設定可能です。
port
(integer)サーバが監視するTCPポートで、デフォルトは 5432です。サーバが監視する全てのIPアドレスに対し、同じポート番号が使用されることを覚えておいてください。このパラメータはサーバ起動時のみ設定可能です。
max_connections
(integer)データベースサーバに同時接続する最大数を決定します。デフォルトは典型的に100ですが、カーネルの設定が(initdbの過程で)それをサポートしていない場合、もっと少なくなることがあります。このパラメータはサーバ起動時のみに設定可能です。
このパラメータを増加させると、使用しているオペレーティングシステムのデフォルト構成が許容するSystem V共有メモリもしくはセマフォの限界を越えた要求を PostgreSQLが行う原因となることがあります。必要であれば、どの様にしてこのパラメータを調整するかについて項16.4.1を参照ください。
superuser_reserved_connections
(integer) PostgreSQLのスーパユーザによる接続のために予約されている接続"開口部(スロット)"の数を決定します。最大、max_connectionsの数までの接続を同時に有効にすることができます。何時の時点にあっても、有効な接続数は、少なくともmax_connections
からsuperuser_reserved_connections
を差し引いた数であって、新規接続はスーパユーザのみ受け入れられます。
デフォルトの値は2です。この値は max_connections
での値より小さくなくてはなりません。このパラメータはサーバ起動時のみ設定可能です。
unix_socket_directory
(string)サーバがクライアントアプリケーションからの接続要求を監視するUnixドメインソケットのディレクトリを指定します。デフォルトは通常/tmpですが、構築時に変更できます。このパラメータはサーバ起動時のみ設定可能です。
unix_socket_group
(string) Unixドメインソケットを所有するグループを設定します。(ソケットを所有するユーザは常にサーバを起動するユーザです。)unix_socket_permissions
オプションとの組合せで、Unixドメインソケット接続の追加的アクセス管理機構として使うことができます。デフォルトでは空文字列で、現在のユーザのデフォルトのグループを使用します。このオプションはサーバ起動時のみ設定可能です。
unix_socket_permissions
(integer) Unixドメインソケットのアクセス許可を設定します。Unixドメインソケットは通常のUnixファイルシステム権限設定の一式を使用します。オプションの値は、chmod
およびumask
システムコールが受け付ける数値形式での指定を想定しています。(通常使われる8進数形式を使用するのであれば、0(ゼロ)で始まらなければなりません。)
デフォルトの権限は、誰でも接続できる0777になっています。
変更するならば0770(ユーザとグループのみです。UNIX_SOCKET_GROUP
も参照してください)や0700(ユーザのみ)が適切です。(実際、Unixドメインソケットでは書き込み権限だけが問題です。そのため、読み込み権限や実行権限を設定または解除する意味はありません。)
このアクセス制御機構は 第20章で記述されたものとは別個のものです。
このオプションはサーバ起動時のみ設定可能です。
bonjour_name
(string)Bonjour同報名(ブロードキャスト名)を指定します。デフォルトは空文字列''で指定されたコンピュータ名が使用されます。サーバがBonjourサポート付でコンパイルでされていない場合は無視されます。このオプションはサーバ起動時のみに設定可能です。
tcp_keepalives_idle
(integer)TCP_KEEPIDLEソケットオプションのサポートがあるシステムで、接続がアイドルとは違った状態で、 keepalive を送信するまでの秒単位の時間を指定します。0 はシステムデフォルトです。もし、TCP_KEEPIDLEがサポートされていない場合、このパラメータは 0 でなくてはなりません。このオプションはUnixドメインソケット経由の接続では無視されます。
tcp_keepalives_interval
(integer)TCP_KEEPINTVLソケットオプションがサポートされているシステムで、再送信する以前にkeepaliveの応答をどの位待つかを秒単位で指定します。もし、TCP_KEEPINTVLがサポートされていないのであれば、このパラメータは 0 でなくてはなりません。このオプションはUnixドメインソケット経由の接続では無視されます。
tcp_keepalives_count
(integer)TCP_KEEPCNTソケットオプションがサポートされているシステムで、接続が切れたと考えられる以前にいくつのkeepaliveが失われるかを指定します。もし、TCP_KEEPCNTがサポートされていないならこのパラメータは 0 でなくてはなりません。このオプションはUnixドメインソケット経由の接続では無視されます。
authentication_timeout
(integer)秒単位による、クライアント認証を完了するまでの最大時間です。もし、この時間内に自称クライアントが認証プロトコルを完了しない場合、サーバは接続を中断します。これはハングしたクライアントが接続を永久に占有することを防ぎます。このオプションはサーバの起動時、もしくはpostgresql.confファイルで設定可能です。デフォルトは60です。
ssl
(boolean)SSLによる接続を有効にします。これを使用する前に項16.7をお読みください。デフォルトはoffです。このパラメータはサーバ起動時のみ設定可能です。
password_encryption
(boolean)ENCRYPTEDもしくはUNENCRYPTEDの指定なしで、CREATE USER もしくは ALTER USERにてパスワードが指定されている場合、このオプションはパスワードを暗号化するか否かを決定します。デフォルトはon(パスワードを暗号化)です。
krb_server_keyfile
(string)Kerberosサーバの鍵ファイルの場所を設定します。詳細は項20.2.3を参照してください。このパラメータはサーバ起動時のみ設定可能です。
krb_srvname
(string)Kerberosのサービス名を設定します。詳細は項20.2.3を参照してください。このパラメータはサーバ起動時のみ設定可能です。
krb_server_hostname
(string サービスプリンシパルのホスト名部分を設定します。これはkrb_srvname
と連結して、完全なサービスプリンシパルを生成するのに使用されます。
つまり、krb_srvname
/krb_server_hostname
@REALM
です。
もしも設定されていない時、デフォルトはサーバのホスト名になります。詳細は項20.2.3を参照してください。このパラメータはサーバ起動時のみ設定可能です。
krb_caseins_users
(boolean)Kerberosのユーザ名が大文字小文字を区別すべきかの設定をします。デフォルトはoff(大文字小文字を区別する)です。このパラメータはサーバ起動時のみ設定されます。
db_user_namespace
(boolean)データベース毎のユーザ名を可能にします。デフォルトではオフです。
これがオンの場合、username@dbnameの様にしてユーザを作成しなければなりません。usernameが接続中のクライアントより渡された時、 @およびデータベース名がユーザ名に付加され、そのデータベース特有のユーザ名をサーバが見に行きます。SQL環境下で@を含む名前のユーザを作成する場合、そのユーザ名は引用符で括られなければならないことに注意してください。
このオプションを有効にしていても通常の広域ユーザを作成することができます。クライアントにユーザ名を指定する時に、単に@を付け加えてください。@はサーバがユーザ名を検索する以前に取り去られます。
注意: この機能は完全な解決策が見つかるまでの暫定的な手段です。見つかった時点でこのオプションは削除されます。