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

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

From
Andres Freund
Date:
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(-)


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

From
Michael Paquier
Date:
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

Attachment

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

From
Andres Freund
Date:
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!