Translate

segunda-feira, 10 de março de 2014

PostgreSql - mudar o nome de uma tabela

Para renomear uma tabela no PostgreSql utilizamos o seguinte comando:
ALTER TABLE nome_da_tabela RENAME TO novo_nome_da_tabela;
Caso tenha interesse, faça o download do exemplo, veja no GitHub ou assista o vídeo no final do artigo.

1º Exemplo

Vamos alterar o nome da tabela "tb_empregados" para "tb_funcionarios". Veja a imagem da tabela "tb_empregados", a seguir:
Para alterar o nome desta tabela executamos a sentença a seguir:
ALTER TABLE tb_empregados RENAME TO tb_funcionarios ;
Observações

O usuário que vai fazer a alteração do nome da tabela deve ser um super usuário, por exemplo, postgres ou proprietário da tabela. Se o usuário não satisfazer pelo menos uma dessas condições será exibido o seguinte erro:

ERRO: permissão negada para relação nome_da_tabela. (Português)

OU

ERROR: must be owner of relation nome_da_tabela (Inglês).

Este erro indica que o usuário não é proprietário da tabela e não pode alterar o nome dela.

Para corrigir erro deve-se alterar o usuário ou grupo proprietário da tabela, veja o comando a seguir:

Exemplo

ALTER TABLE nome_da_tabela OWNER TO nome_do_usuario;

/*Alterar o usuário*/
ALTER TABLE tb_empregados OWNER TO paulo;

OU

ALTER TABLE nome_da_tabela OWNER TO nome_do_grupo;

/*Alterar do grupo*/
ALTER TABLE tb_empregados OWNER TO rh;



Veja também:

PostgreSql - Mudar o nome de uma coluna

Nenhum comentário:

Postar um comentário