I want to upgrade PostgreSQL database to new version of this database which doesn't support OIDS. Some of the tables was created with WITH OIDS. I think it was by default_with_oids setting. Is there information if table was created WITH OIDS in system schema tables information_schema.* or in system catalog tables pg_* or in other place?
CodePudding user response:
This is stored in pg_class.relhasoids
So to get all tables created with OIDs you can use something like:
select relnamespace::regnamespace::text as table_schema,
relname as table_name
from pg_class
where relhasoids
and relnamespace <> 'pg_catalog'::regnamespace;
