PostgreSQL è un sistema di gestione di database, simile a MySQL per molti aspetti ma con alcune differenze fondamentali. Come MySQL, è comunemente ospitato su Linux. In questa guida, mostreremo come eseguire un server PostgreSQL su Ubuntu 22.04 Jammy Jellyfish, oltre a installare la versione client nel caso in cui sia necessario collegarsi a un database PostgreSQL esterno.
In questo tutorial imparerai:
- Come installare il client PostgreSQL
- Come connettersi a un server PostgreSQL
- Come installare e configurare PostgreSQL Server
Categoria | Requisiti, convenzioni o versione del software utilizzata |
---|---|
Sistema | Ubuntu 22.04 Jammy Medusa |
Software | Server e client PostgreSQL |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando. |
Convenzioni | # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato |
Installa il client PostgreSQL
Il client PostgreSQL può essere utilizzato per connettersi a un database PostgreSQL esterno. Utilizza questa opzione se hai già un server di database attivo e funzionante, ma devi poter accedere in remoto al database da uno o più sistemi client.
- Per iniziare, installa
postgresql-client
pacchetto aprendo un terminale a riga di comando e inserendo i seguenti dueapt
comandi:$ sudo apt update $ sudo apt install postgresql-client
- Quando l'installazione del client PostgreSQL è completa, puoi usare il
psql
comando per connettersi a un server PostgreSQL remoto. Dovrai specificare il nome host o l'indirizzo IP del server remoto (mostrato comepostgre-server
nell'esempio seguente) e il nome utente (postgre-user
sotto) ti stai autenticando con:$ psql -h postgre-server -U postgre-user psql (14.2 (Ubuntu 14.2-1)) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help.
Questo è tutto per la versione client. Nella prossima sezione mostreremo come configurare un server PostgreSQL, che sarà in grado di accettare le connessioni dei client in entrata.
Installa PostgreSQL Server
- Per iniziare a ospitare il tuo database PostgreSQL, installa
postgresql
pacchetto su Ubuntu 22.04 con il seguente comando:$ sudo apt update $ sudo apt install postgresql
- Una volta terminata l'installazione di PostgreSQL Server, dovresti essere in grado di vederlo in attesa di connessioni in entrata sulla porta
5432
. Questo è un buon modo per confermare che sia attivo e funzionante come previsto.$ ss -nlt
- Per impostazione predefinita, PostgreSQL Server si avvierà automaticamente ogni volta che si avvia il sistema. Se desideri modificare questo comportamento, puoi sempre modificarlo con questo comando:
$ sudo systemctl disable postgresql
Per riattivarlo, sostituisci semplicementedisable
conenable
. - PostgreSQL Server è in ascolto solo sull'interfaccia di loopback locale
127.0.0.1
per impostazione predefinita. Se prevedi di collegare uno o più client remoti al tuo server di database, dovrai configurare PostgreSQL per l'ascolto su un'interfaccia di rete diversa. Per apportare questa modifica, apri il file di configurazione di PostgreSQL utilizzando nano o il tuo editor di testo preferito:$ sudo nano /etc/postgresql/14/main/postgresql.conf
- In questo file, aggiungi la seguente riga da qualche parte nella sezione "CONNESSIONI E AUTENTICAZIONE". Questo indicherà a PostgreSQL di rimanere in ascolto su tutte le interfacce di rete per le connessioni in entrata.
listen_addresses = '*'
- Salva le modifiche ed esci dal file di configurazione. Quindi, riavvia PostgreSQL Server per rendere effettive le modifiche.
$ sudo systemctl restart postgresql
- Ora dovresti essere in grado di vedere che PostgreSQL è in ascolto sul socket
0.0.0.0:5432
. Puoi confermarlo eseguendoss
comando di nuovo:$ ss -nlt
- In seguito, dovresti aggiungere la seguente riga al tuo
/etc/postgresql/14/main/pg_hba.conf
file di configurazione, che consentirà le connessioni client in entrata a tutti i database e gli utenti. Ilmd5
opzione specifica che gli utenti devono autenticarsi con una password.
host all all 0.0.0.0/0 md5
Per aggiungere questa riga al tuo file con un solo comando, esegui semplicemente:
$ sudo bash -c "echo host all all 0.0.0.0/0 md5 >> /etc/postgresql/14/main/pg_hba.conf"
- Infine, se hai il firewall UFW abilitato, puoi aprire la porta di ascolto di PostgreSQL Server
5432
a qualsiasi traffico TCP in entrata eseguendo il comando seguente:$ sudo ufw allow from any to any port 5432 proto tcp Rule added Rule added (v6)
Pensieri conclusivi
In questo tutorial, abbiamo imparato come ospitare un server PostgreSQL su Ubuntu 22.04 Jammy Jellyfish Linux. Abbiamo anche visto come eseguire alcune configurazioni iniziali in modo che il nostro database sia in grado di accettare connessioni in entrata da qualsiasi fonte e qualsiasi utente. Oltre a questo, abbiamo anche visto come utilizzare il pacchetto PostgreSQL Client per connettersi a un server PostgreSQL remoto.