---
title: "The PostgreSQL Client for Mac That Finds Your Missing Indexes"
description: "Browse, edit and query Postgres in a native Mac app, see which indexes your real workload is missing, and let Claude Code, Codex or Cursor work on the database without a free hand on production."
canonical_url: "https://tablestudio.sh/databases/postgresql"
---

> Index of every page on this site: [llms.txt](https://tablestudio.sh/llms.txt)

TableStudio is a native Mac client for PostgreSQL. It reads what your database actually spends its time on and turns that into fixes. It watches for the problems that take Postgres down, like wraparound, bloat and stuck replication slots. And it lets coding agents like Claude Code, Codex and Cursor work on it under rules TableStudio enforces itself.

<lead-feature icon="i-ph-lightning" title="Find the indexes your workload is missing">

Most index advice is a guess. TableStudio's comes from `pg_stat_statements`. **Query Insights** ranks the statements Postgres spends its time on, explains what's wrong with each, and proposes a fix.

The **Index Advisor** then looks across the whole workload for the fewest indexes that cover the most database time. It builds each one as a hypothetical index and checks that the planner would actually use it before suggesting it. It works the other way too: **hide an index** from the planner to see which queries would slow down before you drop it.

</lead-feature>

<feature-cards description="From a quick look at a table to vacuum trouble at 2 a.m." title="What TableStudio does for Postgres">
<feature-card icon="i-ph-shield-check" title="Claude Code and Cursor, kept in check">

- Claude Code, Codex, Cursor and OpenCode reach your connections by name, with no password in a config file.
- Reads run in a read-only transaction. `pg_terminate_backend`, `dblink` and server file access are refused.
- A data change on a remote database must be dry-run first, and rolls back if the real row count differs.
- Production changes are staged for review and applied with Touch ID; every AI change can be undone, cascades included.
- The plugin stops `psql`, Prisma, Drizzle and Rails from writing to production from the terminal.
- Set a database to Structure only and agents see the schema, never a row value.

</feature-card>

<feature-card icon="i-ph-plugs-connected" title="Every Postgres you run">

- Paste a connection string or URL into Host and every field fills itself.
- Supabase, Neon, Amazon RDS, Railway, Render, Vercel, Prisma Postgres, DigitalOcean, Fly.io, Aiven and Azure, directly or over SSH.
- Import your RDS instances, or the databases in your projects' `.env` and `docker-compose` files.
- The servers Homebrew and Postgres.app set up are picked up with their data untouched.

</feature-card>

<feature-card icon="i-ph-heartbeat" title="Health checks that know Postgres">

- Transaction ID and multixact age climbing toward wraparound.
- Autovacuum off, starved of workers, or unable to remove dead rows.
- Abandoned prepared transactions, and inactive replication slots holding WAL.
- Replica lag, WAL archiving that's off or failing, data checksum failures and `fsync` off.
- `work_mem` × `max_connections` larger than the machine's memory.

</feature-card>

<feature-card icon="i-ph-tree-structure" title="The whole schema, not just tables">

- Create schemas, enums, domains, materialized views and triggers without writing DDL.
- Browse row-level security policies, roles, functions and procedures.
- Schema checks catch `json` that should be `jsonb`, timestamps without a time zone, the locale-dependent `money` type, foreign keys without an index, invalid indexes and sequences close to running out.
- Write table and column comments with AI, so agents and teammates understand the schema.

</feature-card>

<feature-card icon="i-ph-table" title="Rows and results">

- Enum columns get a dropdown of their type's values; `jsonb` is shown readably.
- Hover a foreign key to preview the row it points to.
- Stage edits across rows and apply them in one transaction.
- Import CSV or TSV. Export to CSV, TSV, JSON, SQL, Markdown or Excel.
- Fill a table with realistic fake rows that respect its foreign keys.

</feature-card>

<feature-card icon="i-ph-code" title="SQL and plans">

- Autocomplete that knows your schemas, tables and columns.
- `EXPLAIN ANALYZE` drawn as a tree, with the slow node obvious.
- Ask in plain English for Postgres SQL, or have AI fix the error a query just threw.
- Open the connection in `psql` in Terminal, or copy the command line without the password.

</feature-card>

<feature-card icon="i-ph-squares-four" title="A dashboard that fits your stack">

- Packs for connections and locks, top queries, bloat and vacuum, cache and I/O, index health, replication and storage.
- Packs that recognize your schema: better-auth, Auth.js, Supabase Auth, Django, Rails and Devise, Stripe, pg-boss, Graphile Worker, Oban and pgvector.
- Maintenance at a glance: tables due a `VACUUM ANALYZE` and indexes nothing reads.

</feature-card>

<feature-card icon="i-ph-clock-counter-clockwise" title="Backups, copies and moves">

- `pg_dump` and `pg_restore` to your Mac or any S3 bucket, using the client tools you already have.
- Restore points before a risky change, and throwaway sandbox copies with real rows or none.
- Move a database to another host, or to MySQL, with a pre-flight report of what won't translate.
- Sync rows from one database to another, parents before children.

</feature-card>

<feature-card icon="i-ph-hard-drives" title="Postgres on your Mac">

- Create, start and stop local servers, launch them at login, and read their logs.
- Add pgvector, PostGIS or pg_trgm to a local server, and enable extensions anywhere.
- Share a local server with a teammate through a Cloudflare Tunnel.

</feature-card>
</feature-cards>

## Connecting to Supabase, Neon and RDS

**Supabase:** open your project's **Connect** panel, copy a connection string, and paste it into TableStudio's Host field. Linking your Supabase account adds the host's own tools for that project.

**Neon:** copy the connection string from the project dashboard and paste it in. Link your Neon account to work with branches and the rest of Neon's tools from TableStudio.

**Amazon RDS:** import your RDS instances to add the Postgres ones without copying endpoints by hand.

## When Postgres gets into trouble

The problems that take Postgres down are usually slow and silent: transaction IDs creeping toward wraparound, autovacuum that can't keep up, a replication slot nobody uses quietly filling the disk with WAL. TableStudio's health checks read the system catalogs for exactly those. Each finding says what it means and what to do about it, and the ones with a safe fix offer it for your review.

## Sitemap

See the full [sitemap](https://tablestudio.sh/sitemap.md) for all pages.
