Re: RFC: compression dictionaries for JSONB - Mailing list pgsql-hackers

From Matthias van de Meent
Subject Re: RFC: compression dictionaries for JSONB
Date
Msg-id CAEze2Wj61ZxpnxwdpQcsDQtzOhpKrSUCt5QX9O9xCFkg3a-Htg@mail.gmail.com
Whole thread Raw
In response to Re: RFC: compression dictionaries for JSONB  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: RFC: compression dictionaries for JSONB
List pgsql-hackers
On Fri, 8 Oct 2021 at 17:19, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>
> On 2021-Oct-08, Matthias van de Meent wrote:
>
> > On Fri, 8 Oct 2021 at 11:47, Aleksander Alekseev
> > <aleksander@timescale.com> wrote:
>
> > > In order to do this, the SQL syntax should be modified. The proposed
> > > syntax is based on Matthias van de Meent's idea [6]:
> >
> > Seems fine
> >
> > > ```
> > > CREATE TYPE <type-name> AS JSONB_DICTIONARY (
> > >   learn_by = { {"table_a", "column_a"}, {"table_b", "column_b"}, ... },
>
> Actually, why is it a JSONB_DICTIONARY and not like
>
> CREATE TYPE name AS DICTIONARY (
>   base_type = JSONB, ...
> );

That's a good point, but if we're extending this syntax to allow the
ability of including other types, then I'd instead extend the syntax
that of below, so that the type of the dictionary entries is required
in the syntax:

CREATE TYPE name AS DICTIONARY OF jsonb [ ( ...entries ) ] [ WITH (
...options ) ];

> so that it is possible to use the infrastructure for other things?  For
> example, perhaps PostGIS geometries could benefit from it -- or even
> text or xml columns.
>
> The pg_type entry would have to provide some support procedure that
> makes use of the dictionary in some way.  This seems better than tying
> the SQL object to a specific type.

Agreed, but this might mean that much more effort would be required to
get such a useful quality-of-life feature committed.

Kind regards,

Matthias



pgsql-hackers by date:

Previous
From: "Bossart, Nathan"
Date:
Subject: Re: should we allow users with a predefined role to access pg_backend_memory_contexts view and pg_log_backend_memory_contexts function?
Next
From: Peter Geoghegan
Date:
Subject: Re: Parallel vacuum workers prevent the oldest xmin from advancing