ALTER DATABASE nome [ [ WITH ] opção [ ... ] ] onde opção pode ser: CONNECTION LIMIT limite_de_conexões ALTER DATABASE nome SET parâmetro { TO | = } { valor | DEFAULT } ALTER DATABASE nome RESET parâmetro ALTER DATABASE nome RENAME TO novo_nome ALTER DATABASE nome OWNER TO novo_dono
O comando ALTER DATABASE altera os atributos de um banco de dados.
A primeira forma altera certas definições por banco de dados (Consulte os detalhes abaixo). Somente o dono do banco de dados, ou um superusuário, pode alterar estas definições.
A segunda e a terceira forma alteram o padrão da sessão, para uma variável de configuração em tempo de execução, de um banco de dados do PostgreSQL. Depois de alterado, sempre que uma nova sessão for iniciada neste banco de dados o valor especificado se torna o valor padrão para a sessão. O padrão específico para o banco de dados substitui qualquer definição presente no arquivo postgresql.conf, ou que tenha sido recebida a partir da linha de comando do postgres. Somente o dono do banco de dados, ou um superusuário, pode alterar os padrões para a sessão de um banco de dados. Certas variáveis não podem ser definidas desta maneira, ou somente podem ser definidas por um superusuário.
A quarta forma muda o nome do banco de dados. Somente o dono do banco de dados, ou um superusuário, pode mudar o nome do banco de dados; os donos que não são superusuários devem possuir, também, o privilégio CREATEDB. O banco de dados corrente não pode ter seu nome mudado (Deve-se conectar a um banco de dados diferente se for necessário realizar esta operação).
A quinta forma muda o dono do banco de dados. Para alterar o dono, é necessário ser o dono do banco de dados e, também, ser um membro direto ou indireto do novo papel (role) dono, além de possuir o privilégio CREATEDB (Deve ser observado que os superusuários possuem todos estes privilégios automaticamente).
O nome do banco de dados cujos atributos estão sendo alterados.
Quantas conexões simultâneas podem ser estabelecidas com este banco de dados. -1 significa sem limite.
Define valor o padrão da sessão deste banco de dados, para o parâmetro de configuração especificado, como sendo o valor fornecido. Se valor for DEFAULT ou, de forma equivalente, se for utilizado RESET, a definição específica para o banco de dados é removida, e a definição padrão global do sistema passa a ser herdada nas novas sessões. Deve ser utilizado RESET ALL para remover todas as definições específicas do banco de dados.
Para obter informações adicionais sobre os nomes e valores permitidos para os parâmetros deve ser consultado o comando SET e o Capítulo 17.
O novo nome do banco de dados.
O novo dono do banco de dados.
Também é possível associar o padrão de sessão a um usuário específico, em vez de a um banco de dados; consulte o comando ALTER USER. 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.