Re: [BUGS] [HACKERS] Re: Postgresql bug report - unexpected behaviorof suppress_redundant_updates_trigger - Mailing list pgsql-hackers

From Chapman Flack
Subject Re: [BUGS] [HACKERS] Re: Postgresql bug report - unexpected behaviorof suppress_redundant_updates_trigger
Date
Msg-id 6de6cf32-92fa-f1ea-9c88-580fea72f3c6@anastigmatix.net
Whole thread Raw
In response to Re: [BUGS] [HACKERS] Re: Postgresql bug report - unexpected behaviorof suppress_redundant_updates_trigger  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-hackers
On 06/19/2017 05:19 PM, David G. Johnston wrote:

> At first glance I think I'd rather have it do the correct thing all of
> the time, even if it takes longer, so that my only trade-off decision
> is whether to improve performance by fixing the application.
> 
> Ideally if the input tuple wouldn't require compression we wouldn't
> bother to decompress the stored tuple.

That looks like one reasonable elimination check.

I wonder how much closer it could get with some changes that wouldn't
necessarily use many more cycles.

One might be a less_easy queue; marching through the tuple
comparing fields, if one is found to be TOASTed, throw it
on the queue and march on. Only if all the easy ones matched
is there any point in looking at the queue.

At that point, there could be a tunable for how much effort
to expend. Perhaps I'm willing to decompress an inline value,
but not retrieve an out-of-line one? For the TOAST compression
algorithm I'm not sure of the balance between compression
and decompression effort; I know gzip decompression is pretty cheap.

-Chap



pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: [HACKERS] psql's \d and \dt are sending their complaints todifferent output files
Next
From: Peter Eisentraut
Date:
Subject: Re: [HACKERS] CREATE SUBSCRIPTION documentation