GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare PostgreSQL su Ubuntu 20.04

PostgreSQL o Postgres è un sistema di gestione di database relazionale a oggetti per uso generale open source con molte funzionalità avanzate che consente di creare ambienti a tolleranza di errore o applicazioni complesse.

In questa guida spiegheremo come installare il server del database PostgreSQL su Ubuntu 20.04 ed esploreremo le basi dell'amministrazione del database PostgreSQL.

Prerequisiti #

Per poter installare i pacchetti, devi essere loggato come root o utente con privilegi sudo.

Installa PostgreSQL su Ubuntu #

Al momento della stesura di questo articolo, l'ultima versione di PostgreSQL disponibile dai repository ufficiali di Ubuntu è PostgreSQL versione 10.4.

Esegui i seguenti comandi per installare il server PostgreSQL su Ubuntu:

sudo apt updatesudo apt install postgresql postgresql-contrib

Stiamo anche installando il pacchetto contrib PostgreSQL che fornisce diverse funzionalità aggiuntive per il sistema di database PostgreSQL.

Una volta completata l'installazione, il servizio PostgreSQL si avvierà automaticamente. Usa il psql strumento per verificare l'installazione collegandosi al server del database PostgreSQL e stampandone la versione:

sudo -u postgres psql -c "SELECT version();"
PostgreSQL 12.2 (Ubuntu 12.2-4) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0, 64-bit

Questo è tutto. PostgreSQL è stato installato e puoi iniziare a usarlo.

Ruoli PostgreSQL e metodi di autenticazione #

Le autorizzazioni di accesso al database all'interno di 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:

  • Fiducia:un ruolo può connettersi senza password, purché le condizioni definite in pg_hba.conf sono soddisfatte.
  • Password:un ruolo può connettersi fornendo una password. Le password possono essere memorizzate come scram-sha-256 , md5 e password (testo 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 opzionale.
  • Peer - Uguale a Ident, ma è supportato solo su connessioni locali.

L'autenticazione del client PostgreSQL è definita nel file di configurazione denominato pg_hba.conf . Per impostazione predefinita, PostgreSQL utilizza il metodo di autenticazione peer per le connessioni locali.

Il postgres l'utente viene creato automaticamente quando installi PostgreSQL. Questo utente è il superutente per l'istanza PostgreSQL ed è equivalente all'utente root di MySQL.

Per accedere al server PostgreSQL come postgres utente, prima passa all'utente, quindi accedi al prompt di PostgreSQL usando il psql utilità:

sudo su - postgrespsql

Da qui, puoi interagire con la tua istanza PostgreSQL. Per uscire dal tipo di shell PostgreSQL:

\q

Un altro modo per accedere al prompt di PostgreSQL senza cambiare utente è usare sudo comando:

sudo -u postgres psql

In genere, dovresti accedere al server del database come postgres solo dall'host locale.

Creazione del ruolo PostgreSQL e del database #

Solo superutenti e ruoli con CREATEROLE privilegio può creare nuovi ruoli.

L'esempio seguente mostra come creare un nuovo ruolo denominato john un database chiamato johndb e concedere privilegi sul database:

  1. Crea un nuovo ruolo PostgreSQL:

    sudo su - postgres -c "createuser john"
  2. Crea un nuovo database PostgreSQL:

    sudo su - postgres -c "createdb johndb"

Per concedere i permessi all'utente sul database, connettiti alla shell di PostgreSQL:

sudo -u postgres psql

ed esegui la seguente query:

GRANT ALL PRIVILEGES ON DATABASE johndb TO john;

Abilita 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 = '*' nel CONNECTIONS AND AUTHENTICATION sezione.

sudo nano /etc/postgresql/12/main/postgresql.conf
/etc/postgresql/12/main/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'     # what IP address(es) to listen on;

Salva il file e riavvia il servizio PostgreSQL:

sudo service postgresql restart

Verifica le modifiche con ss utilità:

ss -nlt | grep 5432

L'output mostra che il server PostgreSQL è in ascolto su tutte le interfacce (0.0.0.0 ):

LISTEN  0        244              0.0.0.0:5432           0.0.0.0:*              
LISTEN  0        244                 [::]:5432              [::]:* 

Il passaggio successivo consiste nel configurare il server per accettare connessioni remote modificando pg_hba.conf file.

Di seguito sono riportati alcuni esempi che mostrano diversi casi d'uso:

/etc/postgresql/12/main/pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# The user jane can access all databases from all locations using md5 password
host    all             jane            0.0.0.0/0                md5

# The user jane can access only the janedb from all locations using 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

L'ultimo passaggio consiste nell'aprire la porta 5432 nel tuo firewall.

Supponendo che tu stia usando UFW per gestire il tuo firewall e desideri consentire l'accesso dal 192.168.1.0/24 subnet, eseguiresti il ​​seguente comando:

sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432

Assicurati che il tuo firewall sia configurato per accettare connessioni solo da intervalli IP affidabili.


Ubuntu
  1. Come installare PostgreSQL su Ubuntu 18.04

  2. Come installare PostgreSQL su Ubuntu 18.04

  3. Come installare PostgreSQL 9.5 su Ubuntu (12.04 - 15.10)

  4. Come installare pgAdmin4 su Ubuntu

  5. Installa PostgreSQL su Ubuntu 20.04

Come installare Observium su Ubuntu 15.04

Come installare Joomla su Ubuntu 16.04

Come installare PostgreSQL su Ubuntu 16.04

Come installare PostgreSQL su Ubuntu 18.04 LTS

Come installare PostgreSQL su Ubuntu 20.04 LTS

Come installare PostgreSQL su Ubuntu 22.04