2. PostgreSQL DBA: Install PostgreSQL 10 on CentOS 7
Sommario:
- Prerequisiti
- Installa PostgreSQL dai repository CentOS
- Installa PostgreSQL dai repository PostgreSQL
- Ruoli e metodi di autenticazione PostgreSQL
- Creazione di ruolo e database PostgreSQL
- Abilita l'accesso remoto al server PostgreSQL
- Conclusione
PostgreSQL o Postgres è un sistema di gestione di database relazionale di oggetti per scopi generici open source con molte funzionalità avanzate che consente di creare applicazioni Web complesse.
In questo tutorial, ti mostreremo due diversi metodi su come installare PostgreSQL sul tuo computer CentOS 7. Il primo metodo ti guiderà attraverso i passaggi necessari per installare PostgreSQL v9.2.23 dai repository CentOS mentre il secondo ti mostrerà come installare l'ultima versione di PostgreSQL dai repository PostgreSQL ufficiali.
Se la tua applicazione non richiede l'ultima versione, ti consigliamo di utilizzare il primo metodo e installare PostgreSQL dai repository CentOS.
Esploreremo anche i fondamenti dell'amministrazione del database PostgreSQL.
Prerequisiti
Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.
Installa PostgreSQL dai repository CentOS
Al momento della stesura di questo articolo, l'ultima versione di PostgreSQL disponibile nei repository CentOS è PostgreSQL versione 9.2.23.
Per installare PostgreSQL sul tuo server CentOS, procedi nel seguente modo:
-
Installazione di PostgreSQL
Per installare il server PostgreSQL insieme al pacchetto contrib PostgreSQL che fornisce diverse funzionalità aggiuntive per il database PostgreSQL digita semplicemente:
sudo yum install postgresql-server postgresql-contrib
Inizializzazione del database
Inizializza il database PostgreSQL con il seguente comando:
sudo postgresql-setup initdb
Initializing database… OK
Avvio di PostgreSQL
Per avviare il servizio PostgreSQL e abilitarlo all'avvio, digita semplicemente:
sudo systemctl start postgresql
sudo systemctl enable postgresql
Verifica dell'installazione di PostgreSQL
Per verificare l'installazione proveremo a connetterci al server di database PostgreSQL usando lo strumento
psql
e stampare la versione del server:sudo -u postgres psql -c "SELECT version();"
PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit (1 row)
Installa PostgreSQL dai repository PostgreSQL
Al momento della stesura di questo articolo, l'ultima versione di PostgreSQL disponibile dai repository PostgreSQL ufficiali è PostgreSQL versione 10.4. Prima di continuare con il passaggio successivo, è necessario visitare la pagina del repository Yum PostgreSQL e verificare se è disponibile una nuova versione.
Seguire i passaggi seguenti per installare l'ultima versione di PostgreSQL sul server CentOS:
-
Abilitazione del repository PostgreSQL
Per abilitare il repository PostgreSQL è sufficiente installare il file
rpm
del repository:sudo yum install
Installazione di PostgreSQL
Una volta abilitato il repository, installare i pacchetti PostgreSQL server e PostgreSQL contrib con:
sudo yum install postgresql10-server postgresql10-contrib
Inizializzazione del database
Per inizializzare il tipo di database PostgreSQL:
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Initializing database… OK
Avvio di PostgreSQL
Per avviare il servizio PostgreSQL e abilitarlo per l'avvio al tipo di avvio:
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Verifica dell'installazione di PostgreSQL
Per verificare l'installazione proveremo a connetterci al server di database PostgreSQL usando lo strumento
psql
e stampare la versione del server:sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"
PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit (1 row)
Ruoli e metodi di autenticazione PostgreSQL
Le autorizzazioni di accesso al database in PostgreSQL sono gestite con il concetto di ruoli. Un ruolo può rappresentare un utente del database o un gruppo di utenti del database.
PostgreSQL supporta più metodi di autenticazione. I metodi più comunemente usati sono:
- Affidabilità: con questo metodo, il 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 - Questo metodo è supportato solo su 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 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, prima devi passare all'utente postgres e quindi accedere al prompt PostgreSQL usando l'utilità
psql
:
sudo su - postgres
psql
Da qui puoi interagire con la tua istanza PostgreSQL. Per uscire dalla shell PostgreSQL, digitare:
\q
Puoi anche accedere al prompt di PostgreSQL senza cambiare utente usando il comando
sudo
:
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.
psql
che è
/usr/pgsql-10/bin/psql
.
Creazione di ruolo e database PostgreSQL
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.
-
Connettiti alla shell PostgreSQL
sudo -u postgres psql
Crea un nuovo ruolo PostgreSQL
Il seguente comando creerà un nuovo ruolo chiamato john:
create role john;
Crea un nuovo database PostgreSQL
Crea un nuovo database chiamato johndb usando il comando Createdb:
create database johndb;
Concedi privilegi
Per concedere le autorizzazioni all'utente
john
sul database creato nel passaggio precedente, eseguire la query seguente:grant all privileges on database johndb to john;
Abilita l'accesso remoto al server PostgreSQL
Per impostazione predefinita, il server PostgreSQL è in ascolto solo sull'interfaccia locale
127.0.0.1
. Per abilitare l'accesso remoto al tuo server PostgreSQL, apri il file di configurazione
postgresql.conf
e aggiungi
listen_addresses = '*'
nella sezione
CONNECTIONS AND AUTHENTICATION
.
sudo vim /var/lib/pgsql/data/postgresql.conf
Se stai eseguendo PostgreSQL versione 10, il percorso del file è
/var/lib/pgsql/10/data/postgresql.conf
./var/lib/pgsql/data/postgresql.conf
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
salva il file e riavvia il servizio PostgreSQL con:
sudo systemctl restart postgresql
Se stai eseguendo PostgreSQL versione 10, riavvia il servizio PostgreSQL con
systemctl restart postgresql-10
.
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:
/var/lib/pgsql/data/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
Se stai eseguendo PostgreSQL versione 10, il percorso completo del file è
/var/lib/pgsql/10/data/pg_hba.conf
.
Conclusione
Hai imparato come installare e configurare PostgreSQL sul tuo server CentOS 7.
È possibile consultare la documentazione di PostgreSQL per ulteriori informazioni su questo argomento.
database centos postgresqlCome 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.
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.