Atatus Database Monitoring offers comprehensive monitoring for your Supabase Postgres databases, providing valuable insights into query performance, query samples, execution plans, connection details, and system statistics. The Atatus Infra Agent runs on a separate host that connects directly to your Supabase database. For accurate metrics, the Agent must connect to the underlying Postgres host, not via the Supavisor / pgbouncer pool, whenever possible.

Before You Begin

Supabase’s default direct connection requires IPv6. Either ensure your Agent host supports IPv6, or enable the IPv4 add-on (available on Pro plans and above).
pg_stat_statements is enabled on Supabase by default. If it isn’t, enable it from Database → Extensions in the Supabase dashboard.

Setup Database Access for the Agent

Open the Supabase SQL Editor (or connect via psql with the postgres role) and run the following statements. Create the atatus user:

Postgres ≥ 15

Run in every database:

Postgres ≥ 10

Run in every database:

Explain Plan Function (All Versions)

Create the explain function in every database:

Verify

Confirm the atatus user can connect and read the core tables. Replace <SUPABASE_HOST> with your project’s database host (for example, db.<project-ref>.supabase.co):

Configure Atatus Infrastructure Agent

  1. Install the Atatus Infrastructure agent on a host that can reach your Supabase project.
  2. Copy the PostgreSQL example configuration file:
  3. Update the PostgreSQL configuration file at /etc/atatus-infra-agent/conf.d/postgresql.d/postgresql.yml:
    Supabase enforces SSL, so ssl: true is mandatory.
  4. Restart the Atatus Infra Agent:

Connecting via Supavisor Session Pooler (Optional)

If your Agent host cannot reach Supabase’s direct connection (for example, because it’s IPv4-only and the IPv4 add-on isn’t enabled), connect via the Supavisor session pooler instead. The username must be suffixed with your project reference:
reported_hostname ensures metrics are tagged to the underlying instance rather than the pooler endpoint.

Collecting Schemas (Optional)

Collecting Custom Metrics (Optional)