備忘録的プログラミングリファレンス

PostgreSQL の自動起動(デーモンプロセス設定)

 PostgreSQL の自動起動とは、システムの起動時に自動で PostgreSQL を起動する設定のことです。 起動されたプロセスは、常にリクエストを受け取れる状態になっています。受け取ったリクエストはバックグランドで処理されレスポンスを返します。
 リクエストを常に受け付ける状態や自律的に処理を実行するプロセスをデーモンプロセス、バックグランドプロセスといいます。

 デーモンプロセス設定は、Ubuntu では systemctl コマンドを使用します。

 例えば、PostgreSQL がバックグランドで稼働しているかの確認は systemctl コマンドの status を使用します。

PostgreSQL の稼働状態の確認
$ sudo systemctl status postgresql

 Active: active (exited) ... になっていれば稼働しています。

 systemctl コマンドは root のみが使用できますので、root 権限でコマンドを実行する sudo を用いています。

- ad -

起動と停止

 Ubuntu で用意されたパッケージから PostgreSQL をインストールするとデフォルトで自動で起動するように設定されます。
 もしも上記の systemctl コマンドの status で稼働していないようなら、手動で起動してみましょう。

 起動するには、 systemctl コマンドに start を用いいます。

PostgreSQL の起動
$ sudo systemctl start postgresql

 停止するには、 systemctl コマンドに stop を用いいます。

PostgreSQL の停止
$ sudo systemctl stop postgresql

自動起動

 start による起動はシステムが再起動したときに、PostgreSQL が自動で起動するとは限りません。 自動起動するようにするには systemctl コマンドに enable を用いいます。

 ただし、多くの場合はデータベースサーバーは自動起動にしておくと不都合があるため、手動で起動するようです。

PostgreSQL の自動起動
$ sudo systemctl enable postgresql

 自動起動させないようにするには、systemctl コマンドに disable を用いいます。

PostgreSQL の自動起動の無効化
$ sudo systemctl disable postgresql

 自動起動するかしないかを確認するには、systemctl コマンドに is-enable を用いいます。

PostgreSQL の自動起動の設定の確認
$ sudo systemctl is-enable postgresql

RedHat系

 RedHat系では、chkconfigコマンドを使います。

# chkconfig postgresql on

ApacheサーバーでPostgreSQLをログインに利用

 PostgreSQLでユーザー管理をしてapacheサーバーでのログインに利用するには、libapache2-mod-auth-pgsqlを使用します。