Re: RFC: compression dictionaries for JSONB

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Matthias van de Meent <boekewurm+postgres(at)gmail(dot)com>
Cc: Aleksander Alekseev <aleksander(at)timescale(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Konstantin Knizhnik <knizhnik(at)garret(dot)ru>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>
Subject: Re: RFC: compression dictionaries for JSONB
Date: 2021-10-08 15:19:44
Message-ID: 202110081519.chciht3zlu3v@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2021-Oct-08, Matthias van de Meent wrote:

> On Fri, 8 Oct 2021 at 11:47, Aleksander Alekseev
> <aleksander(at)timescale(dot)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, ...
);

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.

--
Álvaro Herrera 39°49'30"S 73°17'W — https://www.EnterpriseDB.com/
#error "Operator lives in the wrong universe"
("Use of cookies in real-time system development", M. Gleixner, M. Mc Guire)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2021-10-08 15:28:57 Re: Fix pg_log_backend_memory_contexts() 's delay
Previous Message Alvaro Herrera 2021-10-08 15:13:25 Re: Parallel vacuum workers prevent the oldest xmin from advancing