How to Install and configuration PostgreSQL on Ubuntu Linux
Sommario:
- Installazione di PostgreSQL
- Ruoli PostgreSQL e metodi di autenticazione
- Creazione di ruolo e database PostgreSQL
- Abilita accesso remoto al server PostgreSQL
- Conclusione
PostgreSQL, spesso noto semplicemente come Postgres, è un sistema di gestione di database relazionali di oggetti per scopi generici open source. Ha molte potenti funzionalità come backup online, ripristino point in time, transazioni nidificate, query SQL e JSON, controllo della concorrenza multi-versione (MVCC), replica asincrona e altro ancora.
Questo tutorial ti guida attraverso le fasi di installazione del server di database PostgreSQL su Debian 10. Esploreremo anche i fondamenti dell'amministrazione di base del database.
Installazione di PostgreSQL
Al momento della stesura di questo articolo, l'ultima versione di PostgreSQL disponibile dai repository Debian predefiniti è PostgreSQL versione 11.5.
Per installare PostgreSQL sul tuo server Debian eseguire i seguenti passi come utente root o utente con privilegi sudo:
-
Inizia aggiornando l'indice del pacchetto APT:
sudo apt update
Installa il server PostgreSQL e il pacchetto contrib che fornisce funzionalità aggiuntive per il database PostgreSQL:
sudo apt install postgresql postgresql-contrib
Una volta completata l'installazione, il servizio PostgreSQL si avvia. Per verificare l'installazione, utilizzare lo
psql
strumento per stampare la versione del server:sudo -u postgres psql -c "SELECT version();"
L'output dovrebbe essere simile al seguente:
PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
psql
è un programma di terminale interattivo che consente di interagire con il server PostgreSQL.
Ruoli PostgreSQL e metodi di autenticazione
PostgreSQL gestisce le autorizzazioni di accesso al database usando il concetto di ruoli. A seconda della modalità di impostazione del ruolo, può rappresentare un utente del database o un gruppo di utenti del database.
PostgreSQL supporta diversi metodi di autenticazione. I metodi più utilizzati sono:
- Affidabilità: un ruolo può connettersi senza password, purché siano soddisfatti i criteri definiti in
pg_hba.conf
: un ruolo può connettersi fornendo una password. Le password possono essere memorizzate comescram-sha-256
md5
epassword
(testo in chiaro) Ident - Supportato solo per connessioni TCP / IP. Funziona ottenendo il nome utente del sistema operativo del client, con una mappatura del nome utente opzionale. Peer: identico a Ident, ma è supportato solo su connessioni locali.
L'autenticazione client PostgreSQL è definita nel file di configurazione denominato
pg_hba.conf
. Per le connessioni locali, PostgreSQL è impostato per utilizzare il metodo di autenticazione peer.
L'utente “postgres” viene creato automaticamente quando PostgreSQL è installato. Questo utente è il superutente per l'istanza PostgreSQL ed è equivalente all'utente root di MySQL.
Per accedere al server PostgreSQL come "postgres", passare all'utente postgres e accedere a un prompt PostgreSQL utilizzando l'utilità
psql
:
sudo su - postgres
psql
Da qui si può interagire con il server PostgreSQL. Per uscire da tipo PostgreSQL shell:
\q
È possibile utilizzare il
sudo
comando per accedere al prompt di PostgreSQL senza passare utenti:
sudo -u postgres psql
L'utente
postgres
viene generalmente utilizzato solo dall'host locale.
Creazione di ruolo e database PostgreSQL
Il
createuser
comando permette di creare nuovi ruoli da linea di comando. Solo superuser e ruoli con
CREATEROLE
privilegio possono creare nuovi ruoli.
Nel seguente esempio, creeremo un nuovo ruolo chiamato
kylo
, un database chiamato
kylodb
e garantiremo i privilegi sul database per il ruolo.
-
Innanzitutto, crea il ruolo eseguendo il comando seguente:
sudo su - postgres -c "createuser kylo"
Quindi, creare il database utilizzando il comando
createdb
:sudo su - postgres -c "createdb kylodb"
Per concedere le autorizzazioni all'utente sul database, connettersi alla shell PostgreSQL:
sudo -u postgres psql
Esegui la seguente query:
grant all privileges on database kylodb to kylo;
Abilita accesso remoto al server PostgreSQL
Per impostazione predefinita, il PostgreSQL, server in ascolto solo sull'interfaccia locale
127.0.0.1
.
Aprire il file di configurazione
postgresql.conf
e aggiungere
listen_addresses = '*'
nella sezione
CONNECTIONS AND AUTHENTICATION
. Questo indica al server di ascoltare su tutte le interfacce di rete.
sudo nano /etc/postgresql/11/main/postgresql.conf
/etc/postgresql/11/main/postgresql.conf
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
Salvare il file e riavviare il servizio PostgreSQL per rendere effettive le modifiche:
sudo service postgresql restart
Verifica le modifiche con l'utilità
ss
:
ss -nlt | grep 5432
LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*
L'output dovrebbe mostrare che il server PostgreSQL in ascolto su tutte le interfacce (0.0.0.0).
L'ultimo passaggio è configurare il server per accettare gli accessi remoti modificando il file
pg_hba.conf
.
Di seguito sono riportati alcuni esempi che mostrano diversi casi d'uso:
/etc/postgresql/11/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Conclusione
Ti abbiamo mostrato come installare e configurare PostgreSQL su Debian 10. Per maggiori informazioni su questo argomento, consulta la documentazione di PostgreSQL.
database postgresql debianCome installare postgresql su centos 7

PostgreSQL o Postgres è un sistema open source di gestione di database relazionali per scopi generici. In questo tutorial ti mostreremo due diversi metodi su come installare PostgreSQL sul tuo computer CentOS 7.
Come installare PostgreSQL su CentOS 8

In questa guida, discuteremo come installare il server di database PostgreSQL su CentOS 8. Esploreremo anche le basi dell'amministrazione del database PostgreSQL.
Come installare postgresql su debian 9

PostgreSQL, spesso noto semplicemente come Postgres, è un sistema di gestione di database relazionali di oggetti per scopi generici open source. In questo tutorial ti mostreremo come installare PostgreSQL su Debian 9 ed esplorare i fondamenti dell'amministrazione di base del database.