Re: [HACKERS] Custom compression methods

From: Ildus Kurbangaliev <i(dot)kurbangaliev(at)postgrespro(dot)ru>
To: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, Ildar Musin <i(dot)musin(at)postgrespro(dot)ru>
Subject: Re: [HACKERS] Custom compression methods
Date: 2017-11-23 09:38:49
Message-ID: 20171123123849.5a686d7b@wp.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Tue, 21 Nov 2017 18:47:49 +0100
Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com> wrote:

> >
> Hmmm, it still doesn't work for me. See this:
> test=# create extension pg_lz4 ;
> test=# create table t_lz4 (v text compressed lz4);
> test=# create table t_pglz (v text);
> test=# insert into t_lz4 select repeat(md5(1::text),300);
> INSERT 0 1
> test=# insert into t_pglz select * from t_lz4;
> INSERT 0 1
> test=# drop extension pg_lz4 cascade;
> NOTICE: drop cascades to 2 other objects
> DETAIL: drop cascades to compression options for lz4
> drop cascades to table t_lz4 column v
> test=# \c test
> You are now connected to database "test" as user "user".
> test=# insert into t_lz4 select repeat(md5(1::text),300);^C
> test=# select * from t_pglz ;
> ERROR: cache lookup failed for compression options 16419
> That suggests no recompression happened.

Should be fixed in the attached patch. I've changed your extension a
little bit according changes in the new patch (also in attachments).

Also I renamed few functions, added more comments and simplified the
code related with DefineRelation (thanks to Ildar Musin suggestion).

Ildus Kurbangaliev
Postgres Professional:
Russian Postgres Company

Attachment Content-Type Size
custom_compression_methods_v6.patch text/x-patch 256.4 KB
pg_lz4.tar.gz application/gzip 1.4 KB

In response to


Browse pgsql-hackers by date

  From Date Subject
Next Message Rafia Sabih 2017-11-23 10:12:54 Re: [HACKERS] [POC] Faster processing at Gather node
Previous Message amul sul 2017-11-23 08:52:14 Re: [HACKERS] Parallel Append implementation