createuser

Name

createuser -- define uma nova conta de usuário do PostgreSQL

Synopsis

createuser [opções...] [nome_do_usuário]

Entradas

-h, --host hospedeiro

Especifica o nome da máquina onde o servidor está executando. Se o nome iniciar por uma barra (/), é considerado como sendo o diretório do soquete do domínio Unix.

-p, --port porta

Especifica a porta Internet TCP/IP, ou o soquete do domínio local Unix, onde o servidor está aguardando as conexões.

-e, --echo

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

-q, --quiet

Não exibe a resposta.

-d, --createdb

É permitido ao novo usuário criar bancos de dados.

-D, --no-createdb

Não é permitido ao novo usuário criar bancos de dados.

-a, --adduser

É permitido ao novo usuário criar outros usuários (Nota: na verdade isto faz do novo usuário um superusuário. Esta opção não tem um nome adequado).

-A, --no-adduser

Não é permitido ao novo usuário criar outros usuários (ou seja, o novo usuário é um usuário normal e não um superusuário).

-P, --pwprompt

Se for fornecido, o createuser solicita a senha do novo usuário, não sendo necessário caso não se pretenda usar autenticação por senha.

-i, --sysid uid

Permite escolher uma identificação do usuário diferente do padrão. Embora não seja necessário, algumas pessoas gostam.

-E, --encrypted

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

-N, --unencrypted

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

nome_do_usuário

Especifica o nome do usuário do PostgreSQL a ser criado. Este nome deve ser único entre todos os usuários do PostgreSQL.

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

As opções -h, -p e -e são passadas literalmente para o psql. As opções -U e -W do psql também estão disponíveis, mas podem causar confusão neste contexto.

Saídas

CREATE USER

O usuário foi criado com sucesso.

createuser: creation of user "nome_do_usuário" failed

Aconteceu algum erro. O usuário não foi criado.

Se houver uma condição de erro, a mensagem de erro do servidor será exibida. Consulte o comando CREATE USER e o aplicativo psql para ver as causas possíveis.

Descrição

O createuser cria um novo usuário do PostgreSQL. Somente os superusuários (usuários com o usesuper definido na tabela pg_shadow) podem criar novos usuários do PostgreSQL, portanto o createuser deve ser executado por alguém que seja um superusuário do PostgreSQL.

Ser um superusuário também implica na capacidade de não ser afetado pelas verificações de permissão de acesso do banco de dados, portanto o privilégio de superusuário deve ser concedido criteriosamente.

O createuser é um script envoltório que usa o comando SQL CREATE USER através do terminal interativo do PostgreSQL psql. Portanto, não existe nada em especial sobre criar usuários desta ou daquela maneira, significando que o psql deve ser encontrado pelo script, e que o servidor de banco de dados deve estar executando na máquina de destino. Também se aplicam os padrões definidos e as variáveis de ambiente disponíveis para o psql e para a biblioteca cliente libpq.

Utilização

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

$ createuser joel
Is the new user allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER

Criar o mesmo usuário joel usando o servidor na máquina eden, porta 5000, evitando o pedido de informações e vendo o comando subjacente:

$ createuser -p 5000 -h eden -D -A -e joel
CREATE USER "joel" NOCREATEDB NOCREATEUSER
CREATE USER