Come installare e configurare PostgreSQL su Ubuntu 20.04

PostgreSQL, spesso indicato anche come Postgres, è un potente sistema di database relazionale a oggetti open source. PostgreSQL ha costruito una solida reputazione di affidabilità, robustezza delle funzionalità e prestazioni tra gli sviluppatori.

Lo saprai come installare PostgreSQL su Ubuntu 20.04 LTS Focal Fossa sistema operativo nella seguente guida. Lo stesso principio funzionerà per la versione più recente Ubuntu 21.04 (Ippopotamo irsuto).

Prerequisiti

Controlla e aggiorna il tuo sistema operativo Ubuntu 20.04.

sudo apt update && sudo apt upgrade -y

pubblicità


Installazione di PostgreSQL su Ubuntu 20.04

Per impostazione predefinita, PostgreSQL è disponibile nel repository principale di Ubuntu. Puoi installarlo dalla fonte, che è anche prima del repository predefinito.

Installa PostgreSQL usando apt

Per installare PostgreSQL utilizzando il gestore di pacchetti apt su Ubuntu 20.04, inserisci il seguente comando:

sudo apt install postgresql-client

Installerai il (Pacchetto contributi PostgreSQL), che contiene extra per il sistema di database PostgreSQL.

Esempio di output:

~$ sudo apt install postgresql postgresql-contrib
 [sudo] password for bytesboss: 
 Reading package lists… Done
 Building dependency tree       
 Reading state information… Done
 The following additional packages will be installed:
   libllvm10 libpq5 postgresql-12 postgresql-client-12 postgresql-client-common
   postgresql-common sysstat
 Suggested packages:
   postgresql-doc postgresql-doc-12 libjson-perl isag
 The following NEW packages will be installed:
   libllvm10 libpq5 postgresql postgresql-12 postgresql-client-12
   postgresql-client-common postgresql-common postgresql-contrib sysstat
 0 upgraded, 9 newly installed, 0 to remove and 3 not upgraded.
 Need to get 30.6 MB of archives.
 After this operation, 121 MB of additional disk space will be used.
 Do you want to continue? [Y/n]

Immettere "Y" per procedere con l'installazione. Il processo dovrebbe richiedere meno di 20 secondi. Una volta installato, puoi verificare l'installazione di PostgreSQL digitando il seguente comando:

sudo systemctl status postgresql

Esempio di output:

~$ sudo systemctl status postgresql
 ● postgresql.service - PostgreSQL RDBMS
      Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
      Active: active (exited) since Tue 2021-06-29 05:00:05 PDT; 3min 29s ago
    Main PID: 4238 (code=exited, status=0/SUCCESS)
       Tasks: 0 (limit: 4617)
      Memory: 0B
      CGroup: /system.slice/postgresql.service
 Jun 29 05:00:05 ubuntu systemd[1]: Starting PostgreSQL RDBMS…
 Jun 29 05:00:05 ubuntu systemd[1]: Finished PostgreSQL RDBMS.

Se per caso non è abilitato, digita semplicemente start e enable dal comando di avvio in basso.

sudo systemctl enable postgresql && sudo systemctl start postgresql

Installa PostgreSQL dal sorgente

Per installare PostgreSQL dal sorgente, dovrai installare alcune dipendenze extra. Innanzitutto, inserisci il seguente comando per aggiornare il tuo sistema Ubuntu.

sudo apt install wget curl ca-certificates 

Quindi, scarica la chiave GPG richiesta per aggiungere il repository di origine PostgreSQL:

wget -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc \
 | sudo apt-key add - 

Ora aggiungi la creazione del PPA personalizzato come segue. Nota che questo è solo per Ubuntu 20.04. Dovrai cambiare la parte focale in irsuta se stai usando Ubuntu 21.04.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \
 focal-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' 

Procedi ad aggiornare i tuoi repository e installa PostgreSQL e PostgreSQL-Contrib

sudo apt update && sudo apt-get install postgresql postgresql-contrib -y

Esempio di output:

~$ sudo apt-get install postgresql postgresql-contrib 
 Reading package lists… Done
 Building dependency tree       
 Reading state information… Done
 The following additional packages will be installed:
   libpq5 postgresql-13 postgresql-client-13
 Suggested packages:
   postgresql-doc postgresql-doc-13
 The following NEW packages will be installed:
   postgresql postgresql-13 postgresql-client-13 postgresql-contrib
 The following packages will be upgraded:
   libpq5
 1 upgraded, 4 newly installed, 0 to remove and 7 not upgraded.
 Need to get 16.9 MB of archives.
 After this operation, 56.0 MB of additional disk space will be used.
 Do you want to continue? [Y/n] y

Immettere "Y" e procedere con l'installazione. Una volta fatto, verifica lo stato dell'installazione e del servizio.

sudo systemctl status postgresql

Se installato correttamente, dovresti ottenere uno stato ok, proprio come nell'esempio precedente usando apt manager.

Comandi di servizio per PostgreSQL

Il server di database PostgreSQL viene eseguito come servizio con il nome "postgresql“. Puoi gestire il servizio eseguendo i comandi seguenti.

  • Arresta il server PostgreSQL:
