Postgres, noto anche come PostgreSQL, è una pietra miliare nella gestione dei database relazionali a oggetti. Grazie a decenni di lavoro nel suo sviluppo, Postgres è un database affidabile e flessibile che offre prestazioni elevate.
Questa guida pratica spiega come creare database e tabelle ed eliminare database in Postgres. Inoltre, mostra come eseguire le stesse operazioni utilizzando uno strumento di gestione di database come Adminer.
Come iniziare con Postgres
Per iniziare, assicuratevi di avere installato Postgres sul sistema. Se non c’è, scaricate il file necessario e seguite le istruzioni di installazione.
Tenete presente che i comandi qui illustrati sono stati dimostrati su macOS, ma funzionano perfettamente su qualsiasi sistema operativo.
Una volta installato Postgres, inserite questo comando nel terminale per verificare che tutto funzioni correttamente:
postgres -V
Questo comando dovrebbe restituire il numero di versione della vostra installazione di Postgres:
Come connettersi al server di database PostgreSQL
Avete installato Postgres sul sistema e siete pronti a creare database. Ma come si accede al database? Qui entra in gioco il terminale interattivo di Postgres, popolarmente chiamato psql. Psql è un frontend di Postgres basato su terminale che permette di inviare query a Postgres e di visualizzarne i risultati.
Durante l’installazione, Postgres crea un superutente predefinito sul sistema operativo (OS) che ha accesso assoluto al database. Potete accedere al terminale psql come superutente predefinito utilizzando questo comando:
psql postgres
Dopo aver eseguito questo comando, dovreste vedere il vostro terminale trasformarsi in postgres=#
, a indicare che siete entrati come superutenti predefinito.
Uno dei maggiori vantaggi dell’utilizzo di psql sono i metacomandi. Questi potenti strumenti permettono di eseguire operazioni di gestione dei database, come la connessione ai database o la visualizzazione delle tabelle, senza conoscere gli esatti comandi SQL.
Per utilizzare un metacomando in psql, iniziate con una barra rovesciata (\
) seguita dal comando. Ecco alcuni esempi:
\c <database-name>
: si connette a un database specifico.\l
: elenca tutti i database presenti sul server.\dt
: mostra tutte le tabelle di un database.
Come creare database Postgres
Quando si lavora con i database, è buona norma seguire il principio del minimo privilegio creando un nuovo utente con permessi specifici. Tuttavia, per semplicità, in questa guida creeremo e gestiremo i database utilizzando il superutente predefinito.
Per prima cosa, eseguite questo metacomando per elencare tutti gli utenti del server Postgres:
\du
Se non avete aggiunto nuovi utenti, dovreste vedere solo il superutente predefinito:
Il superutente predefinito potrebbe apparire come Postgres o come nome utente del sistema operativo, a seconda della configurazione del sistema.
Per impostazione predefinita, il superutente non ha una password. Tuttavia, per poter gestire il database in seguito, impostate una password utilizzando questo comando:
\password <superuser-name>
Inserite la password quando viene richiesta e confermatela. Ora siete pronti per iniziare a creare database sul vostro server Postgres. La sintassi per creare un database è CREATE DATABASE <database-name>
.
Iniziamo creando un database chiamato sales
:
CREATE DATABASE sales;
Dopo la creazione del database, viene visualizzato il seguente messaggio:
Create quindi altri due database, customers
e employees
, con questi comandi:
CREATE DATABASE customers;
CREATE DATABASE employees;
Ora avete creato tre database sul vostro server Postgres locale. Per elencare tutti i database creati, usate questo metacomando:
\l
Questi sono i tre database che avete creato finora! Potete ignorare gli altri database presenti nell’immagine, perché sono quelli forniti di default con l’installazione di Postgres.
A questo punto, potete collegarvi a un database in particolare. Il metacomando per connettersi a qualsiasi database è \c <database-name>
.
Eseguite il comando in basso per connettervi al database sales
:
\c sales
Nel vostro terminale dovrebbe apparire il seguente messaggio:
Una volta connessi a un database, potrete facilmente passare a un altro database del server con lo stesso comando. Quindi, dal database sales
, potete eseguire questo comando per connettervi al database customers
:
\c customers
Creare tabelle
Per iniziare, dovrete creare delle tabelle per popolare il vostro database con i dati. La sintassi per creare una tabella in Postgres segue questa struttura:
CREATE TABLE <table-name> (
<column1-name> <column1-datatype> <column1-constraint>,
<column2-name> <column2-datatype> <column2-constraint>,
<column3-name> <column3-datatype> <column3-constraint>,
…
…
<columnN-name> <columnN-datatype> <columnN-constraint>
);
Iniziate collegandovi al database sales
.
\c sales
Quindi, create la tabella products
con tre colonne che non possono essere nulle: product_id
, product_name
, e quantity_sold
:
CREATE TABLE products(
Product_id INT NOT NULL,
Product_name TEXT NOT NULL,
Quantity_sold INT NOT NULL
);
Se l’operazione è andata a buon fine, dovreste vedere il seguente output:
Utilizzate quindi il metacomando sottostante per verificare che la tabella products
sia stata creata con successo:
\dt
Questo comando elenca tutte le tabelle del vostro database – in questo caso, una sola tabella. Poiché siete connessi al database sales
, dovreste vedere il seguente output:
Successivamente, create due tabelle nel database employees
. La prima tabella elencherà gli stipendi e la seconda gli indirizzi. Per creare queste tabelle, eseguite questi comandi:
\c employees
CREATE TABLE salary(
Employee_id INT NOT NULL,
Employee_name TEXT NOT NULL,
Employee_salary INT NOT NULL
);
CREATE TABLE address(
Employee_id INT NOT NULL,
Employee_country TEXT NOT NULL,
Employee_zipcode INT NOT NULL
);
Infine, confermate la creazione di queste tabelle eseguendo il meta-comando \dt
. Questo è l’output che dovreste vedere:
Come eliminare i database Postgres
Cancellare un database è facile come crearne uno. La sintassi per cancellare un database è DROP DATABASE <database-name>;
.
Non è necessario connettersi a un determinato database per eliminarlo. Ad esempio, se voleste eliminare il database customers
, potreste eseguire questo comando da qualsiasi database a cui siete connessi:
DROP DATABASE customers;
Dovreste vedere questa schermata quando l’eliminazione è avvenuta con successo:
Potete confermare che il database customers
non esiste più elencando i database sul vostro server Postgres locale utilizzando il metacomando \l
.
Gestire le operazioni sui database Postgres con Adminer
A questo punto, abbiamo appreso le basi di Postgres creando database, creando tabelle e cancellando database tramite la riga di comando.
Tuttavia, la riga di comando può essere complessa o noiosa da usare. Ecco dove può essere d’aiuto uno strumento di gestione di database come Adminer. Con Adminer potete eseguire tutte le operazioni di database di cui sopra attraverso un’interfaccia grafica. Sebbene sia possibile utilizzare Adminer in modo indipendente, è anche un componente standard di DevKinsta.
Per gestire il vostro database con Adminer, dovrete scaricare il file PHP di Adminer. Aprite il vostro terminale una volta per avviare il server web integrato che esegue i file PHP e navigate nella posizione in cui avete collocato il file PHP di Adminer:
cd path/to/Adminer php file
Quindi, avviate il server web con il seguente comando:
php -S 127.0.0.1:8000
Siete pronti per utilizzare l’interfaccia utente di Adminer sul vostro browser web. Digitate il seguente indirizzo nel vostro browser: http://localhost:8000/<il-vostro-php-file-Adminer.php>
.
Dovreste vedere l’interfaccia utente (UI) di Adminer nel vostro browser:
Per accedere al vostro server Postgres locale, seguite le istruzioni riportate di seguito mentre compilate i campi di questa pagina:
- Selezionate PostgreSQL nel campo System.
- Il server dovrebbe essere precompilato con localhost.
- Per Username, digitate il nome del superutente, “postgres” o il nome utente del sistema operativo del vostro computer.
- Per la Password, digitate la password impostata per il superutente nella sezione “Crea database”.
- Lasciate vuoto il campo Database.
Se l’autenticazione è andata a buon fine, vedrete l’elenco di tutti i database che avete creato in precedenza, come mostrato di seguito. Se state lavorando con Windows, potreste incontrare un errore che dice: “Nessuna delle estensioni PHP supportate (PgSQL, PDO_PgSQL) è disponibile”. In questo caso, modificate il file php.ini e abilitate queste estensioni.
Per creare un nuovo database, cliccate sul collegamento ipertestuale Crea database:
Date un nome al vostro database customers
e cliccate sul pulsante Save.
Quindi, verificate di aver creato il database customers
cliccando sul collegamento ipertestuale Server, indicato di seguito:
Ora vedrete il database customers
. Cliccate su customers
per collegarvi.
Come potete vedere, non ci sono tabelle in questo database. Cliccate sul collegamento ipertestuale Create table per creare una nuova tabella, chiamata locations
.
Compilate le colonne appropriate in modo che corrispondano all’immagine sottostante e cliccate sul pulsante Save:
Ora dovreste essere in grado di vedere la tabella nel vostro database customers
:
Cliccate di nuovo sul collegamento ipertestuale Server per vedere tutti i vostri database. Spuntate la casella relativa a customers. Spuntando il database customers
si abilita il pulsante di eliminazione sottostante. Cliccate su Drop per eliminare il database. Riceverete una conferma dell’operazione di eliminazione del database:
Riepilogo
In questo articolo, abbiamo visto come creare database, creare tabelle nel database e cancellare database su un server Postgres locale tramite la riga di comando. Inoltre, abbiamo illustrato quanto sia facile eseguire queste operazioni utilizzando uno strumento di gestione di database come Adminer.
Sebbene questi e altri metodi di gestione dei database e delle tabelle da riga di comando siano funzionali, l’interfaccia utente “punta e clicca” di Adminer rende l’esecuzione di queste attività ancora più semplice.
In qualità di sviluppatori WordPress, DevKinsta vi dà accesso ad Adminer e a una serie di altri strumenti per aiutarvi a gestire i vostri database. Per gestire facilmente i vostri database Postgres, date un’occhiata a DevKinsta: è gratis per sempre!
Lascia un commento