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