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

Responder a