Re: Will PG use composite index to enforce foreign keys? - Mailing list pgsql-general

From John Burger
Subject Re: Will PG use composite index to enforce foreign keys?
Date
Msg-id 3DADA3B9-9DC8-4F8E-A921-B425980F4A23@mitre.org
Whole thread Raw
In response to Re: Will PG use composite index to enforce foreign keys?  (Gregory Stark <stark@enterprisedb.com>)
List pgsql-general
Gregory Stark wrote:

>> I guess a generalization of my question is whether the FK-
>> checking  machinery
>> simply does a SELECT against the referencing column.
>
> It does

> Actually the query is (effectively, assuming your equality
> operators are named
> "=" and the columns match in type)
>
> SELECT 1
>   FROM ONLY B x
>  WHERE col1=?
>    AND col2=?
>    ...
>    FOR SHARE OF x
>
> Since it has to take a lock on the record found to ensure it
> doesn't disappear
> before your transaction finishes.

Awesome, this tells me a lot!  So I can use EXPLAIN ANALYZE and a
query like this to reason about what indexes I might need on my
foreign key references.  Thanks!

- John D. Burger
   MITRE



pgsql-general by date:

Previous
From: brian
Date:
Subject: Re: initdb - encoding question
Next
From: Andrew Sullivan
Date:
Subject: Re: HA and Replication - how to choose among all the available solutions