Monday, November 29, 2021

PostgREST v9.0.0

PostgreSQL 14 compatibility

PostgreSQL 14 Beta 1 tightened its GUC naming scheme making it impossible to use multiple dots (.) and dashes (-) on custom GUC parameters, this caused our old HTTP Context to fail across all requests. Thankfully, @robertsosinski got the PostgreSQL team to reconsider allowing multiple dots in the GUC name, allowing us to avoid a major breaking change. You can see the full discussion here.

Still, dashes cannot be used on PostgreSQL 14 custom GUC parameters, so we changed our HTTP Context to namespace using a mix of dots and JSON. On older PostgreSQL versions we still use the Legacy GUC variable names. If you wish to use the new JSON GUCs on these versions, set the db-use-legacy-gucs config option to false.

Resource Embedding with Top-level Filtering

Historically, Resource Embedding was always done with a query that included the equivalent of a LEFT JOIN, which meant you could not exclude any of the top-level resource rows. You can now use Embedding with Top-level Filtering to do the equivalent of an INNER JOIN, thus you can filter the top-level resource rows with any of the available operators.

Partitioned Tables

Partitioned tables now integrate with all the feature set. You can embed partitioned tables, UPSERT, INSERT(with a correctly generated Location header) and make OPTIONS requests on them. They’re also included in the generated OpenAPI.



from Hacker News https://ift.tt/3llHCCe

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.