Latest

These are features/bugfixes not yet on a stable version. You can try them by downloading the latest pre-releases on the GitHub release page.

Features

API

Bulk Update

See Bulk Update.

Access Composite Type fields and Array elements

You can now access fields of a Composite type or elements of an Array type with the arrow operators(->, ->>) in the same way you would access the JSON type fields.

Improved Error Messages

To increase consistency, all the errors messages are now normalized. The hint, details, code and message fields will always be present in the body, each one defaulting to a null value. In the same way, the errors that were raised with SQLSTATE now include the message and code in the body.

In addition to these changes and to further clarify the source of an error, PostgREST now adds a PGRST prefix to the error code of all the errors that are PostgREST-specific and don’t come from the database. These errors have a unique code that identifies them and are documented in the PostgREST Error Codes section.

Alongside these changes, there is now a dedicated reference page for Error documentation.

Administration

Health checks

Admins can now benefit from two health check endpoints exposed in a different port than the main app. When activated, the live and ready endpoints are available to verify if PostgREST is alive and running or if the database connection and the schema cache are ready for querying.

Logging users

You can now verify the current authenticated database user in the request log on stdout.

Run without configuration

It is now possible to execute PostgREST without specifying any configuration variable, even without the three that were mandatory

Documentation improvements

Bug fixes

  • Return 204 No Content without Content-Type for PUT (#2058)

  • Clarify error for failed schema cache load. (#2107)

    • From Database connection lost. Retrying the connection to Could not query the database for the schema cache. Retrying.

  • Fix silently ignoring filter on a non-existent embedded resource (#1771)

  • Remove functions, which are not callable due to unnamed arguments, from schema cache and OpenAPI output. (#2152)

  • Fix accessing JSON array fields with -> and ->> in ?select= and ?order=. (#2145)

Breaking changes

  • Return 204 No Content without Content-Type for RPCs returning VOID (#2001)

    • Previously, those RPCs would return null as a body with Content-Type: application/json.

Thanks

Big thanks from the PostgREST team to our sponsors!

../_images/cybertec-new.png ../_images/2ndquadrant.png ../_images/retool.png ../_images/gnuhost.png ../_images/supabase.png ../_images/oblivious.jpg
  • Evans Fernandes

  • Jan Sommer

  • Franz Gusenbauer

  • Daniel Babiak

  • Tsingson Qin

  • Michel Pelletier

  • Jay Hannah

  • Robert Stolarz

  • Nicholas DiBiase

  • Christopher Reid

  • Nathan Bouscal

  • Daniel Rafaj

  • David Fenko

  • Remo Rechkemmer

  • Severin Ibarluzea

  • Tom Saleeba

  • Pawel Tyll

If you like to join them please consider supporting PostgREST development.