PostgreSQL - Banco de dados DROP

Neste capítulo, discutiremos como excluir o banco de dados no PostgreSQL. Existem duas opções para excluir um banco de dados -

  • Usando DROP DATABASE, um comando SQL.
  • Usando dropdb um executável de linha de comando.
Tenha cuidado antes de usar esta operação porque a exclusão de um banco de dados existente resultaria na perda de informações completas armazenadas no banco de dados.

Usando DROP DATABASE

Este comando elimina um banco de dados. Ele remove as entradas do catálogo para o banco de dados e exclui o diretório que contém os dados. Ele só pode ser executado pelo proprietário do banco de dados. Este comando não pode ser executado enquanto você ou qualquer outra pessoa estiver conectado ao banco de dados de destino (conecte-se ao postgres ou qualquer outro banco de dados para emitir este comando).

Sintaxe

A sintaxe para DROP DATABASE é fornecida abaixo -

DROP DATABASE [ IF EXISTS ] name

Parâmetros

A tabela lista os parâmetros com suas descrições.

S. No. Parâmetro e Descrição
1

IF EXISTS

Não lance um erro se o banco de dados não existir. Um aviso é emitido neste caso.

2

name

O nome do banco de dados a ser removido.

Não podemos descartar um banco de dados que tenha conexões abertas, incluindo nossa própria conexão do psql ou pgAdmin III . Devemos mudar para outro banco de dados ou template1 se quisermos deletar o banco de dados ao qual estamos conectados no momento. Portanto, pode ser mais conveniente usar o programa dropdb , que é um wrapper para esse comando.

Exemplo

A seguir está um exemplo simples, que excluirá testdb do seu esquema PostgreSQL -

postgres=# DROP DATABASE testdb;
postgres-#

Usando o comando dropdb

Executável de linha de comando PostgresSQL dropdbé um wrapper de linha de comando em torno do comando SQL DROP DATABASE . Não há diferença efetiva entre eliminar bancos de dados por meio deste utilitário e por meio de outros métodos de acesso ao servidor. dropdb destrói um banco de dados PostgreSQL existente. O usuário que executa este comando deve ser um superusuário do banco de dados ou o proprietário do banco de dados.

Sintaxe

A sintaxe para dropdb é mostrada abaixo -

dropdb  [option...] dbname

Parâmetros

A tabela a seguir lista os parâmetros com suas descrições

S. No. Parâmetro e Descrição
1

dbname

O nome de um banco de dados a ser excluído.

2

option

argumentos de linha de comando, que o dropdb aceita.

Opções

A tabela a seguir lista os argumentos de linha de comando que o dropdb aceita -

S. No. Opção e descrição
1

-e

Mostra os comandos sendo enviados ao servidor.

2

-i

Emite um prompt de verificação antes de fazer algo destrutivo.

3

-V

Imprima a versão do dropdb e saia.

4

--if-exists

Não lance um erro se o banco de dados não existir. Um aviso é emitido neste caso.

5

--help

Mostre ajuda sobre os argumentos da linha de comando dropdb e saia.

6

-h host

Especifica o nome do host da máquina na qual o servidor está sendo executado.

7

-p port

Especifica a porta TCP ou a extensão do arquivo de soquete de domínio UNIX local no qual o servidor está atendendo às conexões.

8

-U username

Nome de usuário com o qual se conectar.

9

-w

Nunca emita um prompt de senha.

10

-W

Força o dropdb a solicitar uma senha antes de se conectar a um banco de dados.

11

--maintenance-db=dbname

Especifica o nome do banco de dados ao qual se conectar para eliminar o banco de dados de destino.

Exemplo

O exemplo a seguir demonstra a exclusão de um banco de dados do prompt de comando do sistema operacional -

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

O comando acima elimina o banco de dados testdb. Aqui, eu usei opostgres (encontrado em pg_roles de template1) nome de usuário para eliminar o banco de dados.