Comment by allthetime

3 days ago

Postgres is the materially better (more performant and ergonomic) choice if those are your requirements.

IMO the only place Maria wins is in ease of use / ops.

MariaDB's MEMORY engine has annoying limitations like no variable-length columns, no BLOB/TEXT support, and data loss on restart.

Postgres handles this much better… Unlogged tables skip write-ahead logging so they're fast, but still support all data types, full transactions, and B-tree indexes by default. you can point the data directory at a tmpfs RAM disk and get full in-memory speed with zero feature compromises.

> no variable-length columns

Both varchar and varbinary columns work fine there. Blobs are indeed missing.

> data loss on restart

That’s OK, collections in memory do as well yet we use them pretty much everywhere.

> Unlogged tables skip write-ahead logging

I don’t want any disk I/O for my memory tables.

Another thing, aren’t PostgreSQL tables without write-ahead logging cause consistency bugs after restart when normal tables are current due to the logging, unlogged tables are old?