如何解决pg_restore挂起

时间:2014-11-17 22:00:30

标签: postgresql

应用程序使用命令

创建Postgres备份文件
pg_dump mydb  -ib -Z3 -f mybackup.backup -Fc -h localhost -T firma*.attachme -T firma*.artpilt

在Windows 8 x64中的Postgres 9.3中

在Windows 7 x64中的Postgres 9.3中创建空数据库并使用pgadmin从此文件恢复 永远奔跑。 pg_restore的CPU使用率为0%。 postgres日志文件不包含正常日志级别的任何信息。

备份文件通过网络传输。它的标题以PGDMP开头,启动时有很多create命令。它的大小是24MB所以恢复可能需要很长时间。 还原到服务器所在的同一台计算机。

如何从备份恢复?如何检查.backup文件的完整性? 我尝试使用7-zip测试选项进行测试,但是7-zip写道它无法打开文件。

更新

select * from pg_stat activity 

显示pg_restore进程的数量(恢复时指定了8个作业,因为cpu有8个核心),从10:51开始备份时开始。他们都有空闲状态,开始时间不会改变。 多次运行此查询不会更改结果。

930409;"betoontest";8916;10;"postgres";"pg_restore";"::1";"";49755;"2014-11-18 10:51:39.262+02";"";"2014-11-18 10:51:42.064+02";"2014-11-18 10:51:42.094+02";f;"idle";"CREATE INDEX makse_dokumnr_idx ON makse USING btree (dokumnr);


"
930409;"betoontest";9640;10;"postgres";"pg_restore";"::1";"";49760;"2014-11-18 10:51:39.272+02";"";"2014-11-18 10:51:39.662+02";"2014-11-18 10:51:42.044+02";f;"idle in transaction (aborted)";"COPY rid (id, reanr, dokumnr, nimetus, hind, kogus, toode, partii, myygikood, hinnak, kaubasumma, yhik, kulukonto, kuluobjekt, rid2obj, reakuupaev, kogpak, kulum, baasostu, ostuale, rid3obj, rid4obj, rid5obj, rid6obj, rid7obj, rid8obj, rid9obj, kaskogus, a (...)"
930409;"betoontest";8176;10;"postgres";"pg_restore";"::1";"";49761;"2014-11-18 10:51:39.272+02";"";"2014-11-18 10:51:42.064+02";"2014-11-18 10:51:42.094+02";f;"idle";"CREATE INDEX attachme_idmailbox_idx ON attachme USING btree (idmailbox);

"
930409;"betoontest";8108;10;"postgres";"pg_restore";"::1";"";49765;"2014-11-18 10:51:39.272+02";"";"2014-11-18 10:51:42.064+02";"2014-11-18 10:51:42.094+02";f;"idle";"CREATE INDEX makse_kuupaev_kellaeg_idx ON makse USING btree (kuupaev, kellaaeg);


"
930409;"betoontest";8956;10;"postgres";"pg_restore";"::1";"";49764;"2014-11-18 10:51:39.282+02";"";"2014-11-18 10:51:42.074+02";"2014-11-18 10:51:42.094+02";f;"idle";"CREATE INDEX makse_varadokumn_idx ON makse USING btree (varadokumn);


"
930409;"betoontest";11780;10;"postgres";"pg_restore";"::1";"";49763;"2014-11-18 10:51:39.292+02";"";"2014-11-18 10:51:42.064+02";"2014-11-18 10:51:42.094+02";f;"idle";"ALTER TABLE ONLY mitteakt
    ADD CONSTRAINT mitteakt_pkey PRIMARY KEY (klient, toode);


"
930409;"betoontest";4680;10;"postgres";"pg_restore";"::1";"";49762;"2014-11-18 10:51:39.292+02";"";"2014-11-18 10:51:42.064+02";"2014-11-18 10:51:42.094+02";f;"idle";"ALTER TABLE ONLY mailbox
    ADD CONSTRAINT mailbox_pkey PRIMARY KEY (guid);


"
930409;"betoontest";5476;10;"postgres";"pg_restore";"::1";"";49766;"2014-11-18 10:51:39.332+02";"";"2014-11-18 10:51:42.064+02";"2014-11-18 10:51:42.094+02";f;"idle";"CREATE INDEX makse_kuupaev_idx ON makse USING btree (kuupaev);

部分恢复数据。也许文件被截断,postgres或pg_restore永远等待数据。如何防止这种挂断?

0 个答案:

没有答案