4357 Commits
Author SHA1 Message Date
steve-chavez c1be852d55 chore: bump version to 14.14 v14.14 2026-06-29 13:20:56 -05:00
Taimoor Zaeemandsteve-chavez ae65768569 fix(admin): log admin server exceptions and close admin socket
Admin server was crashing silently and requests hang indefinitely.
With this fix, we are now logging the admin server exceptions and also
close the socket afterwards so admin request don't hang.

Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
2026-06-29 13:13:16 -05:00
renovate[bot]andWolfgang Walther c98a8c2a29 chore(deps): update vmactions/freebsd-vm action to v1.5.0 2026-06-29 17:45:43 +00:00
renovate[bot]andWolfgang Walther 1853a4a2b7 chore(deps): update vmactions/freebsd-vm action to v1.4.9 2026-06-27 09:41:00 +00:00
renovate[bot]andWolfgang Walther 64407a45fc chore(deps): update actions/cache action to v6.1.0 2026-06-26 19:48:31 +00:00
renovate[bot]andWolfgang Walther 2641bf48a8 chore(deps): update all dependencies 2026-06-25 20:10:24 +00:00
renovate[bot]andWolfgang Walther 050e54965f chore(deps): update all dependencies to v1.4.8 2026-06-20 21:57:15 +00:00
renovate[bot]andWolfgang Walther 5826ce50c8 chore(deps): update all dependencies 2026-06-19 19:08:29 +00:00
renovate[bot]andWolfgang Walther 9772e075f6 chore(deps): update all dependencies 2026-06-19 19:07:45 +00:00
steve-chavezandTaimoor Zaeem ef54d94cc1 amend: required membership for postgrest_test_anonymous
Previous test correction required GRANTing membership for
postgrest_test_anonymous.
2026-06-12 12:34:04 +05:00
steve-chavezandTaimoor Zaeem d67f68330a test: correct test_admin_ready_includes_schema_cache_state
There was an oversight on d556cea, `timeout_authenticator` doesn't have
any privileges on the tables so it shouldn't be making requests to the
API server or it will end up with 401 responses.
2026-06-12 12:34:04 +05:00
Wolfgang Walther 2e4b72d130 Revert "ci(ci): avoid running build jobs twice on pushes to main"
This reverts commit 840d3f99ed.

This was a nice idea in theory, but in practice this means that the
build jobs do not run at all on the default branch anymore. This means
the caches they push to won't be used by any other jobs, neither on the
tag pipelines, nor on PRs. This in turn makes all of these jobs really
slow.

Not helpful!
2026-06-10 15:04:34 +02:00
renovate[bot]andWolfgang Walther 4e68ffbc92 chore(deps): update all dependencies to v7 2026-06-07 11:01:20 +00:00
steve-chavez b2501edf8d chore: bump version to 14.13 v14.13 2026-06-04 13:49:01 -05:00
Laurence IslaandTaimoor Zaeem 4dc7d84ff1 fix: request failures when work_mem is set on a role 2026-06-04 21:25:50 +05:00
Taimoor Zaeem 627e8c07ab test(io): set client_min_messages to warning in SQL fixtures
To suppress unwanted "NOTICE: ..." messages which pollute the log.

Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
2026-06-04 15:23:43 +05:00
Taimoor Zaeem 3decedce1e test(io): refactor SQL fixtures
- Move privileges and grants to privileges.sql
- Move schema, tables and functions to schema.sql
- Move global database settings to database.sql

Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
2026-06-04 15:23:43 +05:00
Taimoor Zaeem c71bfacc1d test(io): move role fixtures to roles.sql
Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
2026-06-04 15:23:43 +05:00
netandSteve Chavez 4f69c407e3 fix: don't mention retrying in the database connection error message
The PGRST000 database connection error message was "Database connection
error. Retrying the connection.", but reconnection attempts are already
logged separately by the reconnection observation, and on fatal errors
(e.g. authentication failure) PostgREST does not retry at all. Drop the
"Retrying the connection." part, leaving "Database connection error.".
2026-06-03 13:36:33 -05:00
Wolfgang Walther 80d0caaff9 ci: remove deprecation warning
app-id was replaced with client-id
2026-06-03 10:09:47 +02:00
renovate[bot]andWolfgang Walther 0dbbf734b7 chore(deps): update all dependencies to v6.0.3 2026-06-03 07:39:54 +00:00
Taimoor Zaeem 8357488ded docs: restructure PostGIS page
Restructure PostGIS page with order:

- `Accept: application/geo+json` request example
- Generated column example
- String representation example

Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
(cherry picked from commit 669fc9ede8)
2026-06-02 15:07:46 +05:00
Wolfgang Walther 7bf7da627b chore: fix actionlint with ubuntu-slim jobs 2026-06-02 10:39:04 +02:00
Wolfgang Walther b1864594e6 ci(ci): avoid running build jobs twice on pushes to main
It's enough to run the build jobs in the release pipeline, no need to
run them on the push event as well.
2026-06-02 10:15:14 +02:00
Wolfgang Walther e9464bc535 ci(release): only update docker description from devel release
This condition was accidentally removed when merging 4 release jobs into
2.
2026-06-02 10:15:14 +02:00
Wolfgang Walther 27734f5d51 ci(release): merge 4 jobs into 2
No need to do this in as many jobs. Splitting all the github stuff from
docker stuff into two jobs is enough. This still allows to conditionally
enable docker jobs in contributors repos, depending on whether the
relevant docker credentials are provided - but avoids using too many
concurrent runners.
2026-06-02 10:15:13 +02:00
Wolfgang Walther 8ce8939259 ci(release): run docker job on regular VM runner
Tried to run it on a -slim runner in fb24b6b3, but the result is that no
docker socket is available. This jobs needs one of the big runners.
2026-06-02 10:15:12 +02:00
Wolfgang Walther f71f70152a ci: avoid running pg18 tests twice
We already test PG18, the default, with the coverage job, so why run it
twice?
2026-06-02 10:15:12 +02:00
Wolfgang Walther 41b58579cb ci: use -slim runner for small jobs
No need to spin up full VM runners for small automation tasks, when we
can use single-CPU runners in containers instead.

https://docs.github.com/en/actions/reference/runners/github-hosted-runners#single-cpu-runners

(some of this will potentially not work, because dependencies in the
slim image might not be available - however, it makes no sense to create
this as a PR, because all jobs touched here run on branches only. Thus
pushing directly to main)
2026-06-02 10:15:11 +02:00
Wolfgang Walther 6d2fa4d3a7 ci: run other loadtests to completion when one of them fails
The most likely offender to fail early is jwt-rsa-cache-worst - which
then cancels *all* loadtests at once. This is unnecessary churn for CI.
Instead we can re-run only that one test later.
2026-06-02 10:15:10 +02:00
Wolfgang Walther 99905c7988 ci: test build of dev shell on darwin 2026-06-02 10:13:29 +02:00
Wolfgang Walther df38175645 ci: use nix-build-uncached to save useless downloads
There is no point to actually realize the derivations to disk, when they
are in cache. `nix-build-uncached` checks the cache and stops before
downloading dependencies if they are available. It will however build as
normal on a cache-miss. Should speed up CI when no Nix dependencies
change a fair bit.

