On 2014-03-03 16:27:05 +0200, Heikki Linnakangas wrote: > Thanks. I have to agree with Robert though that using the pglz encoding when > we're just checking for a common prefix/suffix is a pretty crappy way of > going about it [1]. > > As the patch stands, it includes the NULL bitmap when checking for a common > prefix. That's probably not a good idea, because it defeats the prefix > detection in a the common case that you update a field from NULL to not-NULL > or vice versa. > > Attached is a rewritten version, which does the prefix/suffix tests directly > in heapam.c, and adds the prefix/suffix lengths directly as fields in the > WAL record. If you could take one more look at this version, to check if > I've missed anything.
Have you rerun the benchmarks? I'd guess the CPU overhead of this version is lower than earlier versions, but seing it tested won't be a bad idea. > This ought to be tested with the new logical decoding stuff as it modified > the WAL update record format which the logical decoding stuff also relies, > but I don't know anything about that. Hm, I think all it needs to do disable delta encoding if need_tuple_data (which is dependent on wal_level=logical). Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers