Обсуждение: pgsql: Optionally don't error out due to preexisting slots in commandli

Поиск
Список
Период
Сортировка

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

От
Andres Freund
Дата:
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

От
Michael Paquier
Дата:
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

Вложения

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

От
Andres Freund
Дата:
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!