We can only do this for the MacOS job, which only tests the builds. We
can not do this for other jobs which require the build results to be
present before uploading parts of them as artifacts.
2026-06-02 10:13:28 +02:00
Wolfgang Walther ebac332cb1 ci: trigger workflows when nixpkgs pin is updated
Otherwise we might break things...
2026-06-02 10:13:27 +02:00
Wolfgang Walther 6e573b911d ci: Use FreeBSD VM instead of cirrus 2026-06-02 10:10:22 +02:00
Taimoor Zaeem e49a17ea56 nix(docs): print message to console on script runs
It's not immediately visible that these scripts are run when
doing `postgrest-docs-check`.

Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
(cherry picked from commit e1d547623e)
2026-05-28 14:28:37 +05:00
renovate[bot]andWolfgang Walther b4eec4bbfb chore(deps): update all dependencies 2026-05-22 20:51:50 +00:00
Michał KłeczekandTaimoor Zaeem 83e0df24f5 refactor(remove): schema cache load delay config
Remove internal schema cache load and relationship load sleep settings plus
the delay wrappers they enabled. Drop IO tests that depended on the removed
settings.
2026-05-21 12:01:10 +05:00
Michał KłeczekandTaimoor Zaeem b1a53e008c test: cover stale schema cache database error
Add an IO test that drops a table while schema cache reload is delayed. It verifies the stale cache path returns PostgreSQL 42P01 and the refreshed cache returns PGRST205.
2026-05-21 12:01:10 +05:00
steve-chavez 6200fbad58 chore: bump version to 14.12 v14.12 2026-05-20 12:20:38 -05:00
steve-chavez b71345ab09 test: adjust test_positive_pool_metric
Adjusted so it waits for liveness instead of requiring sleeping
2026-05-20 10:29:12 -05:00
steve-chavez 9be5c41c05 test: change wait_for_readiness to an enum
This so we can wait for both readiness and liveness
2026-05-20 10:29:12 -05:00
Michał KłeczekandSteve Chavez ed2dc1fe86 fix: implement connection tracking in metrics
Right now metrics observation handler does not track database connections but updates a single Gauge based on HasqlPoolObs events. This is problematic because Hasql pool reports various connection events in multiple phases. The connection state machine is not simple and to precisely report the number of connections in various states, it is necessary to track their lifecycles.

This change adds a ConnTrack data structure and logic to track database connections lifecycles. At the moment it supports "connected" and "inUse" connection counts precisely. The "pgrst_db_pool_available" metric is implemented on top of ConnTrack instead of a simple Gauge.
2026-05-20 10:29:12 -05:00
steve-chavez f6e99117ab test: adjust sleep in test_positive_pool_metric
Otherwise it's not enough time for the pool metric to
reach a negative value.
2026-05-20 10:29:12 -05:00
steve-chavez 0be41a4941 test: negative pgrst_db_pool_available in metrics
Proves the failure on https://github.com/PostgREST/postgrest/issues/4622.

This doesn't require additional test infra, only nginx. Taking advantage
of the `stream {}` context which is also compatible with unix socket
besides TCP.
2026-05-20 10:29:12 -05:00
renovate[bot]andWolfgang Walther ae1e3d6c4d chore(deps): update codecov/codecov-action action to v6.0.1 2026-05-19 07:04:25 +00:00
Taimoor Zaeem f2932bffea test(io): move utility function to util.py
The function `match_log` should be in `util.py` so it can be reused
in other modules.

Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
2026-05-19 10:01:51 +05:00
Taimoor ZaeemandSteve Chavez 15b83ff4da docs: add redirect of the moved postgis section
In 055921ea, we missed redirecting the old link to the new one.

Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
(cherry picked from commit ab43ee1fbb)
2026-05-15 19:40:45 -05:00
renovate[bot]andWolfgang Walther a2d76b01b7 chore(deps): update dependency macos to v26 2026-05-15 20:38:43 +00:00
renovate[bot]andTaimoor Zaeem 16d4477c62 chore(deps): update actions/create-github-app-token action to v3.2.0 2026-05-14 10:14:25 +05:00
Taimoor Zaeem d75d2838fc ci: catch linkcheck failure
The scheduled linkcheck job fails without notification to maintainers.
To catch the failure, a github workflow step has been added which
comments on issue #4106 so that the maintainers get notified.

Signed-off-by: Taimoor Zaeem <taimoorzaeem@gmail.com>
(cherry picked from commit f90d7d7296)
2026-05-14 09:56:19 +05:00