androide

Come installare postgresql su Ubuntu 18.04

How to Install and configuration PostgreSQL on Ubuntu Linux

How to Install and configuration PostgreSQL on Ubuntu Linux

Sommario:

Anonim

PostgreSQL o Postgres è un sistema open source di gestione di database relazionali per scopi generici. PostgreSQL ha molte caratteristiche avanzate che consentono di creare applicazioni web complesse.

In questo tutorial, ti mostreremo come installare PostgreSQL su Ubuntu 18.04 ed esploreremo i fondamenti dell'amministrazione di base del database.

Prerequisiti

Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.

Installa PostgreSQL su Ubuntu

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

Per installare PostgreSQL sul tuo server Ubuntu procedi nel seguente modo:

  1. Installazione di PostgreSQL

    Aggiorna l'indice del pacchetto locale e installa il server PostgreSQL insieme al pacchetto contrib PostgreSQL che fornisce diverse funzionalità aggiuntive per il database PostgreSQL:

    sudo apt update sudo apt install postgresql postgresql-contrib

    Verifica PostgreSQL Installazione

    Una volta completata l'installazione, il servizio PostgreSQL si avvierà automaticamente.

    Per verificare l'installazione cercheremo di connettersi al server di database PostgreSQL utilizzando il psql e stampare la versione del server:

    sudo -u postgres psql -c "SELECT version();"

psql è un'utilità della riga di comando interattiva che consente di interagire con il server PostgreSQL.

Ruoli e metodi di autenticazione PostgreSQL

autorizzazioni di accesso database tra PostgreSQL vengono gestiti 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 più comunemente usati sono:

  • Trust - Con questo metodo, il ruolo in grado di connettersi senza password, fino a quando i criteri definiti nel pg_hba.conf sono met.Password - Un ruolo può collegarsi fornendo una password. Le password possono essere memorizzate come scram-sha-256 md5 e password (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 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 PostgreSQL. Questo utente è il superutente per l'istanza PostgreSQL ed è equivalente all'utente root di MySQL.

Per accedere al server PostgreSQL come utente postgres primo luogo è necessario passare a l'utente postgres e poi si può accedere a una PostgreSQL rapido utilizzando l' psql utility:

sudo su - postgres psql

Da qui è possibile interagire con l'istanza PostgreSQL. Per uscire da tipo PostgreSQL shell:

\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.

Creazione di PostgreSQL Ruolo e Database

È possibile creare nuovi ruoli dalla riga di comando utilizzando il comando createuser . 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.

  1. Creare un nuovo ruolo PostgreSQL

    Il seguente comando creerà un nuovo ruolo chiamato john:

    sudo su - postgres -c "createuser john"

    Creare un nuovo database PostgreSQL

    Creare un nuovo database denominato johndb utilizzando il createdb comando:

    sudo su - postgres -c "createdb johndb"

    Concedi privilegi

    Per concedere le autorizzazioni all'utente john sul database che abbiamo creato nel passaggio precedente, connettiti alla shell PostgreSQL:

    sudo -u postgres psql

    ed esegui 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 server PostgreSQL aprire il file di configurazione postgresql.conf e aggiungere listen_addresses = '*' nei CONNECTIONS AND AUTHENTICATION sezione.

sudo vim /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/main/postgresql.conf

#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;

salvare il file e riavviare il servizio PostgreSQL con:

sudo service postgresql restart

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:

/etc/postgresql/10/main/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

Conclusione

Hai imparato come installare e configurare PostgreSQL sul tuo server Ubuntu 18.04.

È possibile consultare la Documentazione di PostgreSQL 10.4 per avere maggiori informazioni su questo argomento.

database postgresql ubuntu