// the find
supabase/postgres-meta
A RESTful API for managing your Postgres. Fetch tables, add roles, and run queries
postgres-meta is a Node server that reads the Postgres system catalog and exposes tables, columns, roles, policies, triggers, publications and extensions as REST endpoints, with raw SQL execution at POST /query. It suits teams that want programmatic schema management without writing catalog queries, and that can run it on a private network.
Each catalog query lives in its own file under src/lib/sql, so the SQL behind any endpoint is easy to review and diff. The same introspection feeds the TypeScript, Go, Swift and Python type generators, which is where most of the practical value is. The test suite runs against a real Postgres from test/db via docker compose, and it has dedicated tests for query timeouts and result-size limits, so someone has thought about runaway queries. It is multi-tenant, so one process can front several databases.
The README says there is no security at all, and POST /query runs arbitrary SQL. Anything that can reach the port has full database access, so you have to put it behind a proxy or firewall yourself. The README checklist also lags the code: the generators are in the tree but still marked unchecked, and types create/alter/drop are still open. Most endpoints are snapshot-tested, and CONTRIBUTING says to run vitest with -u and then review the diff. That makes the snapshots easy to rubber-stamp, especially since id fields change between runs. The README does not say which Postgres versions are supported, and the catalog queries are the part most likely to break on a version change.