2022年7月27日(水) 2:47 chenhj <chjis...@163.com>: > > Hi hackers, > > I have rebase this patch and made some improvements. > > > 1. A header is added to each chunk in the pcd file, which records the chunk > of which block the chunk belongs to, and the checksum of the chunk. > > Accordingly, all pages in a compressed relation are stored in compressed > format, even if the compressed page is larger than BLCKSZ. > > The maximum space occupied by a compressed page is BLCKSZ + chunk_size > (exceeding this range will report an error when writing the page). > > 2. Repair the pca file through the information recorded in the pcd when > recovering from a crash > > 3. For compressed relation, do not release the free blocks at the end of the > relation (just like what old_snapshot_threshold does), reducing the risk of > data inconsistency between pcd and pca file. > > 4. During backup, only check the checksum in the chunk header for the pcd > file, and avoid assembling and decompressing chunks into the original page. > > 5. bugfix, doc, code style and so on > > > And see src/backend/storage/smgr/README.compression for detail > > > Other > > 1. remove support of default compression option in tablespace, I'm not sure > about the necessity of this feature, so don't support it for now. > > 2. pg_rewind currently does not support copying only changed blocks from pcd > file. This feature is relatively independent and could be implemented later.
Hi cfbot reports the patch no longer applies. As CommitFest 2022-11 is currently underway, this would be an excellent time to update the patch. Thanks Ian Barwick