pg_dump x restore = dados alterados (conteúdo) - conteúdo dos registros alterados
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
Curtidas 0
Respostas
Jair N.
29/05/2010
Só uma pergunta: Por acaso alguma de suas tabelas tem como "chave primária" um campo "auto imcremento"?
GOSTEI 0
Renato Muniz
29/05/2010
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+
GOSTEI 0
Jair N.
29/05/2010
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.
GOSTEI 0
Renato Muniz
29/05/2010
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.
GOSTEI 0
Renato Muniz
29/05/2010
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.
GOSTEI 0
Renato Muniz
29/05/2010
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!!!
GOSTEI 0
Renato Muniz
29/05/2010
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+
GOSTEI 0