Pokud máte linuxový server z rodiny RedHat (včetně CentOS a Fedory), můžete závidět způsob, jakým distribuce Debian/Ubuntu zvládají správu clusterů PostgreSQL.
Ačkoli není snadné nainstalovat různé verze PostgreSQL na stejný server RedHat Linux pomocí RPM, je mnohem jednodušší nainstalovat několik instancí PostgreSQL (serverů) a současně využívat infrastrukturu služeb.
Jakmile nastavíte instalaci RPM, podle pokynů, které najdete v repozitáři PostgreSQL YUM, zjistíte, že proces vytvoří mezi ostatními dva soubory:
/etc/init.d/postgresql
:init skript pro server PostgreSQL/etc/sysconfig/pgsql/postgresql
:konfigurace systému pro službu postgresql
Ve výchozím nastavení je datový adresář PostgreSQL (PGDATA
) ukazuje na /var/lib/pgsql/data
adresář. Je možné jej změnit úpravou /etc/sysconfig/pgsql/postgresql
soubor.
Předpokládejme, že chceme nainstalovat dva PostgreSQL servery na stejný RedHat Linux přidáním druhého serveru k výchozímu, který bude použit pro účely vývoje. Budeme tomu říkat postgresql-devel
. Nainstaluje se do /var/lib/pgsql/data-devel
adresář a poběží na portu 5433.
Vytváříme symbolický odkaz na hlavní postgresql
init skript a nazvěte jej postgresql-devel
:
cd /etc/init.d/
ln -s postgresql postgresql-devel
Poté začneme vyplňovat postgresql-devel
konfigurační soubor v /etc/sysconfig/pgsql
adresář. Je důležité si uvědomit, že init skript a soubor konfigurace systému mají stejný název .
cat < /etc/sysconfig/pgsql/postgresql-devel
PGDATA=/var/lib/pgsql/data-devel
PGPORT=5433
PGLOG=/var/lib/pgsql/pgstartup.\${PGPORT}.log
EOF
Jakmile to uděláte, můžete inicializovat datový adresář spuštěním:/etc/init.d/postgresql-devel initdb
nebo jednoduše service postgresql-devel initdb
.
Podobně můžete ovládat spouštění a vypínání služby spuštěním – respektive:
service postgresql-devel start
service postgresql-devel stop
Skript můžete přidat/odebrat ze spouštění a vypínání systému pomocí chkconfig
stejným způsobem jako u jiných služeb.
PostgreSQL wiki obsahuje podrobnou stránku o tomto tématu a doporučuji, abyste si ji přečetli společně s tímto. Tento jednoduchý článek vám však ukáže, jak snadno integrovat více instancí PostgreSQL na stejný linuxový server a spravovat je pomocí standardní infrastruktury služeb RedHat (díky skvělé práci, kterou odvedl Devrim Gunduz).