Hi, pg_get_database_ddl() is not checking for databases in an invalid state before producing ddl statements. This caused the function to emit CONNECTION_LIMIT = -2, which is invalid SQL that Postgres rejects. A database row can be in this inconsistent state longer, for example server crashed during a drop database.
Attached patch to fix this issue by doing a database_is_invalid_form() check early in pg_get_database_ddl_internal(). Regards, Lakshmi
0001-Reject-pg_get_database_ddl-for-invalid-databases.patch
Description: Binary data
