Verwalten mehrerer Postgres-Versionen unter CentOS

Verwalten mehrerer Postgres-Versionen unter CentOS

Ich habe die folgenden Pakete installiert yum:

Installed Packages
postgresql92.x86_64                                                                                                  9.2.24-1.65.amzn1                                                                                   @amzn-updates
postgresql92-libs.x86_64                                                                                             9.2.24-1.65.amzn1                                                                                   @amzn-updates
postgresql92-server.x86_64                                                                                           9.2.24-1.65.amzn1                                                                                   @amzn-updates
postgresql92-server-compat.x86_64                                                                                    9.2.24-1.65.amzn1                                                                                   @amzn-updates
postgresql95.x86_64                                                                                                  9.5.10-1.77.amzn1                                                                                   @amzn-updates
postgresql95-libs.x86_64                                                                                             9.5.10-1.77.amzn1                                                                                   @amzn-updates
postgresql95-server.x86_64                                                                                           9.5.10-1.77.amzn1                                                                                   @amzn-updates

Aber ich kann sie scheinbar nicht einzeln steuern:

/home/ec2-user$ sudo service postgresql95 stop
Stopping postgresql95 service:                             [  OK  ]
/home/ec2-user$ sudo service postgresql95 status
postmaster (pid  43442) is running...
/home/ec2-user$ sudo service postgresql92 status
postmaster (pid  43442) is running...

Warum haben sie die gleiche PID?

Außerdem habe ich nur eine Konfigurationsdatei, die sich im Verzeichnis befindet /var/lib/pgsql9/data/postgresql.conf.

Antwort1

Gehen Sie zuerst zu diesemSeiteund laden Sie die entsprechenden Pakete für CentOS 6 herunter (wie Sie erwähnt haben, mit service und nicht mit systemd)

postgresql92-serverNach der Einrichtung können Sie beides postgresql95-serverüber den Befehl installieren yum install postgresql92-server postgresql95-server.

Sie müssen die Datenbanken wie folgt manuell initialisieren: und . Dadurch werden zwei verschiedene Datenbankverzeichnisse in erstellt und service postgresql-9.2 initdbin service postgresql-9.5 initdbjedem /var/lib/pgsqlDatenunterverzeichnis eine Datenbank initialisiert.9.29.5

Sobald dies erledigt ist, können Sie jede Instanz mit ihrem eigenen Servicebefehl starten service postgresql-9.2 start. service postgresql-9.5 startAber nicht beide gleichzeitig, da sie denselben Port 5432 verwenden.

Der Port 9.2 kann mit der Variable PGPORT bearbeitet werden. /etc/init.d/postgresql-9.2Der Port 9.5 kann mit der Variable Port bearbeitet werden /var/lib/pgsql/9.5/data/postgresql.conf. So können Sie beide Instanzen gleichzeitig verwenden.

verwandte Informationen