I do tend to get attached to the DB of my last project because I discover new cool things. And there are some differences.
But I cannot think of a PostgreSQL project that would not also have worked great in MySQL or a MySQL project that could not have been done with PostgreSQL.
I have re-implemented systems that used non open-opensource DBMS's on Windows and the convenience and performance (on the same hardware) were just amazing when using PostgreSQL or MariaDB.
DELETE FROM jobs WHERE id = (
SELECT id FROM jobs FOR UPDATE SKIP LOCKED
) RETURNING *;
Then just commit the respective transaction on success or rollback on failure. Would this look as simple as that in MySQL?MariaDB 10.5+ supports a RETURNING clause, and 10.6 now has FOR UPDATE SKIP LOCKED. This is quite new though (10.6 went GA a month ago) so there might be some wrinkles.
[1] https://mysqlserverteam.com/mysql-8-0-1-using-skip-locked-an...
Can MySQL do GIS related features like PostGIS? Also IIRC to index JSON in MySQL you need to add generated columns for all the properties/paths you want to index, which can get pretty hairy.
It can[1] for most of the common cases, but it lacks many of the more advanced features PostGIS has.
So if you have a MySQL database up and running, you probably don't have to switch to PostGIS just because you want to add some geospatial data. However if starting a new geospatial project then you should almost certainly choose PostGIS.
[1] https://dev.mysql.com/doc/refman/8.0/en/spatial-types.html
Postgres supports table partitioning perfectly fine[1].
1. https://www.postgresql.org/docs/current/ddl-partitioning.htm...