Independientemente de las herramientas y los lenguajes de programación utilizados, el enfoque que querrá utilizar para esto es el mismo:
-
En su programa, durante el inicio, conéctese a la
template1
opostgres
bases de datos que siempre están disponibles en una instalación de PostgreSQL y emiten unSELECT 1 FROM pg_database WHERE datname = ?
y como primer parámetro pase el nombre de la base de datos deseada. -
Compruebe el conjunto de resultados que se devuelve. Si se devuelve una fila, la base de datos existe, ya está, no se requiere ninguna otra acción. Si no se devuelve ninguna fila, la base de datos no existe y debe crearla, entonces:
-
Emita un
CREATE DATABASE mydatabasename;
con las opciones deseadas comoOWNER
,ENCODING
, etc. según el manual para crear la base de datos. La nueva base de datos estará vacía. -
Complete la base de datos conectándose a la nueva base de datos en su aplicación y enviando una secuencia de comandos SQL desde su aplicación directamente, o invocando el
psql
comando en el shell para leer unsql
script y envíelo a la base de datos. Por lo general, prefiero ejecutar el SQL directamente dentro de mi aplicación.
Si, en cambio, desea crear la base de datos durante la instalación, depende principalmente de usted y su instalador, pero generalmente será tan simple como CREATE DATABASE
llamar después de que PostgreSQL haya comenzado, luego alimentar psql
un guión.