ALTER USER nome [ [ WITH ] opção [ ... ] ] onde opção pode ser: [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'senha' | CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | VALID UNTIL 'data_hora' ALTER USER nome RENAME TO novo_nome ALTER USER nome SET parâmetro { TO | = } { valor | DEFAULT } ALTER USER nome RESET parâmetro
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 forma deste comando mostrada na sinopse muda alguns privilégios globais do usuário e definições de autenticação (Veja abaixo para obter detalhes). Somente um superusuário do banco de dados pode alterar os privilégios e a expiração da senha com este comando. Os usuários comuns podem alterar apenas suas próprias senhas.
A segunda forma 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 não pode ter o nome mudado (Deve-se conectar como um usuário diferente se for necessário fazê-lo).
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.
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 mudar a participação do usuário nos grupos. Use o comando ALTER GROUP para realizar esta operação.
Utilizando o comando ALTER DATABASE é possível associar a um banco de dados específico, em vez de associar a um usuário, o valor padrão para a sessão.
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 chris VALID UNTIL 'May 4 12:00:00 2005 +1';
Tornar o usuário válido para sempre:
ALTER USER fred VALID UNTIL 'infinity';
Dar ao usuário permissão para criar outros usuários e novos bancos de dados:
ALTER USER marcela CREATEUSER CREATEDB;