Hvordan installere PostgreSQL ved hjelp av kildekode i Linux
PostgreSQL, et åpen kildekode relasjonsdatabaseadministrasjonssystem, er kjent for sine robuste funksjoner og utvidbarhet. Mens mange Linux-distribusjoner gir PostgreSQL gjennom pakkebehandlerne, gir installering fra kilden større tilpasning og kontroll.
I denne artikkelen vil vi forklare hvordan du installerer PostgreSQL 16 ved å bruke kildekodeinstallasjon på Linux-systemer.
For de som søker en enklere installasjonsmetode fra distribusjonspakkebehandleren, følg veiledningene nedenfor:
Forutsetninger
Før du går inn i PostgreSQL-installasjonsprosessen, sørg for at systemet ditt oppfyller følgende forutsetninger:
- En Linux-distribusjon (i denne veiledningen bruker vi Debian til demonstrasjonsformål).
- Et Linux-system med en ikke-rootbruker med sudo-rettigheter.
- Viktige utviklingsverktøy som GCC og Make er installert.
1. Installer Prerequisites på Linux
Installer først viktige utviklingsverktøy som GCC og Make ved å bruke distribusjonspakkebehandlingen som vist.
På RHEL-baserte distribusjoner som CentOS, Fedora, Rocky Linux og Alma Linux:
sudo yum groupinstall development-tools
sudo yum install zlib-devel readline-devel libicu-devel
På Debian-baserte distribusjoner som Ubuntu og Linux Mint.
sudo apt install gcc build-essential zlib1g-dev libreadline6-dev libicu-dev pkg-config
2. Last ned PostgreSQL-kildekoden
Når nødvendige forutsetninger er installert, last ned kildekoden tar-filen fra det offisielle postgres-nettstedet ved å bruke følgende wget-kommando direkte på systemet. I skrivende stund er den siste versjonen PostgreSQL 16.1.
wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.bz2
Deretter bruker du tar-kommandoen til å pakke ut den nedlastede tarball-filen. En ny katalog kalt postgresql-16.1 vil bli opprettet.
tar -xvf postgresql-16.1.tar.bz2
cd postgresql-16.1/
ls -l
Eksempelutdata:
-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. Konfigurer PostgreSQL fra kilde
Siden postgres er en åpen kildekode-database, kan den bygges fra kildekode i henhold til ens behov/krav. vi kan tilpasse bygge- og installasjonsprosessen ved å oppgi ett eller flere kommandolinjealternativer for ulike tilleggsfunksjoner.
Bruk følgende kommando for å få hjelp med ulike alternativer og konfigurasjonsbruk, som vist.
./configure --help
Kjør nå konfigureringsskriptet, som vil sjekke systemet ditt for avhengigheter og konfigurere bygget deretter.
./configure
4. Installer PostgreSQL fra kilden
Når den er konfigurert, bruk følgende kommandoer for å bygge og installere PostgreSQL fra kilden.
make
sudo make install
5. Opprette Postgres-bruker
Opprett nå en postgres-bruker og katalog som skal brukes som en data-katalog for initialisering av databaseklyngen. Eieren av denne data-katalogen bør være en postgres-bruker og tillatelsene bør være 700 også angi en bane for postgresql-binærfiler for enkelhets skyld.
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. Initialisere Postgres-databasen
Initialiser nå databasen ved å bruke følgende kommando som postgres-bruker før du bruker noen postgres-kommandoer.
su postgres
initdb -D /pgdatabase/data/ -U postgres -W
Hvor -D
er plasseringen for denne databaseklyngen, eller vi kan si at det er datakatalogen der vi ønsker å initialisere databaseklyngen, -U
for databasens superbrukernavn og < kode>-W for passordforespørsel for db-superbruker.
For mer informasjon og alternativer kan vi referere til initdb --help
.
7. Start PostgreSQL-tjenesten
Etter initialisering av databasen, start databaseklyngen, eller hvis du trenger å endre porten eller lytte til adressen til serveren, rediger filen /pgdatabase/data/postgresql.conf i datakatalogen til databaseserveren.
nano /pgdatabase/data/postgresql.conf
Start nå PostgreSQL-tjenesten.
pg_ctl -D /pgdatabase/data/ start
Etter å ha startet databasen, kontroller statusen til postgres-serverprosessen ved å bruke følgende ps- og netstat-kommandoer.
ps -ef |grep -i postgres
netstat -apn |grep -i 51751
Vi kan se at databaseklyngen kjører bra, og oppstartslogger kan bli funnet på stedet spesifisert med -l
-alternativet mens du starter databaseklyngen.
pg_ctl -D /pgdatabase/data/ -l logfile start
8. Koble til PostgreSQL
Koble nå til databaseklyngen og lag en database ved å bruke følgende kommandoer.
psql -p 5432
postgres=# create database test;
postgres=# \l to list all databases in cluster
postgres=# \q to quit form postgres console
Hvis du ser etter et grafisk verktøy kalt pgAdmin for å administrere PostgreSQL-en din, følg disse veiledningene for å installere pgAdmin på Linux-distribusjonen.
Konklusjon
Du har installert PostgreSQL fra kilden på Linux-systemet ditt. Denne prosessen gir fleksibilitet og kontroll over PostgreSQL-installasjonen din, slik at du kan skreddersy den til dine spesifikke krav.