On 2015-12-14 14:50:57 +0800, Craig Ringer wrote:
>
http://www.postgresql.org/message-id/flat/20130615102028.GK19500@alap2.anarazel.de#20130615102028.GK19500@alap2.anarazel.de
> The issue with per-Datum is that TOAST claims two bits of a varlena header,
> which already limits us to 1 GiB varlena values, something people are
> starting to find to be a problem. There's no wiggle room to steal more
> bits. If you want pluggable compression you need a way to store knowledge
> of how a given datum is compressed with the datum or have a fast, efficient
> way to check.
>
> pg_upgrade means you can't just redefine the current toast bits so the
> compressed bit means "data is compressed, check first byte of varlena data
> for algorithm" because existing data won't have that, the first byte will
> be the start of the compressed data stream.
I don't think there's an actual problem here. My old patch that you
referenced solves this.
Andres