Plesk搭載サーバーのPostgresqlの自動起動を停止したいのですが…

本FAQはサポート対象外の説明を含む内容となります。参考情報としてお読みいただき、お客様のご判断でご利用ください。

Plesk搭載のサーバでPostgreSQLのプロセスは、PowerPack搭載の有無にかかわらず起動するようになっています。
コントロールパネルのシステムタブの「サービス」上やchkconfig等のコマンドで「postgresql」のパラメータを調整しても、再起動後にPostgreSQLが起動してしまう、という事象が確認されています。

症状

コントロールパネル( https://hspc.flxsrv.jp/cp )側の「システム」タブ>「サービス」>postgresqlにて
自動起動をオフとして設定し、 postgresql  = 起動中であれば「停止」をクリックしておく。
→サーバ内ではこの操作で postgresqlのプロセスは停止し、 chkconfig での起動設定も すべてOFFとなる。
その後、サーバを再起動する、もしくはPleskのサービス(psa)を「停止」後「起動」すると、「postgresqlの自動起動はオフ」という設定になっているのにもかかわらず、postgresqlのサービスが起動してきてしまう。
(Plesk8、Plesk11.0.9共、11.5も同様 ※2014年3月確認)

原因

PostgreSQLのコンポーネントがインストールされていると、Pleskサービス(psa)側でpostgresql も
同時に起動してしまう仕様となっている

対策

 ”/etc/init.d/psaスクリプトにてpostgresqlをoptional_serviceから外すこと” で自動起動するのを停止できます。
(※もしくは  ”/etc/init.d/postgresql の起動スクリプトをリネームする” あるいは ”postgresqlのコンポネントを削除すること” あるいはでも対応が可能ですが一例を紹介します)

1.postgresqlのプロセスを確認し、起動していたら停止

# /etc/init.d/postgresql status
postmaster (pid nnnn nnnn nnnn nnnn) is running... ※この場合は起動中※

# /etc/init.d/postgresql stop ※停止
Stopping postgresql service:                               [  OK  ]

# /etc/init.d/postgresql status 
postmaster is stopped ※この場合は停止中※

2. /etc/init.d/psa のファイルの以下の行を編集して保存

【編集対象行(変更前)】

 optional_service="postgresql"


【編集対象行(変更後)】

 optional_service=""

3. サーバ再起動か、psaの停止→起動で、PostgreSQL起動状況を確認

サーバの再起動、もしくは、
 ”/etc/init.d/psa stop”(停止)後、”/etc/init.d/psa start”にてpsaを起動
(※ /etc/init.d/psa restart だけでは検証できません)、を行い、postgresqlが起動しないことを確認してくさい。