Skip to content

Releases: pgdogdev/pgdog

v0.1.13

29 Oct 22:12
4d8a965

Choose a tag to compare

What's Changed

  • Add server_error statistic to show how many errors we received from Postgres (e.g. syntax errors, missing columns, etc.)
  • Add include_primary_if_replica_banned read/write split strategy.

Full Changelog: v0.1.12...v0.1.13

v0.1.12

24 Oct 16:02
6734d15

Choose a tag to compare

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

16 Oct 15:48
5c6571d

Choose a tag to compare

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) to O(k) where k is the number of statements exceeding cache limits
  • Cheaper clone for Bind messages
  • Add snakeoil certs to Docker container for easier dev/staging TLS

Full Changelog: v0.1.10...v0.1.11

v0.1.10

09 Oct 17:20
101d0ce

Choose a tag to compare

What's Changed

  • EXPLAIN can 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 stddev and variance aggregate 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

Full Changelog: v0.1.9...v0.1.10

v0.1.9

02 Oct 16:05
b4f9704

Choose a tag to compare

What's Changed

  • Handle DISCARD, DEALLOCATE and DISCARD ALL commands correctly in transaction mode @ryanahall
  • Support for AVG aggregate 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 in users.toml, and be encrypted-at-rest.

Bug fixes

  • Fixed leak in connection pool caused by a race condition with RELOAD command
  • Database banning now works solely off of health checks and only for read queries

New Contributors

  • @grk made their first contribution in #525

Full Changelog: v0.1.8...v0.1.9

v0.1.8

25 Sep 18:31
e8559b3

Choose a tag to compare

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_lifetime setting to control how long server connections are allowed to exist before being re-created by the connection pool.
  • Make configcheck command work correctly.
  • Fix dry run mode ignoring query comments for manual routing.
  • Fix SET queries 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

Full Changelog: v0.1.7...v0.1.8

v0.1.7

18 Sep 19:39
8e068c2

Choose a tag to compare

What's Changed

  • Fix incorrect aggregate function used in cross-shard statements @Prabhat1308
  • Faster cross-shard queries with improved parallelization
  • Make NOTIFY respect transactional semantics
  • Support for NUMERIC data 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 DISCARD command 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

Full Changelog: v0.1.6...v0.1.7

v0.1.6

11 Sep 21:35

Choose a tag to compare

Description

Today is fix GitHub actions day. Re-releasing v0.1.4 again.

v0.1.5

11 Sep 21:19

Choose a tag to compare

Description

Re-release v0.1.4. GitHub actions broke for no clear reason.

v0.1.4

11 Sep 21:10
a67a903

Choose a tag to compare

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_ID command for unique identification of PgDog instances behind a load balancer.
  • Schema sync fixes around parsing pg_dump output.
  • 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