Re: [HACKERS] Custom compression methods
Dilip Kumar <dilipbalaut@gmail.com>
Attachments
- v8-0002-alter-table-set-compression.patch (application/octet-stream) patch v8-0002
- v8-0001-Built-in-compression-method.patch (application/octet-stream) patch v8-0001
- v8-0004-Create-custom-compression-methods.patch (application/octet-stream) patch v8-0004
- v8-0003-Add-support-for-PRESERVE.patch (application/octet-stream) patch v8-0003
- v8-0005-new-compression-method-extension-for-zlib.patch (application/octet-stream) patch v8-0005
On Sat, Oct 17, 2020 at 11:34 AM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > On Tue, Oct 13, 2020 at 10:30 AM Dilip Kumar <dilipbalaut@gmail.com> wrote: > > > > On Mon, Oct 12, 2020 at 7:32 PM Tomas Vondra > > <tomas.vondra@2ndquadrant.com> wrote: > > > > > > On Mon, Oct 12, 2020 at 02:28:43PM +0530, Dilip Kumar wrote: > > > > > > > >> ... > > > > > > > >I have worked on this patch, so as discussed now I am maintaining the > > > >preserved compression methods using dependency. Still PRESERVE ALL > > > >syntax is not supported, I will work on that part. > > > > > > > > > > Cool, I'll take a look. What's your opinion on doing it this way? Do you > > > think it's cleaner / more elegant, or is it something contrary to what > > > the dependencies are meant to do? > > > > I think this looks much cleaner. Moreover, I feel that once we start > > supporting the custom compression methods then we anyway have to > > maintain the dependency so using that for finding the preserved > > compression method is good option. > > I have also implemented the next set of patches. > 0004 -> Provide a way to create custom compression methods > 0005 -> Extention to implement lz4 as a custom compression method. In the updated version I have worked on some of the listed items > A pending list of items: > 1. Provide support for handling the compression option > - As discussed up thread I will store the compression option of the > latest compression method in a new field in pg_atrribute table > 2. As of now I have kept zlib as the second built-in option and lz4 as > a custom compression extension. In Offlist discussion with Robert, he > suggested that we should keep lz4 as the built-in method and we can > move zlib as an extension because lz4 is faster than zlib so better to > keep that as the built-in method. So in the next version, I will > change that. Any different opinion on this? Done > 3. Improve the documentation, especially for create_compression_method. > 4. By default support table compression method for the index. Done > 5. Support the PRESERVE ALL option so that we can preserve all > existing lists of compression methods without providing the whole > list. 1,3,5 points are still pending. -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
Commits
-
docs: Update TOAST storage docs for configurable compression.
- e8c435a824e1 14.0 landed
-
Further tweaking of pg_dump's handling of default_toast_compression.
- 54bb91c30e39 14.0 landed
-
Fix interaction of TOAST compression with expression indexes.
- 5db1fd7823a1 14.0 landed
-
Tidy up more loose ends related to configurable TOAST compression.
- e5595de03ec6 14.0 landed
-
Short-circuit slice requests that are for more than the object's size.
- 063dd37ebc76 14.0 landed
-
Mostly-cosmetic adjustments of TOAST-related macros.
- aeb1631ed207 14.0 landed
-
Remove useless configure probe for <lz4/lz4.h>.
- 2c75f8a612b2 14.0 landed
-
Error on invalid TOAST compression in CREATE or ALTER TABLE.
- a4d5284a10b5 14.0 landed
-
docs: Fix omissions related to configurable TOAST compression.
- 24f0e395ac58 14.0 landed
-
More code cleanup for configurable TOAST compression.
- 226e2be3876d 14.0 landed
-
Bring configure support for LZ4 up to snuff.
- 4d399a6fbeb7 14.0 landed
-
Make compression.sql regression test independent of default.
- fd1ac9a54896 14.0 landed
-
Use valid compression method in brin_form_tuple
- 882b2cdc08c4 14.0 landed
-
Fix up pg_dump's handling of per-attribute compression options.
- aa25d1089ac0 14.0 landed
-
Allow configurable LZ4 TOAST compression.
- bbe0a81db69b 14.0 landed
-
Fix inconsistencies in the code
- 6b8548964bcc 13.0 cited
-
Mostly-cosmetic improvements in memory chunk header alignment coding.
- f65d21b25808 11.0 cited
-
Allow numeric to use a more compact, 2-byte header in many cases.
- 145343534c15 9.1.0 cited