Ricerca nel sito web

Come installare e utilizzare PostgreSQL su Ubuntu 18.04


PostgreSQL (Postgres in breve) è un sistema di database relazionale di documenti open source, potente, avanzato, ad alte prestazioni e stabile. Utilizza e migliora il linguaggio SQL abbinato a un gran numero di funzionalità per l'archiviazione e la gestione sicura dei dati.

È efficiente, affidabile e scalabile per la gestione di volumi di dati grandi e complessi e la creazione di ambienti di livello aziendale e con tolleranza agli errori, garantendo al tempo stesso un'elevata integrità dei dati. Postgres è anche altamente estensibile con funzionalità come gli indici forniti con API in modo che tu possa sviluppare le tue soluzioni per risolvere le tue sfide di archiviazione dei dati.

In questo articolo spiegheremo come installare PostgreSQL su un server Ubuntu 18.04 (funziona anche su versioni precedenti di Ubuntu) e impareremo alcuni modi di base per utilizzarlo.

Come installare PostgreSQL su Ubuntu

Innanzitutto, crea un file /etc/apt/sources.list.d/pgdg.list che memorizza la configurazione del repository, quindi importa la chiave del repository nel tuo sistema, aggiorna l'elenco dei pacchetti di sistema e installa il pacchetto Postgres utilizzando i seguenti comandi.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql-10 pgadmin4 

Una volta installato postgres, il servizio di database si è avviato automaticamente e puoi confermare digitando il seguente comando.

sudo systemctl status postgresql.service

Come utilizzare ruoli e database PostgreSQL

In postgres, l'autenticazione del client è controllata dal file di configurazione /etc/postgresql/10/main/pg_hba.conf. Il metodo di autenticazione predefinito è "peer " per l'amministratore del database, ovvero ottiene il nome utente del sistema operativo del client dal sistema operativo e controlla se corrisponde al nome utente del database richiesto per consentire l'accesso, per le connessioni locali (come mostrato nello screenshot seguente).

Durante il processo di installazione, è stato creato un account utente di sistema chiamato postgres senza password, che è anche il nome utente predefinito dell'amministratore del database.

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

Inoltre, in postgres la gestione dei permessi di accesso al database viene eseguita tramite ruoli. Un ruolo può essere considerato come un utente del database o un gruppo di utenti del database, a seconda di come è impostato il ruolo.

Anche il ruolo predefinito è postgres. È importante sottolineare che i ruoli del database sono concettualmente completamente scollegati dagli utenti del sistema operativo, ma in pratica potrebbero non essere separati (ad esempio quando si tratta dell'autenticazione del client).

È importante sottolineare che i ruoli possono possedere oggetti di database e possono assegnare privilegi su tali oggetti ad altri ruoli per controllare chi ha accesso a quali oggetti. Inoltre è possibile concedere l'appartenenza ad un ruolo ad un altro ruolo.

Per configurare altri ruoli in modo che utilizzino password crittografate per gestire i database loro assegnati, oltre al ruolo postgres predefinito, è necessario modificare la riga in.

Then restart the postgresql service to apply the recent changes.
sudo systemctl restart postgresql

Come utilizzare PostgreSQL su Ubuntu

Una volta configurato tutto, puoi accedere all'account di sistema postgres con il seguente comando, dove il flag -i dice a sudo di eseguire la shell specificata dalla voce del database delle password dell'utente di destinazione come una shell di accesso.

sudo -i -u postgres 
psql		#to launch the postgres shell program  
postgres=#

Per accedere direttamente alla shell postgres, senza prima accedere all'account utente postgres, esegui il comando seguente.

sudo -i -u postgres psql

Puoi uscire/uscire da postgres digitando il seguente comando.

postgres=# \q

Creare ruoli del database PostgreSQL

Crea un nuovo ruolo utente utilizzando il comando seguente.

postgres=# CREATE ROLE tecmint;

Per creare un ruolo con l'attributo LOGIN, utilizzare il seguente comando (i ruoli con l'attributo LOGIN possono essere considerati alla stregua degli utenti del database).

postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name;	#assumes login function by default

È anche possibile creare un ruolo con una password, questo è utile se hai configurato il metodo di autenticazione del client per chiedere agli utenti di fornire una password crittografata quando si connettono al database.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Elenca i ruoli del database PostgreSQL esistenti

Per elencare i ruoli utente esistenti, utilizzare uno di questi comandi.

postgres=# \du 				#shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;

Rilascia un ruolo del database PostgreSQL

Per eliminare qualsiasi ruolo utente esistente, utilizza il comando DROP ROLE come mostrato.

postgres=# DROP ROLE tecmint;

Creare un database PostgreSQL

Una volta creato un ruolo con un nome particolare (ad esempio utente tecmint), puoi creare un database (con lo stesso nome del ruolo) che verrà gestito da quel ruolo come mostrato.

postgres=# CREATE DATABASE tecmint;

Ora per gestire il database tecmint, accedi alla shell postgres come ruolo tecmint, fornisci la tua password come segue.

sudo -i -u tecmint psql

Crea una tabella PostgreSQL

Creare tabelle è così semplice che creeremo una tabella di prova chiamata autori, che memorizza informazioni sugli autori di TecMint.com, come mostrato.

tecmint=>CREATE TABLE authors (
    code      char(5) NOT NULL,
    name    varchar(40) NOT NULL,
    city varchar(40) NOT NULL
    joined_on date NOT NULL,	
    PRIMARY KEY (code)
);

Dopo aver creato una tabella, prova a popolarla con alcuni dati, come segue.

tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');

Per visualizzare i dati memorizzati in una tabella, puoi eseguire un comando SELECT.

tecmint=> SELECT * FROM authors;

Elenca le tabelle del database PostgreSQL

Puoi elencare tutte le tabelle nel database corrente con il seguente comando.

tecmint=>\dt

Elimina/rilascia una tabella PostgreSQL

Per eliminare una tabella nel database corrente, utilizzare il comando DROP.

tecmint=> DROP TABLE authors;

Elenca tutti i database PostgreSQL

Per elencare tutti i database, utilizzare uno dei seguenti comandi.

tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list	#shows a detailed description 
OR
tecmint=>\l

Elimina/rilascia un database PostgreSQL

Se desideri eliminare un database, utilizza ad esempio il comando DROP.

tecmint=>DROP DATABASE tecmint;

Passa a un altro database PostgreSQL

Puoi anche passare facilmente da un database all'altro utilizzando il seguente comando.

tecmint=>\connect database_name

Per ulteriori informazioni, fare riferimento alla documentazione di PostgreSQL 10.4.

Per ora è tutto! In questo articolo, abbiamo spiegato come installare e utilizzare il sistema di gestione del database PostgreSQL su Ubuntu 18.04. Puoi inviarci le tue domande o pensieri nei commenti.