quarta-feira, 18 de fevereiro de 2015

Alterar Schema de Tabela no PostgreSQL

código sql de criação de tabela
Em sua configuração original, quando criamos uma tabela (ou qualquer outro objeto) no PostgreSQL sem especificar o schema que ela deve ficar, automaticamente o PG irá cria-lá no schema public.

Caso você necessite alterar o schema de suas tabelas, você pode realizar um alter table, através da seguinte instrução SQL:

 ALTER TABLE SCHEMA.SUA_TABELA SET SCHEMA NOME_SCHEMA_DESTINO;  

No exemplo, aponto o schema qual a tabela esta atualmente, desta forma posso estar conectado a qualquer schema dentro do mesmo banco de dados que conseguirei realizar a mudança.

Ficou com alguma dúvida? Posta ela nos comentários, ou veja se ela já não esta respondida:


Perguntas Frequentes


Ao mover a tabela, os índices e triggers também são movidos?
Somente os índices são movidos, os triggers não. Neste caso, você pode cria-los no novo schema e, posteriormente dropa-los no schema anterior.

Ao mover uma tabela que contém relação com outra no schema origem, como fica a foreign key?
O PostgreSQL interpreta a ação e, aponta a foreign key para o schema onde esta a tabela relacionada, mas recomendo ter prudência quando existir relação na tabela a ser alterada.

Tem como mudar o schema padrão de public para outro qualquer?
Sim, você terá que alterar a variável search_path, veja como fazer isto aqui.

Nenhum comentário:

Postar um comentário