Added
- #1783, Include partitioned tables into the schema cache. Allows embedding, UPSERT, INSERT with Location response, OPTIONS request and OpenAPI support for partitioned tables - @laurenceisla
- #1878, Add Retry-After hint header when in recovery mode - @gautam1168
- #1735, Allow calling function with single unnamed param through RPC POST. - @steve-chavez
- Enables calling a function with a single json parameter without using
Prefer: params=single-object - Enables uploading bytea to a function with
Content-Type: application/octet-stream - Enables uploading raw text to a function with
Content-Type: text/plain
- Enables calling a function with a single json parameter without using
- #1938, Allow escaping inside double quotes with a backslash, e.g.
?col=in.("Double\"Quote"),?col=in.("Back\\slash")- @steve-chavez - #1075, Allow filtering top-level resource based on embedded resources filters - @steve-chavez, @Iced-Sun
- This is enabled by adding
!innerto the embedded resource, e.g./projects?select=*,clients!inner(*)&clients.id=eq.12 - This behavior can be enabled by default with the
db-embed-default-join='inner'config option, which saves the need for specifying!inneron every request. In this case, you can go back to the previous behavior per request by specifying!lefton the embedded resource, e.g/projects?select=*,clients!left(*)&clients.id=eq.12
- This is enabled by adding
Fixed
- #1871, Fix OpenAPI missing default values for String types and identify Array types as "array" instead of "string" - @laurenceisla
- #1930, Fix RPC return type handling for
RETURNS TABLEwith a single column. Regression of #1615. - @wolfgangwalther - #1938, Fix using single double quotes(
") and backslashes(/) as values on the "in" operator - @steve-chavez - #1992, Fix schema cache query failing with standard_conforming_strings = off - @wolfgangwalther
Changed
- #1927, Overloaded Functions: If there's a function "my_func" having a single unnamed json param and other overloaded pairs(with any number of params), PostgREST won't be able to resolve a POST request to "my_func". For solving this, you can name the unnamed json param
my_func(json) -> my_func(prm json). - #1857, Make GUC names for headers, cookies and jwt claims compatible with PostgreSQL v14 - @laurenceisla, @robertsosinski
- Getting the value for a header GUC on PostgreSQL 14 is done using
current_setting('request.headers')::json->>'name-of-header'and in a similar way forrequest.cookiesandrequest.jwt.claims - PostgreSQL versions below 14 can opt in to the new JSON GUCs by setting the
db-use-legacy-gucsconfig option to false (true by default)
- Getting the value for a header GUC on PostgreSQL 14 is done using