garak/doctrine-postgres-types-bundle
Symfony bundle that registers PostgreSQL-specific Doctrine DBAL types, so you can map Postgres arrays, JSONB, and similar column types directly to PHP values in your entities without writing custom type classes.
citext, hstore, ltree, intarray, range types, PostGIS geometry). The decision it informs is whether to spend engineering time hand-writing custom DBAL type classes — typically a 1–3 day task per type plus test coverage — or adopt an existing implementation. For a small number of types the build is trivial; for five or more it becomes a real line item.citext), hierarchical/tree data such as org charts or category trees (ltree), sparse attribute bags (hstore), or time-window/booking logic (range types), the schema layer must support those column types before the feature can be estimated. This package is a prerequisite gate on those roadmap items, not a feature itself.parent_id with recursive CTEs, or case-insensitivity as LOWER(email) functional indexes. This affects query complexity, index strategy, and read-path performance, all of which are product-level levers on latency and infra cost.Consider it when all of the following hold:
Look elsewhere when:
->json() columns, or a Postgres-specific query builder. This is the most likely disqualifier given the framing.Doctrine\DBAL\Types\Type subclasses were deprecated in DBAL 3 and removed in DBAL 4. Verify (or budget for) the upgrade path — an unmaintained bundle is a real blocker on a major-version migration.Recommended next step: a strict timeboxed spike — one engineer, under a day — proving the specific types you need work on your exact Doctrine/DBAL/Symfony versions, plus a parallel legal check on LGPL. Do not schedule it on the roadmap until both clear.
To executives — one paragraph: This is a small, free, open-source adapter that lets our Symfony application use advanced PostgreSQL column types natively, which unblocks a handful of roadmap features (case-insensitive identity handling, hierarchical data, time-range logic) without custom database plumbing. It is not a strategic dependency: it is narrow, LGPL-licensed, and carries maintenance risk from low adoption (3 stars, 0 dependents), so the recommendation is a timeboxed technical spike and a legal license check before commitment — roughly one engineering day of exposure. If either check fails, the fallback is a small in-house implementation, which is a contained cost rather than a blocker.
To engineering — the honest summary: Symfony bundle, Doctrine DBAL type registrations for PostgreSQL native types. Thin wrapper — the value is avoiding boilerplate, not novel functionality. Three stars and no dependents means treat it as source you are adopting, not a library you are depending on: read the type classes, confirm version compatibility against our Doctrine/DBAL pin, and be prepared to fork and own it internally. If we only need one or two types, just write them ourselves and skip the dependency entirely. First question to answer is whether we're even on Doctrine — on Eloquent this is a non-starter.
Framing note for the PM: this package's low opportunity score (0.38) and near-zero adoption are consistent with "useful glue, negligible strategic value." Do not spend political capital on it; spend one engineer-day and let the spike decide.
How can I help you explore Laravel packages today?