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
