In case of full database restore, you can notice that gp_toolkit schema is broken and have no relations.
testdb=# select * from gp_toolkit.gp_stats_missing; ERROR: relation "gp_toolkit.gp_stats_missing" does not exist LINE 1: select * from gp_toolkit.gp_stats_missing;
This is because the new database has been created using template0 with gpdbrestore/gp_restore utility and the gp_toolkit is already broken on template0 database.
You can notice that from the content gp_cdatabase_1_1* on master backup directory as below:
gpadmin:Fullrack@mdw $ cat gp_cdatabase_1_1_20140314194732 -- -- Database creation -- CREATE DATABASE gpadmin WITH TEMPLATE = template0 ENCODING = 'UTF8' OWNER = gpadmin;
So the new database will encounter the same issue when accessing the relations from this administrative schema.
Reload the schema after taking dump from template1 or postgres database as discussed below:
- Take backup of gp_toolkit from template1 database:
pg_dump -n gp_toolkit template1 > gp_toolkit_backup
- Reload into the new database:
psql -f gp_toolkit_backup testdb
- If the schema has not been created when database was initialized then use the script from $GPHOME.
psql -f $GPHOME/share/postgresql/gp_toolkit.sql
- The issue is resolved in Pivotal Greenplum (GPDB) 4.3.x versions