How Postrust Compares
See how Postrust stacks up against other PostgreSQL API solutions. Choose the right tool for your needs.
vs PostgREST
The project that established the idea. Written in Haskell, REST only.
Their Strengths
- Years of production use
- Large community
- Excellent documentation
Their Limitations
- No GraphQL
- No subscriptions
- Logic lives in SQL
vs Hasura
A GraphQL platform with permissions modelled as metadata.
Their Strengths
- Per-field permissions
- Multiple data sources
- Event triggers and console
Their Limitations
- Tables must be tracked first
- A platform to operate
- Heavier footprint
vs PostGraphile
GraphQL from your schema, built to be reshaped. V5 plans with Gra*fast*.
Their Strengths
- Deeply extensible
- Relay support
- TypeScript plugins
Their Limitations
- No REST surface
- Needs a Node runtime
vs Supabase
A backend platform. Its REST layer is PostgREST.
Their Strengths
- Auth, storage and realtime included
- Managed hosting
- Generous free tier
Their Limitations
- A platform, not a server
- Less control when self-hosted
Feature Comparison
| Feature | Postrust | PostgREST | Hasura | PostGraphile | Supabase |
|---|---|---|---|---|---|
| Language | Rust | Haskell | Haskell | TypeScript | Platform |
| REST API | Yes | Yes | RESTified endpoints | No | Yes (PostgREST) |
| GraphQL | Built in | No | Built in | Built in | Via extension |
| Subscriptions | LISTEN/NOTIFY | No | Yes | LISTEN/NOTIFY | Realtime service |
| Permissions | Roles + RLS | Roles + RLS | Metadata | Roles + RLS | Roles + RLS |
| Setup before first query | None | None | Track tables | None | None |
| Custom routes in-process | Axum, needs rebuild | No | Actions | Plugins | Edge Functions |
| Schema customisation | No | No | Metadata | Plugin system | No |
| Runtime | Static binary | Binary | Container | Node.js | Managed / stack |
| AWS Lambda | Native crate | Container | Container | Eject to serverless | No |
| Self-hosted | Yes | Yes | Yes (v2 OSS) | Yes | Yes (full stack) |
| License | MIT | MIT | Apache 2.0 (v2) | MIT | Apache 2.0 |
Feature rows describe what each tool does today, with the condition in the cell where one applies. Throughput, memory and image size are measured per tool by scripts/bench-compare.sh and reported on each comparison page, including the scenarios where the other tool is faster.