postgres

Name

postgres --  PostgreSQL シングルユーザバックエンド の実行

Synopsis

postgres [-A 0 | 1 ] [-B nbuffers] [-c name=value] [-d debug-level] [-D datadir] [-e] [-E] [-f s | i | t | n | m | h ] [-F] [-i] [-L] [-N] [-o file-name] [-O] [-P] [-s | -t pa | pl | ex ] [-S sort-mem] [-W seconds] database

postgres [-A 0 | 1 ] [-B nbuffers] [-c name=value] [-d debug-level] [-D datadir] [-e] [-f s | i | t | n | m | h ] [-F] [-i] [-L] [-o file-name] [-O] [-p database] [-P] [-s | -t pa | pl | ex ] [-S sort-mem] [-v protocol-version] [-W seconds]

説明

postgres 実行プログラムは、問い合わせを処理する 実際の PostgreSQL サーバプロセスです。 通常は直接呼び出されません。代わりに postmaster マルチユーザサーバが起動されます。

上から二番目は、postgres がどのように postmaster から呼び出されるかです。(概念的 にのみです。なぜなら postmasterpostgres は実際には同じプログラムだからです。) これはこのような方法で直接的に呼び出されるべきではありません。 最初の形式はサーバを対話的モードで直接呼び出します。このモード の主な使い道は、initdb によるブートストラッピング です。

shell から対話的モードで呼び出された場合、ユーザは問い合わせを入力 し結果はスクリーン上に表示されますが、エンドユーザよりも開発者にとって より便利な形式が使われます。しかし、単一ユーザバックエンドはサーバの デバッグにはふさわしくありません。なぜなら現実的なプロセス間の 通信とロックは起こらないからです。

スタンドアローンバックエンドを起動する際、セッションユーザ名は 自動的に現在の実効 Unix ユーザ名に設定されます。もしそのユーザ が存在しない場合、サーバは起動しません。

オプション

postgrespostmaster から起動された場合、後者が設定した全てのオプションを引き継ぎます。 更に、postgres 固有のオプションは postmaster から -o オプションで渡されることができます。

設定ファイルを設定することによって、これらのオプションを入力 する手間を省くことができます。詳細は 管理者用 ガイド を参照してください。いくつかの(安全な)オプション は接続しているクライアントからアプリケーションに依存する方法で 設定することができます。例えば、もし環境変数 PGOPTIONS が設定されると、libpq に基づくクライアントはその文字列をサーバに 渡し、サーバはそれを postgres コマンド ラインオプションとして解釈します。

一般的な目的

オプション -A, -B, -c, -d, -D, そして -Fpostmaster と同じ意味を持ちます。

-e

デフォルト日付データ形式を "ヨーロッパ式"にします。 これは"日が月の前" (月が日の前ではなく) というルールが不明瞭な日付の入力を解釈する際に使われ、特定の 日付出力フォーマットでは日が月の前に表示されるということです。 詳細は PostgreSQL ユーザガイド を参照して下さい。

-o file-name

全てのデバッグとエラー表示を OutputFile に送ります。もしバックエンドが postmaster の下で動いている場合、エラーメッセージはやはり OutputFile に 送られると同時にフロントエンドプロセスにも送られます。しかし デバッグ出力は postmaster の 管理 tty に送られます(一つのファイル記述子のみを実際の ファイルに送ることができるためです)。

-P

スキャン/更新システムタプルへのシステムインデックスを無視します。 システムテーブル/インデックスの REINDEX コマンドはこのオプションを使うことを要求します。

-s

時間情報と他の統計をそれぞれの問い合わせの最後に表示します。 これはベンチマーク、もしくはバッファ数の調整に便利です。

-S sort-mem

内部ソートとハッシュに使われるメモリ量を、一時ディスクファイルを 再ソートする前に指定します。その値はキロバイトで指定され、 デフォルトでは 512 キロバイトです。複雑な問い合わせではいくつかの ソートもしくはハッシュが並行して実行されている可能性があり、 データを一時ファイルに挿入し始める前に、それぞれが sort-mem キロバイト分だけ使うことができます。

スタンドアローンモードのオプション

database

アクセスされるデータベースの名前を指定します。もしそれが 省略されると、デフォルトはユーザ名になります。

-E

すべての問い合わせを Echo します。

-N

改行を問い合わせ区切り文字として使うことを不可能にします。

内部的オプション

その他にも、主にデバッグ用に使われる、いくつかのオプションを指定 することができます。これらは PostgreSQL システム開発者の使用のためだけにここにリストされています。 これらのオプションの使用はお勧めできません。 更に、これらのオプションのいずれも将来のリリースでは警告なしに なくなるか変更される可能性があります。

-f { s | i | m | n | h }

特定のスキャンと結合メソッドの使用を禁止します。 si は順スキャンと インデックススキャンをそれぞれ不可能にし、 n, m そして h は、ネストループ、マージ、そしてハッシュ結合をそれぞれ 不可能にします。

Note: 順スキャンとネストループのどちらも完全に不可能にすることは できません。-fs-fn オプションは単に、もし他の選択がある場合はオプティマイザがこれらの プラン型を使わないようにするというだけです。

-i

問い合わせは実行しませんが、プランツリーは表示します。

-L

ロックシステムを無効にします。

-O

システムテーブルの構造を変更することを可能にします。 これは initdb によって使われます。

-p database

このサーバが postmaster によって 起動されたことを表し、バッファプール管理、ファイル記述子、 などについて別の想定により設定をします。

-t pa[rser] | pl[anner] | e[xecutor]

それぞれの主要なシステムモジュールと関連するそれぞれの問い合わせ のタイミング統計を表示します。このオプションは -s オプションと一緒に使うことはできません。

-v protocol

このセッションで使われるフロントエンド/バックエンドプロトコル のバージョン番号を指定します。

-W seconds

このオプションが入力されると、プロセスは指定された秒の あいだスリープに入ります。これは、開発者にバックエンドプロセス にデバッガを付ける時間を与えます。

下記も参照して下さい

initdb, ipcclean, postmaster