I spent the day researching and evaluating open source database solutions, and decided to upgrade from debian 9 to 10 again.
The biggest ooen source database communities are mysql and postgresql. I started out with mysql, and I chose the guaranteed free and open source mariadb variant. Mysql has a few good looking php generator tools to generate interfaces to gather and show the data to the users and has an admin tool called mysql workbench. I verified from the mariadb documentation that mariadb databases can be administered with mysql workbench and proceeded to install a mariadb server and mysql workbench. I set up a test database and got mysql workbench to connect to it, but there were many warnings. I went to set up a table in the database with mysql workbench and it kept throwing syntax errors in the autogenerated sql code. I couldn’t get it to stop without going in and editing the autogenerated code. That’s not what I’m looking for in a good database tool, and after I imagined having to do the same editing with every auto generated php interface file, I decided to give postgre a try. I suspect the issue has to do with mariadb and mysql compatibility, but I’d want to use mariadb rather than straight mysql.
Postgre is free and open source, and there is a free and opensource admin program called pgadmin. There are also php generator tools on the market to build interfaces, just as with mysql. So I purged all traces of mysql from my system and set up postgresql and pgadmin4. There was a problem with setting up the postgresql server, though an understandable one. Postgre doesn’t allow a user named “user.” I, of course, happened to be running a system in which the only non-root user is named “user.” And it happens that pgadmin has to be run in a browser, and for security reasons, firefox doesn’t permit being run as root. So I set up a new user with an actual name, migrated everything over, and finally deleted “user.” After setting up the new user, I get postgresql working and pgadmin4 working as well. I set up a test database, and used the admin tool to create test tables and there were no syntax problems. Easy. At least, it would have been if not for my ironic choice of user names.
Having replaced my user profile, and having noticed during software research that debian buster had been released as stable, I decided to go ahead and run the dist-upgrade. I’d actually had buster installed earlier in the year but I had reverted to stretch in an ultimately futile attempt to get monodevelop installed (a problem eventually solved with a windows virtual machine). It was a smooth upgrade with minimal complications. I mostly just had to go through the apt sources.list and sources.list.d and replace stretch with buster and 9 with 10, the one complication was having to replace a 9.0 with just a 10 rather than a 10.0.