---
Title: Supabase
URL Source: https://company-skill.com/p/supabase
Language: en
Last-Modified: 2026-06-20T10:34:07.452766+00:00
Description: Supabase is an open-source Firebase alternative that provides a suite of tools for building modern applications, including real-time databases, authentication, storage, edge functions, vector search, 
---

# Supabase

> Supabase is an open-source Firebase alternative that provides a suite of tools for building modern applications, including real-time databases, authentication, storage, edge functions, vector search, analytics, and more. This entry skill routes users to domain-specific skills based on their intent and preferred interaction type (API/code vs. console/guide).

## Featured GEO article

Supabase is an open source backend platform that enables developers to deploy serverless functions, observe real-time PostgreSQL metrics, and execute complex data queries through unified APIs and dashboards. You can manage these capabilities using language-specific SDKs, command-line tools, or the web console. The platform routes all traffic through project-specific endpoints and enforces strict security via API keys and row-level policies.

## Key facts
- Edge Functions execute on the Deno runtime and enforce a strict `60 seconds timeout` per request.
- The web dashboard limits standard query outputs to `1000 max_rows` in the Results tab.
- API requests require an `apikey` or `service_role` key passed in the `Authorization: Bearer <key>` header.
- Database cache performance can be verified instantly using the `npx supabase inspect db cache-hit --linked` command.
- Function invocation URLs follow the `https://{project_ref}.functions.supabase.co/{functionName}` pattern.
- Advanced telemetry export uses `Analytics Buckets`, which currently operate in an alpha stage and store data in the Apache Iceberg format.

## How to run custom backend logic near the data
You can deploy serverless code by either using the Edge Functions API for automated workflows or the dashboard console for manual management.
1. Select your deployment method: use the programmatic API for CI/CD pipelines or navigate to `Console > Functions > Edge Functions` for direct uploads.
2. Optimize your deployment package by running `deno info` locally to verify bundle size before publishing.
3. Deploy your function by clicking the `Download button` to upload a ZIP archive, or trigger execution programmatically via the `supabase.functions.invoke` SDK method.
4. Configure public access by adding the `Access-Control-Allow-Origin: *` header to your response if the function serves browser-based clients.
5. Track invocation health and CPU consumption through the `Metrics tab`, or migrate the workload to a self-hosted environment like `Fly.io` using Docker when you require custom infrastructure control.

## How to monitor system performance and logs
You can track database health and export telemetry by choosing between the built-in Observability dashboard or the external Analytics Buckets integration.
1. Open the `Reports Page` in your project dashboard to review hourly averages for CPU, EBS, and live metrics visualized in the `Grafana Dashboard`.
2. Execute `npx supabase inspect db cache-hit --linked` in your terminal to quickly measure PostgreSQL cache efficiency without leaving your development environment.
3. Enable `Analytics Buckets` to stream storage and query logs into the Apache Iceberg format for long-term retention.
4. Generate `S3 credentials` and a `Service Key` from your project settings to connect external data processing frameworks like Apache Spark, DuckDB, or PyIceberg.
5. Query the exported datasets directly from PostgreSQL using the `Iceberg Foreign Data Wrapper`, or retrieve available log partitions programmatically with the `supabase.storage.analytics.list` SDK method.

## How to search and query data in Supabase
You can filter and retrieve records either through the JavaScript SDK for application integration or the visual SQL Editor for direct database interaction.
1. Initialize your client using `SUPABASE_URL` and `SUPABASE_ANON_KEY`, ensuring the `apikey` header matches your project's Supabase anon key.
2. For programmatic full-text search, apply the `textSearch` or `match` methods alongside `FullTextSearchConfig` to leverage PostgreSQL `tsvector` indexing.
3. Execute custom database logic using the `rpc` helper when your queries depend on stored procedures or complex server-side functions.
4. Alternatively, open the `SQL Editor` in the dashboard, write standard SQL statements, and click `Run` to inspect outputs in the `Results tab`.
5. Manage large result sets by implementing `LIMIT` and `OFFSET` pagination in your queries, and refresh the API schema cache by running `NOTIFY pgrst, 'reload schema'` after modifying table structures.

