GARANTIR DESCONTO

Fórum pg_dump x restore = dados alterados (conteúdo) - conteúdo dos registros alterados #378556

29/05/2010

0

Olá pessoal, ocorre um "erro estranho" seguinte vou tentar abreviar.. Em um  cliente as 11:00h faço um backup do bando de dados de um servidor (win2003 server ingles) com o D:/PostgreSQL/8.4/bin\pg_dump.exe --host localhost --port 5432 --username postgres --format custom --blobs --verbose --file "C:\Users\athus\Desktop\admingraTESTE.backup" admingraf (utilizei o próprio PGadmin3), ate ai blz Quando chequei no outro servidor o definitivo agora (win2003 pt), instalei o postgre tudo blz, quando rodei o restore: D:/PostgreSQL/8.4/bin\pg_restore.exe --host localhost --port 5432 --username postgres --dbname admingraf --verbose "C:\Users\athus\Desktop\admingraTESTE.backup" aparentemente tudo OK, de repente o funcionário da loja, logo do CAIXA me informou que os dados  estariam da errados apareceu vendas de funcionário que nem na loja estava, como era as 11:00, só tinha registrado realmente 11 atendimentos na data 27/05/2010 apos o RESTORE apareceram varias vendas no dia 27/05/2010 inclusive no turno 2, onde ainda estávamos no 1, analisando o fato, percebi que as datas foram alteradas as vendas do dia 26/05 foram alteradas para 27/05,  (timestamp with time zone) e foi no banco de dados todo acredito que ele tenha feito o seguinte, alterou desde o inicio da tabela até seu final   ATENÇÃO: tentei copiar a pasta DATA do D:\PostgreSQL\8.4\DATA  para o servidor novo e deu a MESMA falha.   Alguém já passou por isso!!! Ajudem por favor!! Até breve!!! Renato Muniz  
Renato Muniz

Renato Muniz

Responder

Posts

31/05/2010

Jair N.

Só uma pergunta: Por acaso alguma de suas tabelas tem como "chave primária" um campo  "auto imcremento"?

Responder

Gostei + 0

31/05/2010

Renato Muniz

Só uma pergunta: Por acaso alguma de suas tabelas tem como "chave primária" um campo  "auto imcremento"?

  Olá Jair, SIM tenhos varias tabelas com (campo SERIAL e sendo chave primária), inclusive a tabela principal que ocorre este erro tem: segue a estrutura da tabela:   [code] CREATE TABLE heados
(
  id serial NOT NULL,
  data timestamp with time zone,
  usuario integer NOT NULL,
  descontopercent real,
  descontoreal real,
  cliente integer NOT NULL,
  obs text,
  loja integer NOT NULL,
  dataemissao timestamp with time zone,
  usuarioemissao integer,
  emitido character(3),
  dataprova timestamp with time zone,
  datapreventrega timestamp with time zone NOT NULL,
  dataentrega timestamp with time zone,
  turno integer,
  vendedor integer,
  equipto integer,
  acabamento character varying(100),
  dtultimopagto timestamp with time zone,
  CONSTRAINT "idHeados" PRIMARY KEY (id),
  CONSTRAINT "ExtCliente" FOREIGN KEY (cliente)
      REFERENCES clientes (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT "ExtEmrpesa" FOREIGN KEY (loja)
      REFERENCES empresas (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT "ExtUsu" FOREIGN KEY (usuario)
      REFERENCES usuarios (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT "ExtusuEmitiu" FOREIGN KEY (usuarioemissao)
      REFERENCES usuarios (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT extequiphead FOREIGN KEY (equipto)
      REFERENCES equipamentos (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT ntxvendheados FOREIGN KEY (vendedor)
      REFERENCES funcionarios (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITH (
  OIDS=FALSE
);
ALTER TABLE heados OWNER TO postgres; -- Index: "fki_ExtCliente" -- DROP INDEX "fki_ExtCliente"; CREATE INDEX "fki_ExtCliente"
  ON heados
  USING btree
  (cliente); -- Index: "fki_ExtEmrpesa" -- DROP INDEX "fki_ExtEmrpesa"; CREATE INDEX "fki_ExtEmrpesa"
  ON heados
  USING btree
  (loja); -- Index: "fki_ExtUsu" -- DROP INDEX "fki_ExtUsu"; CREATE INDEX "fki_ExtUsu"
  ON heados
  USING btree
  (usuario); -- Index: "fki_ExtusuEmitiu" -- DROP INDEX "fki_ExtusuEmitiu"; CREATE INDEX "fki_ExtusuEmitiu"
  ON heados
  USING btree
  (usuarioemissao); -- Index: fki_extequiphead -- DROP INDEX fki_extequiphead; CREATE INDEX fki_extequiphead
  ON heados
  USING btree
  (equipto); -- Index: fki_ntxvendheados -- DROP INDEX fki_ntxvendheados; CREATE INDEX fki_ntxvendheados
  ON heados
  USING btree
  (vendedor);
[code]   é bronca? Obg deste já! at+  
Responder

Gostei + 0

31/05/2010

Jair N.

Bem a muito tempo aprendi que este tipo de campo se torna um "grande problema" quando retornado via backup, devido a "re-ordenação dos registros". Independetemente de qual seja o banco ele reiniciava a numeração, no MEU caso quando o mesmo se torna chave, e integridade referencial para outras tabelas uma verdadeira "zorra". Em 1980 deixei de usar este tipo como chave para ordenar os ID sendo reestabelecidos com outros indicadores novos. assim meu cadastro de pessoas que ora COMO exemplo nome "José", codigo '001' foi parar No código "025" fazendo com que os relacionados se tornassem inconsistentes.

Responder

Gostei + 0

31/05/2010

Renato Muniz

Bem a muito tempo aprendi que este tipo de campo se torna um "grande problema" quando retornado via backup, devido a "re-ordenação dos registros". Independetemente de qual seja o banco ele reiniciava a numeração, no MEU caso quando o mesmo se torna chave, e integridade referencial para outras tabelas uma verdadeira "zorra". Em 1980 deixei de usar este tipo como chave para ordenar os ID sendo reestabelecidos com outros indicadores novos. assim meu cadastro de pessoas que ora COMO exemplo nome "José", codigo '001' foi parar No código "025" fazendo com que os relacionados se tornassem inconsistentes.

Responder

Gostei + 0

31/05/2010

Renato Muniz

Bem a muito tempo aprendi que este tipo de campo se torna um "grande problema" quando retornado via backup, devido a "re-ordenação dos registros". Independetemente de qual seja o banco ele reiniciava a numeração, no MEU caso quando o mesmo se torna chave, e integridade referencial para outras tabelas uma verdadeira "zorra". Em 1980 deixei de usar este tipo como chave para ordenar os ID sendo reestabelecidos com outros indicadores novos. assim meu cadastro de pessoas que ora COMO exemplo nome "José", codigo '001' foi parar No código "025" fazendo com que os relacionados se tornassem inconsistentes.

E o que você sugere? Vou testar então antes do backup retirar os índices de chave primaria da tabela pra v que dá.
Responder

Gostei + 0

22/08/2010

Renato Muniz

para resolver o problema, fiz um programinha em delphi para copiar todos os dados do banco antigo para o novo assim as datas vinheram corretamente. obrigado a todos!!!
Responder

Gostei + 0

23/08/2010

Renato Muniz

para resolver o problema, fiz um programinha em delphi para copiar todos os dados do banco antigo para o novo assim as datas vinheram corretamente. obrigado a todos!!!
    Como eu mudo o STATUS??? at+  
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar