On Wed, Jun 11, 2014 at 10:05 AM, Michael Paquier <michael.paqu...@gmail.com> wrote: > On Tue, Jun 10, 2014 at 11:49 PM, Rahila Syed <rahilasye...@gmail.com> wrote: >> Hello , >> >> >> In order to facilitate changing of compression algorithms and to be able to >> recover using WAL records compressed with different compression algorithms, >> information about compression algorithm can be stored in WAL record. >> >> XLOG record header has 2 to 4 padding bytes in order to align the WAL >> record. This space can be used for a new flag in order to store information >> about the compression algorithm used. Like the xl_info field of XlogRecord >> struct, 8 bits flag can be constructed with the lower 4 bits of the flag >> used to indicate which backup block is compressed out of 0,1,2,3. Higher >> four bits can be used to indicate state of compression i.e >> off,lz4,snappy,pglz. >> >> The flag can be extended to incorporate more compression algorithms added in >> future if any. >> >> What is your opinion on this? > -1 for any additional bytes in WAL record to control such things, > having one single compression that we know performs well and relying > on it makes the life of user and developer easier.
IIUC even when we adopt only one algorithm, additional at least one bit is necessary to see whether this backup block is compressed or not. This flag is necessary only for backup block, so there is no need to use the header of each WAL record. What about just using the backup block header? Regards, -- Fujii Masao -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers