REST API for any Postgres database
/projects?select=*,clients(*)&order=clients(name).desc.nullsfirst
/projects?select=*,...clients(client_name:name)
is.null
or not.is.null
on an embedded resource - @steve-chavez
!inner
, e.g. /projects?select=*,clients(*)&clients=not.is.null
/projects?select=*,clients(*)&clients=is.null
server-trace-header
for tracing HTTP requests. - @steve-chavez
db-root-spec
stable. - @steve-chavez
Prefer: missing=default
header - @steve-chavezIS DISTINCT FROM
using the isdistinct
operator, e.g. /people?alias=isdistinct.foo
db-pool-max-lifetime
(default 30m)db-pool-acquisition-timeout
is no longer optional and defaults to 10sany/all
modifiers on the eq,like,ilike,gt,gte,lt,lte,match,imatch
operators, e.g. /tbl?id=eq(any).{1,2,3}
- @steve-chavez
get
path item for RPCs to the OpenAPI output - @laurenceislaPGRST204
: Column is not foundPGRST003
: Timed out when acquiring connection to dbdb-pool-acquisition-timeout
not logging to stderr when the timeout is reached - @steve-chavezRange
header on PATCH/DELETE
- @laurenceisla
"message": "syntax error at or near \"RETURNING\""
errororder
query parameter was presentRange
header is now only considered on GET
requests and is ignored for any other method - @laurenceisla
limit/offset
query parameters for sub-rangesPUT
requests no longer return an error when this header is present (using limit/offset
still triggers the error)Prefer: params=multiple-objects
header. A function with a JSON array or object parameter should be used instead./projects?select=*,clients(*)&order=clients(name).desc.nullsfirst
/projects?select=*,...clients(client_name:name)
is.null
or not.is.null
on an embedded resource - @steve-chavez
!inner
, e.g. /projects?select=*,clients(*)&clients=not.is.null
/projects?select=*,clients(*)&clients=is.null
get
path item for RPCs to the OpenAPI output - @laurenceislaPGRST204
: Column is not foundPGRST003
: Timed out when acquiring connection to db/projects?select=*,clients(*)&order=clients(name).desc.nullsfirst
/projects?select=*,...clients(client_name:name)
is.null
or not.is.null
on an embedded resource - @steve-chavez
!inner
, e.g. /projects?select=*,clients(*)&clients=not.is.null
/projects?select=*,clients(*)&clients=is.null
message
to the details
in the error output - @laurenceislaNOTIFY pgrst
not reloading the db connections catalog cache - @steve-chavez/projects?select=*,clients(*)&order=clients(name).desc.nullsfirst
/projects?select=*,...clients(client_name:name)
is.null
or not.is.null
on an embedded resource - @steve-chavez
!inner
, e.g. /projects?select=*,clients(*)&clients=not.is.null
/projects?select=*,clients(*)&clients=is.null
/projects?select=*,clients(*)&order=clients(name).desc.nullsfirst
/projects?select=*,...clients(client_name:name)
is.null
or not.is.null
on an embedded resource - @steve-chavez
!inner
, e.g. /projects?select=*,clients(*)&clients=not.is.null
/projects?select=*,clients(*)&clients=is.null
db-pool-acquisition-timeout
configuration option, time in seconds to wait to acquire a connection. - @robxdb-pool-timeout
option, because this was removed upstream in hasql-pool. - @robxPrefer: params=multiple-objects
in the request. A function with a JSON array or object parameter should be used instead for a better performance.db-pool-acquisition-timeout
configuration option, time in seconds to wait to acquire a connection. - @robxdb-pool-timeout
. - @robxPrefer: params=multiple-objects
in the request. A function with a JSON array or object parameter should be used instead for a better performance.