PostgreSQL - Database DROP

In questo capitolo, discuteremo come eliminare il database in PostgreSQL. Ci sono due opzioni per eliminare un database:

  • Utilizzando DROP DATABASE, un comando SQL.
  • Utilizzando dropdb un eseguibile da riga di comando.
Fare attenzione prima di utilizzare questa operazione perché l'eliminazione di un database esistente comporterebbe la perdita delle informazioni complete memorizzate nel database.

Utilizzando DROP DATABASE

Questo comando rilascia un database. Rimuove le voci di catalogo per il database ed elimina la directory contenente i dati. Può essere eseguito solo dal proprietario del database. Questo comando non può essere eseguito mentre tu o qualcun altro è connesso al database di destinazione (connettiti a postgres o qualsiasi altro database per emettere questo comando).

Sintassi

La sintassi per DROP DATABASE è fornita di seguito:

DROP DATABASE [ IF EXISTS ] name

Parametri

La tabella elenca i parametri con le relative descrizioni.

S. No. Parametro e descrizione
1

IF EXISTS

Non generare un errore se il database non esiste. In questo caso viene emesso un avviso.

2

name

Il nome del database da rimuovere.

Non possiamo eliminare un database che ha connessioni aperte, inclusa la nostra connessione da psql o pgAdmin III . Dobbiamo passare a un altro database o template1 se vogliamo eliminare il database a cui siamo attualmente connessi. Pertanto, potrebbe essere più conveniente utilizzare invece il programma dropdb , che è un wrapper attorno a questo comando.

Esempio

Quello che segue è un semplice esempio, che eliminerà testdb dal tuo schema PostgreSQL -

postgres=# DROP DATABASE testdb;
postgres-#

Utilizzando dropdb Command

Eseguibile della riga di comando di PostgresSQL dropdbè un wrapper della riga di comando attorno al comando SQL DROP DATABASE . Non vi è alcuna differenza effettiva tra l'eliminazione dei database tramite questa utility e altri metodi per accedere al server. dropdb distrugge un database PostgreSQL esistente. L'utente che esegue questo comando deve essere un super utente del database o il proprietario del database.

Sintassi

La sintassi per dropdb è come mostrato di seguito:

dropdb  [option...] dbname

Parametri

La tabella seguente elenca i parametri con le relative descrizioni

S. No. Parametro e descrizione
1

dbname

Il nome di un database da eliminare.

2

option

argomenti della riga di comando, che dropdb accetta.

Opzioni

La tabella seguente elenca gli argomenti della riga di comando che dropdb accetta:

S. No. Opzione e descrizione
1

-e

Mostra i comandi inviati al server.

2

-i

Emette una richiesta di verifica prima di eseguire qualsiasi operazione distruttiva.

3

-V

Stampa la versione dropdb ed esci.

4

--if-exists

Non generare un errore se il database non esiste. In questo caso viene emesso un avviso.

5

--help

Mostra la guida sugli argomenti della riga di comando dropdb ed esci.

6

-h host

Specifica il nome host della macchina su cui è in esecuzione il server.

7

-p port

Specifica la porta TCP o l'estensione del file socket del dominio UNIX locale su cui il server è in ascolto per le connessioni.

8

-U username

Nome utente con cui connettersi.

9

-w

Non emettere mai una richiesta di password.

10

-W

Forza dropdb a richiedere una password prima di connettersi a un database.

11

--maintenance-db=dbname

Specifica il nome del database a cui connettersi per eliminare il database di destinazione.

Esempio

L'esempio seguente mostra l'eliminazione di un database dal prompt dei comandi del sistema operativo:

dropdb -h localhost -p 5432 -U postgress testdb
Password for user postgress: ****

Il comando precedente elimina il database testdb. Qui ho usato il filepostgres (trovato sotto pg_roles di template1) nome utente per rilasciare il database.