PostgreSQL – createuser | DeServ – Info
Lomadee, uma nova espcie na web. A maior plataforma de afiliados da Amrica Latina.

PostgreSQL – createuser

By Flávio Silva

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

Fonte: http://pgdocptbr.sourceforge.net

Nenhum Post Relacionado.

Artigos parecidos fornecidos por Yet Another Related Posts Plugin.

Tags: , , , , , , , ,

Uma Resposta to “PostgreSQL – createuser”

  1. Paulo

    Sempre que tento criar um superusuário eu tenho um problema. Fatal: role “pk” não existe, a mensagem aparece logo depois de eu dar o comando createuser pk, pergunta se vai poder criar o superusuario e aparece a mensagem.

    Pergunto como devo proceder para criar uma superusuário e também criar um papel.

    Sou novato no assunto.

    Obrigado.

    Current score: 0
    #54

Deixe uma Resposta