pg_ctl

Name

pg_ctl  --  postmaster の起動、停止、再起動を行なう。

Synopsis

pg_ctl [-w] [-D datadir][-p path] [-o "options"] start
pg_ctl [-w] [-D datadir] [-m [s[mart]|f[ast]|i[mmediate]]] stop
pg_ctl [-w] [-D datadir] [-m [s[mart]|f[ast]|i[mmediate]]
    [-o "options"] restart
pg_ctl [-D datadir] status
  

入力

-w

pid ファイル (PGDATA/postmaster.pid) の生成を監視し、データ ベースサーバの起動完了を待ちます。 60 秒後にタイムアウトします。

-D datadir

このデータベースインストレーションにおけるデータベースの場 所を指定します。

-p path

postmaster イメージのパスを指定します。

-o "options"

postmaster に直接渡すオプションを 指定します。

ここで指定するパラメータは、確実に一まとまりのものとして渡さ れるように、通常、単一引用符または二重引用符で括られます。

-m mode

シャットダウンモードを指定します。

smart, s

全てのクライアントのログアウトを待つ、スマートモード。 これがデフォルトです。

f[ast], f

バックエンドに SIGTERM を送る、つまり実行中のトランザク ションをロールバックさせる、高速モード。

immediate, i

バックエンドに SIGUSR1 を送り、バックエンドを中断させ る即時モード。 この場合、次回の起動時にデータベースの復旧が必要になり ます。

start

postmaster を起動します。

stop

postmaster をシャットダウン します。

restart

上述の stop 及び start 処理を行ない、 postmaster を再起動します。

status

postmaster の現在の状況を示します。

出力

pg_ctl: postmaster is state (pid: #)

postmaster の状況。

エラー状態があれば、バックエンドのエラーメッセージが表示されます。

説明

pg_ctl は、 postmaster の起動、停止、再起動を 行なうユーティリティです。

使用法

postmaster の起動

postmaster を起動させるには、以 下を行ないます。

> pg_ctl start
    

-w が指定された場合、pg_ctl は pid ファイル (PGDATA/postmaster.pid) の生成を監視し、データベースサーバの起動完了を 60 秒間待ちます。

postmaster を呼び出すためのパラメータは以 下をその情報源としています。

postmaster.opts.defaultpostmaster のパラメータからなります。

postmaster.opts.default は、 initdb によって lib/postmaster.opts.default.sample を元に Postgres インストレーション ディレクトリにインストールされていることに注意して下さい。 (lib/postmaster.opts.default.sample は、 Postgres のインストールの際に、 src/bin/pg_ctl/postmaster.opts.default.sample からコピーされたものです。)

このデフォルトのパラメータは、-D-p、及び、-o オプション を使って上書きすることができます。

postmaster を起動させる例です。 postmaster の起動完了まで待つには、以下のようにします。

> pg_ctl -w start
    

postmaster バイナリのパスを指定す る場合、以下のようにします。

> pg_ctl -p /usr/local/pgsq/bin/postmaster start
    

5433 ポートを使用し、かつ、fsync を行なわないよ うに postmaster を実行させる場合、以下を 使用します。

> pg_ctl -o "-o -F -p 5433" start
    

postmaster の停止

> pg_ctl stop
    
は postmaster を停止します。 -m スイッチを使って、バックエンドを どう シャットダウンするかを制御できます。 -w は postmaster のシャットダウンの完了まで 待ちます。 -m では、シャットダウンモードを指定します。

postmaster の再起動

この処理は、停止するまで使用されていたパラメータがそのまま使用さ れるという点を除いて postmaster を停 止させ、その後、再び起動させることとほぼ同じです。 これは $PGDATA/postmaster.opts ファイルにそのパラ メータを保存することによって行なわれます。 再起動の際にも、-w-D-m-fast-immediate、及び、-o を、上と同じ意味を持ったものとして使用することができます。

最も簡単な形で postmaster を再起動させる には、以下を行ないます。

> pg_ctl restart
    

シャットダウンの完了、起動完了を待つように、 postmaster を再起動させるには、以下を行 ないます。

> pg_ctl -w restart
    

再起動後、5433 ポートを使用し、かつ、fsync を無効にするように、 再起動させるには、以下を行ないます。

> pg_ctl -o "-o -F -p 5433" restart
    

postmaster の状況

postmaster の状況に関する情報を得るには、以下を行ないます。

> pg_ctl status
    

以下に、pg_ctl の出力のサンプルを 示します。

pg_ctl: postmaster is running (pid: 13718)
options are:
/usr/local/src/pgsql/current/bin/postmaster
-p 5433
-D /usr/local/src/pgsql/current/data
-B 64
-b /usr/local/src/pgsql/current/bin/postgres
-N 32
-o '-F'