---
title: "Supabase Postgres Best Practices - Air Market"
description: "Database choices are easy to make quickly and painful to change later - a column type, a policy, a missing index. This is a set of Postgres practices to read before you write the change, and to consu…"
canonical: "https://airmarket.ai/app/supabase-postgres-best-practices"
---

[Air Market](/) / [Data & Analytics](/category/data) / Supabase Postgres Best Practices

Skill by [Supabase](/@supabase)

# Supabase Postgres Best Practices

Get the database decisions right before they are hard to undo

## What this does

Database choices are easy to make quickly and painful to change later - a column type, a policy, a missing index. This is a set of Postgres practices to read before you write the change, and to consult when queries slow down or the wrong person can see a row. It applies to Postgres wherever it runs, not only on Supabase.

### Top 3 things it does for you

- Design a schema or pick column types
- Write an RLS policy and the tests for it
- Work out why a query is slow

## Information

**Supabase Postgres Best Practices at a glance**

|  |  |
| --- | --- |
| Kind | Skill |
| Publisher | [Supabase](/@supabase) |
| Category | [Data & Analytics](/category/data) |
| Works with | Agent Skills - an open standard supported by 40+ agents |
| Version | 1.1.1 |
| Size | 61 KB |
| Licence | MIT |
| Repository | [supabase/agent-skills](https://github.com/supabase/agent-skills/tree/1207767388a0ffb55f21fb4e6988fee96942431d/skills/supabase-postgres-best-practices) |
| GitHub stars | 2,544 (as of Nov 2026) |
| Installs | 481,184, counted by skills.sh (Nov 2026) |

## Security report

**Verified.** AIR scanned this exact version of Supabase Postgres Best Practices and flagged nothing. AIR's verdict: **safe**.

**What Supabase Postgres Best Practices's check was run against**

|  |  |
| --- | --- |
| Commit | 1207767388a0ffb55f21fb4e6988fee96942431d |
| Content hash | 208281d2562c1399ae6351ae9a0af006092d70ad47ba8716c2bfb123efd8e056 |
| Files read | [Browse the files at this exact commit](https://github.com/supabase/agent-skills/blob/1207767388a0ffb55f21fb4e6988fee96942431d/skills/supabase-postgres-best-practices/SKILL.md) |

A scan is named by the exact content it read, not by a version number. A different version is a different artifact, and nothing here applies to a version AIR has not scanned.

[Read the full security report for Supabase Postgres Best Practices](/security/supabase-postgres-best-practices)

## About Supabase Postgres Best Practices

These are Postgres best practices maintained by Supabase, written for Postgres running anywhere. They are meant to be loaded before you write or change anything that lives in the database: creating or altering tables and columns, choosing column types, schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs with `pg_cron` and `pgmq`, vector and semantic search with `pgvector`, and restoring dumps or importing data.

They also apply to diagnosis: slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, and rows visible to the wrong user or tenant.

This is not only a performance guide. Schema, migration, security and SQL authoring tasks need these rules too, down to a single query or a one-column change.

## What's inside

- SKILL.md - instructions
- CHANGELOG.md - reference
- references/_contributing.md - reference
- references/_sections.md - reference
- references/_template.md - reference
- references/advanced-full-text-search.md - reference
- references/advanced-jsonb-indexing.md - reference
- references/conn-idle-timeout.md - reference
- references/conn-limits.md - reference
- references/conn-pooling.md - reference
- references/conn-prepared-statements.md - reference
- references/data-batch-inserts.md - reference
- references/data-n-plus-one.md - reference
- references/data-pagination.md - reference
- references/data-upsert.md - reference
- references/lock-advisory.md - reference
- references/lock-deadlock-prevention.md - reference
- references/lock-short-transactions.md - reference
- references/lock-skip-locked.md - reference
- references/monitor-explain-analyze.md - reference
- references/monitor-pg-stat-statements.md - reference
- references/monitor-vacuum-analyze.md - reference
- references/query-composite-indexes.md - reference
- references/query-covering-indexes.md - reference
- references/query-index-types.md - reference
- references/query-missing-indexes.md - reference
- references/query-partial-indexes.md - reference
- references/schema-constraints.md - reference
- references/schema-data-types.md - reference
- references/schema-foreign-key-indexes.md - reference
- references/schema-lowercase-identifiers.md - reference
- references/schema-partitioning.md - reference
- references/schema-primary-keys.md - reference
- references/security-privileges.md - reference
- references/security-rls-basics.md - reference
- references/security-rls-performance.md - reference

## What's new

\[1.6.0\](https://github.com/supabase/agent-skills/compare/supabase-postgres-best-practices-v1.5.0...supabase-postgres-best-practices-v1.6.0) (2026-07-30) ### Features * add schema-constraints reference for safe migration patterns (\[#30\](https://github.com/supabase/agent-skills/issues/30)) (\[9b236f3\](https://github.com/supabase/agent-skills/commit/9b236f3ebd65d76a2c570f19931353da9c858d5a)) * using Supabase agent skills (\[#12\](https://github.com/supabase/agent-skills/issues/12)) (\[7c2e389\](https://github.com/supabase/agent-skills/commit/7c2e3894fddfde8eb6c77d2a8921904543b9be7a)) ### Bug Fixes * correct broken reference link in postgres best practices skill (\[#58\](https://github.com/supabase/agent-skills/issues/58)) (\[f4e2277\](https://github.com/supabase/agent-skills/commit/f4e22777fd8573537297b568c16e5a45a25927da))

## Questions

### Is Supabase Postgres Best Practices safe to install?

AIR scanned this exact version of Supabase Postgres Best Practices and flagged nothing. AIR's verdict: safe. The verdict is named by the content that was read, at commit 1207767388a0, so it cannot drift onto a version nobody scanned. The full report is at https://airmarket.ai/security/supabase-postgres-best-practices.

### How do I install Supabase Postgres Best Practices?

Open https://airmarket.ai/app/supabase-postgres-best-practices on Air Market and use the install action: Air Market hands Claude a prompt naming this exact skill, and Claude sets it up. Source, pinned to the exact commit this listing describes: https://github.com/supabase/agent-skills/tree/1207767388a0ffb55f21fb4e6988fee96942431d/skills/supabase-postgres-best-practices. Install from that link, not the branch.

## Related on Air Market

- [More Data & Analytics listings](/category/data)
- [Everything by Supabase](/@supabase)

---

Canonical URL: <https://airmarket.ai/app/supabase-postgres-best-practices>
