Jeśli masz serwer Linux z rodziny RedHat (w tym CentOS i Fedora), możesz pozazdrościć sposobu, w jaki dystrybucje Debiana/Ubuntu radzą sobie z zarządzaniem klastrami PostgreSQL.
Chociaż nie jest łatwo zainstalować różne wersje PostgreSQL na tym samym serwerze RedHat Linux przy użyciu RPM, znacznie łatwiej jest zainstalować kilka instancji PostgreSQL (serwerów) i jednocześnie korzystać z infrastruktury usług.
Po skonfigurowaniu instalacji RPM, postępując zgodnie z instrukcjami, które znajdziesz w repozytorium PostgreSQL YUM, zauważysz, że proces utworzy między innymi dwa pliki:
/etc/init.d/postgresql:skrypt startowy dla serwera PostgreSQL/etc/sysconfig/pgsql/postgresql:konfiguracja systemu dla usługi postgresql
Domyślnie katalog danych PostgreSQL (PGDATA ) wskazuje na /var/lib/pgsql/data informator. Można to zmienić, modyfikując /etc/sysconfig/pgsql/postgresql plik.
Załóżmy, że chcemy zainstalować dwa serwery PostgreSQL na tym samym RedHat Linux, dodając drugi serwer do domyślnego, który będzie używany do celów programistycznych. Nazwiemy to postgresql-devel . Zostanie zainstalowany w /var/lib/pgsql/data-devel katalogu i będzie działać na porcie 5433.
Tworzymy dowiązanie symboliczne do głównego postgresql skrypt init i nazwij go postgresql-devel :
cd /etc/init.d/
ln -s postgresql postgresql-devel
Następnie zaczynamy wypełniać postgresql-devel plik konfiguracyjny w /etc/sysconfig/pgsql informator. Ważne jest, aby pamiętać, że skrypt startowy i plik konfiguracyjny systemu mają tę samą nazwę .
cat < /etc/sysconfig/pgsql/postgresql-devel
PGDATA=/var/lib/pgsql/data-devel
PGPORT=5433
PGLOG=/var/lib/pgsql/pgstartup.\${PGPORT}.log
EOF
Gdy to zrobisz, możesz zainicjować katalog danych, uruchamiając:/etc/init.d/postgresql-devel initdb lub po prostu service postgresql-devel initdb .
Podobnie możesz kontrolować uruchamianie i zamykanie usługi, uruchamiając – odpowiednio:
service postgresql-devel startservice postgresql-devel stop
Możesz dodać/usunąć skrypt podczas uruchamiania i zamykania systemu za pomocą chkconfig tak samo jak w przypadku innych usług.
Wiki PostgreSQL zawiera szczegółową stronę na ten temat i sugeruję, abyś przeczytał ją razem z tą. Jednak ten prosty artykuł pokazuje, jak łatwo zintegrować wiele instancji PostgreSQL na tym samym serwerze Linux i zarządzać nimi przy użyciu standardowej infrastruktury usług RedHat (dzięki świetnej pracy wykonanej przez Devrima Gunduza).