sql >> Database >  >> RDS >> PostgreSQL

Meerdere PostgreSQL-servers installeren op RedHat Linux

Als je een Linux-server van de RedHat-familie hebt (inclusief CentOS en Fedora), zou je jaloers kunnen zijn op de manier waarop Debian/Ubuntu-distributies omgaan met het beheer van PostgreSQL-clusters.

Hoewel het niet eenvoudig is om verschillende PostgreSQL-versies op dezelfde RedHat Linux-server te installeren met behulp van RPM's, is het veel eenvoudiger om meerdere exemplaren van PostgreSQL (servers) te installeren en tegelijkertijd te profiteren van de services-infrastructuur.

Nadat u de RPM-installatie hebt ingesteld, zult u, door de instructies te volgen die u vindt in de PostgreSQL YUM-repository, merken dat het proces onder andere twee bestanden zal maken:

  • /etc/init.d/postgresql :init-script voor de PostgreSQL-server
  • /etc/sysconfig/pgsql/postgresql :systeemconfiguratie voor de postgresql-service

Standaard is de PostgreSQL-gegevensmap (PGDATA ) verwijst naar de /var/lib/pgsql/data map. Het is mogelijk om het te wijzigen door de /etc/sysconfig/pgsql/postgresql bestand.

Laten we aannemen dat we twee PostgreSQL-servers op dezelfde RedHat Linux willen installeren, door een tweede server toe te voegen aan de standaardserver die voor ontwikkelingsdoeleinden zal worden gebruikt. We noemen dit postgresql-devel . Het wordt geïnstalleerd in de /var/lib/pgsql/data-devel directory en zal draaien op de 5433-poort.

We maken een symbolische link naar de belangrijkste postgresql init script, en noem het postgresql-devel :


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

Dan beginnen we met het invullen van de postgresql-devel configuratiebestand in de /etc/sysconfig/pgsql map. Het is belangrijk op te merken dat het init-script en het systeemconfiguratiebestand dezelfde naam hebben .


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

Zodra dit is gebeurd, kunt u de gegevensmap initialiseren door het volgende uit te voeren:/etc/init.d/postgresql-devel initdb of gewoon service postgresql-devel initdb .

Op dezelfde manier kunt u het opstarten en afsluiten van de service regelen door respectievelijk uit te voeren:

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

U kunt het script toevoegen aan/verwijderen van het opstarten en het afsluiten van het systeem door chkconfig te gebruiken op dezelfde manier als bij andere services.

De PostgreSQL-wiki bevat een gedetailleerde pagina over dit onderwerp, en ik raad u aan deze samen met deze te lezen. Dit eenvoudige artikel laat u echter zien hoe u eenvoudig meerdere PostgreSQL-instanties op dezelfde Linux-server kunt integreren en deze kunt beheren met behulp van de standaard RedHat-serviceinfrastructuur (dankzij het geweldige werk van Devrim Gunduz).


  1. moet twee sets gegevens retourneren met twee verschillende waar-clausules

  2. Verschillende MySQL-opslagengines gebruiken bij het ontwerpen van databases

  3. Resultaten opnemen die gelijk zijn voor de laatste plaats bij gebruik van de TOP-clausule in SQL Server

  4. Bekijk informatie met de VIEWS Information Schema View in SQL Server