Re: Startup PANIC on standby promotion due to zero-filled WAL segment

From: Alena Vinter <dlaaren8(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Startup PANIC on standby promotion due to zero-filled WAL segment
Date: 2025-12-23 10:24:56
Message-ID: CAGWv16+kR3OZfcJG8OdoU4Ja5NqqNb6=HM5yGV0zY+yJ0vMuNQ@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Don't think so, based on what is in the tree:
> $ git grep "fsync = " -- *.pm
> src/test/perl/PostgreSQL/Test/Cluster.pm: print $conf "fsync = off\n";

Oh, didn’t know it's in the `init` function — I apologize.

> The following addition to your proposed test is telling me an entirely
> different story, making the test pass as the records of TLI 1 are
> around:
> my $node_primary = PostgreSQL::Test::Cluster->new('primary');
> $node_primary->init(allows_streaming => 1);
> +#$node_primary->append_conf('postgresql.conf', 'fsync=on');
> $node_primary->start;

I've tried this way, and yes, this works fine. Now I'm really interested in
how this parameter prevents the scenario with startup panic. Thank you very
much!!!
But I’m still unclear why the segment isn’t copied during replication, as
it is in crash recovery (I’d prefer uniform behavior across both
paths). Could you help me figure out the answer to that question?
---
Alena Vinter

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2025-12-23 11:48:34 Re: Proposal: Conflict log history table for Logical Replication
Previous Message Shlok Kyal 2025-12-23 10:18:05 Re: Two issues with version checks in CREATE SUBSCRIPTION