>
>
>     Trabalho em uma empresa que realiza o desenvolvimento de sistemas, e
> utilizamos o SGBD PostgreSQL, na versão 8.3.23. Este sistema é desenvolvido
> em Java.
>     Comumente necessitamos fazer testes com a base de dados do cliente, em
> um ambiente interno. Isso significa que realizamos um dump da database do
> cliente e em seguida restauramos esse backup em uma máquina da empresa -
> não é um procedimento muito ortodoxo, reconheço.
>
>     Este sistema em Java possuí rotinas para execução automática de alguns
> processos (quartz do Java).
>     Existe um cadastro e um controle de agenda, horário, data de última
> execução, periodicidade, processo ativo/inativo, etc, sobre cada processo
> automático do sistema.
>     Muitos desses processos automáticos são envios de emails à clientes,
> envio de SMS, e caso executados de forma incorreta acabam afetando
> diretamente o cliente final - algo crítico a ser considerado.
>
>     Com base neste cenário relato agora o problema em si: quando eu
> restauro o backup de um cliente na minha máquina, o cadastro de processos
> automáticos está idêntico ao da base de produção do cliente, e isto
> significa que a aplicação Java irá executar todos os processos que estão
> marcados como ativo no cadastro, o que pode gerar problemas e afetar
> clientes, caso quem efetue a restauração deste backup não se lembre de
> fazer um update na tabela processos_automaticos, inativando todos os
> processos.
>
>     Um dos desenvolvedores me sugeriu algo - que eu sinceramente penso não
> ser possível.
>     Alterar os dados da tabela do cadastro dos processos automáticos, no
> momento de realizar o backup.
>     Exemplo: 3 tabelas (usuario, produtos, processos_automaticos); Dump da
> tabela usuario; Dump da tabela produtos; Update da tabela
> processos_automaticos; Dump da tabela processos_automáticos; Update da
> tabela processos_automaticos para voltar aos dados originais - caso não
> esteja bem claro, me avisem que tento relatar de outra forma.
>
>     Uma das tentativas que eu fiz foi fazer um dump com a opção
> --exclude-table=processos_automaticos, em seguida fazer um update na tabela
> processos_automaticos, e depois fazer um dump com a opção
> --table=processos_automaticos informando o mesmo file de saída. Porém esse
> procedimento apenas sobrescreve o primeiro conteúdo do arquivo.
>
>
>
O UPDATE do no final do dump como o Flavio sugeriu é uma boa,  ou você pode
continuar utilizando o -T no dump como você já faz e colocar o CREATE TABLE
no final do arquivo.

Vejo que seu problema é mais com o procedimento interno, o medo de algo que
você possa esquecer ou outra pessoa vá lá e faça e acabe dando mer$#, pra
esse tipo de coisa você pode
criar um shell script que automatize tudo para você.

Att Glauco Torres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a