#author("2020-09-01T03:52:39+09:00","default:ryuichi","ryuichi")
#author("2020-09-01T03:54:17+09:00","default:ryuichi","ryuichi")
* pg_ctlclusterコマンド [#v2a2b115]
** pg_ctlclusterコマンドとは? [#vc6662bb]
- PostgreSQLクラスタの起動制御するためのコマンドで、複数バージョンのPostgreSQLを同時起動などできる
- pg_ctlコマンドのラッパー
- PGDGがDebian系Linuxに配布するパッケージに含まれる
- 環境によってpg_ctlclusterコマンドはインストールされてないこともあるが、インストールされている環境では原則としてpg_ctlや/etc/init.d/postgresqlなどよりpg_ctlclusterを優先して使う
** 起動状況の確認 - pg_lsclusters [#o52843da]
$ sudo pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
9.5 main 5433 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
11 main 5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log
- バージョン9.5がポート5433で起動中、またバージョン11がポート5432で起動中
** psqlのバージョン確認 [#a7c62f24]
$ psql --version
psql (PostgreSQL) 12.4 (Debian 12.4-1.pgdg90+1)
- 古いバージョンのpsqlで新しいバージョンのPostgreSQLサーバへ接続するとエラーになることがあるので注意
** PostgreSQLサーバの起動・停止 [#ce498f16]
$ sudo pg_ctlcluster 12 main start
$ sudo pg_ctlcluster 9.5 main stop
** PostgreSQLサーバのリッスンポートなど設定変更 [#x4cf8f29]
vi /etc/postgresql/11/main/postgresql.conf
vi /etc/postgresql/9.6/main/postgresql.conf
** 参考 [#d5d52b0f]
- https://stackoverflow.com/questions/53302402/how-to-run-pg-ctlcluster-with-centos
- https://lets.postgresql.jp/documents/tutorial/ubuntu/4