Updating database packages in rolling

I recently updated the packages in my rolling installation only to discover that postgres had been updated to V12. Currently the rpm situation is that the install of the package removes the previous version of the server and then discovers that there is an existing database and refuses to continue. This leaves the install in a broken state with these packages installed
lib64qt5sql5-postgresql-5.14.0-0.beta2.1.x86_64
postgresql-plpython-12.0-1.x86_64
postgresql-docs-12.0-1.x86_64
postgresql-plpgsql-12.0-1.x86_64
postgresql-devel-12.0-1.x86_64
postgresql-plperl-12.0-1.x86_64
postgresql-contrib-12.0-1.x86_64
postgresql-pltcl-12.0-1.x86_64
postgresql-12.0-1.x86_64
postgresql-pl-12.0-1.x86_64

but no server package.
Since rolling has no updates directory this means that one cannot downgrade to the previous version and dump the db . I accept that the 4.0 repo might have the previous version but if rolling gets 2 versions ahead there will be trouble; there is also the potential dependency issue with qt5sql5-postgresql.
There are NO warnings or feedback from dnf that this situation is going to arise.
Much the same issue will apply to MySQL/MariaDB.
As I understand it there is no user feedback mechanism available in dnf so I’m wondering if there is any way we can tap into dnf’s transaction tests so that we can at least refuse to uninstall the the old package unless explicitly told to do so.