createdb — cria um banco de dados do PostgreSQL
createdb [opção_de_conexão...] [opção...] [nome_do_banco_de_dados
[descrição]]
A aplicação createdb cria um banco de dados do PostgreSQL.
Normalmente, o usuário do banco de dados que executa este comando
se torna o dono do novo banco de dados.
Entretanto, pode ser especificado um dono diferente por meio da opção
-O, se o usuário que estiver executando tiver os
privilégios apropriados.
A aplicação createdb é um invólucro para o comando SQL CREATE DATABASE. Não há diferença efetiva entre criar bancos de dados por meio desse utilitário, ou por meio de outros métodos de acesso ao servidor.
O createdb aceita os seguintes argumentos de linha de comando:
nome_do_banco_de_dadosEspecifica o nome do banco de dados a ser criado. O nome deve ser único entre todos os bancos de dados do PostgreSQL nesta instância. O padrão é criar um banco de dados com o mesmo nome do usuário corrente do sistema.
descriçãoEspecifica um comentário a ser associado com o banco de dados sendo criado.
-D espaço_de_tabelas--tablespace=espaço_de_tabelasEspecifica o espaço de tabelas padrão para o banco de dados. (Este nome é processado como um identificador entre aspas.)
-e--echoEcoa os comandos que createdb gera e envia para o servidor.
-E codificação--encoding=codificaçãoEspecifica o esquema de codificação de caracteres a ser usado neste banco de dados. Os conjuntos de caracteres com suporte pelo servidor PostgreSQL são descritos na Conjuntos de caracteres com suporte.
-l localidade--locale=localidade
Especifica a localidade a ser usada neste banco de dados.
É equivalente a especificar as opções
--lc-collate, --lc-ctype e
--icu-locale com o mesmo valor.
Algumas localidades são válidas apenas para o ICU
(International Components for Unicode)
e devem ser definidas com --icu-locale.
--lc-collate=localidade
Especifica a ordem de classificação (LC_COLLATE)
a ser usada no novo banco de dados.
--lc-ctype=localidade
Especifica a classificação dos caracteres (LC_CTYPE)
a ser usada no novo banco de dados.
--builtin-locale=localidadeEspecifica o nome da localidade quando é usado o provedor integrado. O suporte a localidades é descrito em Suporte a localidade.
--icu-locale=localidadeEspecifica o ID de localidade ICU a ser usado neste banco de dados, caso seja selecionado o provedor de localidade ICU.
--icu-rules=regrasEspecifica regras de ordenação adicionais para personalizar o comportamento da ordenação padrão deste banco de dados. Só tem suporte no provedor de localidade ICU.
--locale-provider={builtin|libc|icu}Especifica o provedor de localidade para a ordenação padrão do banco de dados.
-O dono--owner=donoEspecifica o usuário do banco de dados que será o dono do novo banco de dados. (Este nome é processado como um identificador entre aspas.)
-S estratégia--strategy=estratégiaEspecifica a estratégia de criação do banco de dados. Veja CREATE DATABASE STRATEGY para obter mais detalhes.
-T modelo--template=modeloEspecifica o banco de dados modelo a partir do qual será construído este banco de dados. (Este nome é processado como um identificador entre aspas.)
-V--versionMostra a versão do createdb, e termina.
-?--helpMostra a ajuda sobre os argumentos da linha de comando do createdb, e termina.
As opções -D, -l,
-E, -O, e -T
correspondem às opções do comando SQL
CREATE DATABASE subjacente;
veja este comando para obter mais informações sobre estas opções.
O createdb também aceita os seguintes argumentos de linha de comando para os parâmetros de conexão:
-h hospedeiro--host=hospedeiroEspecifica o nome de hospedeiro da máquina na qual o servidor está sendo executado. Se começar com uma barra, será usado como o diretório para o soquete de domínio Unix.
-p porta--port=portaEspecifica a porta TCP, ou extensão de arquivo de soquete de domínio Unix local, na qual o servidor está aguardando conexões.
-U nome_do_usuário--username=nome_do_usuárioNome de usuário para se conectar como.
-w--no-password
Nunca emite uma solicitação de senha.
Se o servidor exigir autenticação por senha, e uma senha não
estiver disponível por outros meios, como o arquivo
.pgpass, a tentativa de conexão irá falhar.
Esta opção pode ser útil em tarefas em lote e scripts nos quais
nenhum usuário está presente para inserir uma senha.
-W--passwordForça o createdb solicitar a senha antes de conectar ao banco de dados.
Esta opção nunca é essencial, porque o
createdb solicita automaticamente
a senha se o servidor exigir autenticação por senha.
No entanto, o createdb irá desperdiçar
uma tentativa de conexão ao descobrir que o servidor pede uma senha.
Em alguns casos vale a pena digitar -W para
evitar a tentativa extra de conexão.
--maintenance-db=nome_do_banco_de_dados
Especifica o nome do banco de dados ao qual se conectar ao
criar o novo banco de dados.
Se não for especificado, será usado o banco de dados
postgres; se não existir (ou se for o nome
do banco de dados que está sendo criado), será usado
template1.
Pode ser uma
cadeia de caracteres de conexão.
Neste caso, os parâmetros da cadeia de caracteres de conexão
têm precedência sobre quaisquer opções de linha de comando
conflitantes.
PGDATABASESe definido, contém o nome do banco de dados a ser criado, a menos que seja substituído na linha de comando.
PGHOSTPGPORTPGUSER
Parâmetros de conexão padrão.
PGUSER também determina o nome do banco de dados
a ser criado, se não for especificado na linha de comando, ou por
PGDATABASE.
PG_COLOR
Especifica se devem ser usadas cores nas mensagens de diagnóstico.
Os valores possíveis são always,
auto e never.
Este utilitário, como a maioria dos outros utilitários do PostgreSQL, também usa as variáveis de ambiente com suporte pela libpq (veja Variáveis de ambiente).
Em caso de dificuldade, veja o comando CREATE DATABASE e o utilitário psql para obter informações sobre possíveis problemas e mensagens de erro. O servidor de banco de dados deverá estar ativo no hospedeiro especificado. Além disso, se aplicam todas as configurações de conexão padrão e variáveis de ambiente usadas pela biblioteca cliente libpq.
Para criar o banco de dados demo usando o
servidor de banco de dados padrão:
$ createdb demo
Para criar o banco de dados demo usando o
servidor no hospedeiro eden, porta 5000, usando
como modelo o banco de dados template0, a seguir
está o comando para a linha de comando e o comando
SQL subjacente:
$createdb -p 5000 -h eden -T template0 -e demoCREATE DATABASE demo TEMPLATE template0;
Exemplo 89. Exemplo do tradutor
Criação de banco de dados na máquina local
Criação do banco de dados demo no
servidor hospedeiro localhost, porta 5432,
como modelo o banco de dados template0
através do usuário postgres:
$createdb -p 5432 -h localhost -T template0 -e demoSenha: SELECT pg_catalog.set_config('search_path', '', false); CREATE DATABASE demo TEMPLATE template0;
Neste exemplo a senha fornecida foi a do usuário
postgres e o dono do banco de dados ficou
sendo o próprio usuário postgres.