# gqlgen vs PostGraphile

**Leader by Vioscale score:** gqlgen

| Attribute | gqlgen | PostGraphile |
|---|---|---|
| **Vioscale score** | 62.8 (36% (low)) | 56 (54% (medium)) |
| activity.commits_last_30d | 20 | 100 |
| adoption.dependent_repos | 3,167 | 501 |
| adoption.github_stars | 10,753 | 12,929 |
| adoption.package_downloads_weekly | - | 116,682 |
| deployment.options | - | `{"self_hosted":true}` |
| description.long | A schema-first code generation library for Go that lets developers define GraphQL APIs using the schema definition language and automatically generates type-safe server implementations. It eliminates boilerplate by handling code generation while enforcing type safety throughout. | An open-source tool that generates GraphQL APIs directly from PostgreSQL databases, with emphasis on performance and customizability. The generated API can be extended and modified to meet specific application needs. |
| features.capabilities | `{"role":"server","caching":false,"language":"Go","federation":true,"managed_cloud":false,"self_hostable":true,"subscriptions":true,"auth_directives":false,"schema_approach":"schema_first","type_generation":true,"db_introspection":false}` | `{"role":"db_to_graphql","language":"JavaScript/TypeScript","self_hostable":true,"schema_approach":"introspection","type_generation":true,"db_introspection":true}` |
| integrations.count | - | 1 |
| integrations.list | - | `[{"name":"PostgreSQL"}]` |
| language.primary | Go | TypeScript |
| license.spdx | MIT | MIT |
| market.availability | - | `{"primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"cli":true}` | `{"web":true}` |
| pricing | `{"type":"open_source","sourceUrl":"https://gqlgen.com","retrievedAt":"2026-08-14T21:39:40.951Z"}` | `{"type":"open_source","plans":[{"free":true,"name":"Core (Open Source)","description":"Self-hosted GraphQL API generation from PostgreSQL","contactSales":false},{"free":false,"name":"On-Demand Consultancy","components":[{"kind":"one_time","amount":375,"currency":"USD"}],"description":"One hour of voice/screensharing with maintainer","contactSales":false},{"free":false,"name":"Development Support","components":[{"kind":"fixed","amount":999,"period":"month","currency":"USD"}],"description":"One-to-one access to Graphile team throughout the year; priority support via chat","contactSales":true}],"summary":"Open source and free. Professional support from $999/month.","freeTier":true,"sourceUrl":"https://www.graphile.org/postgraphile/","retrievedAt":"2026-08-14T16:37:12.955Z","startingPrice":{"amount":375,"period":"month","currency":"USD"}}` |
| pricing.free_tier | - | yes |
| pricing.model | open_source | open_source |
| pricing.price_level | free | free |
| pricing.transparent | - | yes |
| release.cadence_days | 15 | - |
| release.history | `[{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.94","date":"2026-07-09T15:29:06Z","type":"stable","version":"v0.17.94"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.93","date":"2026-06-25T23:54:10Z","type":"stable","version":"v0.17.93"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.92","date":"2026-06-21T13:23:58Z","type":"stable","version":"v0.17.92"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.91","date":"2026-06-11T14:33:01Z","type":"stable","version":"v0.17.91"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.90","date":"2026-04-25T19:11:01Z","type":"stable","version":"v0.17.90"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.89","date":"2026-03-24T18:45:49Z","type":"stable","version":"v0.17.89"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.88","date":"2026-03-09T00:10:30Z","type":"stable","version":"v0.17.88"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.87","date":"2026-02-19T14:14:40Z","type":"stable","version":"v0.17.87"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.86","date":"2026-01-12T01:28:31Z","type":"stable","version":"v0.17.86"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.85","date":"2025-12-17T02:21:31Z","type":"stable","version":"v0.17.85"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.84","date":"2025-11-24T16:56:20Z","type":"stable","version":"v0.17.84"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.83","date":"2025-11-11T02:05:44Z","type":"stable","version":"v0.17.83"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.82","date":"2025-11-07T01:29:47Z","type":"stable","version":"v0.17.82"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.81","date":"2025-09-25T23:00:54Z","type":"stable","version":"v0.17.81"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.80","date":"2025-09-17T16:13:26Z","type":"stable","version":"v0.17.80"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.79","date":"2025-09-14T19:35:25Z","type":"stable","version":"v0.17.79"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.78","date":"2025-07-27T23:09:18Z","type":"stable","version":"v0.17.78"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.77","date":"2025-07-27T03:26:30Z","type":"stable","version":"v0.17.77"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.76","date":"2025-06-28T23:25:19Z","type":"stable","version":"v0.17.76"},{"url":"https://github.com/99designs/gqlgen/releases/tag/v0.17.75","date":"2025-06-16T14:42:20Z","type":"stable","version":"v0.17.75"}]` | `[{"url":"https://github.com/graphile/crystal/releases/tag/postgraphile%405.1.4","date":"2026-08-05T13:36:30Z","type":"stable","version":"postgraphile@5.1.4"},{"url":"https://github.com/graphile/crystal/releases/tag/grafast%401.1.2","date":"2026-08-05T13:36:32Z","type":"stable","version":"grafast@1.1.2"},{"url":"https://github.com/graphile/crystal/releases/tag/postgraphile%405.1.3","date":"2026-08-04T07:44:26Z","type":"stable","version":"postgraphile@5.1.3"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build-pg%405.1.3","date":"2026-08-04T07:44:29Z","type":"stable","version":"graphile-build-pg@5.1.3"},{"url":"https://github.com/graphile/crystal/releases/tag/grafast%401.1.1","date":"2026-08-04T07:44:32Z","type":"stable","version":"grafast@1.1.1"},{"url":"https://github.com/graphile/crystal/releases/tag/postgraphile%405.1.2","date":"2026-07-29T07:07:04Z","type":"stable","version":"postgraphile@5.1.2"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build%405.1.1","date":"2026-07-29T07:07:01Z","type":"stable","version":"graphile-build@5.1.1"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build-pg%405.1.2","date":"2026-07-29T07:07:07Z","type":"stable","version":"graphile-build-pg@5.1.2"},{"url":"https://github.com/graphile/crystal/releases/tag/postgraphile%405.1.1","date":"2026-07-22T10:38:15Z","type":"stable","version":"postgraphile@5.1.1"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-utils%405.0.3","date":"2026-07-22T10:38:12Z","type":"stable","version":"graphile-utils@5.0.3"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build-pg%405.1.1","date":"2026-07-22T10:38:09Z","type":"stable","version":"graphile-build-pg@5.1.1"},{"url":"https://github.com/graphile/crystal/releases/tag/%40dataplan/pg%401.1.1","date":"2026-07-22T10:38:06Z","type":"stable","version":"@dataplan/pg@1.1.1"},{"url":"https://github.com/graphile/crystal/releases/tag/ruru%402.0.1","date":"2026-07-13T14:39:46Z","type":"stable","version":"ruru@2.0.1"},{"url":"https://github.com/graphile/crystal/releases/tag/postgraphile%405.1.0","date":"2026-07-13T14:39:40Z","type":"stable","version":"postgraphile@5.1.0"},{"url":"https://github.com/graphile/crystal/releases/tag/pgl%405.0.1","date":"2026-07-13T14:40:13Z","type":"stable","version":"pgl@5.0.1"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile%405.1.0","date":"2026-07-13T14:39:58Z","type":"stable","version":"graphile@5.1.0"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-utils%405.0.2","date":"2026-07-13T14:40:07Z","type":"stable","version":"graphile-utils@5.0.2"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-config%401.1.0","date":"2026-07-13T14:39:37Z","type":"stable","version":"graphile-config@1.1.0"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build%405.1.0","date":"2026-07-13T14:40:10Z","type":"stable","version":"graphile-build@5.1.0"},{"url":"https://github.com/graphile/crystal/releases/tag/graphile-build-pg%405.1.0","date":"2026-07-13T14:39:55Z","type":"stable","version":"graphile-build-pg@5.1.0"}]` |
| reliability.status_page | - | yes |
| security.scorecard | 6.6 | - |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=go&package_name=github.com%2F99designs%2Fgqlgen&per_page=100","last_12m":0,"max_severity":null}` | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=npm&package_name=pg-sql2&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (GraphQL Tools)

| Capability | gqlgen | PostGraphile |
|---|:--:|:--:|
| **Core** |  |  |
| Role | Server | DB-to-GraphQL |
| Primary language | Go | JavaScript/TypeScript |
| **Modelling** |  |  |
| Schema approach | Schema-first | DB introspection |
| **Scale** |  |  |
| Federation / subgraph composition | ✓ | - |
| **Realtime** |  |  |
| Real-time subscriptions | ✓ | - |
| **Performance** |  |  |
| Response / edge caching | ✗ | - |
| **DX** |  |  |
| Typed code generation | ✓ | ✓ |
| **Automation** |  |  |
| Generates API from a database | ✗ | ✓ |
| **Security** |  |  |
| Built-in authz / permissions | ✗ | - |
| **Deployment** |  |  |
| Official hosted offering | ✗ | - |
| Self-hostable | ✓ | ✓ |

*Source: Vioscale. Generated 2026-09-01T17:20:50.023Z. "-" = undocumented, not absent.*
