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

Responder a