PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment installer plusieurs serveurs PostgreSQL sur RedHat Linux

Si vous avez un serveur Linux de la famille RedHat (y compris CentOS et Fedora), vous pourriez envier la façon dont les distributions Debian/Ubuntu gèrent la gestion des clusters PostgreSQL.

Bien qu'il ne soit pas facile d'installer différentes versions de PostgreSQL sur le même serveur RedHat Linux à l'aide de RPM, il est beaucoup plus simple d'installer plusieurs instances de PostgreSQL (serveurs) et, en même temps, de profiter de l'infrastructure des services.

Une fois que vous avez configuré l'installation du RPM, en suivant les instructions que vous trouverez dans le référentiel PostgreSQL YUM, vous remarquerez que le processus créera deux fichiers parmi d'autres :

  • /etc/init.d/postgresql :script d'initialisation du serveur PostgreSQL
  • /etc/sysconfig/pgsql/postgresql :configuration système pour le service postgresql

Par défaut, le répertoire de données PostgreSQL (PGDATA ) pointe vers /var/lib/pgsql/data annuaire. Il est possible de le changer en modifiant le /etc/sysconfig/pgsql/postgresql fichier.

Supposons que nous voulions installer deux serveurs PostgreSQL sur le même RedHat Linux, en ajoutant un deuxième serveur à celui par défaut qui sera utilisé à des fins de développement. Nous l'appellerons postgresql-devel . Il sera installé dans le /var/lib/pgsql/data-devel répertoire et s'exécutera sur le port 5433.

Nous créons un lien symbolique vers le principal postgresql init script et appelez-le postgresql-devel :


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

Ensuite, nous commençons à remplir le postgresql-devel fichier de configuration dans /etc/sysconfig/pgsql annuaire. Il est important de noter que le script d'initialisation et le fichier de configuration système portent le même nom .


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

Une fois cela fait, vous pouvez initialiser le répertoire de données en exécutant :/etc/init.d/postgresql-devel initdb ou simplement service postgresql-devel initdb .

De même, vous pouvez contrôler le démarrage et l'arrêt du service, en exécutant – respectivement :

  • service postgresql-devel start
  • service postgresql-devel stop

Vous pouvez ajouter/supprimer le script au démarrage et à l'arrêt du système en utilisant chkconfig de la même manière que vous le feriez avec d'autres services.

Le wiki PostgreSQL contient une page détaillée sur ce sujet, et je vous suggère de la lire avec celle-ci. Cependant, cet article simple vous montre comment intégrer facilement plusieurs instances PostgreSQL sur le même serveur Linux et les gérer à l'aide de l'infrastructure de services RedHat standard (grâce à l'excellent travail effectué par Devrim Gunduz).