Automatically generates a standards-compliant RESTful API from any PostgreSQL database schema.
PostgREST is a standalone web server that automatically generates a RESTful API from an existing PostgreSQL database. It reads the database schema and creates corresponding HTTP endpoints for tables, views, and stored procedures, eliminating the need for manual backend development. It solves the problem of building and maintaining custom API layers by providing a standards-compliant, high-performance interface directly from the database.
Backend developers, database administrators, and teams building applications with PostgreSQL who want to quickly expose a secure, performant API without writing boilerplate code. It's also suitable for projects prioritizing a single declarative source of truth for data and API logic.
Developers choose PostgREST because it dramatically reduces development time by auto-generating a robust API, ensures data integrity through PostgreSQL constraints, and delivers exceptional performance via its Haskell foundation and efficient database communication. Its declarative approach centralizes security and business logic in the database, simplifying maintenance.
REST API for any Postgres database
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates CRUD endpoints for tables, views, and stored procedures without manual coding, eliminating boilerplate backend development as highlighted in the key features.
Built in Haskell with the Warp HTTP server and uses PostgreSQL's binary protocol, delivering subsecond response times for up to 2000 requests/sec on Heroku free tier, per performance benchmarks.
Handles authentication via JSON Web Tokens and delegates authorization to PostgreSQL's role-based permissions, creating a single declarative source of truth for security.
Automatically generates OpenAPI-compliant documentation, allowing interactive exploration with tools like Swagger-UI directly from the database schema.
Exclusively tied to PostgreSQL, making migration to other databases difficult and limiting use in environments requiring heterogeneous data sources.
Pushing business logic into the database can obscure errors in SQL rather than application code, increasing debugging complexity for developers unfamiliar with PostgreSQL.
Requires upfront configuration of JWT, database roles, and schema design, which can be a barrier for teams without PostgreSQL administration experience.