PostgreSQL (Postgres in breve) è un sistema di database di documenti relazionali 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 per l'impostazione di ambienti a livello aziendale e tolleranti ai guasti, garantendo al contempo un'elevata integrità dei dati. Postgres è anche altamente estensibile con funzionalità come gli indici e le 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 Ubuntu 18.04 server (funziona anche su versioni precedenti di Ubuntu) e impara alcuni modi di base per usarlo.
Per prima cosa, 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 postgres è stato installato, il servizio di database si è avviato automaticamente ed è possibile confermare digitando il seguente comando.
$ sudo systemctl status postgresql.service.
Nel postgres, l'autenticazione del client è controllata dal /etc/postgresql/10/main/pg_hba.conf file di configurazione. Il metodo di autenticazione predefinito è "pari" per l'amministratore del database, il che significa che 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 di seguito immagine dello schermo).
Durante il processo di installazione, un account utente di sistema chiamato postgres è stato creato senza password, questo è anche il nome utente predefinito dell'amministratore del database.
$ sudo vim /etc/postgresql/10/main/pg_hba.conf.
Inoltre, sotto postgres la gestione dei permessi di accesso al database viene eseguita tramite ruoli. Un ruolo può essere considerato 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 di autenticazione 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 a un ruolo a un altro ruolo.
Per configurare altri ruoli in modo che utilizzino password crittografate per gestire i database loro assegnati, a parte il ruolo postgres predefinito, è necessario modificare la riga in.
Quindi riavviare il postgresql servizio per applicare le modifiche recenti.
$ sudo systemctl riavvia postgresql.
Una volta che tutto è stato configurato, puoi accedere all'account di sistema postgres con il seguente comando, dove il -io
bandiera dice sudo per eseguire la shell specificata dalla voce del database delle password dell'utente di destinazione come shell di accesso.
$ sudo -i -u postgres $ psql #per avviare il programma shell postgres postgres=#
Per accedere direttamente alla shell di postgres, senza prima accedere all'account utente di postgres, eseguire il comando seguente.
$ sudo -i -u postgres psql.
Puoi uscire/uscire da postgres digitando il seguente comando.
postgres=# \q.
Crea un nuovo ruolo utente utilizzando il comando seguente.
postgres=# CREA RUOLO tecmint;
Per creare un ruolo con a ACCEDERE attributo, utilizzare il seguente comando (i ruoli con l'attributo LOGIN possono essere considerati come utenti di database).
postgres=#CREA RUOLO tecmint LOGIN; O. postgres=#CREATE nome UTENTE; #assume la funzione di accesso per impostazione predefinita.
Un ruolo può essere creato anche con a parola d'ordine, questo è utile se hai configurato il metodo di autenticazione client per chiedere agli utenti di fornire una password crittografata durante la connessione al database.
postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'
Per elencare i ruoli utente esistenti, utilizzare uno di questi comandi.
postgres=# \du #mostra gli utenti effettivi. O. postgres=# SELECT nomeroll FROM pg_roles;
Per eliminare qualsiasi ruolo utente esistente, utilizzare il pulsante RUOLO DI CADUTA comando come mostrato.
postgres=# DROP ROLE tecmint;
Dopo aver creato un ruolo con un nome particolare (ad esempio tecnica utente), è possibile creare un database (con lo stesso nome del ruolo) che sarà gestito da quel ruolo come mostrato.
postgres=# CREA DATABASE tecmint;
Ora per gestire il database tecnica, accedi a postgres guscio come il tecnica ruolo, fornire la password come segue.
$ sudo -i -u tecmint psql.
Creare tabelle è così facile, creeremo una tabella di test chiamata autori, che memorizza informazioni su TecMint.com autori, come mostrato.
tecmint=>CREATE TABLE autori ( codice char (5) NOT NULL, nome varchar (40) NOT NULL, città varchar (40) NOT NULL join_on data NOT NULL, PRIMARY KEY (codice) );
Dopo aver creato una tabella, prova a popolarla con alcuni dati, come segue.
tecmint=> INSERT INTO autori VALUES(1,'Ravi Saive','Mumbai','2012-08-15');
Per visualizzare i dati memorizzati in una tabella, è possibile eseguire a SELEZIONARE comando.
tecmint => SELECT * FROM autori;
Puoi elencare tutte le tabelle nel database corrente con il seguente comando.
tecmin=>\dt.
Per eliminare una tabella nel database corrente, utilizzare il pulsante FAR CADERE comando.
tecmint => DROP TABLE autori;
Per elencare tutti i database, utilizzare uno dei seguenti comandi.
tecmint=>SELECT datname FROM pg_database; O. tecmint=>\list #mostra una descrizione dettagliata OPPURE. tecmin=>\l.
Se vuoi eliminare un database, usa il pulsante FAR CADERE comando, per es.
tecmint=>DROP DATABASE tecmint;
Puoi anche passare facilmente da un database all'altro utilizzando il seguente comando.
tecmint =>\connect nome_database.
Per ulteriori informazioni, fare riferimento a Documentazione PostgreSQL 10.4.
Questo è tutto per ora! 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.