Laurence Isla and GitHub
c09394517d
fix: call pg_notification_queue_usage() automatically when the LISTEN channel bug is detected ( #4858 )
...
There's a PostgreSQL bug that doesn't let any listener to register in the DB:
https://www.postgresql.org/message-id/flat/CAK98qZ3wZLE-RZJN_Y%2BTFjiTRPPFPBwNBpBi5K5CU8hUHkzDpw%40mail.gmail.com
The only workaround is to advance the async notification queue tail,
which can be done by executing: "SELECT pg_notification_queue_usage();".
Before we just logged a HINT with this suggestion, but now we call that function directly
and then let the listener to automatically recover.
No automated tests were added here as it would be too complex and this is a PostgreSQL bug. But this was manually tested following the steps on https://github.com/PostgREST/postgrest/pull/4581#issuecomment-3690610592
2026-04-30 18:22:59 -05:00
Laurence Isla and Wolfgang Walther
5f6f7dca44
fix: unexpected results when embedding the same table twice
2026-04-29 09:10:48 +00:00
Laurence Isla
dc179665dc
chore: fix incorrect username in changelog entry
2026-04-27 18:22:58 -05:00
Laurence Isla
41b86fffa5
fix: no longer retries the transaction on 40001 errors
2026-04-27 14:30:10 -05:00
Laurence Isla
2861b35f41
chore: update sponsors
...
* The list of sponsors is now ordered by total contribution value (highest first)
* Removed former backers from sponsor pages
2026-03-03 22:02:18 -05:00
Laurence Isla
341e40196d
chore: update sponsor
2026-03-02 17:36:04 -05:00
Laurence Isla
d10c779fc6
perf: optimize count=exact when there's no limits, offsets or db-max-rows
2026-01-28 18:43:44 -05:00
Laurence Isla
d031bb2df5
refactor: use a single function to get the page_total count
2026-01-28 18:43:44 -05:00
Laurence Isla
1682677297
fix: filtering the returned representation whenn using or/and filters on mutations
2026-01-27 21:24:19 +00:00
Laurence Isla and GitHub
c15e908266
add(logs): Include a HINT when the LISTEN channel breaks due to a Postgres bug
...
The HINT shows a SQL command that solves the issue.
2026-01-18 18:47:53 +07:00
Laurence Isla and Steve Chavez
c232e97f80
chore(changelog): move incorrectly placed fixes
2025-12-10 20:00:31 -05:00
Laurence Isla
ab9b00ce88
refactor: use only Lazy.ByteString to calculate the response body length
2025-12-10 14:18:19 +00:00
Laurence Isla
9200a98087
fix: add missing Content-Length to empty HTTP 201 responses
...
For when a preference other than return=representation is requested.
2025-12-10 14:18:19 +00:00
Laurence Isla
3b27b2220d
fix: regression that truncates error message when offset is out of bounds
...
- Happens when offset > the number of rows and when "Prefer: count=exact" header is sent
- Regression introduced in commit 57ef998
2025-12-10 14:18:19 +00:00
Laurence Isla
1ada6e6f84
chore(changelog): add missing devs from changelog entries
2025-10-21 16:16:42 +00:00
Laurence Isla
ea5db2a09a
fix: reloading the Schema Cache unnecessarily on a PGRST002 error
...
When 503 errors happen if the Schema Cache is empty,
it should not retrigger the connection worker since
there's no Schema Cache loaded yet.
2025-10-20 18:42:56 +00:00
Laurence Isla
c88ddfe18d
fix: not logging the JSON message on a PGRST002 error
...
It happens right after the configuration is loaded and before
the schema cache is queried.
2025-10-20 18:42:56 +00:00
Laurence Isla
6d8a95f607
chore: fix broken logo URL in Docker Hub README
2025-10-08 02:40:58 +00:00
Laurence Isla
043b1f97ee
fix: empty enum in 'preferParams' openAPI parameter
2025-08-29 22:57:56 +00:00
Laurence Isla
bf90f95443
fix: logging the Haskell type instead of the listener error message directly
...
Previously: Just "connection error..."
Now: connection error...
2025-08-22 19:27:38 +00:00
Laurence Isla
66caaffbe3
chore: update sponsor
2025-07-16 19:54:53 -05:00
Laurence Isla
a2892ab1dd
fix: regression that makes fts not work on domain types based on tsvector
2025-06-16 16:53:29 +00:00
Laurence Isla
1879c813c8
fix: detect the correct base type of recursive domains in schema cache for tables and views
...
In OpenAPI it shows the correct base type in properties' definitions (including enums).
2025-06-16 16:53:29 +00:00
Laurence Isla
a9d4237bc2
chore: update UTM tracking for Euronodes
2025-06-06 12:55:55 -05:00
Laurence Isla
f85113669d
chore: update sponsor
2025-06-06 14:53:20 +00:00
Laurence Isla
e33ce843dd
chore: add changelog entry for v13.0.2
2025-06-02 18:09:29 -05:00
Laurence Isla
f7fa717411
fix: regression that makes order by with nulls order not work alongside limits
2025-06-02 17:44:57 +00:00
Laurence Isla
9c40a9c6df
docs: JWK kid parameter validation
2025-05-29 21:01:39 +00:00
Laurence Isla
0b3c8c98d8
feat: improve error response when the requested schema is invalid
...
- It now shows the invalid schema in the "message"
- The exposed schemas are now listed in the "hint" instead of the "message"
2025-05-15 02:21:00 +00:00
Laurence Isla
c5cba11ecb
docs: fix link to SQL Query Logs
2025-05-09 20:59:51 -05:00
Laurence Isla
e0c5b3a314
correct: handle array values in JWT aud claim correctly
2025-05-07 21:54:32 +00:00
Laurence Isla
b3bff90d68
correct: fail on invalid types of registered JWT claims (exp, nbf, iat, aud)
2025-05-07 21:54:32 +00:00
Laurence Isla
01432ce963
chore: update sponsors
2025-04-25 23:30:12 -05:00
Laurence Isla and Steve Chavez
57ef9988a5
feat: add Content-Length response header
2025-04-24 12:49:18 -05:00
Laurence Isla and GitHub
0b618d0bef
feat: allow spreading one-to-many and many-to-many embedded resources
...
* Note: Aggregates are not implemented
2025-03-24 14:45:56 +00:00
Laurence Isla and GitHub
9c880c082a
feat: allow logging the SQL query to stderr
...
- Logs the main SQL query when `log-query=main-query`.
- Only logs at the current `log-level`.
2025-02-18 19:17:26 -05:00
Laurence Isla
5619a5279b
refactor: move the logic to check if the response should be logged into a separate function
2025-02-14 19:52:59 -05:00
Laurence Isla
8157e6ee0b
refactor: remove IO from the Query.hs module
...
Will make logging SQL queries to stderr possible
2025-02-14 19:52:59 -05:00
Laurence Isla
7be5782179
docs: make the aggregate functions docs less verbose
2025-02-14 18:14:43 -05:00
Laurence Isla
b7d0a1f68c
feat: apply to_tsvector() explicitly to the full-text search filtered column, only if it's not of tsvector type
2025-01-28 19:14:54 -05:00
Laurence Isla
9c863dbddc
test: add tests for bulk upserts with surrogate keys
2024-11-15 12:05:14 -05:00
Laurence Isla
fcf828fd92
docs: clarify usage of upsert with surrogate primary keys
2024-11-15 12:05:14 -05:00
Laurence Isla and Steve Chavez
4874428a17
docs: fix deprecation of analytics in RTD
2024-10-28 22:10:17 -05:00
Laurence Isla
ded2e997e9
fix: spread embeds failing when using the "count()" aggregate without a field - @laurenceisla
...
- Fixed "column reference <col> is ambiguous" error when selecting "?select=...table(col,count())"
- Fixed "column <json_aggregate>.<alias> does not exist" error when selecting "?select=...table(aias:count())"
2024-08-21 16:56:32 -05:00
Laurence Isla
2302f78539
refactor: simplify functions in the "hoist from selected fields" process
2024-08-21 16:56:32 -05:00
Laurence Isla
e9244f1a4f
fix: a nested spread embedding now correctly groups by the fields of its top parent relationship
2024-08-21 16:56:32 -05:00
Laurence Isla
3539aaff89
fix: prevent spread embed to use aggregates when disabled
2024-08-21 16:56:32 -05:00
Laurence Isla
48edab24c6
changelog: add missing entry for 3670
2024-08-01 11:17:01 -05:00
Laurence Isla
c3070bbd4e
fix: nested empty embeds no longer return empty values and are correctly omitted
2024-07-04 14:21:47 -05:00
Laurence Isla
e0baf7e78e
feat: log error message when JWT secret is less than 32 characters long
...
breaking change: PostgREST now fails to start or reload the config when the JWT secret is less than 32 characters long.
2024-07-04 12:06:24 -05:00
Laurence Isla
d9385a4523
changelog: update to 12.2.1
2024-07-03 18:57:19 -05:00
Laurence Isla
b9004baa3f
docs: add missing "curl --get" on embedding example
2024-07-02 15:20:54 -05:00
Laurence Isla
40ed349bba
changelog: add missing entries for #3592 and #3616
2024-06-26 19:46:36 -05:00
Laurence Isla
d458114f33
nix: remove texlive dependencies from postgrest-docs-render
2024-06-26 11:33:04 -05:00
Laurence Isla
295b00f360
docs: use PlantUML instead of Latex to generate Schema Isolation image
2024-06-26 11:33:04 -05:00
Laurence Isla
5acb29ce94
chore: organize diagrams in different folders
2024-06-26 11:33:04 -05:00
Laurence Isla and Steve Chavez
2e910e5338
docs: improve architecture diagram
...
- SVG format instead of PNG
- The components now have links to their reference in the Docs
- Supports dark mode
2024-06-16 17:31:26 -05:00
Laurence Isla and Steve Chavez
15a97738fb
docs: fix example of listener failure on read replicas
2024-06-12 19:43:58 -05:00
Laurence Isla
b52937ef4a
docs: clarify what is logged when "log-level=debug"
2024-06-12 18:19:16 -05:00
Laurence Isla
3f9027904a
docs: add missing logs to stderr
...
- Schema cache stats are now logged to stderr
- Log when the LISTEN channel gets a notification
2024-06-12 18:19:16 -05:00
Laurence Isla and Steve Chavez
5afa321e89
docs: add "Listener" page
...
Co-authored-by: Steve Chavez <stevechavezast@gmail.com >
2024-06-12 18:19:16 -05:00
Laurence Isla
db85faf3ed
docs: wrap in double quotes the filters with reserved characters in logical operators
2024-06-05 17:59:44 -05:00
Laurence Isla
aaf2d2e430
docs: add example for double embedding when doing OR filtering across embeds
2024-06-04 16:51:28 -05:00
Laurence Isla
50b2d302d0
docs: use "curl --get" for better readability when necessary
2024-05-31 20:24:06 -05:00
Laurence Isla
9c165e3edb
fix: log connection pool events on log-level="debug" instead of "info"
2024-05-24 17:19:31 -05:00
Laurence Isla
c8612f1df1
test: use only the first line in the logs to check the server version
2024-05-24 17:19:31 -05:00
Laurence Isla
4e0ffa6d0a
changelog: fix link for deprecated feature
2024-05-22 19:16:01 -05:00
Laurence Isla
f5767b8d86
docs: add "config" and "schema_cache" endpoints to the admin server
2024-05-22 19:16:01 -05:00
Laurence Isla and Steve Chavez
1ca5b6f6ba
docs: ignore linkcheck for blog.frankel.ch
2024-05-21 17:23:11 -05:00
Laurence Isla and GitHub
aea563bd82
fix: remove verbosity from some error logs
...
Error logs starting with "An error occured..." are replaced with "Failed to..."
2024-05-21 16:44:28 -05:00
Laurence Isla and GitHub
5d3d09923f
refactor: unDRY PGRST prefix in errors for better search/grep
2024-05-21 14:34:00 -05:00
Laurence Isla and GitHub
7671d63f06
refactor: add isParent flag to O2O relationships
...
It allows to identify the side with the FK when isParent == False
2024-05-21 12:11:27 -05:00
Laurence Isla
04d6f41f45
chore: update commit prefix info in the PR template
2024-05-21 09:03:12 -05:00
Laurence Isla and Wolfgang Walther
ea4d1596b7
ci: fix release not executing when skipping CI for docs and tests
2024-05-17 08:09:19 +02:00
Laurence Isla and Steve Chavez
334c2710f6
changelog: update to 12.0.3
2024-05-11 13:30:50 -05:00
Laurence Isla and GitHub
40bd9a7769
ci: DRY the cleanup job for ARM servers
2024-04-29 12:20:00 -05:00
Laurence Isla
85a4e35a2d
docs: fix http status for PGRST121 error
2024-04-24 15:04:35 -05:00
Laurence Isla and GitHub
69bbce5b32
feat: improve PGRST121 error message
...
* Clarify the message field
* Show failed MESSAGE or DETAIL in the the PGRST121 error's details field
* Show the correct JSON format in the hint field
2024-04-24 13:33:10 -05:00
Laurence Isla and GitHub
e788776ec3
ci: clean ARM server even when previous steps or jobs fail
2024-04-23 16:34:55 -05:00
Laurence Isla and Steve Chavez
0d13b842a6
fix: OpenAPI now tags a FK correctly on O2O relationships
2024-04-18 17:08:14 -05:00
Laurence Isla and GitHub
460259548d
perf: fix space leaks by downgrading fuzzyset to v0.2.4
2024-04-11 14:13:20 -05:00
Laurence Isla
4bcd6725fe
chore: update sponsor logos
2024-04-10 18:37:57 -05:00
Laurence Isla
70396d3f6c
docs: add dark mode
...
- Uses sphinx-rtd-dark-mode for sphinx-rtd-theme
- Adds dark mode logos for sponsors
2024-04-10 18:37:57 -05:00
Laurence Isla
378c11104b
test: fix some in-db config values
...
To correctly test in-db override of config file values, the former must be different from the latter.
2024-03-27 15:59:35 -05:00
Laurence Isla
428a6fef63
fix: in-db config values not loading for pgrst.server_trace_header and pgrst.server_cors_allowed_origins
2024-03-27 15:59:35 -05:00
Laurence Isla and GitHub
3f162535b8
nix: add example on how to use a library locally
2024-03-26 11:39:07 -05:00
Laurence Isla and Wolfgang Walther
cf7b9bad08
nix: only json output for postgrest-dump-schema
2024-03-07 16:50:14 +01:00
Laurence Isla and Wolfgang Walther
c276e9741e
nix: fix postgrest-dump-schema with optional yaml output
2024-03-07 16:50:14 +01:00
Laurence Isla and Wolfgang Walther
b8b957667b
docs: add enums to working with data types how-to
2024-03-02 12:14:13 +01:00
Laurence Isla and GitHub
2479e0d4a5
changelog: clarify breaking change about dropping legacy gucs
2024-02-26 20:13:28 -05:00
Laurence Isla and GitHub
229bc77886
docs: using or across embedded resources
2024-02-20 17:15:42 -05:00
Laurence Isla and Wolfgang Walther
a1f2ecadda
nix: Move docs tools into core infrastructure
2024-02-18 13:10:00 +01:00
Laurence Isla and Wolfgang Walther
4059e1ea76
Add tutorial for Godot 4 + PostgREST in ecosystem
2024-02-16 22:14:05 +01:00
Laurence Isla and Wolfgang Walther
93e50b1d90
docs: Enable non-broken link again
2024-02-16 22:11:00 +01:00
Laurence Isla and GitHub
4a0b93c451
Fix technical_specs in sample DB using UNIQUE instead of PRIMARY KEY
2024-02-08 14:10:17 -05:00
Laurence Isla and GitHub
439db880dd
Simplify htmx how-to functions using Pico CSS and Ionicons
2024-01-26 20:28:58 -05:00
Laurence Isla and GitHub
9ef0e677e0
Use -g to prevent globbing in some curl examples
2024-01-17 12:39:42 -05:00
Laurence Isla and GitHub
cb5d80aff8
Remove HTTP Snippets
2024-01-17 09:07:37 -05:00
Laurence Isla and GitHub
be2778edb5
Replace the term 'password' with 'secret' to clarify the Tutorial 1
2024-01-17 09:06:20 -05:00
Laurence Isla and GitHub
74a3217bee
Update sponsor logo
2024-01-15 20:17:55 -05:00