IMHO end-user do not have skills and time to create their own compression algorithms. And without knowledge of specific of particular data set, it is very hard to implement something more efficient than universal compression library. But if you think that it is not a right place and time to discuss it, I do not insist.
For sure, end-users wouldn't implement own compression algorithms.
In the same way as end-users wouldn't implement custom datatypes,
operator classes, procedural language handlers etc. But those are
useful extension mechanisms which pass test of time. And extension
developers use them.
But in any case, I think that it will be useful to provide some more examples of custom compression API usage. From my point of view the most useful will be integration with zstd. But if it is possible to find some example of data-specific compression algorithms which show better results than universal compression, it will be even more impressive.
Yes, this patch definitely lacks of good usage example. That may
lead to some misunderstanding of its purpose. Good use-cases
should be shown before we can consider committing this. I think
Ildus should try to implement at least custom dictionary compression
method where dictionary is specified by user in parameters.