Re: Wrong OID for Primary Key and UNIQUE constraints shown in property pane

From: Dave Page <dpage(at)postgresql(dot)org>
To: Harald Armin Massa <haraldarminmassa(at)gmail(dot)com>
Cc: pgAdmin Support <pgadmin-support(at)postgresql(dot)org>
Subject: Re: Wrong OID for Primary Key and UNIQUE constraints shown in property pane
Date: 2007-04-04 15:52:59
Message-ID: 4613C9DB.4000000@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

Harald Armin Massa wrote:
> Hello,
>
> I tried to get the definition of unique and primary key constraints via
>
> select pg_get_constraintdef(<oidofconstraint>)
>
> as oidofconstraint I put the OID displayed in pg_admins property pain
> when selecting a constraint.
>
> This failed with
>
> ERROR: could not find tuple for constraint 36099
> SQL state: XX000
>
> when I took the OID from UNIQUE and PRIMARY KEY constraints.
>
> Then I moved on and took the OID from FOREIGN KEY constraints, and got
> results...
>
>
> digging in pg_catalog.pg_constraints made me learn that pg_admin shows
> those OIDs for UNIQUE and PRIMARY key constraints "off by one", that is:
>
> if I do
>
> select pg_get_constraintdef(36100)
>
> instead of
>
> select pg_get_constraintdef(36099)
>
> I get the needed result....
>
> Please find that "-1" and add it again :)

Thanks Harald - it was showing the OID of the index, not the constraint
record. I've fixed that, and modified the code to display the index OID
as a seperate property.

Regards, Dave

In response to

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message Dave Page 2007-04-05 09:12:40 pgAdmin packages for Solaris available
Previous Message Harald Armin Massa 2007-04-04 13:41:05 Wrong OID for Primary Key and UNIQUE constraints shown in property pane