PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So installieren Sie mehrere PostgreSQL-Server unter RedHat Linux

Wenn Sie einen Linux-Server der RedHat-Familie (einschließlich CentOS und Fedora) haben, werden Sie vielleicht die Art und Weise beneiden, wie Debian/Ubuntu-Distributionen mit der Verwaltung von PostgreSQL-Clustern umgehen.

Obwohl es nicht einfach ist, mithilfe von RPMs verschiedene PostgreSQL-Versionen auf demselben RedHat Linux-Server zu installieren, ist es viel einfacher, mehrere Instanzen von PostgreSQL (Servern) zu installieren und gleichzeitig die Dienste-Infrastruktur zu nutzen.

Nachdem Sie die RPM-Installation eingerichtet haben, indem Sie den Anweisungen folgen, die Sie im PostgreSQL YUM-Repository finden, werden Sie feststellen, dass der Prozess unter anderem zwei Dateien erstellt:

  • /etc/init.d/postgresql :Init-Skript für den PostgreSQL-Server
  • /etc/sysconfig/pgsql/postgresql :Systemkonfiguration für den postgresql-Dienst

Standardmäßig wird das PostgreSQL-Datenverzeichnis (PGDATA ) zeigt auf /var/lib/pgsql/data Verzeichnis. Es ist möglich, es zu ändern, indem Sie /etc/sysconfig/pgsql/postgresql ändern Datei.

Nehmen wir an, wir möchten zwei PostgreSQL-Server auf demselben RedHat Linux installieren, indem wir einen zweiten Server zum Standardserver hinzufügen, der für Entwicklungszwecke verwendet wird. Wir nennen dies postgresql-devel . Es wird im Verzeichnis /var/lib/pgsql/data-devel installiert Verzeichnis und wird auf dem Port 5433 ausgeführt.

Wir erstellen einen symbolischen Link zum Haupt-postgresql init-Skript und nennen Sie es postgresql-devel :


cd /etc/init.d/
ln -s postgresql postgresql-devel

Dann beginnen wir mit dem Füllen des postgresql-devel Konfigurationsdatei in /etc/sysconfig/pgsql Verzeichnis. Es ist wichtig zu beachten, dass das Init-Skript und die Systemkonfigurationsdatei denselben Namen haben .


cat < /etc/sysconfig/pgsql/postgresql-devel
PGDATA=/var/lib/pgsql/data-devel
PGPORT=5433
PGLOG=/var/lib/pgsql/pgstartup.\${PGPORT}.log
EOF

Sobald dies erledigt ist, können Sie das Datenverzeichnis initialisieren, indem Sie Folgendes ausführen:/etc/init.d/postgresql-devel initdb oder einfach service postgresql-devel initdb .

Ebenso können Sie den Start und das Herunterfahren des Dienstes steuern, indem Sie – bzw.:

ausführen
  • service postgresql-devel start
  • service postgresql-devel stop

Sie können das Skript zum Starten und Herunterfahren des Systems hinzufügen/entfernen, indem Sie chkconfig verwenden genauso wie bei anderen Diensten.

Das PostgreSQL-Wiki enthält eine ausführliche Seite zu diesem Thema, und ich schlage vor, dass Sie sie zusammen mit dieser lesen. Dieser einfache Artikel zeigt Ihnen jedoch, wie Sie problemlos mehrere PostgreSQL-Instanzen auf demselben Linux-Server integrieren und sie mithilfe der standardmäßigen RedHat-Dienstinfrastruktur verwalten können (dank der großartigen Arbeit von Devrim Gunduz).