Re: Asssociative Arrays: Best practices / snippets?

From: Stefan Keller <sfkeller(at)gmail(dot)com>
To: pgsql-general List <pgsql-general(at)postgresql(dot)org>
Subject: Re: Asssociative Arrays: Best practices / snippets?
Date: 2009-05-23 18:36:36
Message-ID: 25bc040b0905231136s10a52bfft3a4996f89473c09@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Steve, Filip: Many thanks for your patient answers and concerns. Did'nt know
hstore!

=> Is it enough to run the hstore.sql (found in ..\8.3\share\contrib\ plus
.dll) in order to install this contrib type under Windows?

=> What's the status of this contribution? Is it going to be still in 8.4?
(else I would still consider Arrays).

As for the background: I'm importing data from OpenStreetMap - "the
Wikipedia of Maps" - actuall by applying "good" database design principles.
This entity-attribute-value model get's mapped to a relational one. Now I
won't and can't map all attributes (called tags). That's where the idea
about associative arrays came in. The KVPs would be an ANDed in a search
with "regular" columns.

So, my answer to Leif's hot-blooded judgment about KVPs could be: "Know when
to break the rules" ;->
-S.

2009/5/23 Steve Atkins <steve(at)blighty(dot)com>

>
> On May 23, 2009, at 2:25 AM, Stefan Keller wrote:
>
> I have a use case where the I want to put an unforeseable number of
>> key/value pairs in a column.
>> Now, PostgreSQL has arrays as first class types.
>> Are there any best practices and snippets (preferrably in plpgsql) for
>> handling key/value pairs?
>>
>
> Take a look at "hstore". It's a data type in contrib that's intended to
> store a set of key, value
> pairs in a single column.
>
> It's well suited for the case where you're not searching on the keys and
> values. If you do
> need to search on them then you can either index the hstore field with a
> gin or gist index,
> or use a separate EAV table for the keys and values.
>
> Cheers,
> Steve
>
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Christophe 2009-05-23 18:50:25 Re: 8.3: timestamp subtraction
Previous Message Havasvölgyi Ottó 2009-05-23 18:06:50 Re: 8.3: timestamp subtraction