How to Install and configuration PostgreSQL on Ubuntu Linux
Sommario:
- Prerequisiti
- Installazione di PostgreSQL
- Ruoli e metodi di autenticazione PostgreSQL
- Creazione di PostgreSQL Ruolo e Database
- Abilitare l'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. PostgreSQL ha molte caratteristiche avanzate come backup online, punto nel tempo di recupero, le transazioni nidificate, SQL e JSON interrogazione, controllo della concorrenza multi-versione (MVCC), la replica asincrona e altro ancora.
In questo tutorial, ti mostreremo come installare PostgreSQL su Debian 9 ed esplorare i fondamenti dell'amministrazione di base del database.
Prerequisiti
Prima di procedere con questa esercitazione, assicurarsi che l'utente che ha effettuato l'accesso abbia i privilegi di sudo.
Installazione di PostgreSQL
Al momento della stesura di questo articolo, l'ultima versione di PostgreSQL disponibile nei repository Debian è PostgreSQL versione 9.6.
Per installare PostgreSQL sul tuo server Debian completare i seguenti passi:
-
Iniziare l'aggiornamento dell'indice pacchetto locale:
sudo apt update
Installa il server PostgreSQL e il pacchetto contrib PostgreSQL che fornisce funzionalità aggiuntive per il database PostgreSQL:
sudo apt install postgresql postgresql-contrib
Al termine dell'installazione, il servizio PostgreSQL si avvierà automaticamente. Per verificare l'installazione ci collegheremo al server di database PostgreSQL usando l'utility
psql
e stamperemo la versione del server:sudo -u postgres psql -c "SELECT version();"
L'output sarà simile al seguente:
version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)
Ruoli e metodi di autenticazione PostgreSQL
PostgreSQL gestisce le autorizzazioni di accesso al database usando il concetto di ruoli. Un ruolo può rappresentare un utente del database o un gruppo di utenti del database.
PostgreSQL supporta numerosi metodi di autenticazione. I metodi più comunemente usati sono:
- Trust - Con questo metodo, il ruolo in grado di connettersi senza password, fino a quando i criteri definiti nel
pg_hba.conf
sono met.Password - Un ruolo può collegarsi fornendo una password. Le password possono essere memorizzate comescram-sha-256
md5
epassword
(testo in chiaro) Ident: questo metodo è supportato solo su connessioni TCP / IP. Funziona ottenendo il nome utente del sistema operativo del client, con una mappatura del nome utente facoltativa.Peer: identico a Ident, ma è supportato solo su connessioni locali.
L'autenticazione client PostgreSQL è definita nel file di configurazione denominato
pg_hba.conf
. Per impostazione predefinita per le connessioni locali, PostgreSQL è impostato per utilizzare il metodo di autenticazione peer.
L'utente
postgres
viene creato automaticamente quando si installa PostgreSQL. Questo utente è il superutente per l'istanza PostgreSQL ed è equivalente all'utente root di MySQL.
Per accedere al server PostgreSQL come utente postgres primo luogo è necessario passare a l'utente postgres e poi si può accedere a una PostgreSQL rapido utilizzando l'
psql
utility:
sudo su - postgres
psql
Da qui è possibile interagire con l'istanza 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 in genere utilizzato solo dall'host locale e si consiglia di non impostare la password per questo utente.
Creazione di PostgreSQL Ruolo e Database
È possibile creare nuovi ruoli dalla riga di comando utilizzando il comando
createuser
. Solo i superutente e i ruoli con privilegio
CREATEROLE
possono creare nuovi ruoli.
Nel seguente esempio, creeremo un nuovo ruolo chiamato
john
un database chiamato
johndb
e garantiremo i privilegi sul database.
-
Creare un nuovo ruolo PostgreSQL
Il seguente comando creerà un nuovo ruolo chiamato john:
sudo su - postgres -c "createuser john"
Creare un nuovo database PostgreSQL
Creare un nuovo database denominato johndb utilizzando il
createdb
comando:sudo su - postgres -c "createdb johndb"
Concedi privilegi
Per concedere le autorizzazioni all'utente
john
sul database che abbiamo creato nel passaggio precedente, connettiti alla shell PostgreSQL:sudo -u postgres psql
ed esegui la seguente query:
grant all privileges on database johndb to john;
Abilitare l'accesso remoto al server PostgreSQL
Di default PostgreSQL, il server è in ascolto solo sull'interfaccia locale
127.0.0.1
. Per abilitare l'accesso remoto al server PostgreSQL aprire il file di configurazione
postgresql.conf
e aggiungere
listen_addresses = '*'
nei
CONNECTIONS AND AUTHENTICATION
sezione.
sudo vim /etc/postgresql/9.6/main/postgresql.conf
/etc/postgresql/9.6/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 con:
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:*
Come puoi vedere dall'output sopra il server PostgreSQL è in ascolto su tutte le interfacce (0.0.0.0).
L'ultimo passaggio è configurare il server per accettare le connessioni remote modificando il file
pg_hba.conf
.
Di seguito sono riportati alcuni esempi che mostrano diversi casi d'uso:
/etc/postgresql/9.6/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a 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 a 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
Hai imparato come installare e configurare PostgreSQL sul tuo server Debian 9. Per ulteriori informazioni su questo argomento, consultare 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 10

Questo tutorial ti guida attraverso le fasi di installazione del server di database PostgreSQL su Debian 10. PostgreSQL, spesso noto semplicemente come Postgres, è un sistema di gestione di database relazionale di oggetti per scopi generici open source.