On 01.01.26 14:43, Jeevan Chalke wrote:
> Thanks for the feedback, Matthias; I agree with your assessment.
> Currently, Postgres lacks a native mechanism for tracking dependencies
> between a table and the specific rows of another table. While certain
> extensions like PostGIS introduce these patterns, they remain non-
> standard edge cases.
>
> Implementing a fix in the core backend seems like overkill for this
> scenario. Since the failure is specific to the upgrade path, targeting |
> pg_dump| and |pg_upgrade| is a significantly less invasive approach.
> Notably, this patch triggers an immediate dump of the referenced table
> data -- an unconventional behavior that is better handled in the client
> binaries than in the backend. Consequently, this approach would require
> new options for these binaries to explicitly inject those dependency
> details.
How about this: postgis should define its table spatial_ref_sys as
user_catalog_table, and we change pg_dump to dump the contents of user
catalog tables before other DDL.
There is still some work to do here, but at least this sounds like a
more principled approach.