# wal

Published articles for wal.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Designing a reliable unplanned failover

DevFeed: [Designing a reliable unplanned failover](<https://devfeed.tech/articles/designing-a-reliable-unplanned-failover-121334.md>)

Original publisher: [Read original article](<https://planetscale.com/blog/designing-a-reliable-unplanned-failover>)

Author: Shlomi Noach

Published: 2026-11-05T00:00:00Z

Content type: article

Language: en

Sources: [PlanetScale](<https://devfeed.tech/sources/blog-planetscale.md>)

Topics: [read-replica](<https://devfeed.tech/topics/read-replica.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [distributed algorithm](<https://devfeed.tech/topics/distributed-algorithm.md>), [control-plane](<https://devfeed.tech/topics/control-plane.md>)

Tags: [admin](<https://devfeed.tech/tags/admin.md>), [detection](<https://devfeed.tech/tags/detection.md>), [durability](<https://devfeed.tech/tags/durability.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [failover](<https://devfeed.tech/tags/failover.md>), [freeze](<https://devfeed.tech/tags/freeze.md>), [neki](<https://devfeed.tech/tags/neki.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [primary](<https://devfeed.tech/tags/primary.md>), [wal](<https://devfeed.tech/tags/wal.md>)

### AI overview

Neki avoids promoting a replica based on Admin's failed health check alone. It compares replica reports of physical replication: a reachable replica still streaming from the primary blocks failover, while a reachable report of broken replication with no contradiction supports recovery; if Admin cannot reach any replica, it waits. Once it decides the primary is dead, Neki disconnects reachable replicas by changing `primary_conninfo`, preventing reconnection to a returning primary and freezing their WAL positions. Admin prefers a promotable replica that has replayed through the highest received WAL position, waits briefly for catch-up, then selects by `receive_lsn` and `replay_lsn`. The new primary is promoted and the others repointed; a replica ahead of it may need rewind or rebuild. With synchronous `ANY 1`, commits require an acknowledging replica, but acknowledged WAL can still be lost if the primary and the replica holding it fail together. Cross-availability-zone acknowledgements reduce that risk at the cost of commit latency. Async durability offers no guarantee that an unreachable primary has stopped accepting writes. Unrecoverable cases include having no reachable candidate.

### Source excerpt

How Neki detects a failed Postgres primary, and chooses a new one from the WAL that survived.

## Building an Ingest Safety Monitor for Your IIoT Pipeline in SQL

DevFeed: [Building an Ingest Safety Monitor for Your IIoT Pipeline in SQL](<https://devfeed.tech/articles/building-an-ingest-safety-monitor-for-your-iiot-pipeline-in-sql-88675.md>)

Original publisher: [Read original article](<https://www.tigerdata.com/blog/building-ingest-safety-monitor-iiot-pipeline-sql>)

Author: John Shi

Published: 2026-10-16T12:55:08Z

Content type: tutorial

Language: en

Sources: [Timescale](<https://devfeed.tech/sources/timescale.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>)

Tags: [headroom](<https://devfeed.tech/tags/headroom.md>), [iiot](<https://devfeed.tech/tags/iiot.md>), [monitor](<https://devfeed.tech/tags/monitor.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [replica](<https://devfeed.tech/tags/replica.md>), [replica-lag](<https://devfeed.tech/tags/replica-lag.md>), [safety](<https://devfeed.tech/tags/safety.md>), [sql](<https://devfeed.tech/tags/sql.md>), [volume](<https://devfeed.tech/tags/volume.md>), [wal](<https://devfeed.tech/tags/wal.md>)

### AI overview

The article describes an SQL-based safety monitor for an IIoT ingestion pipeline. It recommends sampling WAL volume, replica lag, and dead tuples every minute and calculating a headroom percentage that can trigger alerts.

### Source excerpt

Ingest fails suddenly, not gradually. Sample WAL volume, replica lag, and dead tuples every minute, and get one headroom percentage you can alert on.

## Resolving PostgreSQL replication lag with heartbeat tables in change data capture scenarios

DevFeed: [Resolving PostgreSQL replication lag with heartbeat tables in change data capture scenarios](<https://devfeed.tech/articles/resolving-postgresql-replication-lag-with-heartbeat-tables-in-change-data-capture-scenarios-62866.md>)

Original publisher: [Read original article](<https://aws.amazon.com/blogs/database/resolving-postgresql-replication-lag-with-heartbeat-tables-in-change-data-capture-scenarios/>)

Author: Donghua Luo

Published: 2026-09-30T16:47:04Z

Content type: tutorial

Language: en

Sources: [AWS Database Blog](<https://devfeed.tech/sources/aws-database-blog.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [AWS Database Migration Service](<https://devfeed.tech/topics/aws-database-migration-service.md>), [Debezium Connector](<https://devfeed.tech/topics/debezium-connector.md>), [data migrations](<https://devfeed.tech/topics/data-migrations.md>)

Tags: [amazon-aurora](<https://devfeed.tech/tags/amazon-aurora.md>), [amazon-cloudwatch](<https://devfeed.tech/tags/amazon-cloudwatch.md>), [aws-database-migration-service](<https://devfeed.tech/tags/aws-database-migration-service.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [change-data-capture](<https://devfeed.tech/tags/change-data-capture.md>), [debezium](<https://devfeed.tech/tags/debezium.md>), [intermediate-200](<https://devfeed.tech/tags/intermediate-200.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [postgresql-compatible](<https://devfeed.tech/tags/postgresql-compatible.md>), [rds-for-postgresql](<https://devfeed.tech/tags/rds-for-postgresql.md>), [replication](<https://devfeed.tech/tags/replication.md>), [wal](<https://devfeed.tech/tags/wal.md>)

### AI overview

This tutorial explains how PostgreSQL replication slots can stall during change data capture migrations when tracked tables are quiet even though the database is generating writes elsewhere. It describes using heartbeat tables with AWS Database Migration Service or Debezium to advance replication and prevent WAL accumulation, and mentions CloudWatch and SQL diagnostics for monitoring slot health.

### Source excerpt

Replication lag during a change data capture (CDC) migration can be counterintuitive: the source is busy, yet replication falls behind and WAL piles up. This post shows how to resolve PostgreSQL replication lag with heartbeat tables using AWS DMS or Debezium, and how to monitor replication slot health with Amazon CloudWatch and SQL diagnostics.

## Cursor Uses S3 WAL to Scale Git Storage to More than 300 Pushes per Second

DevFeed: [Cursor Uses S3 WAL to Scale Git Storage to More than 300 Pushes per Second](<https://devfeed.tech/articles/cursor-uses-s3-wal-to-scale-git-storage-to-more-than-300-pushes-per-second-62405.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/cursor-continuity-git-storage/>)

Author: Leela Kumili

Published: 2026-09-30T13:47:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [cell-based-architecture](<https://devfeed.tech/topics/cell-based-architecture.md>), [Data integrity in software engineering](<https://devfeed.tech/topics/data-integrity-in-software-engineering.md>), [consistency](<https://devfeed.tech/topics/consistency.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [ai-architecture](<https://devfeed.tech/tags/ai-architecture.md>), [ai-assisted-coding](<https://devfeed.tech/tags/ai-assisted-coding.md>), [architecture-design](<https://devfeed.tech/tags/architecture-design.md>), [aws](<https://devfeed.tech/tags/aws.md>), [consistency](<https://devfeed.tech/tags/consistency.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [cursor-continuity-git-storage](<https://devfeed.tech/tags/cursor-continuity-git-storage.md>), [database-replication](<https://devfeed.tech/tags/database-replication.md>), [development](<https://devfeed.tech/tags/development.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [github](<https://devfeed.tech/tags/github.md>), [hashing](<https://devfeed.tech/tags/hashing.md>), [ide](<https://devfeed.tech/tags/ide.md>), [latency](<https://devfeed.tech/tags/latency.md>), [news](<https://devfeed.tech/tags/news.md>), [nvme](<https://devfeed.tech/tags/nvme.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [s3](<https://devfeed.tech/tags/s3.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [source-of-truth](<https://devfeed.tech/tags/source-of-truth.md>), [wal](<https://devfeed.tech/tags/wal.md>)

### AI overview

Cursor's Continuity Git storage architecture uses an S3-backed write-ahead log as the durable source of truth, while local NVMe repositories serve as warm caches. Cursor reports linear read scaling with up to 100 replicas and more than 300 pushes per second in synthetic tests. The article also notes that these performance figures have not been independently verified.

### Source excerpt

Cursor has introduced Continuity, a Git storage architecture that uses an S3 backed write ahead log as the source of truth. The design turns local NVMe repositories into warm caches and separates replica coordination from consistency. Cursor reports linear read scaling with up to 100 replicas and more than 300 pushes per second with S3 Express One Zone in synthetic tests. By Leela Kumili

## Does CDC Slow Down a Production Database? The Real Cost of Log-Based CDC

DevFeed: [Does CDC Slow Down a Production Database? The Real Cost of Log-Based CDC](<https://devfeed.tech/articles/does-cdc-slow-down-a-production-database-the-real-cost-of-log-based-cdc-82034.md>)

Original publisher: [Read original article](<https://estuary.dev/blog/cdc-database-performance>)

Author: Emily Lucek

Published: 2026-09-21T12:50:17Z

Content type: article

Language: en

Sources: [Estuary](<https://devfeed.tech/sources/estuary.md>)

Topics: [Production Engineering](<https://devfeed.tech/topics/production-engineering.md>), [self-hosted databases vs managed services](<https://devfeed.tech/topics/self-hosted-databases-vs-managed-services.md>), [read-replica](<https://devfeed.tech/topics/read-replica.md>), [database-consistency](<https://devfeed.tech/topics/database-consistency.md>)

Tags: [behavior](<https://devfeed.tech/tags/behavior.md>), [cases](<https://devfeed.tech/tags/cases.md>), [cdc](<https://devfeed.tech/tags/cdc.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [database-performance](<https://devfeed.tech/tags/database-performance.md>), [has](<https://devfeed.tech/tags/has.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [production](<https://devfeed.tech/tags/production.md>), [replication](<https://devfeed.tech/tags/replication.md>), [vacuum](<https://devfeed.tech/tags/vacuum.md>), [wal](<https://devfeed.tech/tags/wal.md>)

### AI overview

The article explains how PostgreSQL log-based change data capture (CDC) affects production database performance. It covers WAL generation, decoding resource use, configuration costs such as REPLICA IDENTITY FULL, and how stalled replication slots and old vacuum horizons can lead to retained WAL or table bloat. The impact varies by workload and available capacity.

### Source excerpt

See where PostgreSQL CDC adds overhead, from WAL and logical decoding to replication slots, vacuum pressure, and production query performance.

## How PlanetScale Postgres Protects Logical Replication Slots During Cutovers

DevFeed: [How PlanetScale Postgres Protects Logical Replication Slots During Cutovers](<https://devfeed.tech/articles/blocking-cutovers-to-save-replication-slots-57450.md>)

Original publisher: [Read original article](<https://planetscale.com/blog/how-to-make-a-replication-slot-survive-a-cutover>)

Author: Simeon Griggs

Published: 2026-09-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [PlanetScale](<https://devfeed.tech/sources/blog-planetscale.md>)

Topics: [Replication](<https://devfeed.tech/topics/replication.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Database](<https://devfeed.tech/topics/database.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>)

Tags: [engineering](<https://devfeed.tech/tags/engineering.md>), [high-availability](<https://devfeed.tech/tags/high-availability.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [reliability](<https://devfeed.tech/tags/reliability.md>), [replication](<https://devfeed.tech/tags/replication.md>), [wal](<https://devfeed.tech/tags/wal.md>)

### AI overview

This article explains why Postgres cutovers must account for logical replication slots, not only whether a replica has replayed the write-ahead log. It describes how missing slot state can interrupt downstream consumers such as search indexes, analytics tools, and queues, and why PlanetScale blocks unsafe promotions.

### Source excerpt

Postgres understands high-availability architecture, but its defaults assume you don't have replication slots. This can get you into trouble in a cutover event. The combination of what Postgres can do and what PlanetScale lets you do is what keeps connected applications safe.

## PostgreSQL CDC Backfills at Scale: Running a Multi-Day Backfill While Production Keeps Writing

DevFeed: [PostgreSQL CDC Backfills at Scale: Running a Multi-Day Backfill While Production Keeps Writing](<https://devfeed.tech/articles/postgresql-cdc-backfills-at-scale-running-a-multi-day-backfill-while-production-keeps-writing-82302.md>)

Original publisher: [Read original article](<https://estuary.dev/blog/postgres-cdc-backfill>)

Author: Emily Lucek; Dani Pálma

Published: 2026-09-10T09:45:31Z

Content type: tutorial

Language: en

Sources: [Estuary](<https://devfeed.tech/sources/estuary.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Production Engineering](<https://devfeed.tech/topics/production-engineering.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [change-data-capture](<https://devfeed.tech/tags/change-data-capture.md>), [load](<https://devfeed.tech/tags/load.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [scale](<https://devfeed.tech/tags/scale.md>), [wal](<https://devfeed.tech/tags/wal.md>)

### AI overview

The guide explains how large PostgreSQL CDC backfills interact with ongoing production writes. It covers WAL retention and replication-slot risks, how chunk size affects source load, acknowledgment intervals and restart costs, and options for reducing or recovering historical reads. It also describes Estuary's watermark-and-fence approach for reconciling backfill rows with live changes.

### Source excerpt

Learn how PostgreSQL CDC backfills affect WAL retention, source load, chunk sizing, and recovery while production continues writing.

## PostgreSQL Replication Slots: How to Monitor, Recover, and Prevent WAL Bloat

DevFeed: [PostgreSQL Replication Slots: How to Monitor, Recover, and Prevent WAL Bloat](<https://devfeed.tech/articles/postgresql-replication-slots-how-to-monitor-recover-and-prevent-wal-bloat-82318.md>)

Original publisher: [Read original article](<https://estuary.dev/blog/postgresql-replication-slots>)

Author: Dani Pálma; Emily Lucek

Published: 2026-08-19T07:27:39Z

Content type: tutorial

Language: en

Sources: [Estuary](<https://devfeed.tech/sources/estuary.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Resilience](<https://devfeed.tech/topics/resilience.md>)

Tags: [bloat](<https://devfeed.tech/tags/bloat.md>), [cdc](<https://devfeed.tech/tags/cdc.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [prevent](<https://devfeed.tech/tags/prevent.md>), [recover](<https://devfeed.tech/tags/recover.md>), [replication](<https://devfeed.tech/tags/replication.md>), [wal](<https://devfeed.tech/tags/wal.md>)

### AI overview

This guide explains how PostgreSQL replication slots support CDC continuity and how stalled consumers, long-running transactions, WAL limits, and server changes can cause retained WAL growth or slot loss. It shows how to monitor slot positions and storage, size WAL retention, recover and reconcile gaps, and prepare for failures.

### Source excerpt

Replication slots protect CDC continuity, but stalled consumers can retain excessive WAL or make slots unusable.

## How to Write to SSDs - Co-Designing DBMS and Flash Storage

DevFeed: [How to Write to SSDs - Co-Designing DBMS and Flash Storage](<https://devfeed.tech/articles/how-to-write-to-ssds-co-designing-dbms-and-flash-storage-39661.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2026-06-22_optimising-ssd-writes-for-dbms>)

Published: 2026-06-22T00:00:00Z

Content type: article

Language: en

Sources: [Gaurav Sarma's](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Parallelism](<https://devfeed.tech/topics/parallelism.md>)

Tags: [b-tree](<https://devfeed.tech/tags/b-tree.md>), [checkpoint](<https://devfeed.tech/tags/checkpoint.md>), [cycles](<https://devfeed.tech/tags/cycles.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [latency](<https://devfeed.tech/tags/latency.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [optimize](<https://devfeed.tech/tags/optimize.md>), [optimizing](<https://devfeed.tech/tags/optimizing.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [storage](<https://devfeed.tech/tags/storage.md>), [systems](<https://devfeed.tech/tags/systems.md>), [wal](<https://devfeed.tech/tags/wal.md>), [write-amplification](<https://devfeed.tech/tags/write-amplification.md>)

### AI overview

The article explains how database management systems and SSDs jointly amplify writes. It reports that a 4 KiB logical page write can become about 18.85 KiB of flash writes on a Samsung PM9A3, and presents DBMS-SSD co-design, including avoiding in-place updates, as a way to address the combined amplification.

### Source excerpt

. [How to Write to SSDs](optimising-ssd-writes-for-dbms-cover...

## When upserts don't update but still write: Debugging Postgres performance at scale

DevFeed: [When upserts don't update but still write: Debugging Postgres performance at scale](<https://devfeed.tech/articles/when-upserts-don-t-update-but-still-write-debugging-postgres-performance-at-scale-83434.md>)

Original publisher: [Read original article](<https://www.datadoghq.com/blog/engineering/debugging-postgres-performance/>)

Author: Anthonin Bonnefoy

Published: 2026-03-23T00:00:00Z

Content type: article

Language: en

Sources: [Datadog](<https://devfeed.tech/sources/datadog.md>)

Topics: [Boilerplate](<https://devfeed.tech/topics/boilerplate.md>), [performance-engineering](<https://devfeed.tech/topics/performance-engineering.md>), [Heroku Postgres](<https://devfeed.tech/topics/heroku-postgres.md>)

Tags: [batching](<https://devfeed.tech/tags/batching.md>), [btree](<https://devfeed.tech/tags/btree.md>), [cluster](<https://devfeed.tech/tags/cluster.md>), [clusters](<https://devfeed.tech/tags/clusters.md>), [code](<https://devfeed.tech/tags/code.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [concurrency-control](<https://devfeed.tech/tags/concurrency-control.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [datadog-agent](<https://devfeed.tech/tags/datadog-agent.md>), [debugger](<https://devfeed.tech/tags/debugger.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgres-performance](<https://devfeed.tech/tags/postgres-performance.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [wal](<https://devfeed.tech/tags/wal.md>)

### AI overview

A high-volume host metadata upsert unexpectedly increased PostgreSQL disk writes and WAL syncs because `ON CONFLICT DO UPDATE` locks a conflicting row even when its WHERE condition prevents an update. Datadog engineers used `pg_walinspect` to identify the WAL activity and replaced the upsert with a data-modifying CTE using `ON CONFLICT DO NOTHING` and an outer UPDATE. This avoided unnecessary WAL records, with a race-condition trade-off accepted for their host-tracking use case.

### Source excerpt

When a high-volume upsert doubled disk writes, Datadog engineers traced the issue to Postgres WAL behavior and rewrote the query to eliminate hidden costs.

## How Databases Checkpoint to Disk Without Stopping the World

DevFeed: [How Databases Checkpoint to Disk Without Stopping the World](<https://devfeed.tech/articles/how-databases-checkpoint-to-disk-without-stopping-the-world-39653.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2026-03-15_checkpointing-without-stopping-the-world>)

Published: 2026-03-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gaurav Sarma's](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [checkpoint](<https://devfeed.tech/tags/checkpoint.md>), [crash-recovery](<https://devfeed.tech/tags/crash-recovery.md>), [databases](<https://devfeed.tech/tags/databases.md>), [latency](<https://devfeed.tech/tags/latency.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [snapshot](<https://devfeed.tech/tags/snapshot.md>), [wal](<https://devfeed.tech/tags/wal.md>)

### AI overview

A tutorial on database checkpointing explains why pausing writes to flush all dirty pages causes latency spikes and throughput stalls. It introduces fuzzy or online checkpointing, including PostgreSQL's WAL-based approach, which allows writes to continue while dirty pages are flushed and uses WAL replay during crash recovery.

### Source excerpt

Your database has gigabytes of dirty pages in memory. At some point they need to hit disk...

## Contributing to Debezium: Fixing Logical Replication at Scale

DevFeed: [Contributing to Debezium: Fixing Logical Replication at Scale](<https://devfeed.tech/articles/contributing-to-debezium-fixing-logical-replication-at-scale-47496.md>)

Original publisher: [Read original article](<https://engineering.zalando.com/posts/2025/12/contributing-to-debezium.html>)

Author: Conor Gallagher

Published: 2025-12-18T23:00:00Z

Content type: article

Language: en

Sources: [Zalando](<https://devfeed.tech/sources/zalando-engineering-blog.md>)

Topics: [Replication](<https://devfeed.tech/topics/replication.md>), [Event-Streaming](<https://devfeed.tech/topics/event-streaming.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Database](<https://devfeed.tech/topics/database.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [databases](<https://devfeed.tech/tags/databases.md>), [debezium](<https://devfeed.tech/tags/debezium.md>), [event-streaming](<https://devfeed.tech/tags/event-streaming.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [kubernetes-clusters](<https://devfeed.tech/tags/kubernetes-clusters.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [replication](<https://devfeed.tech/tags/replication.md>), [scale](<https://devfeed.tech/tags/scale.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [wal](<https://devfeed.tech/tags/wal.md>), [zalando](<https://devfeed.tech/tags/zalando.md>)

### AI overview

Zalando describes how its engineers contributed two Debezium features to address PostgreSQL logical replication problems in a Kubernetes-based event-streaming platform. The article focuses on runaway WAL growth in low-activity databases and a compatibility issue involving pgjdbc keepalive flushing during a Debezium upgrade.

### Source excerpt

How we contributed two features to Debezium to solve WAL growth and enable safer logical replication for our event streaming infrastructure

## Patching the PostgreSQL JDBC Driver

DevFeed: [Patching the PostgreSQL JDBC Driver](<https://devfeed.tech/articles/patching-the-postgresql-jdbc-driver-47464.md>)

Original publisher: [Read original article](<https://engineering.zalando.com/posts/2023/11/patching-pgjdbc.html>)

Author: Declan Murphy

Published: 2023-11-08T23:00:00Z

Content type: article

Language: en

Sources: [Zalando](<https://devfeed.tech/sources/zalando-engineering-blog.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Event-Streaming](<https://devfeed.tech/topics/event-streaming.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [event-streaming](<https://devfeed.tech/tags/event-streaming.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [integration](<https://devfeed.tech/tags/integration.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [patching](<https://devfeed.tech/tags/patching.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [replication](<https://devfeed.tech/tags/replication.md>), [wal](<https://devfeed.tech/tags/wal.md>), [zalando](<https://devfeed.tech/tags/zalando.md>)

### AI overview

A Zalando contribution to the PostgreSQL JDBC driver fixes a logical-replication issue that could cause runaway WAL growth. The article explains how the problem affected Postgres-sourced event streams and how the upstream driver fix benefits Debezium and other JDBC clients.

### Source excerpt

Contributing to the PostgreSQL JDBC Driver to address the issue of runaway WAL growth in Logical Replication

## Postgres backups: Logical vs. Physical an overview

DevFeed: [Postgres backups: Logical vs. Physical an overview](<https://devfeed.tech/articles/postgres-backups-logical-vs-physical-an-overview-41198.md>)

Original publisher: [Read original article](<https://www.craigkerstiens.com/2017/09/03/postgres-backups-physical-vs-logical/>)

Author: Map

Published: 2017-09-03T20:55:56Z

Content type: tutorial

Language: en

Sources: [Craig Kerstiens](<https://devfeed.tech/sources/craig-kerstiens.md>)

Topics: [backups](<https://devfeed.tech/topics/backups.md>), [Database](<https://devfeed.tech/topics/database.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [backing-up](<https://devfeed.tech/tags/backing-up.md>), [backup](<https://devfeed.tech/tags/backup.md>), [backups](<https://devfeed.tech/tags/backups.md>), [checksums](<https://devfeed.tech/tags/checksums.md>), [dump](<https://devfeed.tech/tags/dump.md>), [environments](<https://devfeed.tech/tags/environments.md>), [logical](<https://devfeed.tech/tags/logical.md>), [overview](<https://devfeed.tech/tags/overview.md>), [pg-dump](<https://devfeed.tech/tags/pg-dump.md>), [portable](<https://devfeed.tech/tags/portable.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [production](<https://devfeed.tech/tags/production.md>), [sql](<https://devfeed.tech/tags/sql.md>), [wal](<https://devfeed.tech/tags/wal.md>)

### AI overview

This article explains PostgreSQL's two backup types: logical backups, which are portable and can target selected tables but add database load, and physical backups, which consist of the database's bytes on disk. It also discusses checksums, corruption detection, and the role of the write-ahead log.

### Source excerpt

It's not a very disputed topic that you should backup your database, and further test your backups. What is a little less discussed, at least for Postgres, is the types of backups that exist. Within Postgres there are two forms of backups and understanding them is a useful foundation for anyone working with Postgres. The two backup types are Physical: which consist of the actual bytes on disk, Logical: which is a more portable format. Let's dig into each a bit more so you can better assess which makes sense for you. Logical backups Logical backups are the most well known type within Postgres. This is what you get when you run pg_dump against a database. There are a number of different formats you can get from logical backups and Postgres does a good job of making it easy to compress and configure this backup how you see fit. When a logical backup is run against a database it is not throttled, this introduces a noticable load on your database. As it's reading the data from disk and generating (in layman terms) a bunch of SQL INSERT statements, it has to actually see the data. It's of note that older Postgres databases (read: prior to 9.3) there were no checksums against your database. Checksums are just one tool for you to help check against data corruption. Because a logical dump has to actually read and generate the data to insert it will discover any corruption that exists for you. This portable format is also very useful to pull down copies from production to different environments. I.e. if you need a copy of production data down on your local laptop pg_dump is the way to do it. Logical backups are also database specific, but then allow you to dump only certain tables. All in all logical backups bring some good features, but come at two cost: Load on your system The backup contains data as of the time when it ran Physical backups Physical backups are another option when it comes to backing up your database. As we mentioned earlier it is the physical bytes on disk