PostGraphile community plugins
Community members can write plugins for PostGraphile that extends its functionality; this page lists some of them. Issues with these plugins should be directed to the plugin authors, not to this project. This page is maintained by the community and is not an endorsement by the project.
If you have written a PostGraphile plugin (or have found one that is not listed here), then please feel free to add it, you can use the "edit this page" link to do so.
See the configuration docs for how to load plugins.
Schema extension plugins for PostGraphile:
- postgraphile-plugin-connection-filter -
adds a
filter:
arg to connections that offers a more powerful alternative to the built in filtering operations ✅ - @graphile/pg-aggregates - aggregate support on connections ✅
- @graphile/simplify-inflection -
simplifies field names by automatically removing
ByFooIdAndBarId
-style suffixes. ✅ - @graphile-contrib/pg-omit-archived - allows soft-deletes and automatic hiding of records with a particular flag ✅
- @graphile-contrib/pg-many-to-many - adds connection fields for many-to-many relations. ✅
- postgraphile-plugin-connection-filter-polymorphic - adds association filter on top of connection filter for polymorphic associations. ❓(Not yet ported to V5)
- postgraphile-polymorphic-relation-plugin - create associations (forward and backward) between models via polymorphic associations. (same concept as postgraphile-plugin-connection-filter-polymorphic). ❓(Not yet ported to V5)
- postgraphile-index-to-unique-constraint-plugin - extends PostGraphile's unique constraint detection to unique indexes also. ❓(Not yet ported to V5)
- postgraphile-table-extension-plugin - extend a table's fields (non-association) to another table via unique foreign key constraint. Useful for vertical partitioned tables. ❓(Not yet ported to V5)
- postgraphile-plugin-custom-filter -
adds a
customFilter:
arg to connections that offers user defined filters on any conditions, as long as they can be fit into awhere
❓(Not yet ported to V5) - postgraphile-plugin-atomic-mutations - enables mutation atomicity with GraphQL requests containing multiple mutations ❓(Not yet ported to V5)
- postgraphile-plugin-nested-mutations - enables a single mutation to create/update many related records ❓(Not yet ported to V5)
- graphile-upsert-plugin - adds upsert mutations ❓(Not yet ported to V5)
- @fullstackio/postgraphile-upsert-plugin -
another upsert mutations plugin - adds upsert
where
conditions ❓(Not yet ported to V5) - @graphile-contrib/pg-order-by-related - enables ordering by related table columns. ❓(Not yet ported to V5)
- @graphile-contrib/pg-order-by-multi-column-index -
enables ordering by multi-column indexes when using
ignoreIndexes: false
. ❓(Not yet ported to V5) - postgraphile-plugin-derived-field - provides an interface for adding derived fields ❓(Not yet ported to V5)
- postgraphile-plugin-upload-field -
enables file uploads (see
postgraphile-upload-example
below) ❓(Not yet ported to V5) - postgraphile-plugin-connection-multi-tenant - "Filtering Connections in PostGraphile by Tenants" ❓(Not yet ported to V5)
- graphile-build-postgis - PostGIS support (WIP) ❓(Not yet ported to V5)
- postgraphile-pm2-status - expose pm2 process status thru a query ❓(Not yet ported to V5)
- PassportLoginPlugin -
example plugin to add a username/password
login
andregister
mutations using Passport.js ❓(Not yet ported to V5) - postgraphile-plugin-fulltext-filter -
adds support for
tsvector
full text search fields to postgraphile-plugin-connection-filter ❓(Not yet ported to V5) - postgraphile-plugin-zombodb - adds advanced search capabilities using ZomboDB and ElasticSearch ❓(Not yet ported to V5)
- postgraphile-plugin-many-create-update-delete - generates batch create, update, & delete mutations ❓(Not yet ported to V5)
- graphile-column-privileges-mutations - generates mutations safe to use with column-level select grants ❓(Not yet ported to V5; but not needed?)
- postgraphile-remove-foreign-key-fields-plugin - Removes all foreign key fields from the GraphQL schema while still allowing foreign relationships to be created. ❓(Not yet ported to V5, but use the "relay" preset instead?)
- postgraphile-plugin-timestamp-format - Format timestamps with PostgreSQL's tochar function. Supports timezones too ❓(Not yet ported to V5)_
Examples of using these plugins:
- postgraphile-upload-example - demonstrates how to add file upload support to PostGraphile using the GraphQL Multipart Request Spec. ❓(Not yet ported to V5)
These extensions extend PostGraphile in different ways:
- @grafserv/persisted - adds support for persisted operations to Grafserv (and thus PostGraphile)
- hapi-postgraphile - add PostGraphile to your HAPI application ❓(Not yet ported to V5)