CREATE USER
Nome
CREATE USER -- cria uma conta de usuário do banco de dados
Sinopse
CREATE USER nome [ [ WITH ] opção [ ... ] ]
onde opção pode ser:
SYSID uid
| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'senha'
| CREATEDB | NOCREATEDB
| CREATEUSER | NOCREATEUSER
| IN GROUP nome_do_grupo [, ...]
| VALID UNTIL 'data_hora'
Descrição
O comando CREATE USER adiciona um novo usuário ao agrupamento de bancos de dados do PostgreSQL. Consulte o
Capítulo 17
e o
Capítulo 19
para obter mais informações sobre o gerenciamento de usuários e autenticação. Apenas os superusuários do banco de dados podem usar este comando.
Parâmetros
- nome
-
O nome do usuário.
- uid
-
A cláusula SYSID pode ser utilizada para escolher o identificador de usuário do PostgreSQL do novo usuário. Normalmente não é necessário, mas pode ser útil se for necessário recriar o dono de um objeto que ficou órfão.
Se não for especificado, será utilizado por padrão o maior identificador de usuário atribuído acrescido de um (com mínimo de 100).
- senha
-
Define a senha do usuário. Se não se pretende utilizar autenticação por senha esta opção pode ser omitida, mas o usuário não poderá mais se conectar se for decidido mudar para autenticação por senha. A senha poderá ser definida ou mudada posteriormente através do comando
ALTER USER
.
- ENCRYPTED
UNENCRYPTED
-
Estas palavras chave controlam se a senha é armazenada criptografada, ou não, nos catálogos do sistema (se nenhuma das duas for especificada, o comportamento padrão é determinado pelo parâmetro de configuração PASSWORD_ENCRYPTION). Se a cadeia de caracteres da senha já estiver criptografada no formato MD5, então a cadeia de caracteres é armazenada como está, independentemente de ENCRYPTED ou UNENCRYPTED ser especificado(porque o sistema não pode descriptografar a cadeia de caracteres criptografada contendo a senha). Esta funcionalidade permite a restauração de senhas criptografadas efetuadas por uma operação de dump/restore.
Deve ser observado que clientes antigos podem não possuir suporte para o mecanismo de autenticação MD5, necessário para trabalhar com senhas armazenadas criptografadas.
- CREATEDB
NOCREATEDB
-
Estas cláusulas definem a permissão para o usuário criar banco de dados. Se CREATEDB for especificado, o usuário sendo definido terá permissão para criar seus próprios bancos de dados. Se NOCREATEDB for especificado, nega-se ao usuário a permissão para criar banco de dados. Se esta cláusula for omitida, NOCREATEDB será utilizado por padrão.
- CREATEUSER
NOCREATEUSER
-
Estas cláusulas determinam se o usuário pode ou não criar novos usuários. CREATEUSER também torna o usuário um superusuário, o qual pode substituir todas as restrições de acesso. Se não for especificada, NOCREATEUSER é o padrão.
- nome_do_grupo
-
O nome de um grupo existente onde o usuário será incluído como um novo membro. Podem ser especificados nomes de vários grupos.
- data_hora
-
A cláusula VALID UNTIL define uma data e hora após a qual a senha do usuário não é mais válida. Se esta cláusula for omitida, a conta será válida para sempre.
Observações
Deve ser usado o comando
ALTER USER
para mudar os atributos de um usuário, e
DROP USER
para remover um usuário. Deve se usado
ALTER GROUP
para adicionar ou remover usuários de grupos.
O PostgreSQL inclui o programa
createuser
que possui a mesma funcionalidade do CREATE USER (na verdade, chama este comando), mas pode ser executado a partir da linha de comando.
Exemplos
Criar um usuário sem senha:
CREATE USER jonas;
Criar um usuário com senha:
CREATE USER manuel WITH PASSWORD 'jw8s0F4';
Criar um usuário com uma senha válida até o fim de 2004. Após o primeiro segundo de 2005 a senha não será mais válida.
CREATE USER miriam WITH PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';
Criar uma conta onde o usuário pode criar bancos de dados:
CREATE USER manuel WITH PASSWORD 'jw8s0F4' CREATEDB;
Compatibilidade
O comando CREATE USER é uma extensão do PostgreSQL. O padrão SQL deixa a definição de usuários para a implementação.