Em 23 de julho de 2010 14:21, Alex Barbosa Ferreira
<[email protected]>escreveu:

> Boa tarde a todos!
>
> hoje pela manhã fiz um backup usando o PGadmin III do meu banco de dados
> e sempre que tento fazer o restore pelo próprio PGadmin em um novo banco de
> dados com as mesmas permissões e nome do backupeado ocorre o seguinte erro
> ao qual não estou sabendo resolver.
>
>

Veja bem se entendi, vc está restaurando um backup sobre o mesmo banco de
dados que vc realizou o backup??? É isso??? Pq o correto é criar uma base de
dados vazia para restaurar um backup...



> pg_restore: ERROR:  duplicate key value violates unique constraint
> "bens_codigo_idx"
> CONTEXT:  COPY bens, line 1: "3392 CONJ.MESAS EM "L" COR
> CINZA  7   01121 NOBRE U N 10011480880 2010-03-17 112739 \N 1  \N \N 0 0...."
> pg_restore: [archiver (db)] error returned by PQendcopy: ERROR:  duplicate
> key value violates unique constraint "bens_codigo_idx"
> CONTEXT:  COPY bens, line 1: "3392 CONJ.MESAS EM "L" COR
> CINZA  7   01121 NOBRE U N 10011480880 2010-03-17 112739 \N 1  \N \N 0 0...."
> pg_restore: *** aborted because of error
> Process returned exit code 1.
>
>
O erro acima ocorre porque ao restaurar o backup foi violada a restrição de
integridade definida por "bens_codigo_idx" e isso é mais do que normal no
caso de vc estar mesmo restaurando o teu backup na base de origem.

O resultado pode ser desastroso se vc tem tabelas sem chave primária porque
nesses casos os registros ficarão repetidos tantas quantas vezes vc executar
o procedimento de restore, a não ser que utilize o parâmetro "-1" do
pg_restore [1] que indica que todo seu processo de restauração será
encapsulado por uma única transação.


[1] http://www.postgresql.org/docs/current/interactive/app-pgrestore.html

-- 
Fabrízio de Royes Mello
>> Blog sobre TI: http://fabriziomello.blogspot.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a