Hvis du har en Linux-server fra RedHat-familien (inklusive CentOS og Fedora), kan du misunde den måde, Debian/Ubuntu-distributioner håndterer PostgreSQL-klynger på.
Selvom det ikke er let at installere forskellige PostgreSQL-versioner på den samme RedHat Linux-server ved hjælp af RPM'er, er det meget nemmere at installere flere forekomster af PostgreSQL (servere) og på samme tid drage fordel af serviceinfrastrukturen.
Når du har konfigureret RPM-installationen, vil du ved at følge instruktionerne, som du finder i PostgreSQL YUM Repository, bemærke, at processen vil oprette to filer blandt de andre:
/etc/init.d/postgresql
:init-script til PostgreSQL-serveren/etc/sysconfig/pgsql/postgresql
:systemkonfiguration for postgresql-tjenesten
Som standard er PostgreSQL-datamappe (PGDATA
) peger på /var/lib/pgsql/data
vejviser. Det er muligt at ændre det ved at ændre /etc/sysconfig/pgsql/postgresql
fil.
Lad os antage, at vi vil installere to PostgreSQL-servere på den samme RedHat Linux ved at tilføje en anden server til standardserveren, som vil blive brugt til udviklingsformål. Vi vil kalde dette postgresql-devel
. Det vil blive installeret i /var/lib/pgsql/data-devel
bibliotek og vil køre på 5433-porten.
Vi opretter et symbolsk link til hoved-postgresql
init script, og kald det postgresql-devel
:
cd /etc/init.d/
ln -s postgresql postgresql-devel
Så begynder vi at udfylde postgresql-devel
konfigurationsfilen i /etc/sysconfig/pgsql
vejviser. Det er vigtigt at bemærke, at init-scriptet og systemkonfigurationsfilen har samme navn .
cat < /etc/sysconfig/pgsql/postgresql-devel
PGDATA=/var/lib/pgsql/data-devel
PGPORT=5433
PGLOG=/var/lib/pgsql/pgstartup.\${PGPORT}.log
EOF
Når dette er gjort, kan du initialisere databiblioteket ved at køre:/etc/init.d/postgresql-devel initdb
eller blot service postgresql-devel initdb
.
På samme måde kan du styre opstarten og nedlukningen af tjenesten ved at køre – henholdsvis:
service postgresql-devel start
service postgresql-devel stop
Du kan tilføje/fjerne scriptet fra opstart og nedlukning af systemet ved at bruge chkconfig
på samme måde, som du ville gøre med andre tjenester.
PostgreSQL-wikien indeholder en detaljeret side om dette emne, og jeg foreslår, at du læser den sammen med denne. Denne enkle artikel viser dig dog, hvordan du nemt integrerer flere PostgreSQL-instanser på den samme Linux-server og administrerer dem ved hjælp af standard RedHat-serviceinfrastruktur (takket være det store stykke arbejde udført af Devrim Gunduz).