createdb

createdb — crea una nueva base de datos de PostgreSQL

Synopsis

createdb [opción-de-conexión...] [opción...] [nombre_bd [descripción]]

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.

Opciones

createdb acepta los siguientes argumentos de línea de comandos:

nombre_bd

Especifica 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ón

Especifica un comentario que se asociará con la base de datos recién creada.

-D tablespace
--tablespace=tablespace

Especifica el tablespace predeterminado para la base de datos. (Este nombre se procesa como un identificador entre comillas dobles).

-e
--echo

Muestra los comandos que createdb genera y envía al servidor.

-E codificación
--encoding=codificación

Especifica 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_regional

Especifica la configuración LC_COLLATE que se utilizará en esta base de datos.

--lc-ctype=configuración_regional

Especifica la configuración LC_CTYPE que se utilizará en esta base de datos.

--builtin-locale=configuración_regional

Especifica 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_regional

Especifica 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=reglas

Especifica 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=propietario

Especifica 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=estrategia

Especifica la estrategia de creación de la base de datos. Consulta la CREATE DATABASE STRATEGY para obtener más detalles.

-T plantilla
--template=plantilla

Especifica 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
--version

Muestra la versión de createdb y finaliza.

-?
--help

Muestra 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=host

Especifica 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=puerto

Especifica 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=usuario

Nombre 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
--password

Fuerza 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.

Entorno

PGDATABASE

Si está establecido, es el nombre de la base de datos a crear, a menos que se anule en la línea de comandos.

PGHOST
PGPORT
PGUSER

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).

Diagnósticos

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.

Ejemplos

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 demo
CREATE DATABASE demo TEMPLATE template0;

Véase también

dropdb, CREATE DATABASE