timescale / timescaledb

An open-source time-series SQL database optimized for fast ingest and complex queries. Packaged as a PostgreSQL extension.
https://www.timescale.com/
Other
17.61k stars 883 forks source link

Using `regprocedure` blocks `pg_upgrade` from doing a major PostgreSQL upgrade #6935

Closed feikesteenbergen closed 4 months ago

feikesteenbergen commented 4 months ago

https://github.com/timescale/timescaledb/blob/f7255f02023a8a8cf200792a30ae3b3d35d3f055/sql/pre_install/tables.sql#L354

In the docs:

pg_upgrade does not support upgrading of databases containing table columns using these reg* OID-referencing system data types:

regcollation regconfig regdictionary regnamespace regoper regoperator regproc regprocedure

(regclass, regrole, and regtype can be upgraded.)

https://www.postgresql.org/docs/current/pgupgrade.html

This in turn causes major upgrades to fail with this error message:

Checking for reg* data types in user tables                   fatal
Your installation contains one of the reg* data types in user tables.
These data types reference system OIDs that are not preserved by
pg_upgrade, so this cluster cannot currently be upgraded.  You can
drop the problem columns and restart the upgrade.
A list of the problem columns is in the file:
/home/postgres/pgdata/data.16/pg_upgrade_output.d/20240518T141654.340/tables_using_reg.txt