Documentação do PostgreSQL 8.0.0 | ||||
---|---|---|---|---|
Anterior | Início | Capítulo 17. Usuários do banco de dados e privilégios | Fim | Próxima |
O usuário de banco de dados pode possuir vários atributos que definem seus privilégios e interagem com o sistema de autenticação de clientes.
Um superusuário do banco de dados não está sujeito a verificações de permissão. Também, somente um superusuário pode criar novos usuários. Para criar um superusuário do banco de dados deve ser utilizado o comando CREATE USER nome_do_usuário CREATEUSER.
Para o usuário poder criar bancos de dados deve ser dada uma permissão explícita (exceto para os superusuários, uma vez que estes não estão sujeitos a verificações de permissão). Para criar um usuário que pode criar bancos de dados, deve ser utilizado o comando CREATE USER nome_do_usuário CREATEDB.
A senha só é importante se o método de autenticação do cliente requerer que o usuário forneça a senha para se conectar ao banco de dados. Os métodos de autenticação password, md5 e crypt fazem uso de senha. As senhas de banco de dados são distintas das senhas do sistema operacional. A senha deve ser especificada quando o usuário é criado utilizando CREATE USER nome_do_usuário PASSWORD 'cadeia de caracteres'.
Os atributos do usuário podem ser modificados após este ter sido criado utilizando o comando ALTER USER. Para obter mais detalhes consulte as páginas de referência dos comandos CREATE USER e ALTER USER.
O usuário também pode definir padrões pessoais para várias definições de configuração em tempo de execução, conforme descrito na Seção 16.4. Por exemplo, se por alguma razão o usuário desejar desativar as varreduras de índice toda vez que se conectar (conselho: não é uma boa idéia), pode utilizar o comando:
ALTER USER meu_usuário SET enable_indexscan TO off;
Este comando salva a definição (mas não define imediatamente) e nas próximas conexões feitas por este usuário vai parecer que o comando SET enable_indexscan TO off; foi chamado logo antes da sessão começar. Continua sendo possível alterar esta definição durante a sessão; apenas será a definição padrão. Para desfazer esta definição deve ser utilizado o comando ALTER USER meu_usuário RESET nome_da_variável;.