For any who find this - the issue appears to have been some permissions issue in the postgres database.
To get there, this is the process I used:
- I took an image-based backup of the VM, and took a PostgreSQL dump of the existing (non-functional) database.
- Completely remove all Openvas and PostgreSQL related services from the OS
- Re-installed Openvas to get a good/clean install. I confirmed that everything was working at this point.
- I created a 2nd database (gvmd2, just to keep things separated), and then restored the PostgreSQL database from the dump that I took in Step 1
- Having these two side-by-side I was able to compare them - this made it VERY clear that some essential components were owned by the wrong user.
- I went through all tables, relations, functions, and on and on and made sure everything that should be owned by
_gvmwas correctly owned by that user.
Once I was confident that I had the ownership all correct, I shut down gvmd.service and gsad.service services, and then renamed the gvmd database to gvmd_clean and then renamed gvmd2 to gvmd.
I rebooted for good measure, ran gvm-check-setup which finally fully passed without complaining at all about permissions! And then ran greenbone-feed-sync, and then finally logged in to the web interface.
Everything appears to be working normally now, but I’ll know more once this scan completes.