Ricerca nel sito web

Come installare PostgreSQL utilizzando il codice sorgente in Linux


PostgreSQL, un sistema di gestione di database relazionali open source, è ampiamente rinomato per le sue robuste funzionalità ed estensibilità. Sebbene molte distribuzioni Linux forniscano PostgreSQL tramite i propri gestori di pacchetti, installarlo dal sorgente consente maggiore personalizzazione e controllo.

In questo articolo spiegheremo come installare PostgreSQL 16 utilizzando l'installazione del codice sorgente su sistemi Linux.

Per coloro che cercano un metodo di installazione più semplice dal gestore dei pacchetti di distribuzione, seguire le guide seguenti:

Prerequisiti

Prima di immergerti nel processo di installazione di PostgreSQL, assicurati che il tuo sistema soddisfi i seguenti prerequisiti:

  • Una distribuzione Linux (in questa guida utilizzeremo Debian a scopo dimostrativo).
  • Un sistema Linux con un utente non root con privilegi sudo.
  • Sono installati strumenti di sviluppo essenziali come GCC e Make.

1. Installa i prerequisiti su Linux

Innanzitutto, installa gli strumenti di sviluppo essenziali come GCC e Make utilizzando il gestore dei pacchetti di distribuzione come mostrato.

Nelle distribuzioni basate su RHEL come CentOS, Fedora, Rocky Linux e Alma Linux:

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

Su distribuzioni basate su Debian come Ubuntu e Linux Mint.

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

2. Scarica il codice sorgente PostgreSQL

Una volta installati i prerequisiti necessari, scarica il file tar del codice sorgente dal sito Web ufficiale di Postgres utilizzando il seguente comando wget direttamente sul sistema. Al momento della stesura di questo articolo, la versione più recente è PostgreSQL 16.1.

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

Successivamente, utilizza il comando tar per estrarre il file tarball scaricato. Verrà creata una nuova directory denominata postgresql-16.1.

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

Esempio di output:

-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. Configura PostgreSQL dall'origine

Poiché postgres è un database open source, può essere creato dal codice sorgente in base alle proprie esigenze/richieste. possiamo personalizzare il processo di creazione e installazione fornendo una o più opzioni della riga di comando per varie funzionalità aggiuntive.

Utilizzare il comando seguente per assistenza con le varie opzioni e l'utilizzo della configurazione, come mostrato.

./configure --help

Ora esegui lo script di configurazione, che controllerà le dipendenze del tuo sistema e configurerà la build di conseguenza.

./configure

4. Installa PostgreSQL dal sorgente

Una volta configurato, utilizza i seguenti comandi per creare e installare PostgreSQL dall'origine.

make
sudo make install

5. Creazione dell'utente Postgres

Ora crea un utente postgres e una directory da utilizzare come directory data per inizializzare il cluster di database. Il proprietario di questa directory data dovrebbe essere un utente postgres e le autorizzazioni dovrebbero essere 700 inoltre impostare un percorso per i binari postgresql per la nostra comodità.

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. Inizializzazione del database Postgres

Ora inizializza il database utilizzando il seguente comando come utente postgres prima di utilizzare qualsiasi comando postgres.

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

Dove -D è la posizione per questo cluster di database o possiamo dire che è la directory dei dati in cui vogliamo inizializzare il cluster di database, -U per il nome del superutente del database e -W per la richiesta della password per il superutente db.

Per maggiori informazioni e opzioni possiamo fare riferimento a initdb --help.

7. Avvia il servizio PostgreSQL

Dopo aver inizializzato il database, avvia il cluster del database o, se hai bisogno di cambiare la porta o ascoltare l'indirizzo del server, modifica il file /pgdatabase/data/postgresql.conf nella directory data di il server della banca dati.

nano /pgdatabase/data/postgresql.conf

Ora avvia il servizio PostgreSQL.

pg_ctl -D /pgdatabase/data/ start

Dopo aver avviato il database, verifica lo stato del processo del server postgres utilizzando i seguenti comandi ps e netstat.

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

Possiamo vedere che il cluster di database funziona correttamente e che i log di avvio possono essere trovati nella posizione specificata con l'opzione -l durante l'avvio del cluster di database.

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

8. Connettiti a PostgreSQL

Ora connettiti al cluster di database e crea un database utilizzando i seguenti comandi.

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

Se stai cercando uno strumento grafico chiamato pgAdmin per gestire il tuo PostgreSQL, segui queste guide per installare pgAdmin sulla tua distribuzione Linux.

Conclusione

Hai installato con successo PostgreSQL dal sorgente sul tuo sistema Linux. Questo processo fornisce flessibilità e controllo sulla tua installazione PostgreSQL, permettendoti di adattarla alle tue esigenze specifiche.