sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan installeres flere PostgreSQL-servere på RedHat Linux

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


  1. SQL Server, konvertere en navngiven instans til standardinstans?

  2. Vælg tilfældig række fra en PostgreSQL-tabel med vægtede rækkesandsynligheder

  3. PostgreSQL GROUP_CONCAT() ækvivalent

  4. Få resultater fra oracles lagrede procedure