Bom Dia, Estou fazendo implementações de Backup E restauração.
Mas Percebi que após restaurar , ao tentar incluir um registro ele Barra no erro:
Duplicar o valor da chave Viola a restrição de unicidade...
Achei estranho e fui verificar PGAdmin.
Tinha apenas 3 registros na tabela, com o ID(pk) na sequencia 75,76,77…
Mas ao tentar incluir ele tenta jogar no ID 75, e não no 78 como deveria ser…
Acho que para resolver isso tenho que atualizar minha sequencia… Como Faço isso?
Mas um restore deveria copiar a sequência também. :roll:
S
samuk1
Boa tarde… Muito estranho mesmo… Tanto que antes de fazer o restore eu Mando apagar as Tabelas e As Sequencias Atuais.
Sobre o Setval, eu já havia lido a documentação sobre ele, mas como vou saber em qual id colocar?
Vou ter que dar um select e verificar o ultimo número toda vez? ou Tem algo mas simples?
W
wagnerfrancisco
samuk:
Boa tarde… Muito estranho mesmo… Tanto que antes de fazer o restore eu Mando apagar as Tabelas e As Sequencias Atuais.
Sobre o Setval, eu já havia lido a documentação sobre ele, mas como vou saber em qual id colocar?
Vou ter que dar um select e verificar o ultimo número toda vez? ou Tem algo mas simples?
Pois é, se o backup não recupera o valor da sequência teria que fazer isso em todo backup. =S
Mas tem algo de errado com ele. Você tá fazendo o backup pelo pgAdmin? Ele tem umas opções lá na hora de tirar o backup, dá uma olhada pra ver se não tem algo relacionado.
Eu costumo fazer pelo terminal, um simples pg_dump, funciona muito bem.
S
samuk1
Criei Uma Classe Que faz isso:
De uma Olhada se é algo de errado Por Favor!
Amigo, acho que estou com a mesma dúvida que você. Quando vou fazer o restore, me retorna vários erros como este:
pg_restore: criando FK CONSTRAINT solicitacao_emp_cod_fkey
pg_restore: [arquivador (bd)] Erro no registro do TOC 1963; 2606 24640 FK CONSTRAINT solicitacao_emp_cod_fkey postgres
pg_restore: [arquivador (bd)] could not execute query: ERRO: restrição “solicitacao_emp_cod_fkey” para relação “licenca” já existe
Comando foi: ALTER TABLE ONLY licenca
ADD CONSTRAINT solicitacao_emp_cod_fkey FOREIGN KEY (emp_cod) REFERENCES empresa(emp_cod);
AVISO: erros ignorados durante restauração: 27
pelo que entendi, ele está tentando gravar por cima da base já criada.
Eu devo excluir a base que está rodando para depois substituir?
O que devo fazer? Valeu!