PostgreSQL Crear base de datos si no existe

PostgreSQL Crear base de datos si no existe
Cada vez que hablamos de PostgreSQL, siempre pensamos en bases de datos porque es un sistema de gestión de bases de datos. Puede crear tantas bases de datos de su elección en su servidor PostgreSQL como desee. Después de crear una base de datos de su elección, puede crear varias tablas dentro de ella para almacenar sus datos, y luego puede realizar diferentes cálculos sobre esos datos. Sin embargo, a veces, queremos ejecutar una consulta en una base de datos existente, pero para eso, la existencia de dicha base de datos es obligatoria.

Lo que queremos decir es que necesitamos un mecanismo para verificar si existe una base de datos en nuestro servidor PostgreSQL o no. Además, hay algunas situaciones en las que queremos que se cree una base de datos una vez que ejecutamos una consulta si aún no existe en nuestro servidor de base de datos. En ese caso, la notación "Crear base de datos si no existe" entra en juego. Esta guía tiene como objetivo presentarle el uso de esta notación con una breve discusión sobre si PostgreSQL respalda esta notación o no. Después de eso, compartiremos con usted una alternativa respaldada por PostgreSQL para esta notación.

¿Podemos usar la notación "Crear base de datos si no existe" en PostgreSQL en Windows 10??

La notación "Crear base de datos si no existe" es compatible con algunos de los lenguajes de programación. Con la ayuda de esta notación, puede verificar si existe una base de datos especificada en su servidor de base de datos o no, y si no existe, entonces esta notación simplemente creará esa base de datos en su servidor. Sin embargo, hablemos específicamente de PostgreSQL. PostgreSQL no admite esta notación, o en otras palabras, puede decir que no podemos usar esta notación directamente en PostgreSQL en Windows 10.

Sin embargo, todavía hay algunas formas que pueden permitirle lograr la misma funcionalidad que puede lograr con esta notación particular. Para explorar más sobre estas soluciones, tendrá que continuar leyendo este artículo.

Si no, entonces qué solución podemos usar para lograr el mismo objetivo?

Dado que la notación "Crear base de datos si no existe" no se puede usar como está dentro del entorno PostgreSQL, por lo tanto, decidimos compartir con usted una solución con la que puede lograr la misma funcionalidad. Para esta solución, deberá ejecutar una variación ligeramente diferente de esta notación en forma de una consulta PostgreSQL en Windows 10. Para comprender esta variación, tendrá que seguir los pasos explicados a continuación:

Nota: No olvide iniciar sesión en su servidor PostgreSQL antes de seguir estos pasos.

Paso # 1: Visualización de las bases de datos PostgreSQL existentes en Windows 10:

Todos sabemos que solo deseamos crear una base de datos específica en PostgreSQL si ya existe en nuestro servidor. La base de datos que queremos crear en este caso particular es "myNewDB". Por lo tanto, primero intentaremos averiguar los nombres de todas nuestras bases de datos PostgreSQL existentes para saber si tal base de datos ya existe en nuestro servidor o no. Para mostrar los nombres de todas las bases de datos PostgreSQL existentes, debe ejecutar la siguiente consulta PostgreSQL en su consola PSQL:

# Seleccione DatName de PG_DATABASE;

Esta consulta extraerá el atributo "DatName" de la PG_DATABASE de nuestro servidor PostgreSQL. Este atributo contiene los nombres de todas las bases de datos existentes en el servidor PostgreSQL. La declaración "Seleccionar" de PostgreSQL solo mostrará los nombres de la base de datos extraídos en la consola como se muestra en la imagen a continuación:

Puede ver en la salida que se muestra en la imagen anterior que no existe ninguna base de datos con el nombre "MyNewDB" en nuestro servidor PostgreSQL; Por lo tanto, podemos intentar crear una base de datos con este nombre en nuestro servidor en Windows 10.

Paso # 2: Creación de la base de datos PostgreSQL si no existe en Windows 10:

Ahora, dado que hemos visto que la base de datos que queremos crear ya no existe en nuestro servidor PostgreSQL, por lo tanto, tendremos que ejecutar la siguiente consulta para crear esa base de datos:

# Seleccione 'Crear base de datos myNewDB' donde no exista (seleccione de PG_DATABASE DONDE DATNAME = 'MYNEWDB') \ GEXEC

Con esta consulta, crearemos una base de datos llamada "MyNewDB" que aún no estaba presente en nuestro servidor PostgreSQL en nuestro sistema Windows 10. La declaración "Seleccionar" en esta consulta es seguida por la declaración "Crear base de datos". Después de eso, hemos mencionado el nombre de nuestra nueva base de datos que se creará. Puedes nombrarlo como quieras. Luego, hemos escrito la declaración "donde no existe" que verifique si la base de datos especificada existe en el servidor PostgreSQL o no. Todas estas declaraciones son seguidas por un subcreidor en el que tenemos otra instrucción "Seleccionar entre" que verificará la PG_DATABASE de nuestro servidor PostgreSQL para confirmar la no existencia de la base de datos que está tratando de crear.

Finalmente, está el parámetro "\ Gexec" que completa esta consulta. Este parámetro es extremadamente importante en esta consulta. Este parámetro envía su búfer de consulta actual al servidor PostgreSQL, donde cada componente o atributo de la salida de esta consulta se trata como una consulta SQL en lugar de una consulta PostgreSQL. Esta es, de hecho, la razón principal detrás del funcionamiento de la notación "Crear base de datos si no existe" dentro de PostgreSQL. De lo contrario, incluso si accidentalmente omite este parámetro, no podrá lograr esta funcionalidad en PostgreSQL.

Si sigue la sintaxis completa de esta consulta correctamente, entonces una base de datos PostgreSQL con el nombre especificado se creará correctamente en el servidor PostgreSQL que puede confirmar desde la respuesta de salida que se muestra en la imagen a continuación:

Paso # 3: Verificar si la nueva base de datos PostgreSQL se ha creado en Windows 10 o no:

Si aún no está seguro de que su intento de la creación de la nueva base de datos PostgreSQL en el paso mencionado anteriormente fuera exitoso o no, entonces puede verificarla al echar un vistazo a todas las bases de datos PostgreSQL existentes nuevamente. Esta vez, también podrá encontrar su nueva base de datos allí. Solo necesita ejecutar la siguiente consulta para ver esto:

# Seleccione DatName de PG_DATABASE;

Existen un total de nueve bases de datos en nuestro servidor PostgreSQL en este momento, y la más reciente es, de hecho, la que acabamos de intentar crear, como se destaca en la imagen que se muestra a continuación:

Conclusión:

Este artículo habló sobre la notación "Crear base de datos si no existe" y su uso. Luego discutimos si esta notación es respaldada por Postgresql o no. Después de descubrir que no podemos usar esta notación directamente en PostgreSQL, compartimos con usted un método para lograr la misma funcionalidad mientras nos mantenemos dentro del entorno PostgreSQL. Una vez que pase por este método, comprenderá esta alternativa extremadamente útil de la notación "Crear base de datos si no existe" que PostgreSQL es plenamente admite.