Open Source Relational Database with great standards compliance, lots of extensibility and advanced features. Also check Embrace modern SQL.

Note: Because we at sandstorm do not have too much Postgres operational experience yet, we rated Postgres as TRY instead of adopt.


  • feature packed and standards compliant
  • many advanced data types, like:
    • range (e.g. time range), including constraints like "two ranges are not allowed to overlap"
    • arrays
    • time intervals
    • point (lat/long)
  • advanced extensions directly shipped with core, e.g.
  • quite sophisticated fulltext indexing directly embedded (not as fancy as Elasticsearch, but a lot more sophisticated than e.g. in Mariadb/MySQL!), see this blog post for a good introduction. It is also possible to speed up LIKE searches using trigram indices!
  • many external extensions available, e.g.:
  • to scale out, open source CitusDB can be used (also implemented as postgres extension)
  • advanced features supported, as described on Embrace modern SQL
  • the WAL (Write Ahead Log) can be used for Change Data capture, as described in this blog post: This can be used as something like a "poor-mans Event Log" (not capturing intent, but at least capturing state changes). You can find more about this topic in The Log and Event Sourcing.


  • not good UI (like sequel pro for MariaDB/ MySQL). best I found: pgweb, psql, pgcli
  • most people are "operationally" used to Mariadb / MySQL

Our usage at Sandstorm

  • we install postgresql through homebrew (brew install postgresql; brew services run postgres; createdb)