Ir para conteúdo
Fórum Script Brasil
  • 0

Replicação de schema


Rodrigo Zeba

Pergunta

Olá,

Trabalho numa empresa de gestão hospitalar e estou desenvolvendo uma alicação para gerenciamento dos hospitais que são nossos clientes. Para uma melhor divisão entre as bases de dados das diferentes unidades atendidas, decidimos criar um schema para cada hospital, replicando o banco onde foi desenvolvida a aplicação em cada schema. Estamos tendo, porém, dificuldades para fazer esta replicação: Se eu faço um backup do schema, não consigo restaurá-lo em outro, porque ele não altera o prefixo das tabelas (as tableas do backup continuam schema1.tabela), e o pgadmin acusa a existência da tabela. Não dá para fazer um backup em plain text e substituir o nm do schema original, pois o artquivo fica absurdamente grande. Existe alguma solução mais prática do que fazer um backup individual das 132 tabelas do sistema e despois restaurá-los um a um?

Grato

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá Rodrigo!

Se você estiver utilizando o PGAdmin, não fica muito difícil....

O negócio é o seguinte:

- Crie um backup em PLAIN com a opção only schema;

- Abre o arquivo de texto e dá um substituir tudo no nome do schema antigo pelo novo;

- Executa as queries de create;

- Agora crie um backup em PLAIN com as opções insert commands e only data;

- Este passo será mais fácil se você estiver no linux.... edite a linha do arquivo de backup que contém a seguinte linha:

"SET search_path = schemaname_antigo, pg_catalog;"

e troque schemaname_antigo pelo seu novo schemaname;

- Execute as queries desse arquivo;

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Gyga

Obrigado pelo retorno.

Eu tinha tentado algo semelhante. Mas ocorre um problema: O arquivo PLAIN gerado fica muito grande, algo em torno de 160mb. Eu uso uma plataforma de desenvolvimento chamada Maker (http://www.softwell.com.br), e essa plataforma armazena toda a estrutura do sistema (apontadores de funções, formulários, etc) no banco, deixando ele grande desta maneira. Eu queria tentar uma solução sem precisar fazer o backup tabela por tabela, gerando um .sql pra cada uma, mas acho que não haverá outro jeito...

Olá Rodrigo!

Se você estiver utilizando o PGAdmin, não fica muito difícil....

O negócio é o seguinte:

- Crie um backup em PLAIN com a opção only schema;

- Abre o arquivo de texto e dá um substituir tudo no nome do schema antigo pelo novo;

- Executa as queries de create;

- Agora crie um backup em PLAIN com as opções insert commands e only data;

- Este passo será mais fácil se você estiver no linux.... edite a linha do arquivo de backup que contém a seguinte linha:

"SET search_path = schemaname_antigo, pg_catalog;"

e troque schemaname_antigo pelo seu novo schemaname;

- Execute as queries desse arquivo;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...