PostgreSQL の自動起動(デーモンプロセス設定)
PostgreSQL の自動起動とは、システムの起動時に自動で PostgreSQL を起動する設定のことです。
起動されたプロセスは、常にリクエストを受け取れる状態になっています。受け取ったリクエストはバックグランドで処理されレスポンスを返します。
リクエストを常に受け付ける状態や自律的に処理を実行するプロセスをデーモンプロセス、バックグランドプロセスといいます。
デーモンプロセス設定は、Ubuntu では systemctl コマンドを使用します。
例えば、PostgreSQL がバックグランドで稼働しているかの確認は systemctl コマンドの status を使用します。
$ sudo systemctl status postgresql
Active: active (exited) ... になっていれば稼働しています。
systemctl コマンドは root のみが使用できますので、root 権限でコマンドを実行する sudo を用いています。
- ad -
起動と停止
Ubuntu で用意されたパッケージから PostgreSQL をインストールするとデフォルトで自動で起動するように設定されます。
もしも上記の systemctl コマンドの status で稼働していないようなら、手動で起動してみましょう。
起動するには、 systemctl コマンドに start を用いいます。
$ sudo systemctl start postgresql
停止するには、 systemctl コマンドに stop を用いいます。
$ sudo systemctl stop postgresql
自動起動
start による起動はシステムが再起動したときに、PostgreSQL が自動で起動するとは限りません。 自動起動するようにするには systemctl コマンドに enable を用いいます。
ただし、多くの場合はデータベースサーバーは自動起動にしておくと不都合があるため、手動で起動するようです。
$ sudo systemctl enable postgresql
自動起動させないようにするには、systemctl コマンドに disable を用いいます。
$ sudo systemctl disable postgresql
自動起動するかしないかを確認するには、systemctl コマンドに is-enable を用いいます。
$ sudo systemctl is-enable postgresql
RedHat系
RedHat系では、chkconfigコマンドを使います。
# chkconfig postgresql on
ApacheサーバーでPostgreSQLをログインに利用
PostgreSQLでユーザー管理をしてapacheサーバーでのログインに利用するには、libapache2-mod-auth-pgsqlを使用します。