While looking into one of the pg_upgrade issue, I found it
challenging to find out the database that has the datallowconn set to
'false' that was throwing following error:
"All non-template0 databases must allow connections, i.e. their pg_database.datallowconn must be true"
edb=# create database mydb;
CREATE DATABASE
edb=# update pg_database set datallowconn='false' where datname like 'mydb';
UPDATE 1
Now, when I try to upgrade the server, without the patch we get above
error, which leaves no clue behind about which database has datallowconn
set to 'false'. It can be argued that we can query the pg_database
catalog and find that out easily, but at times it is challenging to get
that from the customer environment. But, anyways I feel we have scope to
improve the error message here per the attached patch.
With attached patch, now I get following error:
"All non-template0 databases must allow connections, i.e. their pg_database.datallowconn must be true; database "mydb" has datallowconn set to false."
Regards,
Jeevan Ladhe