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).