Skip to content

Commit f4345db

Browse files
authored
ci: test on PostgreSQL 13 and document it as the minimum (#228)
* ci: test on PostgreSQL 13 and document it as the minimum * ci: run the floors job on PostgreSQL 13 instead of a separate job
1 parent 8112f73 commit f4345db

3 files changed

Lines changed: 8 additions & 6 deletions

File tree

‎.github/workflows/_checks.yml‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ jobs:
9797
# the same versions can still disagree on whether those versions install.
9898
# 3.14t is out: the dev group's `faststream[kafka]` pulls aiokafka, which ships no cp314t
9999
# wheel, so under --no-build this leg would measure upstream's gap rather than a floor.
100+
# PostgreSQL 13 is the server floor: outbox_autovacuum_ddl sets the insert-triggered
101+
# reloptions that 13 introduced.
100102
if: github.event_name != 'schedule'
101103
runs-on: ubuntu-latest
102104
strategy:
@@ -109,7 +111,7 @@ jobs:
109111
- "3.14"
110112
services:
111113
postgres:
112-
image: postgres:17
114+
image: postgres:13
113115
env:
114116
POSTGRES_USER: outbox
115117
POSTGRES_PASSWORD: outbox

‎docs/introduction/installation.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@
2323
## Requirements
2424

2525
- Python 3.11+
26-
- PostgreSQL 12+. The features used (partial indexes, `FOR UPDATE SKIP
27-
LOCKED`, `make_interval`, `pg_notify`) all predate 12. The examples and
28-
CI run on 17; that is what's exercised, so 17 is the safest choice if
29-
you're starting fresh.
26+
- PostgreSQL 13+. `outbox_autovacuum_ddl` sets the insert-triggered
27+
autovacuum options that 13 introduced; on 12 the `ALTER TABLE` fails.
28+
CI runs the test suite on 13 and on 17. The examples use 17, so that is
29+
the safest choice if you're starting fresh.
3030
- A running Postgres instance accessible via SQLAlchemy `AsyncEngine`
3131

3232
## Free-threaded Python

‎docs/operations/alembic.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ def upgrade() -> None:
209209
```
210210

211211
This sets `autovacuum_vacuum_scale_factor = 0` and `autovacuum_vacuum_threshold =
212-
1000` (plus the insert-triggered pair, Postgres 13+). Tune the thresholds for your
212+
1000`, plus the insert-triggered pair, which needs PostgreSQL 13 or later. Tune the thresholds for your
213213
message rate, for example `outbox_autovacuum_ddl("outbox", vacuum_threshold=5000,
214214
insert_threshold=5000)`.
215215

0 commit comments

Comments
 (0)