Re: Is it possible to create an index without keeping the indexed data in a column?

From: David G Johnston <david(dot)g(dot)johnston(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Is it possible to create an index without keeping the indexed data in a column?
Date: 2014-08-01 07:14:41
Message-ID: 1406877281608-5813500.post@n5.nabble.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

larrry wrote
> Hi,
>
> I would like to create a GIN index on a set of JSON documents. Right now
> I'm storing the data in a JSONB column. The current index looks like this:
>
> CREATE INDEX document_payload_idx
> ON document
> USING gin
> (payload jsonb_path_ops);
>
> The index is pretty small, but the actual data takes up a *lot* of space.
> Is there a way to get Postgres to index the table *as if* the JSON were
> there, but not actually put the data in the table? I could either store
> the
> docs elsewhere and keep a reference, or compress them and put them in the
> table in compressed form as a blob.
>
> Thanks much for your help.
>
> Larry

No idea if this works but maybe you can store the compressed data and then
write the index expression like:

USING gin (unzip(payload) jsonb_path_ops)

The unzip function would need to be custom I think...

David J.

--
View this message in context: http://postgresql.1045698.n5.nabble.com/Is-it-possible-to-create-an-index-without-keeping-the-indexed-data-in-a-column-tp5813461p5813500.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Pujol Mathieu 2014-08-01 07:18:44 Re: How to implement a uniqueness constraint across multiple tables?
Previous Message David G Johnston 2014-08-01 07:06:50 Re: Is it possible to create an index without keeping the indexed data in a column?