Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w8mCj-000rcC-0r for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Apr 2026 21:37:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w8mBi-00E8Zt-3C for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Apr 2026 21:36:23 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w8mBi-00E8Zj-1a for pgsql-hackers@lists.postgresql.org; Fri, 03 Apr 2026 21:36:23 +0000 Received: from mail-dy1-x1330.google.com ([2607:f8b0:4864:20::1330]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w8mBg-00000000Q5Q-1jFu for pgsql-hackers@lists.postgresql.org; Fri, 03 Apr 2026 21:36:21 +0000 Received: by mail-dy1-x1330.google.com with SMTP id 5a478bee46e88-2cd339aeab4so445821eec.0 for ; Fri, 03 Apr 2026 14:36:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775252180; cv=none; d=google.com; s=arc-20240605; b=XPPt2CFxM2G70RpbYB7QQ1Nmug27i4vSsEy7HGjEC3g1L0Q3dSJBF6Abxj+aGBVMKR 5Y8WyEM5aLTNAOCs+PcyQAGGxgxxOGDyEIQwfPOVeRCV5kXEjNnipPWcohN+LsQgwyRa YBVyypzMFFURbMHd64XGvQZMOtLLtlWneClMtsc79WkuVurSP+SGhaF5v7Nu0NxSd7Yt pk8ojFq9QkPguW6mD5PRj4PaPaFPNFay/R2S0heDprBIpkKt/aOSCrCpFjfzlN+/fau1 iUrXpoiH4sAT2bMT4ZBFYNtmxKSJ5qV7HQGai6PXaO4r66qVmzUD5NCt2mC1DorEJbk8 csLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=kTCSd/h6rXg8jUkQNkkikUu/Eqm64oYNFGxmTdngOv8=; fh=nwNxTtLLPTU0ewfLM7SSbrjMajMl+wwnFkCY/fi90vE=; b=lHb6Qc3ZJqRgIwqBu3mxqq7nRL8S+F2XQHhSdyAQKVe7OP2/WdXCW8r1qPsmwkbrKl GkOLcEDVv7bEdxA+32GKjIVwLydhvbCti17DubdAff0Lhxm9HahwOkQmuQupR22nYnDu TBaNxDeRuhp2jAiMbnM0fpgVDCXhaicoV2KKualIqXh78PXqA8xg+yMoNYA1jeNwMpns KtabotoP5Exi4pUqZSYSRnh/FZPKNi5wnIgrXRsr42MvVyKIACg3OlMp5AYyrd5lYwJL cVUzZ6Ba5KKbZ5q7WqsY6xjhaKHKzOJ0kuwbuZAUcLvo9ikHLsmZOmcqOfJn0L5i5r1e IGzg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775252180; x=1775856980; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=kTCSd/h6rXg8jUkQNkkikUu/Eqm64oYNFGxmTdngOv8=; b=dLdCjN6vh9jHOwqvhfxUiZvK0ZVjuSoVFmFZYb0DB3WQf1IqssOrZGyRBNw4qO14u3 LJvdKRnTHD+7IMxB01K+0n1BN8bfsliXdvY5r30GHMZNICdTfVqVc5pH2OjspWPJmQAe yp6x33p9vpZevRXUW7ooQr/fHcRShS+wiJkk0gQeOAfwJkidRK0fVW9NFv0ZflKg7aYH Ib2ayW95li4K9XjmhPo/4HcpetIVu+HFpnzc95EbiRDgn8xN5IpSgFdnYFm33L00GTGR COjAPUKaC1zVALg9VFfSjeA4gYJDyy1vOqJNd9O8dRWgsmqWzHkMUxNZx0duf9iAgNcz cztQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775252180; x=1775856980; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=kTCSd/h6rXg8jUkQNkkikUu/Eqm64oYNFGxmTdngOv8=; b=pZhxVfsIYRDNHs1A3GRDK5cs5fIdNCHqkupsS8zGJlfx0tYagnReV4J0u8+I/WfbWa XYcrXtiwbCGMt9AYGz7lJrYS5fSzCnCJYC/FGveNhEZmkaZXAgfnua88GZF4mE2KbYL3 piRXw7eNH41/Mi9lNltB19dMOSpQP3Bj/dJq4ni3D01zpDn7anOSRNn7bGK/mzmrgiie XIveb4SpbykZKLwN893VPEmSrZ+TfPdIKvPr/RT3Idm/qk45e9XLfKuCNG0adGiHi5tf GasTDL1hJodL690J/EkgA1bQ4N6et7DQV/OKbfmmKybx06ew3LvCpJnVnraoChrxOmD2 iGmQ== X-Gm-Message-State: AOJu0Yz0j2McNjluHaPtPNhTDASIhwQJriccQMEG31T4IkBaKdZ2gQ/x AIb1AdXWAoXCs4l8jOYoowwpV8zCUtK4c2kGKRf2pNxmByGLQd/beBhhddDk/KtUj0ox51cN4V5 GFocbg1OA7SApel7ykOtIFRcfy2BXQcC22J5x X-Gm-Gg: AeBDietOsCwOhUJAP/qwiOOqd+8pQRhsGCwNHUznUklGy82ud6Mhr0EIK5eZKdEG+mn 5Mqq8P8NGoYORGQje0mvNFMBvoYEkbr3YWZesECYlO0A8JQAd/RzVK5xJoWUH+As3fc6dEtRHQJ HyV8f521VI7sfFQnMswPQEg9nRcm67q6cadSxYRHUHEvb9kCVcICnv2mYauHn9iQuK4rEXFCkzQ Gupcu8/RaITRPCHgDqJAAHWyLGsdyFr2rqp3T4BphICq5630iqjhdc8lHz/4S9zdXT6Uw/8Omdk DaZVGpbZexIz4xoV92WINHeMIFw3s9HbItkNRkL5om3za/YPknqirS8zk1QBLscTgVq45SAi4bP icySaKYnez2oVamx42h/Sjuw= X-Received: by 2002:a05:693c:2b14:b0:2c7:3a7:c792 with SMTP id 5a478bee46e88-2cbfc16da2dmr2431906eec.20.1775252179471; Fri, 03 Apr 2026 14:36:19 -0700 (PDT) MIME-Version: 1.0 From: Mateusz Kosek Date: Fri, 3 Apr 2026 23:35:42 +0200 X-Gm-Features: AQROBzA0p2201tFCXOC-vRshBnlCWdvwvuTJXk0axJxBujGGByr2sKrYsaOFevA Message-ID: Subject: BUG??/FEATURE REQUEST: Streaming replication walreceiver doesn't restart after standby reboot with recovery_min_apply_delay To: pgsql-hackers@lists.postgresql.org Content-Type: multipart/alternative; boundary="0000000000008b5158064e951bad" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000008b5158064e951bad Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, I'm setting up a standby replica that replicates data from the primary in real-time, but replays WAL logs with a 7-day delay using recovery_min_apply_delay =3D '7d'. The goal is to handle two scenarios: 1. Primary failure: promote the standby (which was streaming continuously) with minimal recent transaction loss. 2. Accidental data loss (e.g., DROP TABLE, bad DELETE/UPDATE): recover from the delayed replay within 7 days. Standby config: OS: Debian 13.4 PG: 18.1 (built from source) Base backup: pg_basebackup -h 10.88.0.12 -p 5432 -D /var/lib/postgresql/18.1/test -U test_replication --create-slot --slot=3Dtest_slot --checkpoint=3Dfast --progress --wal-method=3Dstream --write-recovery-conf Added to postgresql.conf: hot_standby =3D on recovery_min_apply_delay =3D '7d' Confirmed postgresql.auto.conf has: primary_conninfo primary_slot_name Initial behavior works fine: walreceiver starts: ps awux | grep wal postgres 988251 0.1 0.0 285464 8952 ? Ss 00:00 2:31 postgres: walreceiver streaming 3CC/EFC17820 replay_delay grows as expected: postgres=3D# SELECT pg_last_wal_receive_lsn() AS received_lsn, pg_last_wal_replay_lsn() AS replayed_lsn, pg_last_xact_replay_timestamp() AS replay_timestamp, now() - pg_last_xact_replay_timestamp() AS replay_delay; received_lsn | replayed_lsn | replay_timestamp | replay_delay --------------+--------------+--------------------------------------+------= ----------- 3CC/EFC28A58 | 3C7/BF8A4CD8 | Fri 03 Apr 00:00:07.278303 2026 CEST | 22:19:24.777788 Standby pg_wal is growing (expected due to delay): du -h 18.1/test/pg_wal/ 4.0K 18.1/test/pg_wal/summaries 988K 18.1/test/pg_wal/archive_status 21G 18.1/test/pg_wal/ Primary stays clean: du -sch 18.1/main/pg_wal/ 33M 18.1/main/pg_wal/ 33M total Problem after standby reboot (e.g., after Debian security updates): Server starts, but walreceiver does NOT restart.