createdb — crea una nueva base de datos de PostgreSQL
createdb [opción-de-conexión...] [opción...] [nombre_bd
[descripción]]
createdb crea una nueva base de datos de PostgreSQL.
Normalmente, el usuario de la base de datos que ejecuta este comando se convierte en el propietario de
la nueva base de datos.
Sin embargo, se puede especificar un propietario diferente mediante la opción -O,
si el usuario que lo ejecuta tiene los privilegios adecuados.
createdb es un envoltorio (wrapper) del
comando SQL CREATE DATABASE.
No hay ninguna diferencia real entre crear bases de datos mediante
esta utilidad y mediante otros métodos para acceder al servidor.
createdb acepta los siguientes argumentos de línea de comandos:
nombre_bdEspecifica el nombre de la base de datos que se va a crear. El nombre debe ser único entre todas las bases de datos de PostgreSQL en este clúster. El valor predeterminado es crear una base de datos con el mismo nombre que el usuario actual del sistema.
descripciónEspecifica un comentario que se asociará con la base de datos recién creada.
-D tablespace--tablespace=tablespaceEspecifica el tablespace predeterminado para la base de datos. (Este nombre se procesa como un identificador entre comillas dobles).
-e--echoMuestra los comandos que createdb genera y envía al servidor.
-E codificación--encoding=codificaciónEspecifica el esquema de codificación de caracteres que se utilizará en esta base de datos. Las codificaciones de caracteres soportadas por el servidor de PostgreSQL se describen en Section 23.3.1.
-l configuración_regional--locale=configuración_regional
Especifica la configuración regional (locale) que se utilizará en esta base de datos. Esto equivale
a especificar --lc-collate,
--lc-ctype y --icu-locale con el
mismo valor. Algunas configuraciones regionales solo son válidas para ICU y se deben establecer con
--icu-locale.
--lc-collate=configuración_regionalEspecifica la configuración LC_COLLATE que se utilizará en esta base de datos.
--lc-ctype=configuración_regionalEspecifica la configuración LC_CTYPE que se utilizará en esta base de datos.
--builtin-locale=configuración_regionalEspecifica el nombre de la configuración regional cuando se utiliza el proveedor builtin. El soporte de configuración regional se describe en la Section 23.1.
--icu-locale=configuración_regionalEspecifica el ID de configuración regional de ICU que se utilizará en esta base de datos, si se selecciona el proveedor de configuración regional ICU.
--icu-rules=reglasEspecifica reglas de colación adicionales para personalizar el comportamiento de la colación predeterminada de esta base de datos. Esto solo está soportado para ICU.
--locale-provider={builtin|libc|icu}Especifica el proveedor de configuración regional para la colación predeterminada de la base de datos.
-O propietario--owner=propietarioEspecifica el usuario de la base de datos que será el propietario de la nueva base de datos. (Este nombre se procesa como un identificador entre comillas dobles).
-S estrategia--strategy=estrategiaEspecifica la estrategia de creación de la base de datos. Consulta la CREATE DATABASE STRATEGY para obtener más detalles.
-T plantilla--template=plantillaEspecifica la base de datos plantilla a partir de la cual se construirá esta base de datos. (Este nombre se procesa como un identificador entre comillas dobles).
-V--versionMuestra la versión de createdb y finaliza.
-?--helpMuestra la ayuda sobre los argumentos de línea de comandos de createdb y finaliza.
Las opciones -D, -l, -E,
-O y
-T corresponden a las opciones del comando SQL
subyacente CREATE DATABASE; consulta allí para obtener más información
sobre ellas.
createdb también acepta los siguientes argumentos de línea de comandos para los parámetros de conexión:
-h host--host=hostEspecifica el nombre de host de la máquina en la que se está ejecutando el servidor. Si el valor comienza con una barra diagonal, se utiliza como el directorio para el socket de dominio Unix.
-p puerto--port=puertoEspecifica el puerto TCP o la extensión del archivo de socket de dominio Unix local en el que el servidor está escuchando conexiones.
-U usuario--username=usuarioNombre de usuario con el que conectarse.
-w--no-password
Nunca solicita una contraseña. Si el servidor requiere
autenticación por contraseña y no hay una contraseña disponible por
otros medios, como un archivo .pgpass, el
intento de conexión fallará. Esta opción puede ser útil en
trabajos por lotes (batch) y scripts donde no hay ningún usuario presente para introducir una
contraseña.
-W--passwordFuerza a createdb a solicitar una contraseña antes de conectarse a una base de datos.
Esta opción nunca es indispensable, ya que
createdb solicitará automáticamente
una contraseña si el servidor exige autenticación por contraseña.
Sin embargo, createdb desperdiciará un
intento de conexión para descubrir que el servidor requiere una contraseña.
En algunos casos, vale la pena escribir -W para evitar el
intento de conexión adicional.
--maintenance-db=nombre_bd
Especifica el nombre de la base de datos a la que conectarse al crear la
nueva base de datos. Si no se especifica, se utilizará la base de datos
postgres; si esta no existe (o si es el nombre
de la nueva base de datos que se está creando), se utilizará
template1.
Esto puede ser una cadena de conexión. Si es así, los parámetros de la cadena de conexión anularán cualquier
opción de línea de comandos en conflicto.
PGDATABASESi está establecido, es el nombre de la base de datos a crear, a menos que se anule en la línea de comandos.
PGHOSTPGPORTPGUSER
Parámetros de conexión predeterminados. PGUSER también
determina el nombre de la base de datos a crear, si no se
especifica en la línea de comandos o mediante PGDATABASE.
PG_COLOR
Especifica si se debe usar color en los mensajes de diagnóstico. Los valores posibles
son always, auto y
never.
Esta utilidad, al igual que la mayoría de las demás utilidades de PostgreSQL, también utiliza las variables de entorno soportadas por libpq (consulta la Section 32.15).
En caso de dificultad, consulta la CREATE DATABASE y la psql para obtener información sobre posibles problemas y mensajes de error. El servidor de la base de datos debe estar ejecutándose en el host de destino. Además, se aplicará cualquier configuración de conexión predeterminada y variable de entorno utilizada por la biblioteca frontend libpq.
Para crear la base de datos demo usando el servidor de
base de datos predeterminado:
$createdb demo
Para crear la base de datos demo usando el
servidor en el host eden, puerto 5000, usando la
base de datos plantilla template0, este es el
comando de línea de comandos y el comando SQL subyacente:
$createdb -p 5000 -h eden -T template0 -e demoCREATE DATABASE demo TEMPLATE template0;