Re: Primary key gist index? - Mailing list pgsql-general

From Paul Jungwirth
Subject Re: Primary key gist index?
Date
Msg-id 420e0752-1197-c1be-c50c-eba42f35ad99@illuminatedcomputing.com
Whole thread Raw
In response to Primary key gist index?  (Jeremy Finzel <finzelj@gmail.com>)
Responses Re: Primary key gist index?  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Primary key gist index?  (Steven Lembark <lembark@wrkhors.com>)
Re: Primary key gist index?  (Jeremy Finzel <finzelj@gmail.com>)
List pgsql-general
On 03/14/2018 06:19 AM, Jeremy Finzel wrote:
> Hello!  From all that I can tell, it is not possible using a btree_gist 
> index as a primary key.  If so, why not?  I have a table with this gist 
> index which truly ought to be its primary key.  as_of_date is of range 
> date type:
> 
> EXCLUDE USING gist (id WITH =, as_of_date WITH &&)

I'm curious why you need a primary key on this table, especially if the 
exclusion constraint is already preventing duplicate/overlapping records?

Technically I think an exclusion constraint (or at least this one) 
fulfills the formal requirements of a primary key (is unique, isn't 
null), but maybe there are other primary-key duties it doesn't meet, 
like defining foreign keys that reference it. I've been on-and-off 
building an extension for temporal foreign keys at [1]. That is pretty 
new, but perhaps it will be useful/interesting to you. And if you have 
any feedback, I'd love to hear it!

But anyway, maybe if you shared why the table needs a real PRIMARY KEY, 
people here can suggest something.

[1] https://github.com/pjungwir/time_for_keys

Yours,

-- 
Paul              ~{:-)
pj@illuminatedcomputing.com


pgsql-general by date:

Previous
From: Jeremy Finzel
Date:
Subject: Re: Primary key gist index?
Next
From: Tom Lane
Date:
Subject: Re: Primary key gist index?