データベースサーバの起動、停止

# rpmパッケージを利用

rpmパッケージでインストールしたときは、 /etc/rc.d/init.d/postgresql コマンドが用意されています。引数として start, stop または restart を与えて実行します。

root UNIXユーザになって、次のようにします。

# /etc/rc.d/init.d/postgresql restart

システムの起動時に自動的にデータベースサーバを開始するには, chkconfig コマンドを使います。

(2011.12 ここから)
Fedora 16 Linux では SysVスタイルのinit scriptが廃止され、ほぼ systemdに移行しました。systemctl コマンドを使います。

起動は次のようにします。

# systemctl start postgresql.service

また、システム起動時に自動的に開始するには、次のようにします。

# systemctl enable postgresql.service

(2011.12 ここまで)

または、postgres UNIXユーザになって、次のように pg_ctl コマンドを実行します。

$ PGDATA=/var/lib/pgsql/data pg_ctl restart

環境変数PGDATA, PGPORT, PGLOG などは、/etc/sysconfig/pgsql/postgresql というファイル名でシェルスクリプトを置けば、/etc/rc.d/init.d/postgresql ファイルから自動的に参照されます。

# ソースからインストールした場合

データベースサーバ (postmasterデーモン) を起動します。postmasterデーモンを起動する際, -Dオプションか環境変数PGDATAで, データベースクラスタのディレクトリを与えます。postgres UNIXユーザのみがpostmasterデーモンを起動できます。

ただ, postmasterコマンドを直接起動してもいいのですが、起動・終了を安全に行うためのpg_ctlというコマンドがあります。普通はこちらを使います。

$ /usr/local/pgsql/bin/pg_ctl -o "-i" start

「PgAccess」というPostgreSQLをGUIで操作するプログラムを使うときは、-o "-i"オプションを付加します。pg_ctlの-oオプションは、その引数をそのまま postmasterに渡します。

OSの起動時にpostmasterを起動するには、/etc/rc.d/init.d/ ディレクトリにpg_ctlコマンドへのシンボリックリンクを作成し、必要に応じて /etc/rc.d/rc3.d/ などのディレクトリに先のシンボリックリンクへのシンボリックリンクを作成します。