graphile-build-pg
is a collection of graphile-build plugins that extend
your GraphQL schema with types and fields based on the tables, views, functions
and other resources in your PostgreSQL database.
This is achieved by introspecting your database with pg-introspection and then building a @dataplan/pg registry (composed of codecs, resources and relations) for these entities. Then our plugins inspect this registry and creates the relevant GraphQL types, fields, and grafast plan resolver functions. The result is a high-performance, powerful, auto-generated but highly flexible GraphQL schema.
If you don't want to use your database introspection results to generate the schema, you can instead build the registry yourself giving you full control over what goes into your GraphQL API whilst still saving you significant effort versus writing the schema without auto-generation.
graphile-build-pg
is a core component of PostGraphile, a library that
helps you craft your ideal, incredibly performant, best practices GraphQL API
backed primarily by a PostgreSQL database with minimal developer effort.
To help us develop this software sustainably, we ask all individuals and businesses that use it to help support its ongoing maintenance and development via sponsorship.
And please give some love to our featured sponsors 🤩:
The Guild * |
Dovetail * |
Stellate * |
Steelhead * |
LatchBio * |
* Sponsors the entire Graphile suite
Thanks to Grafast's query planning capabilities, the plugins in this package
do not exhibit the N+1 query problem common in many database-based GraphQL APIs;
for all but the flattest GraphQL queries these plugins typically significantly
outperform DataLoader
-based solutions - and the more complex your GraphQL
query becomes the greater the benefit.