Releases: pgdogdev/pgdog
Releases · pgdogdev/pgdog
v0.1.13
v0.1.12
What's Changed
- Support sharding key updates across shards @jaggederest
- Fix server cleanup when client disconnects mid transaction
- Schema sync fixes: abort if primary key is missing, don't sync the publication itself
Full Changelog: v0.1.11...v0.1.12
v0.1.11
What's Changed
- Prepared statements: don't cache anonymous statements, because they may contain parameters (looking at you, Rails...)
- Prepared statements: fix eviction logic leaving zombie statements with zero usage in the cache. Eviction logic went down from
O(n)toO(k)where k is the number of statements exceeding cache limits - Cheaper clone for
Bindmessages - Add snakeoil certs to Docker container for easier dev/staging TLS
Full Changelog: v0.1.10...v0.1.11
v0.1.10
What's Changed
EXPLAINcan now show PgDog routing decisions @jaggederest- Schema sync syncs all tables, extensions and schemas
- TLS configuration is hot-reloadable now @jaggederest
- Support for cross-shard
stddevandvarianceaggregate functions @jaggederest - Integration test suite improvements @jaggederest
- Use SCRAM auth for client connections with TLS instead of falling back to MD5
- Fix rollback bug on unsharded, primary-only deployments
- Queries can be cancelled when shutting down PgDog, which prevents long, stuck queries across pooler restarts @KR-bluejay
- Support rolling back savepoints in sharded deployments
- Allow for 65k parameters in prepared statements @jaggederest
New Contributors
- @KR-bluejay made their first contribution in #524
Full Changelog: v0.1.9...v0.1.10
v0.1.9
What's Changed
- Handle
DISCARD,DEALLOCATEandDISCARD ALLcommands correctly in transaction mode @ryanahall - Support for
AVGaggregate function in cross-shard queries, with automatic query rewriting and "ghost columns" @jaggederest - Code coverage tracking @jaggederest
- Postgres <-> PgDog SQL acceptance tests @jaggederest
- Database parameters & mirroring support for environment-based configuration @grk
- Allow to specify
[admin]section inusers.toml, and be encrypted-at-rest.
Bug fixes
- Fixed leak in connection pool caused by a race condition with
RELOADcommand - Database banning now works solely off of health checks and only for read queries
New Contributors
Full Changelog: v0.1.8...v0.1.9
v0.1.8
What's Changed
- Manual primary/replica routing with
/* pgdog_role */comment. - Forward empty queries to a shard using round robin, instead of intercepting. Works better when using extended protocol.
- Add
server_lifetimesetting to control how long server connections are allowed to exist before being re-created by the connection pool. - Make
configcheckcommand work correctly. - Fix dry run mode ignoring query comments for manual routing.
- Fix
SETqueries comments for manual routing. - Don't use host banning when only one target is configured in the load balancer. 🙏 @ryanahall
- Added more JDBC driver examples and tests.
New Contributors
- @ryanahall made their first contribution in #498
Full Changelog: v0.1.7...v0.1.8
v0.1.7
What's Changed
- Fix incorrect aggregate function used in cross-shard statements @Prabhat1308
- Faster cross-shard queries with improved parallelization
- Make
NOTIFYrespect transactional semantics - Support for
NUMERICdata type in cross-shard aggregate and sorting @jaggederest - SIMD for pgvector L2 cross-shard sorting @jaggederest
- Fix performance issue in dry-run mode caused by lock contention @jaggederest
- 2pc transactions are not started by default for single-statement writes
- Prepared statement fixes, caused by out of order Close message processing
- Ignore
DISCARDcommand from clients in transaction mode. This makes sure prepared statements work with Rails apps, for example. - Heath check HTTP endpoint for AWS NLBs
- Log tables during schema sync
New Contributors
- @Prabhat1308 made their first contribution in #462
Full Changelog: v0.1.6...v0.1.7
v0.1.6
v0.1.5
v0.1.4
What's Changed
- Support for prepared transactions and 2-phase commit for cross-shard write queries.
- Checks around cross-shard results being compatible. Better error messages if not.
- Added metrics and bug fixes to mirroring. It's now production-grade. 🙏 @jaggederest
- Prepared statements fix in session mode.
- Work on supporting JDBC Postgres driver.
- Added
SHOW INSTANCE_IDcommand for unique identification of PgDog instances behind a load balancer. - Schema sync fixes around parsing
pg_dumpoutput. - Fix client request serialization when client sends multiple statements using the extended protocol (e.g., JDBC automatic transactions)
- Fix handling NULL values in cross-shard aggregates.
Full Changelog: v0.1.3...v0.1.4