How to Install PostgreSQL 12 on CentOS 8 RHEL 8
Sommario:
- Prerequisiti
- Installazione di PostgreSQL su CentOS 8
- Ruoli e metodi di autenticazione PostgreSQL
- Creazione di PostgreSQL Ruolo e Database
- Abilitare l'accesso remoto al server PostgreSQL
- Conclusione
PostgreSQL o Postgres è un sistema di gestione di database relazionale ad oggetti general-purpose Open Source con molte caratteristiche avanzate che consente di creare ambienti di fault-tolerant o applicazioni complesse.
In questa guida, discuteremo come installare il server di database PostgreSQL su CentOS 8. Prima di scegliere quale versione installare, assicurarsi che le applicazioni lo supportino.
Esploreremo anche le basi dell'amministrazione del database PostgreSQL.
Prerequisiti
Per poter installare i pacchetti, è necessario aver effettuato l'accesso come root o utente con privilegi sudo.
Installazione di PostgreSQL su CentOS 8
Al momento della stesura di questo articolo, esistono due versioni del server PostgreSQL disponibili per l'installazione dai repository CentOS standard: versione 9.6 e 10.0.
Per elencare i flussi di moduli PostgreSQL disponibili, digitare:
dnf module list postgresql
L'output mostra che il modulo postgresql è disponibile con due flussi. Ogni flusso ha due profili: server e client. Lo stream 10 con il server dei profili è quello predefinito:
CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module
-
Per installare il flusso predefinito, digitare la versione 10.0 del server PostgreSQL:
sudo dnf install @postgresql:10
Per installare il server PostgreSQL versione 9.6 digitare:
sudo dnf install @postgresql:9.6
Si consiglia inoltre di installare il pacchetto contrib che fornisce diverse funzionalità aggiuntive per il database PostgreSQL:
sudo dnf install postgresql-contrib
Una volta completata l'installazione, inizializza il database PostgreSQL con il seguente comando:
sudo postgresql-setup initdb
Initializing database… OK
Avviare il servizio PostgreSQL e abilitarlo per l'avvio all'avvio:
sudo systemctl enable --now postgresql
Utilizzare lo strumento
psql
per verificare l'installazione collegandosi al server di database PostgreSQL e stamparne la versione:
sudo -u postgres psql -c "SELECT version();"
PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit
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 più metodi di autenticazione. I metodi più comunemente usati sono:
- Trust - Un ruolo in grado di connettersi senza password, fino a quando le condizioni definite nel
pg_hba.conf
sono met.Password - Un ruolo può collegarsi fornendo una password. Le password possono essere memorizzate comescram-sha-256
,md5
, epassword
(in chiaro).ident - 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 il server PostgreSQL. Questo utente è il superutente per l'istanza PostgreSQL. È equivalente all'utente root di MySQL.
Per accedere al server PostgreSQL come utente
postgres
, passare prima all'utente e quindi accedere al prompt PostgreSQL usando l'utilità
psql
:
sudo su - postgres
psql
Da qui, è possibile interagire con l'istanza PostgreSQL. Per uscire fuori dal guscio PostgreSQL, digitare:
\q
Puoi anche accedere al prompt di PostgreSQL senza cambiare utente con il comando
sudo
:
sudo -u postgres psql
In genere il
postgres
utente viene utilizzato solo dal localhost.
Creazione di PostgreSQL Ruolo e Database
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.
-
Innanzitutto, connettiti alla shell PostgreSQL:
sudo -u postgres psql
Crea un nuovo ruolo PostgreSQL usando il seguente comando:
create role john;
Crea un nuovo database:
create database johndb;
Concedere i privilegi all'utente sul database eseguendo la seguente query:
grant all privileges on database johndb to john;
Abilitare 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:
sudo nano /var/lib/pgsql/data/postgresql.conf
Scorri verso il basso fino alla sezione
CONNECTIONS AND AUTHENTICATION
e aggiungi / modifica la seguente riga:
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
Salvare il file e riavviare il servizio PostgreSQL con:
sudo systemctl restart postgresql
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 qui sopra mostra che il server PostgreSQL è in ascolto sulla porta di default 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 can access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane can access only the janedb database from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane can access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Conclusione
CentOS 8 fornisce due versioni PostgreSQL: 9.6 e 10.0.
Per ulteriori informazioni su questo argomento, consultare la documentazione di PostgreSQL
database centos postgresqlCome 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 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.