This release extends auto-linearization to more multi-shard write paths, improves advisory lock handling across shards, fixes a number of extended protocol (portal) edge cases, makes the admin console friendlier, and adds a one-command binary installer.
This release covers all changes from 3.2.0 to 3.2.1.
What's Changed
Auto-Linearize & Advisory Locks
- Support auto-linearize for extended protocol by @reshke #3128
- Auto-linearize distributed batch inserts by @reshke #3130
- Auto-linearize distributed inserts from
VALUESCTEs by @reshke #3136 - Preserve auto-linearize across CTE join rewrites by @reshke #3135
- Auto-linearize reference relation writes by @reshke #3131
- Auto-linearize advisory lock functions by @ein-krebs #3138
- Aggregate transaction advisory lock results across shards by @reshke #3165 #3173
- Test pinned connection reuse after a linearized query error by @reshke #3192
Query Routing & Execution
- Fix queries to reference tables in multi-shard transactions by @ein-krebs #3116 #3118
- Resolve default sharding hints to the only distribution by @reshke #3137
- Check for unknown SPQR hints by @kla1mn #2509
- Use a scatter plan to deploy maintained session parameters by @reshke #3141
- Require a plan when dispatching query slices by @reshke #3145
- Move
DataRowprocessing into plan callbacks by @reshke #3164 - Fix executor implicit transaction block by @reshke #3174
- Avoid sharing mutable routing errors between requests by @reshke #3191
Extended Protocol & Portals
- Fix named
Bindoverwriting the unnamed portal by @reshke #3149 - Check portal existence before looking up its description by @reshke #3162
- Add tests for named/unnamed portal lifecycle, virtual queries with named portals and
Describeafter errorSyncby @reshke #3142 #3150 #3161 #3170 - Run extended protocol tests against PostgreSQL and Odyssey master in CI by @reshke #3159 #3180
Console & SQL
- Hint SQL users to connect outside the admin console by @reshke #3113
- Gracefully reject unsupported message types in admin console by @reshke #3115
- Support
SHOW transaction_read_onlyin admin console by @reshke #3122 - Add regression tests for psql meta commands by @reshke #2305
- Dry-run for
CREATE SHARD ... CHECKby @diPhantxm #3076
Two-Phase Commit (2PC) & Watchdog
- Try all backend rules for 2PC recovery by @diPhantxm #3112
- Fix connection double put in watchdog by @ein-krebs #3152
- Add ability to log watchdog messages to a separate file by @ein-krebs #3185
Configuration & Logging
- Add
unix_socket_dirsetting by @Denchick #3140 - Set zerolog settings via config file by @ein-krebs #3190
Stability & Correctness
- Fix panic in
ClientVirtualRelationScanby reading directly from the connection pool by @ein-krebs #3114 - Wait for shard cleanup before reusing connections by @reshke #3194
- Fix backend TCP connections on macOS by @Denchick #3144
- Return typed errors from QDB by @krylosov-aa #3024
- Exit on any query error in
InitSQLMetadataBootstrapperby @ein-krebs #3196
Installation & Packaging
- Add
install.shfor one-command binary installation by @Denchick #3167 - Retry PGDG apt key download in Docker images by @Denchick #3206
Documentation & CI
- Document yacc regeneration via
make generateby @Denchick #3204 - Add contribution rules and skills for AI agents by @Denchick #3171
- Tune CodeRabbit review settings by @Denchick #3155 #3168
- Fix
spqrdump.featureby @ein-krebs #3153 - Update
excludes.txtby @reshke #3160 - Bumps by @dependabot #3120 #3123 #3124 #3163 #3181 #3182 #3183 #3201 #3202
Full Changelog: 3.2.0...3.2.1