createuser
Nome
createuser -- cria uma nova 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. Somente os superusuários (usuários com usesuper definido na tabela pg_shadow) podem criar novos usuários do PostgreSQL e, portanto, o createuser deve ser executado por alguém que possa se conectar como superusuário do PostgreSQL.
Ser um superusuário também implica na habilidade de transpor as verificações de permissão de acesso do banco de dados e, portanto, o privilégio de superusuário deve ser concedido criteriosamente.
O createuser é uma capa em torno do comando
CREATE USER
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 único entre todos os usuários do PostgreSQL.
- -a
--adduser
-
Permite o novo usuário criar outros usuários (Nota: na verdade isto torna o novo usuário um superusuário. Esta opção possui um nome equivocado).
- -A
--no-adduser
-
O novo usuário não pode criar outros usuários (ou seja, o novo usuário é um usuário normal, e não um superusuário). Este é o padrão.
- -d
--createdb
-
O novo usuário pode criar bancos de dados.
- -D
--no-createdb
-
O novo usuário não pode criar bancos de dados. Este é o padrão.
- -e
--echo
-
Mostra os comandos que o createuser gera e envia para o servidor.
- -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.
- -i número
--sysid número
-
Permite escolher uma identificação diferente do padrão para o novo usuário. Não é necessário, mas algumas pessoas gostam.
- -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.
- -P
--pwprompt
-
Se for usado, o createuser solicita a senha do novo usuário. Não é necessário caso não se planeje usar autenticação por senha.
- -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 uma barra (/), é usado como o diretório do soquete do domínio Unix.
- -p porta
--port porta
-
Especifica a porta TCP, ou a extensão de arquivo do soquete do domínio Unix local, onde o servidor está escutando 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 USER
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
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 no hospedeiro eden, porta 5000, evitando solicitação de informação e vendo o comando subjacente:
$ createuser -p 5000 -h eden -D -A -e joel
CREATE USER "joel" NOCREATEDB NOCREATEUSER
CREATE USER