pgsql: Optionally don't error out due to preexisting slots in commandli

Started by Andres Freundalmost 11 years ago3 messagescomitters
Jump to latest
#1Andres Freund
andres@anarazel.de

Optionally don't error out due to preexisting slots in commandline utilities.

pg_receivexlog and pg_recvlogical error out when --create-slot is
specified and a slot with the same name already exists. In some cases,
especially with pg_receivexlog, that's rather annoying and requires
additional scripting.

Backpatch to 9.5 as slot control functions have newly been added to
pg_receivexlog, and there doesn't seem much point leaving it in a less
useful state.

Discussion: 20150619144755.GG29350@alap3.anarazel.de

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/ff27db5dd2fc096d89d3f995d3f650ec6d3bc147

Modified Files
--------------
doc/src/sgml/ref/pg_receivexlog.sgml | 10 ++++++++
doc/src/sgml/ref/pg_recvlogical.sgml | 10 ++++++++
src/bin/pg_basebackup/pg_receivexlog.c | 11 ++++++--
src/bin/pg_basebackup/pg_recvlogical.c | 9 ++++++-
src/bin/pg_basebackup/streamutil.c | 44 ++++++++++++++------------------
src/bin/pg_basebackup/streamutil.h | 4 +--
6 files changed, 58 insertions(+), 30 deletions(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#2Michael Paquier
michael@paquier.xyz
In reply to: Andres Freund (#1)
Re: pgsql: Optionally don't error out due to preexisting slots in commandli

On Mon, Jul 13, 2015 at 5:17 AM, Andres Freund <andres@anarazel.de> wrote:

Optionally don't error out due to preexisting slots in commandline utilities.

pg_receivexlog and pg_recvlogical error out when --create-slot is
specified and a slot with the same name already exists. In some cases,
especially with pg_receivexlog, that's rather annoying and requires
additional scripting.

Backpatch to 9.5 as slot control functions have newly been added to
pg_receivexlog, and there doesn't seem much point leaving it in a less
useful state.

Andres, Coverity is pointing out that this commit missed the shot when
sqlstate is NULL in CreateReplicationSlot and this would crash.
Something like the patch attached look adapted to me, vacuumdb.c doing
the necessary checks similarly.
Regards,
--
Michael

Attachments:

20150812_pgreceivexlog_state.patchtext/x-diff; charset=US-ASCII; name=20150812_pgreceivexlog_state.patchDownload+3-1
#3Andres Freund
andres@anarazel.de
In reply to: Michael Paquier (#2)
Re: pgsql: Optionally don't error out due to preexisting slots in commandli

On 2015-08-12 15:09:21 +0900, Michael Paquier wrote:

Andres, Coverity is pointing out that this commit missed the shot when
sqlstate is NULL in CreateReplicationSlot and this would crash.
Something like the patch attached look adapted to me, vacuumdb.c doing
the necessary checks similarly.

Thanks, fixed!

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers