Zoeken op website

Hoe PostgreSQL te installeren met behulp van de broncode in Linux


PostgreSQL, een open-source relationeel databasebeheersysteem, staat algemeen bekend om zijn robuuste functies en uitbreidbaarheid. Hoewel veel Linux-distributies PostgreSQL aanbieden via hun pakketbeheerders, zorgt de installatie ervan vanaf de bron voor meer aanpassing en controle.

In dit artikel leggen we uit hoe je PostgreSQL 16 installeert met behulp van broncode-installatie op Linux-systemen.

Voor degenen die op zoek zijn naar een eenvoudigere installatiemethode via de distributiepakketbeheerder, volg dan de onderstaande handleidingen:

Vereisten

Voordat u zich in het installatieproces van PostgreSQL begeeft, moet u ervoor zorgen dat uw systeem aan de volgende vereisten voldoet:

  • Een Linux-distributie (in deze handleiding gebruiken we Debian voor demonstratiedoeleinden).
  • Een Linux-systeem met een niet-rootgebruiker met sudo-rechten.
  • Essentiële ontwikkelingstools zoals GCC en Make zijn geïnstalleerd.

1. Installeer vereisten op Linux

Installeer eerst essentiële ontwikkelingstools zoals GCC en Make met behulp van de distributiepakketbeheerder, zoals weergegeven.

Op RHEL-gebaseerde distributies zoals CentOS, Fedora, Rocky Linux en Alma Linux:

sudo yum groupinstall development-tools
sudo yum install zlib-devel readline-devel libicu-devel

Op op Debian gebaseerde distributies zoals Ubuntu en Linux Mint.

sudo apt install gcc build-essential zlib1g-dev libreadline6-dev libicu-dev pkg-config

2. Download de PostgreSQL-broncode

Zodra de benodigde vereisten zijn geïnstalleerd, downloadt u het tar-bestand met de broncode van de officiële postgres-website met behulp van de volgende wget-opdracht rechtstreeks op het systeem. Op het moment van schrijven is de nieuwste versie PostgreSQL 16.1.

wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2

Gebruik vervolgens de opdracht tar om het gedownloade tarball-bestand uit te pakken. Er wordt een nieuwe map met de naam postgresql-16.1 aangemaakt.

tar -xvf postgresql-16.1.tar.bz2
cd postgresql-16.1/
ls -l

Voorbeelduitvoer:

-rw-r--r--.  1 tecmint tecmint    365 Nov  7 03:34 aclocal.m4
drwxr-xr-x.  2 tecmint tecmint   4096 Nov  7 03:47 config
-rwxr-xr-x.  1 tecmint tecmint 584560 Nov  7 03:34 configure
-rw-r--r--.  1 tecmint tecmint  87292 Nov  7 03:34 configure.ac
drwxr-xr-x. 61 tecmint tecmint   4096 Nov  7 03:47 contrib
-rw-r--r--.  1 tecmint tecmint   1192 Nov  7 03:34 COPYRIGHT
drwxr-xr-x.  3 tecmint tecmint   4096 Nov  7 03:47 doc
-rw-r--r--.  1 tecmint tecmint   4288 Nov  7 03:34 GNUmakefile.in
-rw-r--r--.  1 tecmint tecmint    277 Nov  7 03:34 HISTORY
-rw-r--r--.  1 tecmint tecmint  64601 Nov  7 03:48 INSTALL
-rw-r--r--.  1 tecmint tecmint   1875 Nov  7 03:34 Makefile
-rw-r--r--.  1 tecmint tecmint 102017 Nov  7 03:47 meson.build
-rw-r--r--.  1 tecmint tecmint   6266 Nov  7 03:34 meson_options.txt
-rw-r--r--.  1 tecmint tecmint   1213 Nov  7 03:34 README
drwxr-xr-x. 16 tecmint tecmint   4096 Nov  7 03:48 src

3. Configureer PostgreSQL vanuit broncode

Omdat postgres een open-source database is, kan deze worden opgebouwd uit de broncode, afhankelijk van iemands behoeften/vereisten. we kunnen het bouw- en installatieproces aanpassen door een of meer opdrachtregelopties voor verschillende extra functies aan te bieden.

Gebruik de volgende opdracht voor hulp bij verschillende opties en configuratiegebruik, zoals weergegeven.

./configure --help

Voer nu het configuratiescript uit, dat uw systeem controleert op afhankelijkheden en de build dienovereenkomstig configureert.

./configure

4. Installeer PostgreSQL vanuit de broncode

Eenmaal geconfigureerd, gebruikt u de volgende opdrachten om PostgreSQL vanaf de bron te bouwen en te installeren.

make
sudo make install

5. Postgres-gebruiker aanmaken

Maak nu een postgres gebruiker en directory aan die gebruikt moet worden als data directory voor het initialiseren van het databasecluster. De eigenaar van deze data map moet een postgres gebruiker zijn en de rechten moeten 700 zijn en voor ons gemak ook een pad instellen voor postgresql binaire bestanden.

sudo useradd postgres
sudo passwd postgres
sudo mkdir -p /pgdatabase/data
sudo chown -R postgres: /pgdatabase/data
sudo sh -c "echo 'export PATH=$PATH:/opt/PostgreSQL/bin' > /etc/profile.d/postgres.sh"
source /etc/profile.d/postgres.sh 

6. Postgres-database initialiseren

Initialiseer nu de database met behulp van de volgende opdracht als postgres-gebruiker voordat u postgres-opdrachten gebruikt.

su postgres
initdb -D /pgdatabase/data/ -U postgres -W

Waar -D de locatie is voor dit databasecluster of we kunnen zeggen dat dit de gegevensdirectory is waar we het databasecluster willen initialiseren, -U voor database-superuser-naam en -W voor wachtwoordprompt voor db-superuser.

Voor meer informatie en opties kunnen we initdb --help raadplegen.

7. Start de PostgreSQL-service

Na het initialiseren van de database start u het databasecluster, of als u de poort moet wijzigen of naar het adres van de server moet luisteren, bewerkt u het bestand /pgdatabase/data/postgresql.conf in de datadirectory van de databaseserver.

nano /pgdatabase/data/postgresql.conf

Start nu de PostgreSQL-service.

pg_ctl -D /pgdatabase/data/ start

Controleer na het starten van de database de status van het postgres-serverproces met behulp van de volgende ps- en netstat-opdrachten.

ps -ef |grep -i postgres
netstat -apn |grep -i 51751

We kunnen zien dat het databasecluster goed werkt, en opstartlogboeken kunnen worden gevonden op de locatie die is opgegeven met de optie -l tijdens het starten van het databasecluster.

pg_ctl -D /pgdatabase/data/ -l logfile start

8. Maak verbinding met PostgreSQL

Maak nu verbinding met het databasecluster en maak een database met behulp van de volgende opdrachten.

psql -p 5432
postgres=# create database test;
postgres=# \l to list all databases in cluster
postgres=# \q to quit form postgres console

Als u op zoek bent naar een grafische tool genaamd pgAdmin om uw PostgreSQL te beheren, volg dan deze handleidingen om pgAdmin op uw Linux-distributie te installeren.

Conclusie

Je hebt PostgreSQL met succes vanaf de broncode op je Linux-systeem geïnstalleerd. Dit proces biedt flexibiliteit en controle over uw PostgreSQL-installatie, zodat u deze kunt afstemmen op uw specifieke vereisten.