Connect with us

Linux

Come installare PostgreSQL utilizzando il codice sorgente in Linux


PostgreSQL chiamato anche Postgres è un sistema di database relazionale a oggetti potente e open source. Si tratta di un database di livello aziendale con funzionalità come la registrazione write-ahead per la tolleranza ai guasti, la replica asincrona, il controllo della concorrenza multi-versione (MVCC), i backup online/hot, il ripristino point-in-time, il pianificatore/ottimizzatore di query, i tablespace, transazioni nidificate (punti di salvataggio), ecc.

L’ultima versione 15.2 di Postgres è stata rilasciata il 9 febbraio 2023 dal gruppo di sviluppo globale PostgreSQL.

Caratteristiche di PostgreSQL

Le caratteristiche della nuova versione sono le seguenti:

  • Replica logica: questa funzione consente la replica di singoli oggetti di database (righe, tabelle o database selettivi) su server in standby. Fornisce un maggiore controllo sulla replica dei dati. Implementato utilizzando il modello editore-abbonato.
  • Quorum Commit per la replica sincrona: In questa funzione, dba può ora specificare il numero di standby che riconoscono che le modifiche al database sono state apportate, in modo che i dati possano essere considerati scritti in modo sicuro.
  • Autenticazione SCRAM-SHA-256: Maggiore sicurezza rispetto all’autenticazione e all’archiviazione delle password basate su MD5 esistenti.
  • Esecuzione di query parallele migliorata.
  • Partizionamento dichiarativo della tabella.
  • Supporto della ricerca full-text per JSON e JSONB.

In questo articolo, spiegheremo come installare PostgreSQL 15 utilizzando l’installazione del codice sorgente nei sistemi Linux. Coloro che cercano una facile installazione dal gestore dei pacchetti di distribuzione possono seguire le guide seguenti.

Installazione di PostgreSQL dall’origine

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

Il principale vantaggio dell’utilizzo dell’installazione del codice sorgente è che può essere altamente personalizzato durante l’installazione.

1. Prima installazione prerequisiti richiesti come gcc, readline-sviluppo, E zlib-devel utilizzando il gestore pacchetti come mostrato.

# yum install gcc zlib-devel readline-devel     [On RHEL/CentOS]
# apt install gcc zlib1g-dev libreadline6-dev   [On Debian/Ubuntu]

2. Scarica il file tar del codice sorgente dal sito Web ufficiale di Postgres utilizzando il seguente comando wget direttamente sul sistema.

# wget https://ftp.postgresql.org/pub/source/v15.2/postgresql-15.2.tar.bz2

3. Utilizzare il comando tar per estrarre il file tarball scaricato. Una nuova directory denominata postgresql-15.2 verrà creato.

# tar -xvf postgresql-15.2.tar.bz2
# cd postgresql-15.2
# ls -l
Esempio di output
total 780
-rw-r--r--  1 1107 1107    397 Feb  6 16:39 aclocal.m4
drwxrwxrwx  2 1107 1107   4096 Feb  6 16:50 config
-rwxr-xr-x  1 1107 1107 601519 Feb  6 16:39 configure
-rw-r--r--  1 1107 1107  89258 Feb  6 16:39 configure.ac
drwxrwxrwx 61 1107 1107   4096 Feb  6 16:50 contrib
-rw-r--r--  1 1107 1107   1192 Feb  6 16:39 COPYRIGHT
drwxrwxrwx  3 1107 1107     87 Feb  6 16:50 doc
-rw-r--r--  1 1107 1107   4264 Feb  6 16:39 GNUmakefile.in
-rw-r--r--  1 1107 1107    277 Feb  6 16:39 HISTORY
-rw-r--r--  1 1107 1107  63842 Feb  6 16:51 INSTALL
-rw-r--r--  1 1107 1107   1875 Feb  6 16:39 Makefile
-rw-r--r--  1 1107 1107   1213 Feb  6 16:39 README
drwxrwxrwx 16 1107 1107   4096 Feb  6 16:51 src

4. Il passo successivo per la procedura di installazione è configurare il codice sorgente scaricato scegliendo le opzioni in base alle proprie esigenze. Utilizzo ./configure --help per ottenere aiuto con varie opzioni.

# ./configure --help

`configure' configures PostgreSQL 15.2 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/usr/local/pgsql]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]
....

5. Ora crea una directory in cui desideri installare i file postgres e usa l’opzione prefix con configure.

# mkdir /opt/PostgreSQL
# ./configure --prefix=/opt/PostgreSQL
Esempio di output
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking which template to use... linux
checking whether NLS is wanted... no
checking for default port number... 5432
checking for block size... 8kB
checking for segment size... 1GB
checking for WAL block size... 8kB
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for gcc option to accept ISO C99... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for gawk... gawk
checking whether gcc supports -Wdeclaration-after-statement, for CFLAGS... yes
checking whether gcc supports -Werror=vla, for CFLAGS... yes
checking whether gcc supports -Werror=unguarded-availability-new, for CFLAGS... no
....

Costruire PostgreSQL dal sorgente

6. Dopo la configurazione, inizieremo a compilare postgreSQL utilizzando quanto segue fare comando.

# make

Al termine del processo di compilazione, ora installa postgresql utilizzando il seguente comando.

# make install

PostgreSQL 15 è stato installato in /opt/PostgreSQL directory.

Creazione dell’utente Postgres

7. Ora crea un utente e una directory postgres da utilizzare come file dati directory per l’inizializzazione del cluster di database. Il proprietario di questa directory di dati dovrebbe essere un utente postgres e le autorizzazioni dovrebbero essere 700 e anche impostare un percorso per i binari postgresql per nostra comodità.

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

Inizializzazione del database Postgres

8. Ora inizializza il database usando il seguente comando come a postgres utente prima di utilizzare qualsiasi postgres comandi.

# 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 richiesta password per db superuser.

Inizializza il database Postgres
Inizializza il database Postgres

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

9. Dopo aver inizializzato il database, avviare il cluster del database o, se è necessario modificare la porta o ascoltare l’indirizzo del server, modificare il /pgdatabase/data/postgresql.conf file nella directory dei dati del server del database.

Configura la porta PostgreSQL
Configura la porta PostgreSQL
$ pg_ctl -D /pgdatabase/data/ start
Avvia il database Postgres
Avvia il database Postgres

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

$ ps -ef |grep -i postgres
$ netstat -apn |grep -i 51751
Verificare il database PostgreSQL
Verificare il database PostgreSQL

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

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

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

Questo è tutto! Nei nostri prossimi articoli tratterò la configurazione, l’impostazione della replica e l’installazione dello strumento pgAdmin, fino ad allora rimanete sintonizzati su Tecmint.

Se apprezzi ciò che facciamo qui su Guidetti, dovresti considerare:

Guidetti è il sito della comunità in più rapida crescita e più affidabile per qualsiasi tipo di articoli, guide e libri su Linux sul web. Milioni di persone visitano Guidetti! per ricercare o sfogliare le migliaia di articoli pubblicati a disposizione LIBERAMENTE di tutti.

Se ti piace quello che stai leggendo, ti preghiamo di considerare di offrirci un caffè (o 2) come segno di apprezzamento.

Supportaci

Siamo grati per il vostro supporto senza fine.


Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi