Data Engineering7 min read27 April 2026

Supabase vs. Raw PostgreSQL vs. MySQL: Which Database for Your Automation Stack?

A comparison of the three most common database choices for small-to-mid-size automation stacks — when each wins, and the real trade-offs.

H

Haroon Mohamed

AI Automation & Lead Generation

When you need a database for automation

Most automation work runs on CRMs. But sometimes you need more:

  • Custom data the CRM can't hold well
  • High-volume logs or events
  • Cross-CRM sync with a source-of-truth
  • Analytics and reporting beyond CRM dashboards
  • Multi-tenant data for SaaS-like offerings

That's when you reach for a real database. The three common choices for small/mid operations: Supabase, raw PostgreSQL (self-hosted or on a managed provider), and MySQL.


TL;DR

  • Supabase: Managed Postgres + REST API + auth + real-time. Start here if you want productivity over control.
  • Raw PostgreSQL: Self-hosted or on AWS RDS/DigitalOcean. Choose when you need full control or your stack already uses Postgres.
  • MySQL: Legacy-friendly, widely hosted cheaply. Pick when an integration requires it or when cPanel hosting is your only option.

For most automation stacks, Supabase wins on speed-to-productive.


Supabase deep dive

What it is

A managed PostgreSQL platform with layers on top: auto-generated REST + GraphQL API, auth (email/password, OAuth, magic links), realtime subscriptions, storage (S3-like), and edge functions.

Pricing (April 2026)

  • Free: 500 MB database, 1 GB storage, 50,000 monthly active users
  • Pro: $25/month per project — 8 GB database, 100 GB storage, 100k MAUs, daily backups
  • Team: $599/month — higher limits, SLA, support
  • Enterprise: custom

For most small automation stacks, Free or Pro is sufficient.

What's good

  • Instant API: Define a table, get a REST API automatically. No backend code needed.
  • Row-Level Security (RLS): Secure per-user data access at the database level.
  • Real-time subscriptions: Websocket updates when rows change. Useful for dashboards, live notifications.
  • Auth built-in: Don't build sign-up/login yourself.
  • Storage with S3 API: File uploads integrated with database.
  • Edge functions: Run TypeScript serverless functions.
  • Dashboard: GUI for queries, table editing, and user management.

What's not so good

  • Cold starts on free tier (dormant projects pause after 7 days of inactivity).
  • Vendor lock-in risk if you use Supabase-specific features (auth, edge functions, RLS) — moving away is harder.
  • Pricing jumps at Team tier — $25 to $599 is a big gap.
  • No built-in job scheduler (you need external cron or edge functions on schedule).

When Supabase wins

  • You want a database + API without writing backend code
  • You're building a custom app on top of your CRM data
  • You need real-time features (live dashboards, notifications)
  • You want user authentication without rolling your own

Raw PostgreSQL deep dive

What it is

The PostgreSQL database server itself. Run it on a VPS (DigitalOcean, Hetzner, AWS EC2), a managed service (AWS RDS, DigitalOcean Managed Postgres), or your own hardware.

Costs

  • Self-hosted on VPS: $5-$20/month for a small instance
  • AWS RDS (small): ~$15-$30/month + data transfer
  • DigitalOcean Managed: $15/month for 1 GB RAM / 10 GB disk
  • Hetzner: $5-$10/month for VPS to self-host

What's good

  • No vendor lock-in. Standard Postgres. Works anywhere.
  • Full control. Any Postgres feature, any extension, any config.
  • Cheap at scale. $20/month manages lots of data and queries.
  • Mature. Decades of reliability, extensive tooling.

What's not so good

  • You build the API. No auto-generated REST/GraphQL. Need to write a backend or use tools like PostgREST, Hasura.
  • No auth built-in. You build login/signup yourself.
  • Backup is your job if self-hosted. Managed services handle it.
  • No GUI. Use pgAdmin, DBeaver, TablePlus.

When raw Postgres wins

  • Your stack is developer-heavy and you have backend engineers
  • You need full control for compliance or custom configuration
  • You're running on existing AWS infrastructure
  • You're building long-term and want to avoid vendor dependencies

MySQL deep dive

What it is

The other major open-source database. Widely deployed, widely hosted, especially on cheap shared hosting (cPanel, WordPress hosts).

Costs

  • Shared hosting: often included with WordPress/LAMP hosting ($5-$15/month)
  • Managed MySQL (AWS RDS, DigitalOcean): $15+/month
  • Self-hosted: similar to Postgres

What's good

  • Ubiquity. Every hosting provider supports it. WordPress uses it.
  • Familiar. Many devs learned MySQL first.
  • Strong for simple read-heavy workloads. Fast for typical CRUD.

What's not so good

  • Weaker for complex queries than Postgres. Postgres has better analytics, JSON support, window functions, CTE optimization.
  • JSON support is okay, not great. Postgres's JSONB is better.
  • Less feature-rich extensions. Postgres has PostGIS, pg_trgm, extensions Postgres is known for.
  • MariaDB compatibility confusion. Some hosts use MariaDB (MySQL fork), features drift.

When MySQL wins

  • Integration requires it (WordPress plugin, legacy app)
  • Your hosting only supports MySQL (shared cPanel)
  • Your team is MySQL-first and doesn't want to switch

For greenfield automation stacks, MySQL rarely wins in 2026. It's fine but Postgres is generally a better default.


Feature comparison

| Feature | Supabase | Raw Postgres | MySQL | |---------|----------|--------------|-------| | Base cost (small) | $0-$25/mo | $5-$20/mo | $5-$15/mo | | Auto API | Yes (REST + GraphQL) | No (build yourself or use PostgREST) | No | | Built-in auth | Yes | No | No | | Realtime updates | Yes | No (without extensions) | No | | Setup time | <10 min | 1-2 hours | 1-2 hours | | Vendor lock-in | Moderate | None | None | | JSON support | Excellent (Postgres JSONB) | Excellent | Decent | | Full-text search | Yes (Postgres) | Yes | Yes (limited) | | Community | Growing | Huge | Huge |


Real automation stack examples

Example 1: Small consultancy (Supabase)

Use case: custom CRM-like contact database that syncs with GoHighLevel, plus a custom dashboard showing metrics the GHL dashboard doesn't.

  • Supabase free tier (500 MB database)
  • Tables: contacts, events, metrics_daily
  • Next.js frontend using Supabase auto-generated API
  • GoHighLevel webhooks write to events table via Make
  • Daily scheduled edge function aggregates events into metrics_daily
  • Cost: $0-$25/month

Example 2: Agency managing multi-tenant (Supabase Pro)

Use case: agency running 15 client campaigns, each with its own CRM data and dashboard.

  • Supabase Pro ($25/month)
  • Row-Level Security: each client's user only sees their own data
  • Real-time dashboard: new leads appear immediately
  • Storage: client-facing file uploads
  • Cost: $25-$75/month

Example 3: Developer-led team (Raw Postgres)

Use case: software company building a custom product with a backend team.

  • AWS RDS Postgres (~$50/month)
  • Custom Node.js/Python API
  • Auth handled by company's existing auth service
  • PostgREST for rapid prototyping
  • Cost: $50-$200/month depending on scale

Migration paths

From MySQL to Postgres:

  • Tool: pgloader (open source). Good compatibility, handles most cases.
  • Manual: export CSV from MySQL, import to Postgres. Simpler for small datasets.

From Postgres to Supabase:

  • Export Postgres dump, import into Supabase via SQL editor or CLI.
  • Easy because Supabase IS Postgres.

From Supabase to raw Postgres:

  • Export via Supabase CLI or pg_dump.
  • Drop features (auth, storage, edge functions) that don't have direct equivalents.

What I recommend

Default choice for new automation stacks in 2026: Supabase.

Reasons:

  • Fast to start (database + API in minutes)
  • Scales well up to mid-size workloads
  • Postgres under the hood means no lock-in on data (you can export to raw Postgres)
  • Free tier is generous enough for prototyping

Pick raw Postgres when:

  • You have a backend engineering team that wants control
  • You're on existing AWS/GCP infrastructure
  • You need extensions Supabase doesn't expose

Pick MySQL when:

  • External requirement (WordPress, legacy app)
  • Hosting constraint (cheap cPanel)
  • Team expertise heavily MySQL

Sources

Pricing and feature data from supabase.com/pricing, postgresql.org/support (links to managed providers), mysql.com, and AWS RDS/DigitalOcean pricing pages as of April 2026. Postgres vs. MySQL feature comparisons are widely documented across database engineering literature and benchmarking reports.

Choosing a database for your automation stack? Let's talk — I can help you decide based on your specific use case.

Need This Built?

Ready to implement this for your business?

Everything in this article reflects real systems I've built and operated. Let's talk about yours.

H

Haroon Mohamed

Full-stack automation, AI, and lead generation specialist. 2+ years running 13+ concurrent client campaigns using GoHighLevel, multiple AI voice providers, Zapier, APIs, and custom data pipelines. Founder of HMX Zone.

ShareShare on X →