Olá, Por padrão os backups são gerados com copy, a menos que você informe o parâmetro -d para usar insert. Até onde sei não tem como fazer com o que o copy não aborte a transação inteira.
[]s 2008/5/29 Álvaro Guimarães <[EMAIL PROTECTED]>: > Meu backup é gerado com pg_dump -Fc que no manual ta falando que é uma > forma comprimida de backup. Então no caso o -Fc tá gerando backups com COPY. > Seria isso né? > E será que tem como fazer com que o COPY não aborte a transação inteira? > > > 2008/5/29 jota. comm <[EMAIL PROTECTED]>: > >> Olá, Álvaro >> >> Uma sessão interativa é uma sessão psql, por exemplo: >> >> Se eu digitar: psql meu_banco eu abro uma sessão interativa para o banco >> meu_banco. >> >> O seu backup é feito com o comando copy? Se for feito com o copy e um erro >> for gerado ele aborta toda a transação, e isso implica que a sua tabela não >> sera carregada. >> >> Espero ter ajudado. >> >> []s >> >> 2008/5/29 Álvaro Guimarães <[EMAIL PROTECTED]>: >> >> Meu problema em usar o pg_restore é o mesmo. >>> Não quero rollback caso retorne erros e pelo que li ele não usa as >>> variáveis do psql. >>> Desculpe minha ignorancia. O que exatamente seria uma sessão interativa? >>> Meu problema é que eu perco os dados de uma tabela inteira no backup >>> porquê se uma instrução gerar um erro o postgresql da rollback nela. O >>> script continua rodando depois disso então o ON_ERROR_STOP não é a solução >>> do meu problema. >>> >>> Muito obrigado pelas respostas imediatas. >>> >>> >>> 2008/5/29 jota. comm <[EMAIL PROTECTED]>: >>> >>>> Olá, Álvaro e Émerson >>>> >>>> Corrigindo a minha resposta: >>>> >>>> Segundo a documentação: >>>> ON_ERROR_ROLLBACK >>>> >>>> When on, if a statement in a transaction block generates an error, the >>>> error is ignored and the transaction continues. When interactive, such >>>> errors are only ignored in interactive sessions, and not when reading >>>> script >>>> files. When off (the default), a statement in a transaction block that >>>> generates an error aborts the entire transaction. The on_error_rollback-on >>>> mode works by issuing an implicit SAVEPOINT for you, just before each >>>> command that is in a transaction block, and rolls back to the savepoint on >>>> error. >>>> Isto significa que os erros são apenas ignorados com ON_ERROR_ROLLBACK >>>> ON em sessões interativas e não quando são lidas de um arquivo de script. >>>> >>>> Neste caso você pode tentar usar o ON_ERROR_STOP, mas como comentei no >>>> e-mail anterior nunca usei com em bloco de transação com BEGIN e COMMIT em >>>> um arquivo de script, então precisaria ser testado. >>>> >>>> Espero ter ajudado. >>>> >>>> []s >>>> >>>> 2008/5/29 jota. comm <[EMAIL PROTECTED]>: >>>> >>>> Olá, >>>>> >>>>> Para recuperar backup binário você precisa usar o pg_restore, com o >>>>> comando psql não é possível. >>>>> >>>>> Nunca usei este parâmetro, existe um parâmetro chamado ON_ERROR_STOP >>>>> que você pode habilitar ON ou OFF, quando ON se um comando gerar um erro >>>>> ele >>>>> aborta o processo, caso OFF ele executará todo o procedimento ignorando os >>>>> erros. Nunca usei com transação então não sei se funcionará, acredito que >>>>> deve ser melhor usar o ON_ERROR_ROLLBACK. >>>>> >>>>> E quanto ao parâmetro ON_ERROR_ROLLBACK para continuar uma transação >>>>> quando um erro é gerado deve estar setado como ON, conforme a >>>>> documentação: >>>>> http://www.postgresql.org/docs/current/static/app-psql.html >>>>> >>>>> Espero ter ajudado. >>>>> >>>>> []s >>>>> >>>>> 2008/5/29 Emerson Casas Salvador <[EMAIL PROTECTED]>: >>>>> >>>>>> Álvaro Guimarães escreveu: >>>>>> >>>>>> Olá lista. >>>>>> >>>>>> Preciso restaurar um backup que está gerando alguns erros. Porém eu >>>>>> preciso que esses erros sejam ignorados e que o rollback *não* seja >>>>>> executado. >>>>>> Estou tentando o seguinte dentro do utilitário psql: >>>>>> >>>>>> banco=# \set ON_ERROR_ROLLBACK on >>>>>> banco=# \i backup.sql >>>>>> >>>>>> Porém o rollback é executado quando erros são encontrados. >>>>>> Versão do postgresql é a *O Sistema Anti-Vírus detectou tentativa de >>>>>> fraude de "8.1.9." * 8.1.9. <http://8.1.9.> >>>>>> Sistema Operacional é o Fedora Core 6. >>>>>> >>>>>> Segundo o man psql isso era pra funcionar. >>>>>> >>>>>> ON_ERROR_ROLLBACK >>>>>>> When on, if a statement in a transaction block >>>>>>> generates an >>>>>>> error, the error is ignored and the transaction >>>>>>> continues. >>>>>>> >>>>>> >>>>>> Outra dúvida aproveitando a mesma mensagem. >>>>>> Há a possibilidade de restaurar backups binários pelo utilitário psql? >>>>>> >>>>>> Agradeço desde já. >>>>>> >>>>>> -- >>>>>> Álvaro Guimarães >>>>>> Santa Bárbara D'Oeste - SP - Brazil >>>>>> >>>>>> Pois é... mas ali vc ta dizendo >>>>>> banco=# \set ON_ERROR_ROLLBACK *on >>>>>> * >>>>>> não seria: >>>>>> banco=# \set ON_ERROR_ROLLBACK *off * >>>>>> ? >>>>>> >>>>>> nunca usei isso, mas testa aí... >>>>>> >>>>>> ------------------------------------------------------------------------------------- >>>>>> >>>>>> Esta mensagem foi verificada pelo sistema de Anti-virus da SJB >>>>>> Solados. >>>>>> >>>>>> _______________________________________________ >>>>>> pgbr-geral mailing list >>>>>> [email protected] >>>>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> João Paulo >>>>> www.dextra.com.br/postgres >>>>> PostgreSQL >>>> >>>> >>>> >>>> >>>> -- >>>> João Paulo >>>> www.dextra.com.br/postgres >>>> PostgreSQL >>>> >>>> _______________________________________________ >>>> pgbr-geral mailing list >>>> [email protected] >>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>>> >>>> >>> >>> >>> -- >>> Álvaro Guimarães >>> Depto. de T.I. >>> Microwork Softwares >>> _______________________________________________ >>> pgbr-geral mailing list >>> [email protected] >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>> >>> >> >> >> -- >> João Paulo >> www.dextra.com.br/postgres >> PostgreSQL >> >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >> > > > -- > Álvaro Guimarães > Depto. de T.I. > Microwork Softwares > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- João Paulo www.dextra.com.br/postgres PostgreSQL
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
