Summary:
During pg15 major upgrade we want to block all DDLs, except create and drop of temp tables.
This change adds the capability for pg to inform yb-master when it is performing a DDL that is safe to execute even when catalog modifications are blocked.
New guc `yb_force_catalog_update_on_next_ddl` has also been introduced as a safety mechanism to make the next DDL to run with force catalog update mode. If whitelist of any common safe DDL has been missed, this provides the capability to change the client app and not having to force yet another pg11 minor version upgrade (aka 2024.2.x).
** Upgrade/Downgrade safety: **
This change will be backported to 2024.2.2, and only those versions from that and above are allowed to upgrade to 2025.1
Optional new proto field is only set and not read by any service in 2024.2.2.
Jira: DB-13812
Test Plan: ysql_ddl_whitelist-test
Reviewers: smishra, telgersma, fizaa
Reviewed By: telgersma
Subscribers: ybase, yql
Differential Revision: https://phorge.dev.yugabyte.com/D40593