ALTER USER

Nome

ALTER USER -- altera uma conta de usuário do banco de dados

Sinopse

ALTER USER nome [ [ WITH ] opção [ ... ] ]

onde opção pode ser:

    CREATEDB | NOCREATEDB
    | CREATEUSER | NOCREATEUSER
    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'senha'
    | VALID UNTIL 'data_e_hora'

ALTER USER nome RENAME TO novo_nome
ALTER USER nome SET parâmetro { TO | = } { valor | DEFAULT }
ALTER USER nome RESET parâmetro

Descrição

O comando ALTER USER altera os atributos de uma conta de usuário do PostgreSQL. Os atributos não mencionados no comando permanecem com suas definições anteriores.

A primeira variante deste comando listada na sinopse muda determinados privilégios e configurações de autenticação para um usuário (Veja abaixo para obter detalhes). Somente um superusuário do banco de dados pode alterar qualquer uma destas configurações para qualquer usuário. Os usuários comuns podem apenas alterar suas próprias senhas.

A segunda variante muda o nome do usuário. Somente um superusuário do banco de dados pode mudar nome de conta de usuário. O usuário da sessão corrente não pode ter o nome mudado (conecte como um usuário diferente se precisar fazer isto). Como as senhas criptografadas com MD5 utilizam o nome de usuário como sal criptográfico (cryptographic salt) [1] , mudar o nome de usuário limpa sua senha MD5.

A terceira e a quarta variantes mudam, para uma determinada variável de configuração, o valor padrão da sessão do usuário. Após isto, sempre que o usuário iniciar uma nova sessão o valor especificado se tornará o padrão da sessão, substituindo qualquer configuração presente em postgresql.conf, ou que tenha sido recebida através da linha de comando do postmaster. Os usuários comuns podem mudar seus próprios padrões de sessão. Os superusuários podem mudar os padrões de sessão de qualquer usuário. Certas variáveis não podem ser definidas desta maneira, ou só podem ser definidas por um superusuário.

Parâmetros

nome

O nome de usuário cujos atributos estão sendo alterados.

CREATEDB
NOCREATEDB

Estas cláusulas definem a permissão para o usuário criar banco de dados. Se CREATEDB for especificado, o usuário terá permissão para criar seus próprios bancos de dados. Especificando NOCREATEDB nega-se ao usuário a permissão para criar banco de dados (se o usuário for um superusuário então esta definição não tem efeito prático).

CREATEUSER
NOCREATEUSER

Estas cláusulas determinam se o usuário terá permissão para criar novos usuários. CREATEUSER torna o usuário um superusuário, não sujeito a restrições de acesso.

senha

A nova senha a ser utilizada para esta conta.

ENCRYPTED
UNENCRYPTED

Estas palavras chave controlam se a senha é armazenada criptografada, ou não, em pg_shadow (Consulte o comando CREATE USER para obter informações adicionais sobre esta opção).

data_e_hora

A data (e, opcionalmente, a hora) de expiração da senha do usuário. Para fazer com que a senha nunca expire deve ser utilizado 'infinity'.

novo_nome

O novo nome de usuário.

parâmetro
valor

Define o valor fornecido como sendo o valor padrão para o parâmetro de configuração especificado. Se valor for DEFAULT ou, de forma equivalente, se RESET for utilizado, a definição da variável específica para o usuário é removida, e o valor padrão global do sistema será herdado nas novas sessões do usuário. Use RESET ALL para remover todas as definições específicas do usuário.

Consulte o comando SET e a Seção 16.4 para obter informações adicionais sobre os nomes e valores permitidos para os parâmetros.

Observações

Use o comando CREATE USER para criar novos usuários, e o comando DROP USER para remover um usuário.

O comando ALTER USER não pode alterar a condição de ser membro de grupo do usuário. Para realizar esta alteração deve ser utilizado o comando ALTER GROUP.

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.

Também é possível ligar o padrão de sessão a um banco de dados específico em vez de a um usuário; consulte o comando ALTER DATABASE. As definições específicas para o usuário substituem as definições específicas para o banco de dados, no caso de haver conflito.

Exemplos

Mudar a senha do usuário:

ALTER USER marcos WITH PASSWORD 'hu8jmn3';

Mudar a data de expiração da senha do usuário:

ALTER USER manuel VALID UNTIL 'Jan 31 2030';

Mudar a data de expiração da senha, especificando que a senha expira ao meio dia de 4 de maio de 2005, usando uma zona horária uma hora adiante da UTC:

ALTER USER cristiane VALID UNTIL 'May 4 12:00:00 2005 +1';

Tornar o usuário válido para sempre:

ALTER USER andrea VALID UNTIL 'infinity';

Dar ao usuário permissão para criar outros usuários e novos bancos de dados:

ALTER USER luizete CREATEUSER CREATEDB;

Compatibilidade

O comando ALTER USER é uma extensão do PostgreSQL. O padrão SQL deixa a definição dos usuários para a implementação.

Consulte também

CREATE USER, DROP USER, SET

Notas

[1]

Em criptografia, sal consiste de bits aleatórios usados como uma das entradas para a função de derivação da chave. Salt (cryptography). (N. do T.)

SourceForge.net Logo CSS válido!