Eu tenho uma tabela já criada em um esquema que possui colunas a
, b
e c
. Eu quero restringir o(s) usuário(s) de criar novas colunas.
Como fazer isso?
Eu passei pelas páginas do manual sobre GRANT
e REVOKE
, mas no manual é explicado apenas para INSERT
, UPDATE
, SELECT
, etc.
Eu quero de algo como
REVOKE ALTER on Table schemaname.tablename FROM user;
A maneira de evitar a modificação da tabela é alterar a propriedade para uma função diferente. As tabelas podem ser alteradas apenas pelo proprietário e pelos superusuários - portanto, altere a propriedade para um não superusuário. Acho prático manter uma função de propriedade de banco de dados apenas por esse motivo (o que também pode facilitar a vida em outros lugares, como, por exemplo, ao definir privilégios padrão).