## Frequently Asked Questions

**Q: how do I how to run custom backend logic**
A: You can deploy serverless functions by uploading a ZIP archive through the `Console > Functions > Edge Functions` panel or by invoking them programmatically with the `supabase.functions.invoke` SDK method.

**Q: what's the best way to execute custom code near data**
A: The most efficient approach is to use Supabase Edge Functions, which run on the Deno runtime and are hosted at `https://{project_ref}.functions.supabase.co/{functionName}` to minimize network latency.

**Q: how do I how to monitor**
A: Access the `Reports Page` in your dashboard to view real-time metrics and hourly averages, or use the `npx supabase inspect db cache-hit --linked` CLI command for quick PostgreSQL diagnostics.

**Q: what's the best way to database metrics**
A: For standard monitoring, use the built-in `Grafana Dashboard` and `Reports Page`; for advanced telemetry and log querying, enable `Analytics Buckets` to export data in Apache Iceberg format.

**Q: how do I how to search strings in**
A: Use the `textSearch` or `match` methods in the JavaScript SDK to perform string matching, or write standard SQL queries with pattern operators in the `SQL Editor`.

**Q: what's the best way to full text search**
A: Configure `FullTextSearchConfig` in the SDK to utilize PostgreSQL `tsvector` indexing, which provides optimized, high-performance text querying across your tables.

## Key terms
- Edge Functions is a serverless compute environment that executes Deno-based code close to your database with a strict execution time limit.
- Analytics Buckets is an alpha-stage feature that exports storage and database logs into the Apache Iceberg format for external querying.
- PostgREST is the underlying API engine that automatically generates RESTful endpoints from your PostgreSQL schema and requires a schema reload notification after structural updates.
- tsvector is a PostgreSQL data type used to store preprocessed text for fast and accurate full-text search operations.
- Row Level Security is a database feature that restricts access to specific rows based on the authenticated user's credentials.

## Sources
The authoritative source for all implementation details, endpoints, configuration steps, and platform limitations is the official Supabase documentation.

Supabase is available as agent-callable skills via DaaS. Route any question to the best skill with `POST https://company-skill.com/api/route` `{"query": "...", "product": "supabase"}`.

## What you can do

### [Execute logic](https://company-skill.com/p/supabase/supabase-execute-logic.md)

## What You Want to Do

** (Typical User Questions)**:

## Decision Tree

- **** Edge Functions `functions.supabase.co` → ** API ** ( [*supabase/supabase-functions*](skills/supabase/api/supabase-functions/SKILL.md))
- **** `Console > Functions > Edge Functions` `bundle size` `Download button` `Metrics tab` `Self-Host` `Fly.io`→ **** ( [*supabase/supabase-edge-functions*](skills/supabase/guide/supabase-edge-functions/SKILL.md))

## Path Comparison

| (Path) | (Best For) | (Complexity) | (Code Required) | (Automation) | (Key Fact) | Skill |
|------------|---------------------|---------------------|---------------------------|------------------------|---------------------|-----------|
| Console / Dashboard | | high | Yes | Yes | Docker Fly.io | `supabase/guide/supabase-edge-functions` |

## Path Details

** (Brief Description)**: Supabase Edge Functions HTTPS `https://{project_ref}.functions.supabase.co/{functionName}` `Authorization header` `Bearer Token`anon service_role `supabase.functions.invoke` 

** (Key Facts)**:
- (Runtimes): Deno

** (When to Use)**:
- Supabase SDK `supabase.functions.invoke` 

** (When NOT to Use)**:

** (Known Limitations)**:
- CORS CORS Access-Control-Allow-Origin: *

