GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Database di rilascio di PostgreSQL con esempi

Introduzione

PostgreSQL offre due metodi da riga di comando per eliminare un database:utilizzando DROP DATABASE istruzione o un'utilità della shell.

La rimozione dei database inutilizzati è una buona pratica e aiuta a mantenere pulito lo spazio di lavoro. Tuttavia, tieni presente che l'eliminazione di un database PostgreSQL esistente rimuove tutte le voci di catalogo e i dati per quel database.

Continua a leggere per scoprire come eliminare un database in PostgreSQL.

Prerequisiti

  • PostgreSQL 10 o superiore installato e configurato (segui la nostra guida per Ubuntu o Windows; se già installato, controlla la versione di PostgreSQL sul sistema).
  • Accesso al terminale con privilegi sudo.

Dichiarazione DROP DATABASE

Importante :SOLO il proprietario del database può eliminare un database.

Il primo metodo per rimuovere un database PostgreSQL è utilizzare la seguente istruzione SQL:

DROP DATABASE <database name>;

Il comando rimuove la directory contenente le informazioni sul database e le voci del catalogo. Solo il proprietario del database può eseguire il DROP DATABASE comando. Se qualcuno sta attualmente utilizzando il database, il comando non viene eseguito.

Per vedere come DROP DATABASE funziona, procedi come segue:

1. Apri il terminale (CTRL +ALT +T ).

2. Connettiti a PostgreSQL:

sudo -i -u postgres psql

3. Crea un database per l'esempio:

CREATE DATABASE example;

Il terminale stampa l'istruzione eseguita.

4. Elenca tutti i database con:

\l

Il database del passaggio precedente viene visualizzato nell'elenco.

5. Rilascia il database con:

DROP DATABASE example;

L'output mostra l'istruzione eseguita.

6. Elenca di nuovo tutti i database:

\l

Il database di esempio non compare più nell'elenco.

SE Esiste

Il IF EXISTS l'opzione è aperta per tutte le versioni in cui DROP DATABASE è disponibile. La sintassi completa del comando con IF EXISTS l'opzione è la seguente:

DROP DATABASE IF EXISTS <database name>;

L'opzione controlla se esiste un database prima di eliminarlo. Se esiste un database, il comando elimina il database. Tuttavia, se non esiste un database, il comando stampa un messaggio di avviso informativo.

Per testare il funzionamento del comando, procedi nel seguente modo:

1. Crea un database di esempio:

CREATE DATABASE example;

2. Eliminare il database utilizzando il IF EXISTS opzione:

DROP DATABASE IF EXISTS example;

Il risultato è identico all'utilizzo di DROP DATABASE se il database esiste.

3. Il database non è più disponibile. Riesegui il comando per vedere l'output:

DROP DATABASE IF EXISTS example;

Viene stampato un messaggio di avviso che informa che il database non esiste.

4. Per vedere la differenza tra l'utilizzo di IF EXISTS e omettendo l'opzione, esegui il seguente comando:

DROP DATABASE example;

Utilizzando DROP DATABASE senza il IF EXISTS opzione su un database inesistente genera un messaggio di errore.

CON (FORZA)

Il WITH (FORCE) l'opzione è disponibile in PostgreSQL versione 13 e successive.

Il DROP DATABASE il metodo non rimuoverà il database se è in uso. Se il database è in uso, il terminale stampa un errore che indica che una sessione del database è aperta.

Aggiungi il WITH (FORCE) opzione per chiudere forzatamente la sessione ed eliminare il database:

DROP DATABASE <database name> WITH (FORCE);

Se possibile, Postgres chiude la sessione dell'utente ed elimina forzatamente il database.

L'utilità dropdb

L'utilità della shell dropdb è un wrapper per il DROP DATABASE comando. In effetti, i due metodi sono identici. Tuttavia, dropdb offre opzioni aggiuntive inclusa la rimozione dei database da remoto.

La sintassi di base è:

dropdb <connection parameters> <options> <database name>

Opzioni

La tabella seguente mostra tutte le opzioni possibili quando si utilizza l'utilità dropdb.

Opzione Digita Descrizione
-e
--echo
Opzione Stampa i comandi che dropdb invia al server.
-f
--force
Opzione Tenta di terminare tutte le connessioni correnti prima di eliminare il database.
-i
--interactive
Opzione Richiede la verifica prima di eseguire l'eliminazione del database.
-V
--version
Opzione La console stampa la versione dell'utilità.
--if-exists Opzione Stampa un avviso invece di un errore se il database non esiste.
-?
--help
Opzione Mostra il menu di aiuto.
-h <host>
--host=<host>
Parametro di connessione Specifica il nome host della macchina su cui è in esecuzione il server.
-p <port>
--port=<port>
Parametro di connessione Specifica la porta TCP su cui è in ascolto il server.
-U <username>
--username  <username>
Parametro di connessione Connetti come utente specificato.
-w
--no-password
Parametro di connessione Non inviare mai la richiesta della password. Utile per lavori batch e script quando nessun utente è presente.
-W
--password
Parametro di connessione Forza richiesta password. Senza l'opzione, il server perde il tentativo di connessione se è necessaria una password.
--maintenance-db=<database name> Parametro di connessione L'opzione specifica la connessione del nome del database.

Ad esempio, prova il comando seguente per vedere come funziona dropdb con -i e -e opzioni:

dropdb -i -e example

Il programma chiede conferma prima dell'eliminazione a causa del -i tag.

Premi y per confermare. Il programma stampa i comandi generati sul server. Poiché il database non esiste, il programma genera un errore ed esce.


Ubuntu
  1. Comando sorgente Linux con esempi

  2. Comando wc Linux con esempi

  3. Comando Nohup con esempi

  4. Comando JQ in Linux con esempi

  5. Server database PostgreSQL

Wall Command in Linux con esempi

Ordina il comando in Linux con esempi

Comando Usermod con esempi

Comando IP Linux con esempi

w Comando spiegato con esempi in Linux

Comando della cronologia con esempi