Adam Hooper
1 min readNov 8, 2017


Bah, don’t mind me — I’m just being opinionated :).

In some only slightly-informed recesses of my mind, I will always think of MariaDB as … off. I’m betting MariaDB still auto-casts between integer and character values, treats "s" as a string value and auto-infers GROUP BY arguments. That makes MariaDB-compatible SQL incompatible with other SQL servers. (Why is that bad? Because it means you can’t even shop around to see which SQL server is best for you.) And MariaDB often doesn’t tell you about your SQL errors: it just calculates something else instead, which you then take to be true…. Oh, and does MySQL let you ROLLBACK schema changes yet?

Apparently some of these oddities are options now. But the defaults are still wrong.

There are three learning curves when switching from MySQL to Postgres:

  1. You need to learn how to use your client (e.g., \d instead of SHOW TABLES).
  2. You need to learn how to fix any errors you’ve made if you’ve been hand-writing SQL.
  3. You need to learn how to administer your system: installation, backups and so on.

Mostly, you just need to tame your muscle memory. If you’re starting a new project, you won’t regret trying Postgres.

(I often switch back to MariaDB just to see whether my opinion of it changes. It never does.)