Powerful queries out-of-the-box
Query across tables & views with powerful filtering, pagination and pattern search.
Insert single or multiple objects. Make upsert operations on conflict to simplify app logic.
Update objects based on a condition. Update to Increment/multiply directly.
Delete one object or in bulk based on a condition.
Realtime with subscriptions & live-queries
Convert any GraphQL query to a live query by using subscriptions.
1) Setup a GraphQL subscription
2) As Postgres data changes...
|Orders (postgres table)|
3) The UI is updated
|Order XX-57 (mobile/web UI)|
Add to an existing, live postgres database
Dynamic access control that integrates with your auth.
• Create field-level allow & deny rules with dynamic variables
• Create role-based schemas
• Integrate with an existing auth system
Lightweight & blazing fast
Consumption @1000 req/sec
Scale from 1x - 32x
Heroku Free Tier
(dyno + postgres)
Admin UI & Rails inspired schema migrations
As you use the UI to build and manipulate your GraphQL and database schema, Hasura automatically spits out migrations files that you can put in version control.
Unleash the power of Postgres
Handle PostGIS (geo-location) and other postgres types
Connect views to other views/tables to build a “graph” and run powerful queries
Trigger stored functions or procedures with mutations
Use tables/views across multiple postgres schemas
See what people are saying
The Hasura GraphQL engine has been instrumental for our product by providing a seamless integration and enabled us to rapidly generate high-performance extensible GraphQL schemas on our existing DBs — using native SQL and Postgres!
Dylan Jones, stealth startup founder
Having the ability to graphQL in minutes and focus your entire time on the customer facing experience is key in business. Not only that, the team behind Hasura is a collection of insanely talented & humble people.
So far, this is the most powerful and flexible GraphQL engine I have ever used.
Try it out in 30 seconds.
1. Deploy to Heroku (no credit-card required)
2. Create a table via the UI
3. Use GraphQL