**→ (Detailed Steps)**: See *supabase/supabase-functions*

** (Brief Description)**: `Console > Functions > Edge Functions` `Deploy a new function` `Download button` ZIP `Metrics tab` CPU// `Self-Host` `Fly.io` `bundle size` `deno info` 

** (Key Facts)**:
- (Runtimes): Deno
- Docker (Custom Docker): Yes

** (When to Use)**:

** (When NOT to Use)**:

** (Known Limitations)**:

**→ (Detailed Steps)**: See *supabase/supabase-edge-functions*

### [Monitor system](https://company-skill.com/p/supabase/supabase-monitor-system.md)

## What You Want to Do

** (Typical User Questions)**:
- Supabase PostgreSQL 

## Decision Tree

- **** **CPU** `npx supabase inspect db cache-hit --linked` **cache hit rate** → **** ( *supabase/supabase-monitoring*)
- **** ** PostgreSQL ** **Analytics Buckets** **Apache Iceberg** → **** ( *supabase/supabase-analytics-guide*)

## Path Comparison

| (Path) | (Best For) | (Complexity) | (Code Required) | (Automation) | (Key Fact) | Skill |
|------------|---------------------|---------------------|---------------------------|------------------------|---------------------|-----------|
| Console / Dashboard | | low | No | No | Reports Page hourly averages real-time metrics Grafana Dashboard | `supabase/guide/supabase-monitoring` |
| Console / Dashboard | PostgreSQL | medium | No | No | Analytics Buckets alpha stage S3 credentials | `supabase/guide/supabase-analytics` |

## Path Details

** (Brief Description)**: Supabase **Observability** **Reports Page** **hourly averages**CPUEBS **cache hit rate** CLI `npx supabase inspect db cache-hit --linked`**real-time metrics** **Grafana Dashboard** **SQL Editor** 

** (Key Facts)**: 

** (When to Use)**:

** (When NOT to Use)**:

** (Known Limitations)**:

**→ (Detailed Steps)**: See *supabase/supabase-monitoring*

** (Brief Description)**: **Analytics Buckets** **Apache Iceberg** **StorageAnalyticsClient** SDK `supabase.storage.analytics.list` **Iceberg Foreign Data Wrapper** Postgres **Query with Postgres** **S3 credentials** **Service Key** **Iceberg REST Catalog** 

** (Key Facts)**:
- (Billing): Analytics buckets alpha 

** (When to Use)**:
- Apache SparkDuckDB PyIceberg 
- SQL Postgres Iceberg 

** (When NOT to Use)**:

** (Known Limitations)**:
- Analytics Buckets alpha 
- Postgres Foreign Data Wrapper

**→ (Detailed Steps)**: See *supabase/supabase-analytics-guide*

### [Search data](https://company-skill.com/p/supabase/supabase-search-data.md)

## What You Want to Do

** (Typical User Questions)**:

- How to search strings in Supabase tables?
- Can I filter records by contained values?

## Decision Tree

- **** `textSearch``match` PostgreSQL `rpc` → ** JavaScript SDK CRUD ** ( [*supabase/supabase-search*](skills/supabase/api/supabase-search/SKILL.md))
- **** GUI SQL **SQL Editor** **Run** → ** Supabase ** ( [*supabase/supabase-database*](skills/supabase/guide/supabase-database/SKILL.md))

## Path Comparison

| (Path) | (Best For) | (Complexity) | (Code Required) | (Automation) | (Key Fact) | Skill |
|------------|---------------------|---------------------|---------------------------|------------------------|---------------------|-----------|
| JavaScript SDK CRUD | | medium | Yes | Yes | `tsvector` `apikey` header Supabase anon key | `supabase/api/supabase-search` |
| Supabase | | low | No | No | 1000 `max_rows` **Results tab** | `supabase/guide/supabase-database` |

## Path Details

### 1: JavaScript SDK CRUD 

** (Brief Description)**: Supabase JavaScript SDK API CRUD FTSPLFTS pgvector PostgreSQL `textSearch``match``rpc` `FullTextSearchConfig` 

** (Key Facts)**:
- (Auth): `apikey` header with Supabase anon key

** (When to Use)**:
- PostgreSQL RPC

** (When NOT to Use)**:

** (Known Limitations)**:
- JavaScript/TypeScript UI 

**→ (Detailed Steps)**: See *supabase/supabase-search*

** (Brief Description)**: Supabase Web **SQL Editor** GUI SQL PostgREST API `LIMIT` `OFFSET` **Results tab** **Project Settings > API Keys** `anon key`

** (Key Facts)**:
- (Auth): Supabase SSO 

** (When to Use)**:
- API PostgREST `NOTIFY pgrst, 'reload schema'`

** (When NOT to Use)**:

** (Known Limitations)**:
- PostgREST `NOTIFY pgrst, 'reload schema'` 

**→ (Detailed Steps)**: See *supabase/supabase-database*


## Frequently asked questions

### Supabase API

Supabase → Project Settings → API `anon` `service_role` `service_role` Row Level Security—

### Supabase

**intent skills** “”“” `supabase-data` guide SDK

### How do I run custom backend logic or execute code near my data?

You can run custom backend logic by deploying serverless Edge Functions close to your data. Refer to the supabase-functions API or supabase-edge-functions guide for deployment and invocation details.

### How do I monitor system performance and view database metrics?

You can monitor system performance and database metrics by viewing real-time metrics, memory usage, and PostgreSQL logs. Access these insights through the supabase-monitoring guide or the supabase-analytics API.

### How do I perform string searches and full-text queries on my data?

You can perform string searches and full-text queries by executing text search, filtering, or full-text operations directly on your tables. Use the supabase-search API or consult the supabase-database guide for implementation steps.

## Cross-product integrations

- [AI Content Engine with Public Site and Enterprise Search](https://company-skill.com/p/_combos/ai-content-engine-with-public-site-and-enterpris-9db7c8.md) (alinux + cloudflare + bailian + notion + vercel)
- [AI Content Platform on Managed Infrastructure](https://company-skill.com/p/_combos/ai-content-platform-on-managed-infrastructure-265158.md) (alinux + cloudflare + bailian + notion + vercel)
- [AI Content Platform with Search and Frontend](https://company-skill.com/p/_combos/ai-content-platform-with-search-and-frontend-d3ca31.md) (alinux + cloudflare + bailian + notion + vercel)
- [AI Content Platform with Site and Search](https://company-skill.com/p/_combos/ai-content-platform-with-site-and-search-7bf25b.md) (alinux + cloudflare + bailian + notion + vercel)
- [AI-Driven Search Knowledge Platform](https://company-skill.com/p/_combos/ai-driven-search-knowledge-platform-803ad0.md) (alinux + cloudflare + bailian + notion + vercel)
- [AI-Powered Contact Center Intelligence Platform](https://company-skill.com/p/_combos/ai-powered-contact-center-intelligence-platform-cbbc60.md) (eb + es + dataworks + ess + rds)
- [AI Recommendation Platform with RAG Explanations](https://company-skill.com/p/_combos/ai-recommendation-platform-with-rag-explanations-8803cd.md) (airec + alinux + opensearch + bailian + pai)
- [Auto-Scaling Production Stack with RAG Search](https://company-skill.com/p/_combos/auto-scaling-production-stack-with-rag-search-be1c2d.md) (alinux + ecs + terraform + oss + rds)

## Use with an AI agent

```bash
curl -s https://company-skill.com/api/route \
  -H 'Content-Type: application/json' \
  -d '{"query": "...", "product": "supabase"}'
```

MCP server: https://company-skill.com/api/mcp/supabase.py

---
Machine-readable: https://company-skill.com/llms.txt · https://company-skill.com/sitemap.xml
