← Back to scan

SIXTA Precursor

48 health checks across 6 categories on your Supabase PostgreSQL database — covering security, indexes, query performance, schema design, configuration, and maintenance. Connect with one click via Supabase OAuth — no database credentials required.

What it does

SIXTA Precursor scans your database metadata and system catalogs to produce a scored health report with actionable findings. Each finding includes severity, an explanation of the risk, and a concrete recommendation (often with the exact DDL to fix it).

Security (18 checks)

Includes all Supabase advisor security lints:

Index analysis (4 checks)

Query performance (8 checks)

Requires pg_stat_statements (gracefully skipped if not available):

Configuration (7 checks)

Schema (3 checks)

Maintenance (8 checks)

Prerequisites

CREATE EXTENSION IF NOT EXISTS pg_stat_statements;

Without pg_stat_statements, query performance checks are skipped. All other categories (security, indexes, schema, configuration, maintenance) work without it.

How it works

SIXTA Precursor connects to your Supabase project through the Supabase Management API using OAuth 2.0. It never receives or stores your database password.

Once connected, Precursor executes read-only SQL queries against your database's system catalogs (pg_catalog, pg_stat_user_tables, pg_stat_statements, pg_settings, etc.) to collect diagnostic metadata. It does not read or modify your table data, schema, or configuration.

The analysis runs on demand. You initiate a scan, it runs, and you get results immediately. There is no continuous background process or persistent connection to your database. No results are stored server-side — once the page is closed, the data is gone.

Connect your Supabase project

  1. Go to SIXTA Precursor
  2. Click Login with Supabase
  3. You'll be redirected to Supabase to log in (if needed) and authorize SIXTA Precursor
  4. Select the project you want to analyze
  5. Optionally enable Simulate production-scale query plans to test how your queries would perform at larger data volumes
  6. Click Scan Selected Project to start the analysis

Results are displayed immediately as an HTML report with a composite health score, findings grouped by category, and recommended fixes.

Alternative connection methods

You can also connect directly without OAuth by providing either:

These methods give Precursor a direct PostgreSQL connection to your database. Credentials are used only for the duration of the scan and are not stored.

What SIXTA Precursor accesses

Precursor reads only system catalogs and metadata — never your table data:

WhatWhy
pg_stat_user_tablesTable scan statistics, dead tuple counts, vacuum/analyze timestamps
pg_stat_user_indexesIndex usage statistics to identify unused or underused indexes
pg_index, pg_constraintIndex definitions, foreign key constraints for duplicate/redundant detection
pg_class, pg_statsTable sizes, row estimates, column statistics for bloat estimation
pg_stat_statementsQuery text, execution times, I/O counters, temp file usage (if extension is enabled)
pg_settingsPostgreSQL configuration parameters
pg_stat_activityCurrent connection states and long-running transactions
pg_policy, pg_rolesRLS policies and role privileges for security checks

Precursor does NOT access:

Revoking access

You can disconnect SIXTA Precursor at any time:

  1. Go to your Supabase Organization Settings
  2. Navigate to the OAuth Apps tab
  3. Find SIXTA Precursor and click Revoke

Once revoked, SIXTA Precursor can no longer access your project. Since no analysis data is stored server-side, there is nothing to delete.

Troubleshooting

"pg_stat_statements not found"

The extension isn't enabled on your project. Enable it from the Supabase Dashboard under Database → Extensions, search for pg_stat_statements, and toggle it on. It may take a few minutes for query statistics to accumulate after enabling. Query performance checks will be skipped, but all other checks will still run.

"No queries found"

If pg_stat_statements was just enabled, it needs time to collect data. Run some queries against your database and try again in a few minutes.

"Authorization failed"

Your OAuth token may have expired. Click Login with Supabase to re-authorize. If the issue persists, revoke access in your Supabase organization settings and connect again.

"Token exchange failed"

This usually means the OAuth app configuration has changed. Try clearing your browser cookies for the Precursor site and logging in again.

"Scan is slow"

The Supabase Management API has rate limits (120 requests/minute). A typical scan uses around 20 API calls and completes in 15–45 seconds. Scans with the simulation option enabled may take longer (up to 2 minutes) as additional queries are needed to extract schema metadata.

Data handling

Support

If you have questions or run into issues, contact us at support@sixta.ai.