Summary:
== MultipleDatabases ==
Modified the existing `MultipleDatabases` test. That test previously:
* Created a new DB
* Created a table in system_platform, yugabyte, and the new DB
* inserted a row into the table at each stage of the upgrade
* asserted the expected rows at each stage of the upgrade.
Now, instead of a simple user owned DB, this test creates a few databases.
* with config values set (temp_file_limit)
* with a different owner set
* with connection limits
We can't test databases created with a tablespace or new template databases, because Yugabyte does not support creating those yet.
For each of these new databases, we use the original idea of inserting and validating rows at every step of the upgrade, but do it programmatically rather than writing out expected vectors for 6 different databases.
Also, at each step of the upgrade, validate that the databases still have the properties that we defined on them initially.
NOTE: The `ALTER DATABASE...` commands increment the catalog version, and we currently do not support upgrading with an incremented catalog version (tracked by #24597). For now, precede each alter command with `SET yb_make_next_ddl_statement_nonincrementing = true`.
== DatabaseWithDisallowedConnections ==
We support creating databases that disallow connections, but ysql_upgrade fails (understandably) when it encounters one. Put that in a seperate test to cover the failure case.
Jira: DB-13770
Test Plan:
```
./yb_build.sh release --cxx-test pg15_upgrade-test --gtest_filter Pg15UpgradeTest.MultipleDatabases -n 40
./yb_build.sh release --cxx-test pg15_upgrade-test --gtest_filter Pg15UpgradeTest.DatabaseWithDisallowedConnections -n 40
```
Reviewers: fizaa, hsunder, tfoucher
Reviewed By: hsunder
Subscribers: yql
Differential Revision: https://phorge.dev.yugabyte.com/D39513