Re: [PATCH][PROPOSAL] Refuse setting toast.* reloptions when TOAST table does not exist - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [PATCH][PROPOSAL] Refuse setting toast.* reloptions when TOAST table does not exist
Date
Msg-id 2802.1516318921@sss.pgh.pa.us
Whole thread Raw
In response to Re: [PATCH][PROPOSAL] Refuse setting toast.* reloptions when TOASTtable does not exist  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: [PATCH][PROPOSAL] Refuse setting toast.* reloptions when TOAST table does not exist
Re: [PATCH][PROPOSAL] Refuse setting toast.* reloptions when TOASTtable does not exist
List pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Wed, Jan 17, 2018 at 3:50 PM, Nikolay Shaplov <dhyan@nataraj.su> wrote:
>> This patch raises error if user tries o set or change toast.* option for a
>> table that does not have a TOST relation.

> I think there is a problem with this idea, which is that the rules for
> whether or not a given table has an associated TOAST table
> occasionally change from one major release to the next.  Suppose that,
> in release X, a particular table definition causes a TOAST table to be
> created, but in release X+1, it does not.  If a table with that
> definition has a toast.* option set, then upgrading from release X to
> release X+1 via pg_dump and restore will fail.  That's bad.

Yeah --- and it doesn't even have to be a major version change; the
same version on different hardware might make different choices too.
Not to mention that there is discussion out there about making the
toasting rules more configurable.

There might be a case for raising a warning in this situation,
but I would disagree with making it a hard error in any case.
All that's going to accomplish is to break people's scripts and
get them mad at you.

            regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] Refactor handling of database attributes between pg_dump and pg_dumpall
Next
From: Ashwin Agrawal
Date:
Subject: make_etags: avoid recursive symbolic creation.