GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Base de datos de caída de PostgreSQL con ejemplos

Introducción

PostgreSQL ofrece dos métodos de línea de comandos para eliminar una base de datos:mediante DROP DATABASE instrucción o una utilidad de shell.

La eliminación de bases de datos no utilizadas es una buena práctica y ayuda a mantener limpio el espacio de trabajo. Sin embargo, tenga en cuenta que al eliminar una base de datos PostgreSQL existente, se eliminan todas las entradas del catálogo y los datos de esa base de datos.

Continúe leyendo para aprender a colocar una base de datos en PostgreSQL.

Requisitos previos

  • PostgreSQL 10 o superior instalado y configurado (siga nuestra guía para Ubuntu o Windows; si ya está instalado, verifique la versión de PostgreSQL en el sistema).
  • Acceso a la terminal con privilegios sudo.

Declaración DROP DATABASE

Importante :SÓLO el propietario de la base de datos puede eliminar una base de datos.

El primer método para eliminar una base de datos PostgreSQL es usar la siguiente instrucción SQL:

DROP DATABASE <database name>;

El comando elimina el directorio que contiene la información de la base de datos y las entradas del catálogo. Solo el propietario de la base de datos puede ejecutar DROP DATABASE dominio. Si alguien está utilizando actualmente la base de datos, el comando no se ejecuta.

Para ver cómo DROP DATABASE funciona, haga lo siguiente:

1. Abra la terminal (CTRL +ALT +T ).

2. Conéctese a PostgreSQL:

sudo -i -u postgres psql

3. Cree una base de datos para el ejemplo:

CREATE DATABASE example;

El terminal imprime la sentencia ejecutada.

4. Enumere todas las bases de datos con:

\l

La base de datos del paso anterior aparece en la lista.

5. Suelte la base de datos con:

DROP DATABASE example;

La salida muestra la sentencia ejecutada.

6. Vuelva a enumerar todas las bases de datos:

\l

La base de datos de ejemplo ya no aparece en la lista.

SI existe

El IF EXISTS la opción está abierta para todas las versiones donde DROP DATABASE está disponible. La sintaxis completa del comando con IF EXISTS opción es la siguiente:

DROP DATABASE IF EXISTS <database name>;

La opción primero comprueba si existe una base de datos antes de eliminarla. Si existe una base de datos, el comando descarta la base de datos. Sin embargo, si no existe una base de datos, el comando imprime un mensaje de aviso informativo.

Para probar cómo funciona el comando, siga los pasos a continuación:

1. Cree una base de datos de ejemplo:

CREATE DATABASE example;

2. Suelte la base de datos utilizando IF EXISTS opción:

DROP DATABASE IF EXISTS example;

El resultado es idéntico al uso de DROP DATABASE si la base de datos existe.

3. La base de datos ya no está disponible. Vuelva a ejecutar el comando para ver el resultado:

DROP DATABASE IF EXISTS example;

Se imprime un mensaje de aviso que indica que la base de datos no existe.

4. Para ver la diferencia entre usar IF EXISTS y omitiendo la opción, ejecute el siguiente comando:

DROP DATABASE example;

Usando DROP DATABASE sin IF EXISTS opción en una base de datos inexistente arroja un mensaje de error.

CON (FUERZA)

El WITH (FORCE) La opción está disponible en PostgreSQL versión 13 y superior.

El DROP DATABASE El método no eliminará la base de datos si está en uso. Si la base de datos está en uso, el terminal muestra un error de que hay una sesión de base de datos abierta.

Añade el WITH (FORCE) opción para cerrar la sesión a la fuerza y ​​eliminar la base de datos:

DROP DATABASE <database name> WITH (FORCE);

Si es posible, Postgres cierra la sesión del usuario y elimina la base de datos a la fuerza.

La utilidad dropdb

La utilidad shell dropdb es un contenedor para DROP DATABASE dominio. Efectivamente, los dos métodos son idénticos. Sin embargo, dropdb ofrece opciones adicionales, incluida la eliminación de bases de datos de forma remota.

La sintaxis básica es:

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

Opciones

La siguiente tabla muestra todas las opciones posibles al usar la utilidad dropdb.

Por ejemplo, pruebe el siguiente comando para ver cómo funciona dropdb con -i y -e opciones:

dropdb -i -e example

El programa pide confirmación antes de la eliminación debido al -i etiqueta.

Presiona y para confirmar. El programa imprime los comandos generados al servidor. Debido a que la base de datos no existe, el programa arroja un error y sale.


Ubuntu
  1. Comando fuente de Linux con ejemplos

  2. Comando wc Linux con ejemplos

  3. Comando Nohup con ejemplos

  4. Comando JQ en Linux con ejemplos

  5. Servidor de base de datos PostgreSQL

Comando de pared en Linux con ejemplos

Ordenar comando en Linux con ejemplos

Comando Usermod con ejemplos

Comando IP de Linux con ejemplos

w Comando explicado con ejemplos en Linux

Comando de historial con ejemplos

    Opción Tipo Descripción
    -e
    --echo
    Opción Imprime los comandos que dropdb envía al servidor.
    -f
    --force
    Opción Intenta finalizar todas las conexiones actuales antes de descartar la base de datos.
    -i
    --interactive
    Opción Pide verificación antes de ejecutar la eliminación de la base de datos.
    -V
    --version
    Opción La consola imprime la versión de la utilidad.
    --if-exists Opción Imprime un aviso en lugar de un error si la base de datos no existe.
    -?
    --help
    Opción Mostrar el menú de ayuda.
    -h <host>
    --host=<host>
    Parámetro de conexión Especifica el nombre de host de la máquina donde se ejecuta el servidor.
    -p <port>
    --port=<port>
    Parámetro de conexión Especifica el puerto TCP donde escucha el servidor.
    -U <username>
    --username  <username>
    Parámetro de conexión Conéctese como el usuario especificado.
    -w
    --no-password
    Parámetro de conexión Nunca emita la solicitud de contraseña. Útil para trabajos por lotes y scripts cuando no hay ningún usuario presente.
    -W
    --password
    Parámetro de conexión Forzar solicitud de contraseña. Sin la opción, el servidor pierde el intento de conexión si se necesita una contraseña.
    --maintenance-db=<database name> Parámetro de conexión La opción especifica la conexión del nombre de la base de datos.