← all glossary terms

Postgres vs MySQL

Both are mature open-source SQL databases; Postgres has richer types and stricter SQL, MySQL has a slightly simpler operational story.

PostgreSQL and MySQL (now also forked as MariaDB) are the two dominant open-source relational databases. PostgreSQL favors correctness and feature richness — strict SQL standard compliance, a deep type system (JSONB, arrays, ranges, full-text search, PostGIS for geo), MVCC concurrency, and partial / expression / GIN indexes. MySQL favors operational simplicity and historically faster simple read paths; it is the default in most LAMP-stack tutorials and many off-the-shelf web applications. Both ship under permissive open-source licenses (PostgreSQL License and GPLv2 respectively) and run comfortably on a small VPS.

In a self-hosting context

Most self-hostable SaaS replacements in this directory ship with Postgres as the default — Mattermost, Nextcloud, Gitea, Plausible Analytics, Sentry (self-hosted), Metabase, NocoDB — usually because they need JSONB, full-text search, or other Postgres-specific features. A handful of legacy WordPress-style apps still expect MySQL. When you have a free choice, Postgres is the lower-regret default for new self-host deployments.

All 30 terms