PostgreSQL - Base de datos DROP
En este capítulo, discutiremos cómo eliminar la base de datos en PostgreSQL. Hay dos opciones para eliminar una base de datos:
- Usando DROP DATABASE, un comando SQL.
- Usando dropdb un ejecutable de línea de comandos.
Tenga cuidado antes de usar esta operación porque eliminar una base de datos existente resultaría en la pérdida de toda la información almacenada en la base de datos.
Usando DROP DATABASE
Este comando elimina una base de datos. Elimina las entradas del catálogo de la base de datos y elimina el directorio que contiene los datos. Solo puede ser ejecutado por el propietario de la base de datos. Este comando no se puede ejecutar mientras usted o cualquier otra persona esté conectado a la base de datos de destino (conéctese a postgres o cualquier otra base de datos para emitir este comando).
Sintaxis
La sintaxis de DROP DATABASE se proporciona a continuación:
DROP DATABASE [ IF EXISTS ] name
Parámetros
La tabla enumera los parámetros con sus descripciones.
S. No. | Descripción de parámetros |
---|---|
1 | IF EXISTS No arroje un error si la base de datos no existe. En este caso, se emite un aviso. |
2 | name El nombre de la base de datos que se eliminará. |
No podemos eliminar una base de datos que tenga conexiones abiertas, incluida nuestra propia conexión desde psql o pgAdmin III . Debemos cambiar a otra base de datos o plantilla1 si queremos eliminar la base de datos a la que estamos conectados actualmente. Por lo tanto, podría ser más conveniente usar el programa dropdb en su lugar, que es un envoltorio de este comando.
Ejemplo
El siguiente es un ejemplo simple, que eliminará testdb desde su esquema de PostgreSQL -
postgres=# DROP DATABASE testdb;
postgres-#
Usando el comando dropdb
Ejecutable de línea de comando PostgresSQL dropdbes un contenedor de línea de comandos alrededor del comando SQL DROP DATABASE . No existe una diferencia efectiva entre eliminar bases de datos a través de esta utilidad y a través de otros métodos para acceder al servidor. dropdb destruye una base de datos PostgreSQL existente. El usuario que ejecuta este comando debe ser un superusuario de la base de datos o el propietario de la base de datos.
Sintaxis
La sintaxis de dropdb es la que se muestra a continuación:
dropdb [option...] dbname
Parámetros
La siguiente tabla enumera los parámetros con sus descripciones
S. No. | Descripción de parámetros |
---|---|
1 | dbname El nombre de una base de datos que se eliminará. |
2 | option argumentos de la línea de comandos, que dropdb acepta. |
Opciones
La siguiente tabla enumera los argumentos de la línea de comandos que dropdb acepta:
S. No. | Opción y descripción |
---|---|
1 | -e Muestra los comandos que se envían al servidor. |
2 | -i Emite un mensaje de verificación antes de hacer algo destructivo. |
3 | -V Imprima la versión dropdb y salga. |
4 | --if-exists No arroje un error si la base de datos no existe. En este caso, se emite un aviso. |
5 | --help Muestre ayuda sobre los argumentos de la línea de comandos de dropdb y salga. |
6 | -h host Especifica el nombre de host de la máquina en la que se ejecuta el servidor. |
7 | -p port Especifica el puerto TCP o la extensión del archivo de socket del dominio UNIX local en el que el servidor está escuchando conexiones. |
8 | -U username Nombre de usuario para conectarse como. |
9 | -w Nunca emita una solicitud de contraseña. |
10 | -W Forzar dropdb para solicitar una contraseña antes de conectarse a una base de datos. |
11 | --maintenance-db=dbname Especifica el nombre de la base de datos a la que conectarse para descartar la base de datos de destino. |
Ejemplo
El siguiente ejemplo demuestra cómo eliminar una base de datos del símbolo del sistema del sistema operativo:
dropdb -h localhost -p 5432 -U postgress testdb
Password for user postgress: ****
El comando anterior elimina la base de datos testdb. Aquí, he usado elpostgres (que se encuentra en pg_roles de template1) nombre de usuario para eliminar la base de datos.