Ricerca nel sito web

Come installare il server PostgreSQL su RHEL 8/CentOS 8


PostgreSQL è un sistema di gestione di database relazionali a oggetti opensource gratuito. L'obiettivo di questo tutorial è eseguire un'installazione e una configurazione di base del server PostgreSQL sul server Linux RHEL 8/CentOS 8.

In questo tutorial imparerai:

  • Come installare il server di database PostgreSQL su RHEL 8/CentOS 8
  • Come avviare e abilitare il server di database PostgreSQL
  • Come accedere al database PostgreSQL da localhost e da una posizione remota
  • Come impostare la password per l'utente postgres predefinito
  • Come abilitare PostgreSQL per l'ascolto su tutte le reti
  • Come proteggere la connessione remota PostgreSQL con l'autenticazione con password MD5
  • Come aprire la porta del firewall PostgreSQL
  • Come stabilire una connessione remota al server PostgreSQL utilizzando il client psql

Inizializzazione e accesso al database PostgreSQL su Red Hat Enterprise Linux 8

Requisiti software e convenzioni utilizzate

Istruzioni dettagliate per l'installazione di PostgreSQL locale e l'accesso al database

  1. Installa il server PostreSQL. Eseguire il comando dnf seguente per eseguire l'installazione di un pacchetto server PostreSQL:

    dnf install postgresql-server
    
  2. Inizializza il database PostgreSQL:

    postgresql-setup --initdb --unit postgresql
     * Initializing database in '/var/lib/pgsql/data'
     * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
    
  3. Avvia PostgreSQL e, facoltativamente, abilitalo per avviarlo dopo il riavvio.

    systemctl start postgresql
    systemctl enable postgresql
    

    A questo punto il server PostreSQL dovrebbe essere attivo e funzionante e in ascolto sulla porta localhost 5432. Utilizzare il comando ss per verificare che questo sia il caso:

    ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            127.0.0.1:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::1]:5432             [::]:*
    
  4. Accedi al database PostreSQL. Quando installi il database PostgreSQL sul tuo sistema RHEL 8/CentOS 8, il programma di installazione creerà automaticamente anche un nuovo postgres utente predefinito.

    La password predefinita per l'utente postgres non è impostata, quindi è vuota. Per accedere al database PostgreSQL, eseguire prima il comando su come utente root per passare all'utente postres. Quindi, digita psql per accedere al database.

    su - postgres
    psql
    psql (10.5)
    Type "help" for help.
    
    postgres=#
    
  5. notaNOTA
    Per uscire dalla shell del database PostreSQL, digitare \q o premere la combinazione di tasti CTRL+d.

Accesso remoto al database PostgreSQL e connessione sicura

  1. Impostare la password per l'utente postgres. Per accedere al server PostreSQL da remoto imposteremo prima la password per l'utente postres:

    su - postgres
    psql
    psql (10.5)
    Type "help" for help.
    
    postgres=# \password postgres
    Enter new password: 
    Enter it again: 
    postgres=# exit
    postgres-# \q
    
  2. Abilita il server PostgreSQL per l'ascolto su tutte le reti disponibili. Modificare il file di configurazione principale /var/lib/pgsql/data/postgresql.conf:

    nano /var/lib/pgsql/data/postgresql.conf
    

    Una volta pronto, aggiungi la seguente riga da qualche parte nella sezione CONNESSIONI E AUTENTICAZIONE:

    listen_addresses = '*'
    
    ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            0.0.0.0:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::]:5432             [::]:*
    
  3. avvertimento

  4. Abilita l'autenticazione con password crittografata MD5:

    echo "host all all 0.0.0.0/0  md5" >> /var/lib/pgsql/data/pg_hba.conf
    
  5. Applicare le modifiche alla configurazione di PostgreSQL:

    systemctl restart postgresql
    
  6. Aprire la porta 5432 del firewall per un traffico in entrata PostgreSQL remoto:

    firewall-cmd --zone=public --permanent --add-service=postgresql
    firewall-cmd --reload
    
  7. Connettiti al server di database PostgreSQL da una postazione remota. Per prima cosa installa lo strumento client psql PostgreSQL sul tuo host remoto:

    RHEL/CENTOS
    dnf install postgresql
    UBUNTU/DEBIAN
    apt install postgresql-client
    

    Creare una connessione remota per ospitare ad es. 192.168.1.151 come utente postgres e password utente come definito nelpassaggio 1 precedente:

    psql -h 192.168.1.151 -U postgres
    Password for user postgres: 
    psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1), server 10.5)
    Type "help" for help.
    
    postgres=# 
    

Articoli correlati: