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 id_do_usuário
    | CREATEDB | NOCREATEDB
    | CREATEUSER | NOCREATEUSER
    | IN GROUP nome_do_grupo [, ...]
    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'senha'
    | VALID UNTIL 'data_e_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 informações adicionais 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.

id_do_usuário

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

CREATEDB
NOCREATEDB

Estas cláusulas definem a permissão para o usuário criar banco de dados. Se for especificado CREATEDB, o usuário sendo definido terá permissão para criar seus próprios bancos de dados. Se for especificado NOCREATEDB, nega-se ao usuário a permissão para criar banco de dados. Se nenhuma destas cláusulas for especificada, o padrão é NOCREATEDB.

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 passar por cima de todas as restrições de acesso. Se nenhuma destas cláusulas for especificada, o padrão é NOCREATEUSER.

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.

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 cláusulas controlam se a senha será armazenada criptografada, ou não, nos catálogos do sistema; Se não for especificada nenhuma destas cláusulas, o comportamento padrão será 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 será armazenada como está, independentemente de ser especificado ENCRYPTED ou UNENCRYPTED (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 os clientes antigos podem não possuir suporte para o mecanismo de autenticação MD5, necessário para trabalhar com as senhas que são armazenadas criptografadas.

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

A cláusula VALID UNTIL define uma data de expiração para a senha apenas, e não para a conta do usuário per se. Em particular, a obediência à data de expiração não é imposta ao se conectar utilizando um método de autenticação não baseado em senha.

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.

Consulte também

ALTER USER, DROP USER, createuser
SourceForge.net Logo CSS válido!