PostgreSQLの起動・停止
カテゴリ:OSSセットアップ | ソフトウェア:PostgreSQL | タグ:
最終更新日:2020/12/30 | 公開日:2013/09/10
目次
概要
PostgreSQLインスタンスを起動・停止します。
構成
サーバ構成
OSバージョン
Red Hat Enterprise Linux 5.9 x86_64
パッケージ一覧
postgresql90-9.0.8-1PGDG.rhel6.x86_64.rpm
postgresql90-libs-9.0.8-1PGDG.rhel6.x86_64.rpm
postgresql90-server-9.0.8-1PGDG.rhel6.x86_64.rpm
手順
PostgreSQLの起動
起動
PostgreSQLの起動は管理ユーザで実行します。 管理ユーザはデータベースクラスタを作成した際に、initdbを実行したLinuxユーザになります。
-bash-3.2$ pg_ctl start -w サーバの起動完了を待っています.....完了 サーバ起動完了 -bash-3.2$
オプション | 説明 |
---|---|
-D <データベースクラスタ> | データベースクラスタのディレクトリ名を指定します。省略した場合は $PGDATA 環境変数に設定されているディレクトリが使用されます。 |
-w | ウェイトオプション。通常起動コマンドを実行すると、コマンドはすぐに正常終了し、起動処理はバックグラウンドで実行されます。このオプションを付けると、インスタンスの起動を待って、起動完了後にコマンドが終了します。 |
起動確認
ps コマンドでプロセスを確認します。 /usr/pgsql-9.0/bin/postgres がマスタサーバプロセスで、 postgres: で始まる名前の6個のプロセスがワーカプロセスです。 PostgreSQLインスタンス起動時に、マスタサーバプロセスが ワーカプロセスを起動し、それぞれ常駐します。 これらプロセス計7個が表示されれば正常と判断します。
-bash-3.2$ ps -ef | grep postgres avahi 3173 1 0 22:24 ? 00:00:00 avahi-daemon: running [postgresql.local] root 3344 3313 0 23:11 pts/0 00:00:00 su - postgres postgres 3345 3344 0 23:11 pts/0 00:00:00 -bash postgres 3391 1 4 23:11 pts/0 00:00:00 /usr/pgsql-9.0/bin/postgres postgres 3392 3391 0 23:11 ? 00:00:00 postgres: logger process postgres 3394 3391 0 23:11 ? 00:00:00 postgres: writer process postgres 3395 3391 0 23:11 ? 00:00:00 postgres: wal writer process postgres 3396 3391 0 23:11 ? 00:00:00 postgres: autovacuum launcher process postgres 3397 3391 0 23:11 ? 00:00:00 postgres: archiver process postgres 3398 3391 0 23:11 ? 00:00:00 postgres: stats collector process postgres 3402 3345 0 23:12 pts/0 00:00:00 ps -ef postgres 3403 3345 0 23:12 pts/0 00:00:00 grep postgres -bash-3.2$
PostgreSQLの停止
停止
PostgreSQLの停止は起動と同様に管理ユーザで実行します。
-bash-3.2$ pg_ctl stop -m fast サーバ停止処理の完了を待っています....完了 サーバは停止しました -bash-3.2$
オプション | 説明 |
---|---|
-D <データベースクラスタ> | データベースクラスタのディレクトリ名を指定します。省略した場合は $PGDATA 環境変数に設定されているディレクトリが使用されます。 |
-m <停止モード> | smart: 全てのクライアント接続が切断されるまで待機してから終了します。 fast: 実行中の処理を中断し、全てのクライアント接続を切断してから終了します。 immediate: 実行中の処理を強制終了し、全てのクライアント接続を切断してから終了します。次回起動時にクラッシュリカバリ処理が実行されます。 |
停止モードはOracleと同じ immediate が含まれていますが、意味が異なりますのでご注意ください。
PostgreSQL の停止モード | Oracle の停止モード | 動作 |
---|---|---|
smart | normal | 全接続が切断されるまで待機→停止 |
- | transactional | 現行トランザクションの終了待機→接続を切断→停止 |
fast | immediate | 現行トランザクションのロールバック→接続を切断→停止 |
immediate | abort | 強制停止 |