sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man installerar flera PostgreSQL-servrar på RedHat Linux

Om du har en Linux-server från RedHat-familjen (inklusive CentOS och Fedora), kanske du avundas hur Debian/Ubuntu-distributioner hanterar PostgreSQL-klusterhantering.

Även om det inte är lätt att installera olika PostgreSQL-versioner på samma RedHat Linux-server med RPM, är det mycket enklare att installera flera instanser av PostgreSQL (servrar) och samtidigt dra fördel av tjänstens infrastruktur.

När du väl har ställt in RPM-installationen, genom att följa instruktionerna som du hittar i PostgreSQL YUM Repository, kommer du att märka att processen kommer att skapa två filer bland de andra:

  • /etc/init.d/postgresql :init-skript för PostgreSQL-servern
  • /etc/sysconfig/pgsql/postgresql :systemkonfiguration för postgresql-tjänsten

Som standard är PostgreSQL-datakatalogen (PGDATA ) pekar på /var/lib/pgsql/data katalog. Det är möjligt att ändra det genom att ändra /etc/sysconfig/pgsql/postgresql fil.

Låt oss anta att vi vill installera två PostgreSQL-servrar på samma RedHat Linux, genom att lägga till en andra server till standardservern som kommer att användas för utvecklingsändamål. Vi kommer att kalla detta postgresql-devel . Den kommer att installeras i /var/lib/pgsql/data-devel katalogen och kommer att köras på 5433-porten.

Vi skapar en symbolisk länk till huvudet postgresql init-skriptet och kalla det postgresql-devel :


cd /etc/init.d/
ln -s postgresql postgresql-devel

Sedan börjar vi fylla i postgresql-devel konfigurationsfilen i /etc/sysconfig/pgsql katalog. Det är viktigt att notera att init-skriptet och systemkonfigurationsfilen har samma namn .


cat < /etc/sysconfig/pgsql/postgresql-devel
PGDATA=/var/lib/pgsql/data-devel
PGPORT=5433
PGLOG=/var/lib/pgsql/pgstartup.\${PGPORT}.log
EOF

När detta är gjort kan du initiera datakatalogen genom att köra:/etc/init.d/postgresql-devel initdb eller helt enkelt service postgresql-devel initdb .

På samma sätt kan du styra start och avstängning av tjänsten genom att köra – respektive:

  • service postgresql-devel start
  • service postgresql-devel stop

Du kan lägga till/ta bort skriptet från start och avstängning av systemet genom att använda chkconfig på samma sätt som du skulle göra med andra tjänster.

PostgreSQL-wikin innehåller en detaljerad sida om detta ämne, och jag föreslår att du läser den tillsammans med denna. Men den här enkla artikeln visar dig hur du enkelt integrerar flera PostgreSQL-instanser på samma Linux-server och hanterar dem med hjälp av standard RedHat-tjänstinfrastruktur (tack vare det fantastiska jobb som gjorts av Devrim Gunduz).


  1. Generera SQL för att uppdatera primärnyckeln

  2. Hur man skickar parametrar till mysql query callback i nodejs

  3. Den ökända java.sql.SQLException:Ingen lämplig drivrutin hittades

  4. Populära Docker-bilder för MySQL och MariaDB Server