Re: pg_resetsysid

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: Petr Jelinek <petr(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pg_resetsysid
Date: 2015-07-18 23:40:20
Message-ID: 55AAE3E4.1090309@gmx.net
Views: Raw Message | Whole Thread | Download mbox
Thread:
Lists: pgsql-hackers

On 7/18/15 9:42 AM, Petr Jelinek wrote:
> Well, last time I submitted this I did it exactly as you propose but
> there was long discussion about this changing the target audience of
> pg_resetxlog and that it would be better as separate binary from
> pg_resetxlog.

In my reading of the thread, I did not get the sense that that was the
consensus. There were certainly a lot of different opinions, but
specifically some people ended up withdrawing their objections to using
pg_resetxlog.

> It might more future proof to have more generic binary which can do all
> the less dangerous work that pg_resetxlog does (which currently is
> probably only -c and the newly proposed -s).

I don't buy the more or less dangerous argument. Many tools can be
dangerous. cp can be dangerous if you overwrite the wrong file.
pg_restore can be dangerous if you give it the wrong options. Changing
the system ID is also dangerous, as it can break replication and
truncate the WAL.

Right now, changing the system ID is an obscure step in some obscure
workflow related to some obscure feature. That is not to say it's
invalid, but it's not something that we can present to a normal user as
the official workflow. Just adding little tools of the nature "whack
this around until it's in the right shape for this other thing" is just
adding complications on top of complications. If we want to turn this
into a less "dangerous" and more user-facing feature, I would like to
see a complete workflow of how this would be used. Maybe we'll come up
with a better solution. For example, why couldn't pg_basebackup take
care of this?

> Something like pg_setcontroldata but that's too long.

Well, there is nothing so far saying that pg_controldata couldn't also
write to pg_control. It's not called pg_getcontroldata. ;-)

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2015-07-19 07:27:29 Re: BRIN index and aborted transaction
Previous Message Tom Lane 2015-07-18 22:11:59 Re: pg_uuid_t support in contrib/btree_gist