Detalhando: > o proprio psql do postgres faz isso > > coloque a seguinte linha no inicio do arquivo > \set ON_ERROR_STOP > > psql dbname < infile > > http://www.postgresql.org/docs/8.3/interactive/backup-dump.html na > sessão 24.1.1. Restoring the dump > > o manual refere-se para restauração de dump, mas tb pode ser utilizado > para o que vc quer fazer
Sim, é mesmo. Alterar o arquivo texto (por mais simples que seja a alteração) é um passo bastante inconveniente, mas não deixa de ser uma opção. Não conhece algo um pouco mais amigável, com botões e cliques? Outra coisa: tem como o arquvo de saída conter APENAS os comandos que deram erro e as respectivas mensagens? Isso ajudaria bastante a melhorar o desepmenho e reduzir o volume de lixo que seria inevitavelmente jogado fora. > E da onde vem esse monte de scripts?estão em arquivo texto, ou algum > programa gera isso p/ vc? Tenho um programa que gera INSERTs e UPDATEs para cada registro de certas tabelas, e às vezes essas tabelas são bem grandes. Isso serve por exemplo para garantir que um certo conjunto de tabelas tenha exatamente os registros que eu quero, independente dos registros existentes (que o usuário pode criar sem eu me importar com eles). Mesmo que eu quisesse puramente garantir uma cópia da minha base, não posso simplesmente dar um TRUNCATE seguido de um monte de INSERTs porque essas tabelas são de consulta e têm inúmeras referências de outras tabelas. Remover e recriar *todas* essas chaves estrangeiras daria um trabalho monstruoso, levaria uma eternidade para reconstruir os índices, enquanto que comandos de INSERT e UPDATE podem ser feitos com a base no ar, aos poucos conforme a carga do servidor. Outra coisa que uso para gerar scripts enormes são meta-scripts (SELECTs que geram como saída texto de comandos SQL) para geração de índices e eventuais rotinas auxiliares. Os scripts de criação de bases vazias (para testes internos e novos clientes) também são bem grandes. Sugestões? Mozart Hasse _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
