pg_upgrade fails to restore function

2018-03-03 Thread Roger Sunny
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_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

Re: pg_upgrade fails to restore function

2018-03-03 Thread Tom Lane
"=?gb18030?B?Um9nZXIgU3Vubnk=?=" <947035...@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_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