createuser

Nome

createuser -- cria uma conta de usuário do PostgreSQL

Sinopse

createuser [opção...] [nome_do_usuário]

Descrição

O utilitário createuser cria um novo usuário do PostgreSQL (ou mais precisamente, um papel). Somente os superusuários e os usuários com o privilégio CREATEROLE podem criar novos usuários e, portanto, o utilitário createuser deve ser executado por alguém que possa se conectar como superusuário ou um usuário com o privilégio CREATEROLE.

Se for desejado criar um novo superusuário a conexão deverá ser feita por um superusuário, e não simplesmente por usuário comum com o privilégio CREATEROLE. Ser um superusuário implica em não estar sujeito às verificações de permissão de acesso do banco de dados e, portanto, a condição de superusuário deve ser concedida criteriosamente.

O createuser é um invólucro em torno do comando CREATE ROLE do SQL. Não existe diferença efetiva entre criar usuários através deste utilitário, ou através de outros métodos para acessar o servidor.

Opções

O createuser aceita os seguintes argumentos de linha de comando:

nome_do_usuário

Especifica o nome do usuário do PostgreSQL a ser criado. O nome deve ser diferente de todos os papéis existentes nesta instalação do PostgreSQL.

-s
--superuser

O novo usuário é um superusuário.

-S
--no-superuser

O novo usuário não é um superusuário. Este é o padrão.

-d
--createdb

O novo usuário tem permissão para criar bancos de dados.

-D
--no-createdb

O novo usuário não tem permissão para criar bancos de dados. Este é o padrão.

-r
--createrole

O novo usuário tem permissão para criar novos papéis (ou seja, este usuário possui o privilégio CREATEROLE).

-R
--no-createrole

O novo usuário não tem permissão para criar novos papéis. Este é o padrão.

-l
--login

O novo usuário tem permissão para conectar (ou seja, este nome de usuário pode ser utilizado como identificador do usuário inicial da sessão). Este é o padrão.

-L
--no-login

O novo usuário não tem permissão para conectar (um papel sem o privilégio LOGIN ainda é útil como forma de gerenciar permissões do banco de dados).

-i
--inherit

O novo papel herda, automaticamente, os privilégios dos papéis dos quais é membro. Este é o padrão.

-I
--no-inherit

O novo papel não herda automaticamente os privilégios dos papéis dos quais é membro.

-c número
--connection-limit número

Define o número máximo de conexões para o novo usuário. O padrão é definir como sem limite.

-P
--pwprompt

Se for especificado, o createuser solicitará a senha do novo usuário. Não é necessário caso não se planeje usar autenticação por senha.

-E
--encrypted

Criptografa a senha do usuário armazenada no banco de dados. Se não for especificado, será utilizado o comportamento padrão para senhas.

-N
--unencrypted

Não criptografa a senha do usuário armazenada no banco de dados. Se não for especificado, será utilizado o comportamento padrão para senhas.

-e
--echo

Mostra os comandos que o createuser gera e envia para o servidor.

-q
--quiet

Não exibe resposta.

Será solicitado o nome e outras informações que estejam faltando, se não forem especificadas na linha de comando.

O createuser também aceita os seguintes argumentos de linha de comando para os parâmetros de conexão:

-h hospedeiro
--host hospedeiro

Especifica o nome de hospedeiro da máquina onde o servidor está executando. Se o nome iniciar por barra (/), será utilizado como o diretório do soquete do domínio Unix.

-p porta
--port porta

Especifica a porta TCP, ou a extensão do arquivo de soquete do domínio Unix local, onde o servidor está atendendo as conexões.

-U nome_do_usuário
--username nome_do_usuário

Nome do usuário para conectar (e não o nome do usuário a ser criado).

-W
--password

Força a solicitação da senha (para conectar ao servidor, e não a senha do novo usuário).

Ambiente

PGHOST
PGPORT
PGUSER

Parâmetros de conexão padrão.

Diagnósticos

Havendo dificuldade, veja no comando CREATE ROLE e no psql a discussão dos problemas possíveis e as mensagens de erro. O servidor de banco de dados deve estar executando no hospedeiro de destino. Também se aplicam todas as definições de conexão padrão e as variáveis de ambiente utilizadas pela biblioteca cliente libpq.

Exemplos

Para criar o usuário joel no servidor de banco de dados padrão:

$ createuser joel
O novo papel será um superusuário? (s/n) n
O novo papel poderá criar bancos de dados? (s/n) n
O novo papel poderá criar novos papéis? (s/n) n
CREATE USER

Criar o mesmo usuário joel usando o servidor no hospedeiro eden, porta 5000, evitando solicitação de informação e vendo o comando subjacente:

$ createuser -h eden -p 5000 -S -D -R -e joel
CREATE ROLE joel NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;
CREATE ROLE

Criar o usuário joel como um superusuário e atribuir uma senha criptografada imediatamente:

$ createuser -P -s -E -e joel
Digite a senha do novo papel: xyzzy
Digite novamente: xyzzy
CREATE ROLE joel PASSWORD 'md58c5635dc3b41432cacfbb67c661a0e36' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
CREATE ROLE

Criar o usuário joel como um superusuário e atribuir uma senha não criptografada imediatamente:

$ createuser -P -s -N -e joel
Digite a senha do novo papel: xyzzy
Digite novamente: xyzzy
CREATE ROLE joel PASSWORD 'xyzzy' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
CREATE ROLE

Nos dois exemplos acima a nova senha não é realmente mostrada ao ser digitada, mas está mostrado o que foi digitado para ficar mais claro. Entretanto, a senha aparecerá no comando mostrado, conforme está ilustrado — portanto, não será desejado utilizar a opção -e ao atribuir uma senha não criptografada quando outra pessoa puder ver a tela. [1]

Consulte também

dropuser, CREATE ROLE, Variáveis de ambiente (Seção 29.12)

Notas

[1]

No manual original só é mostrado o caso da senha não criptografada. Nesta tradução foi adicionado o caso da senha criptografada para ficar mais claro. (N. do T.)

SourceForge.net Logo CSS válido!