Re: pg_rewind hangs if --source-server is used and syncrep is enabled

From: Michael Banck <michael(dot)banck(at)credativ(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Cc: Christoph Berg <christoph(dot)berg(at)credativ(dot)de>
Subject: Re: pg_rewind hangs if --source-server is used and syncrep is enabled
Date: 2016-10-05 14:53:50
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Wed, Oct 05, 2016 at 04:39:39PM +0200, Michael Banck wrote:
> if pg_rewind is told to fetch data via a libpq connection
> (--source-server), synchronous replication is enabled and there is only
> one sync standby (pilot error, but sill); pg_rewinding the old master
> hangs at the CREATE TEMPORARY TABLE step (CREATE TABLE waiting for
> X/XXXXXXXX). At least this happened to one of our clients while
> evaluating pg_rewind.
> To the user, the last thing printed is "need to copy XXXX MB [...]". If
> the user cancels the pg_rewind command with ^C, the backend keeps
> hanging around even in --dry-run mode. That won't hurt too much as it
> does not seem to block future pg_rewind runs after synchronous_commit
> has been set to a different value, but looks surprising to me.
> Not sure whether pg_rewind could error out gracefully without hanging in
> this case,

My colleague Christoph Berg pointed out that pg_rewind could just set
synchronous_commit = local before creating the temporary table, which
indeed works, proof-of-concept patch attached


Michael Banck
Projektleiter / Senior Berater
Tel.: +49 2166 9901-171
Fax: +49 2166 9901-100
Email: michael(dot)banck(at)credativ(dot)de

credativ GmbH, HRB Mönchengladbach 12080
USt-ID-Nummer: DE204566209
Trompeterallee 108, 41189 Mönchengladbach
Geschäftsführung: Dr. Michael Meskes, Jörg Folz, Sascha Heuer

Attachment Content-Type Size
pg_rewind.diff text/x-diff 609 bytes

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Francisco Olarte 2016-10-05 14:58:21 Re: Question / requests.
Previous Message Stephen Frost 2016-10-05 14:45:23 Re: WIP: Secure Transport support as OpenSSL alternative on macOS