> > > 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