sudo systemctl stop postgresql
  • Avvia il server PostgreSQL:
sudo systemctl start postgresql
  • Riavvia il server PostgreSQL (ad es. dopo aver modificato le impostazioni di configurazione):
sudo systemctl restart postgresql
  • Ricarica il server PostgreSQL:
sudo systemctl reload postgresql
  • Controlla lo stato di PostgreSQL:
sudo systemctl status postgresql

Congratulazioni, hai installato con successo il server del database PostgreSQL.


pubblicità


Configura il server PostgreSQL

Passaggio all'account Postgres

Prima di continuare, tieni presente che solo i superutenti e i ruoli con privilegio di creazione del ruolo possono creare nuovi ruoli in Postgres. Durante l'installazione, è stato creato un account utente chiamato Postgres associato al ruolo Postgres predefinito.

Per interagire con l'account, puoi eseguire i seguenti comandi:

sudo -i -u postgres

Ora inserendo quanto sopra, puoi accedere immediatamente al prompt di PostgreSQL digitando:

psql

Noterai subito che il terminale è cambiato con (postgres=#) ora nella riga di comando del terminale. Ciò significa che ti sei connesso correttamente al database.

Per uscire dal database Postgres, puoi farlo digitando quanto segue:

\q

Alternativa al cambio di account Postgres

Un modo alternativo per interagire con il database Postgres senza modificare gli account utente è utilizzare un comando sudo per connettersi direttamente. Puoi farlo digitando:

sudo -u postgres psql

Questo è l'ideale per usarne di più, in quanto consente di risparmiare tempo registrandoti direttamente senza dover eseguire ulteriori comandi bash del terminale.

Per uscire dal terminale, proprio come la prima opzione, puoi uscire digitando quanto segue:

/q

Crea utente e database

Ora puoi creare ruoli utente se lo desideri. Nota, solo superutenti e ruoli con (createrolo) privilegio può creare nuovi ruoli. Per creare un nuovo utente, digita quanto segue:

sudo su - postgres -c "createuser <name>"

Ora puoi creare un database PostgreSQL per il nuovo utente che hai creato:

sudo su - postgres -c "createdb <namedb>"

Per finire, devi passare all'account Postgres di superutente per concedere l'autorizzazione al nuovo database.

Connettiti all'account Super User di Postgres:

sudo -u postgres psql

Concedi l'accesso a a :

GRANT ALL PRIVILEGES ON DATABASE <usernamedb> TO <name>;

Una volta fatto, per uscire, digita quanto segue:

/q

Abilitazione firewall UFW per PostgreSQL

Dovrai creare una regola firewall UFW per consentire a PostgreSQL di comunicare sulla sua porta predefinita 5432 ed è necessario se hai intenzione di utilizzare qualcos'altro oltre a localhost. Questo può essere fatto digitando il seguente comando:

sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432

pubblicità


Accesso remoto a PostgreSQL

Se hai bisogno dell'accesso predefinito a PostgreSQL, questo può essere fatto facilmente modificando l'ascolto predefinito dell'interfaccia locale di (127.0.0.1) con un IP, una sottorete o anche tutte le interfacce, cosa che può essere fatta nel (postgresql.conf) file.

Innanzitutto, apri il file postgresql.conf usando nano:

sudo nano /etc/postgresql/12/main/postgresql.conf

Ora scorri verso il basso finché non trovi (Impostazioni di connessione) e cambia il (listen_addresses = 'localhost') al indirizzo. La maggior parte sceglie di ascoltare tutte le interfacce, specialmente quando è in esecuzione su più server che richiedono la connessione al database PostgreSQL cambiando localhost a (*).

Esempio:

indirizzo di ascolto postgress ubuntu 20.04

Ora salva il file (CTRL+O), quindi esci (CTRL+X) e riavvia la tua istanza PostgreSQL:

sudo service postgresql restart

Per verificare che le modifiche apportate siano attive, gli utenti possono farlo con l'utilità ss integrata in Ubuntu.

ss -nlt | grep 5432

Dovresti vedere quanto segue:

controllo dell'ascolto postgresql e ubuntu

Per finire, puoi configurare il server per accettare connessioni remote modificando il file (pg_hba.conf).

Apri (pg_hba.conf) usando nano:

sudo nano /etc/postgresql/12/main/pg_hba.conf

Da questo punto è possibile impostare varie opzioni. Alcuni esempi di seguito:

esempi postgresql

Commenti e Conclusione:

Nella guida, hai imparato come installare PostgreSQL usando il gestore di pacchetti apt e tramite sorgente, che è consigliato di più se stai cercando nuove funzionalità e creando un ruolo e un database con connessioni remote configurate. Nel complesso, PostgreSQL presenta molti vantaggi in termini di compatibilità, scalabilità, sicurezza e altre funzionalità rispetto ad altri sistemi di gestione di database. A differenza di altri Sistemi di gestione di database (DBMS), è supportato da una grande rete di aziende che formano una forte comunità unita.

Per ulteriori informazioni sull'utilizzo di PostgreSQL, visitare il sito ufficiale documentazione.

Se hai domande, sentiti libero di lasciare un commento qui sotto.

Lascia un tuo commento