Release Date: May 20th, 2026 pgstream v1.0.3 is a patch release. It addsDocumentation Index
Fetch the complete documentation index at: https://xata.io/docs/llms.txt
Use this file to discover all available pages before exploring further.
tsvector support to the Postgres-to-Postgres DML adapter, fixes schema snapshots of partitioned tables, introduces a --data-only snapshot flag, and resolves a regression that broke updates on always-identity columns.
tsvector Replication Support
Closes #576 via PR #796, contributed by @utafrali. Tables withtsvector columns previously failed to replicate because the DML adapter had no handler for that type. The adapter now converts tsvector values arriving as []byte from the WAL into strings before they are used in the copy operation, and passes existing string values through unchanged.
Partitioned Table Snapshots and --data-only Flag
PR #775, contributed by @blakewatters.
This release fixes a schema-restore failure on databases that use declarative partitioning (PostgreSQL 17/18) and adds a flag for data-only snapshots.
- Partitioned table restore fix.
pg_dump -Fpoutput for partitioned tables emits bothCREATE TABLE ... PARTITION OFand a redundantALTER TABLE ... ATTACH PARTITION, which fails with"already a partition". That message was not matched by the existing ignorable-error patterns, so the restore was treated as critical and aborted. These errors are now classified as harmless idempotent errors, alongside"already exists". --data-onlyflag. A new--data-onlyboolean flag forpgstream runperforms a data-only initial snapshot when combined with--snapshot-tables. It sets the snapshot mode todatainstead offull, skipping the schema-restore phase. This is useful when the schema is restored separately (for example viapg_dump --schema-only | psql) or is managed independently on the target.
Bug Fixes
- Updates on
GENERATED ALWAYS AS IDENTITYcolumns no longer fail. A regression introduced in PR #754 causedUPDATEstatements that included an always-identity column in theSETclause to be rejected by Postgres.buildUpdateQuerynow drops always-identity columns from theSETclause, leavingINSERT, bulkINSERT, andCOPYpaths unchanged (PR #820, fixes #821).
CLI and Documentation
- The
snapshotandruncommand descriptions, examples, and error messages now clarify thatsnapshotperforms one-time snapshots only and does not supportsnapshot_and_replicationorreplicationmode; userunfor continuous or combined replication (PR #807, relates #332). cnpg_pooler_pgbouncer, the CloudNativePG PgBouncer service account, is now documented as a Xata-managed role excluded from snapshots (PR #819).
Other Changes
go.opentelemetry.io/otel1.41.0 → 1.43.0 (PR #761).go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc(PR #815).github.com/bytedance/sonic1.15.0 → 1.15.1 (PR #814).github.com/tidwall/gjson1.18.0 → 1.19.0 (PR #812).docker/login-action3 → 4 (PR #768).goreleaser/goreleaser-action6 → 7 (PR #738).clickhouse/clickhouse-serverDocker image bump (PR #816).opensearchproject/opensearch-dashboardsDocker image bump (PR #793).
Upgrade
No migration is required when upgrading from v1.0.x. Replace the binary and restart pgstream.Support
- Issues: https://github.com/xataio/pgstream/issues
- Documentation: https://github.com/xataio/pgstream/tree/main/docs
- Discussions: https://github.com/xataio/pgstream/discussions