pg_upgrade fails to restore function

Started by Roger Sunnyabout 8 years ago3 messagesgeneral
Jump to latest
#1Roger Sunny
947035276@qq.com

Hi All

During the pg_upgrade from PostgreSQL 9.4 to PostgreSQL 10.0, the error”[archiver (db)] Error while PROCESSING TOC:” happened, The upgrade failed. OS is RHEL 6.5 , The error is as below:
<pg_upgrade log>pg_restore: connecting to database for restorepg_restore: creating pg_largeobject "pg_largeobject"pg_restore: creating pg_largeobject_metadata "pg_largeobject_metadata"pg_restore: creating SCHEMA "bo_user0300"pg_restore: creating SCHEMA "d0007359_bex2018"pg_restore: creating SCHEMA "d0007359_dan2014" ---- omit ---------- omit ---------- omit ------
pg_restore: creating PROCEDURE "zchuo_ult18.kp_delkakeihyo(character)"

pg_restore: creating FOREIGN DATA WRAPPER "dblink_fdw"

pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 470023; 2328 777028 FOREIGN DATA WRAPPER dblink_fdw postgrespg_restore: [archiver (db)] could not execute query: ERROR: function dblink_fdw_validator(text[], oid) does not exist
Command was: CREATE FOREIGN DATA WRAPPER "dblink_fdw" VALIDATOR "dblink_fdw_validator";

-- For binary upgrade, handle extension membership the hard way

ALTER EXTENSION "dblink" ADD FOREIGN DATA WRAPPER "dblink_fdw";
Please help to let me know how to address this error?
I appreciate your quick response. Thank you!

Regards,
Roger

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Roger Sunny (#1)
Re: pg_upgrade fails to restore function

"=?gb18030?B?Um9nZXIgU3Vubnk=?=" <947035276@qq.com> writes:

During the pg_upgrade from PostgreSQL 9.4 to PostgreSQL 10.0, the error¡±[archiver (db)] Error while PROCESSING TOC:¡± happened, The upgrade failed. OS is RHEL 6.5 , The error is as below:
<pg_upgrade log>pg_restore: connecting to database for restorepg_restore: creating pg_largeobject "pg_largeobject"pg_restore: creating pg_largeobject_metadata "pg_largeobject_metadata"pg_restore: creating SCHEMA "bo_user0300"pg_restore: creating SCHEMA "d0007359_bex2018"pg_restore: creating SCHEMA "d0007359_dan2014" ---- omit ---------- omit ---------- omit ------
pg_restore: creating PROCEDURE "zchuo_ult18.kp_delkakeihyo(character)"

pg_restore: creating FOREIGN DATA WRAPPER "dblink_fdw"

pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 470023; 2328 777028 FOREIGN DATA WRAPPER dblink_fdw postgrespg_restore: [archiver (db)] could not execute query: ERROR: function dblink_fdw_validator(text[], oid) does not exist
Command was: CREATE FOREIGN DATA WRAPPER "dblink_fdw" VALIDATOR "dblink_fdw_validator";

Is that really the first error, or did you "omit" some? What it
looks like is that dblink_fdw_validator had previously failed to
be created, probably because you don't have dblink.so installed
in the destination database. Or maybe it's not the right version
of dblink.so.

regards, tom lane

#3Roger Sunny
947035276@qq.com
In reply to: Tom Lane (#2)
回复: pg_upgrade fails to restore function

HI Tom

Thank you very much for your help. This issue has been solved.

Regards,
Henry

------------------ 原始邮件 ------------------
发件人: "Tom Lane"<tgl@sss.pgh.pa.us>;
发送时间: 2018年3月3日(星期六) 晚上11:30
收件人: "Roger Sunny"<947035276@qq.com>;
抄送: "pgsql-general"<pgsql-general@lists.postgresql.org>;
主题: Re: pg_upgrade fails to restore function

"=?gb18030?B?Um9nZXIgU3Vubnk=?=" <947035276@qq.com> writes:

During the pg_upgrade from PostgreSQL 9.4 to PostgreSQL 10.0, the error¡±[archiver (db)] Error while PROCESSING TOC:¡± happened, The upgrade failed. OS is RHEL 6.5 , The error is as below:
<pg_upgrade log>pg_restore: connecting to database for restorepg_restore: creating pg_largeobject "pg_largeobject"pg_restore: creating pg_largeobject_metadata "pg_largeobject_metadata"pg_restore: creating SCHEMA "bo_user0300"pg_restore: creating SCHEMA "d0007359_bex2018"pg_restore: creating SCHEMA "d0007359_dan2014" ---- omit ---------- omit ---------- omit ------
pg_restore: creating PROCEDURE "zchuo_ult18.kp_delkakeihyo(character)"

pg_restore: creating FOREIGN DATA WRAPPER "dblink_fdw"

pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 470023; 2328 777028 FOREIGN DATA WRAPPER dblink_fdw postgrespg_restore: [archiver (db)] could not execute query: ERROR: function dblink_fdw_validator(text[], oid) does not exist
Command was: CREATE FOREIGN DATA WRAPPER "dblink_fdw" VALIDATOR "dblink_fdw_validator";

Is that really the first error, or did you "omit" some? What it
looks like is that dblink_fdw_validator had previously failed to
be created, probably because you don't have dblink.so installed
in the destination database. Or maybe it's not the right version
of dblink.so.

regards, tom lane