pg_upgrade (Checking for reg* data types)
Hi All,
I am trying to upgrade Postgresql 11.5 to 12 RC1, OS Centos 6. Running
pg_upgrade with --check it fails with "Checking for reg* data types in user
tables" The table listed are: pg_ts_dict,pg_ts_parser. Trying to drop the
tables I get msg " permission denied: "pg_ts_dict" is a system catalog" I
also for same reason can not remove the oids "ALTER TABLE pg_ts_parser set
without oids;"
From pg_catalog.pg_extension the following are listed:
plpgsql,pg_stat_statements,tablefunc. So the Text search extension is not
in use.
This database was upgrade since Postgresql 8.3 by using "pg_dumpall -p 5432
| psql -d postgres -p 5433" and not pg_upgrade.
Regards
Gerrit Fouche
On Mon, Sep 30, 2019 at 11:15:47AM +0200, Gerrit Fouche wrote:
Hi All,
I am trying to upgrade Postgresql 11.5 to 12 RC1, OS Centos 6. Running
pg_upgrade with --check it fails with "Checking for reg* data types in user
tables" The table listed are:�pg_ts_dict,pg_ts_parser. Trying to drop the
tables I get msg "�permission denied: "pg_ts_dict" is a system catalog" I also
for same reason can not remove the oids "ALTER TABLE pg_ts_parser set without
oids;"From�pg_catalog.pg_extension the following are listed:
plpgsql,pg_stat_statements,tablefunc. So the Text search extension is not in
use.This database was upgrade since Postgresql 8.3 by using "pg_dumpall -p 5432 |
psql -d postgres -p 5433" and not pg_upgrade.
Wow, 8.3 --- that is old. Please do psql \d on those two tables and
show us the output. System tables are created by pg_upgrade as fresh,
not copied from the old cluster, so I am confused how you have reg*
entries in there.
Also, I wonder if there are pg_ts_dict and pg_ts_parser tables that are
not in pg_catalog, but in some other schema, and those are what is
complaining about. (The pg_upgrade query specifically skips checking
pg_catalog tables.)
I think maybe pg_upgrade should always output the schema name for such
objects --- I think someone propsed a patch for that recently.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +
On Mon, Sep 30, 2019 at 11:15:47AM +0200, Gerrit Fouche wrote:
Hi All,
I am trying to upgrade Postgresql 11.5 to 12 RC1, OS Centos 6. Running
pg_upgrade with --check it fails with "Checking for reg* data types in user
tables" The table listed are:�pg_ts_dict,pg_ts_parser. Trying to drop the
tables I get msg "�permission denied: "pg_ts_dict" is a system catalog" I also
for same reason can not remove the oids "ALTER TABLE pg_ts_parser set without
oids;"
PG 12 outputs the schema.table.column names, separated by dots. I need
to see the exact error output. This is the check query:
"SELECT n.nspname, c.relname, a.attname "
"FROM pg_catalog.pg_class c, "
" pg_catalog.pg_namespace n, "
" pg_catalog.pg_attribute a, "
" pg_catalog.pg_type t "
"WHERE c.oid = a.attrelid AND "
" NOT a.attisdropped AND "
" a.atttypid = t.oid AND "
" t.typnamespace = "
" (SELECT oid FROM pg_namespace "
" WHERE nspname = 'pg_catalog') AND"
" t.typname IN ( "
/* regclass.oid is preserved, so 'regclass' is OK */
" 'regconfig', "
" 'regdictionary', "
" 'regnamespace', "
" 'regoper', "
" 'regoperator', "
" 'regproc', "
" 'regprocedure' "
/* regrole.oid is preserved, so 'regrole' is OK */
/* regtype.oid is preserved, so 'regtype' is OK */
" ) AND "
" c.relnamespace = n.oid AND "
" n.nspname NOT IN ('pg_catalog', 'information_schema')");
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +
Thank you very much.
On Mon, Sep 30, 2019 at 10:33 PM Bruce Momjian <bruce@momjian.us> wrote:
Show quoted text
On Mon, Sep 30, 2019 at 11:15:47AM +0200, Gerrit Fouche wrote:
Hi All,
I am trying to upgrade Postgresql 11.5 to 12 RC1, OS Centos 6. Running
pg_upgrade with --check it fails with "Checking for reg* data types inuser
tables" The table listed are: pg_ts_dict,pg_ts_parser. Trying to drop the
tables I get msg " permission denied: "pg_ts_dict" is a system catalog"I also
for same reason can not remove the oids "ALTER TABLE pg_ts_parser set
without
oids;"
PG 12 outputs the schema.table.column names, separated by dots. I need
to see the exact error output. This is the check query:"SELECT n.nspname, c.relname, a.attname "
"FROM pg_catalog.pg_class c, "
" pg_catalog.pg_namespace n, "
" pg_catalog.pg_attribute a, "
" pg_catalog.pg_type t "
"WHERE c.oid = a.attrelid AND "
" NOT a.attisdropped AND "
" a.atttypid = t.oid AND "
" t.typnamespace = "
" (SELECT oid FROM pg_namespace "
" WHERE nspname = 'pg_catalog')
AND"
" t.typname IN ( "
/* regclass.oid is preserved, so 'regclass' is OK */
" 'regconfig', "
" 'regdictionary', "
" 'regnamespace', "
" 'regoper', "
" 'regoperator', "
" 'regproc', "
" 'regprocedure' "
/* regrole.oid is preserved, so 'regrole' is OK */
/* regtype.oid is preserved, so 'regtype' is OK */
" ) AND "
" c.relnamespace = n.oid AND "
" n.nspname NOT IN ('pg_catalog',
'information_schema')");--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com+ As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription +