Re: Does included columns part of the PK

From: Igor Korot <ikorot01(at)gmail(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Does included columns part of the PK
Date: 2026-03-16 21:51:22
Message-ID: CA+FnnTxh0ZvsaKvkpg7OLQBVhhicsv2u+uk9d0jf+qmF5q=YTw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-odbc

Adrian,

On Mon, Mar 16, 2026 at 2:40 PM Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> wrote:
>
> On 3/16/26 2:30 PM, Adrian Klaver wrote:
> > On 3/16/26 11:47 AM, Igor Korot wrote:
> >
> > Reply to list also.
> > Ccing list.
> >> Adrian,
> >>
> >>
> >>
> >> On Mon, Mar 16, 2026, 8:03 AM Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com
> >> <mailto:adrian(dot)klaver(at)aklaver(dot)com>> wrote:
> >>
> >> On 3/15/26 6:23 PM, Igor Korot wrote:
> >> > Hi, Adrian,
> >> >
> >> > Here is the log file from running in ODBC mode: https://bpa.st/
> >> Z2DWG <https://bpa.st/Z2DWG>
> >>
> >> I have no idea what this is trying to show?
> >>
> >>
> >> The log shows ODBC connection and then at the end - call to
> >> SQLPrimaryKeys().
> >
> > Where?
> >
> > I don't see that in either the link you posted or the text file Greg
> > sent to the list.
> >
> >>
> >> If you run it against the table I posted above, you will get 3 fields.
> >> Whereas it should be just one.
> >
> > Again, run it how?
>
> Alright I see what you are talking about now. I'm not using the ODBC
> driver just it's query. In psql :
>
> CREATE TABLE leagues_new (
> id serial,
> name varchar(100),
> drafttype smallint,
> scoringtype smallint,
> roundvalues smallint,
> leaguetype char(5),
> salary integer,
> benchplayers smallint,
> PRIMARY KEY (id) INCLUDE (drafttype, scoringtype
> ) WITH (fillfactor = 50, deduplicate_items = OFF)
> );
>
>
> SELECT
> ta.attname,
> ia.attnum,
> ic.relname,
> n.nspname,
> tc.relname
> FROM
> pg_catalog.pg_attribute ta,
> pg_catalog.pg_attribute ia,
> pg_catalog.pg_class tc,
> pg_catalog.pg_index i,
> pg_catalog.pg_namespace n,
> pg_catalog.pg_class ic
> WHERE
> tc.relname = 'leagues_new'
> AND n.nspname = 'public'
> AND tc.oid = i.indrelid
> AND n.oid = tc.relnamespace
> AND i.indisprimary = 't'
> AND ia.attrelid = i.indexrelid
> AND ta.attrelid = i.indrelid
> AND ta.attnum = i.indkey[ia.attnum - 1]
> AND (NOT ta.attisdropped)
> AND (NOT ia.attisdropped)
> AND ic.oid = i.indexrelid
> ORDER BY
> ia.attnum;
>
> yields
>
> attname | attnum | relname | nspname | relname
> -------------+--------+------------------+---------+-------------
> id | 1 | leagues_new_pkey | public | leagues_new
> drafttype | 2 | leagues_new_pkey | public | leagues_new
> scoringtype | 3 | leagues_new_pkey | public | leagues_new

Correct.

And according to the second reply it should yeld just the first record.

I'm going to forward this to the ODBC list...

Thank you.

>
>
> >
> >>
> >> Thank you.
> >>
>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Igor Korot 2026-03-16 21:53:49 Fwd: Does included columns part of the PK
Previous Message Adrian Klaver 2026-03-16 21:40:20 Re: Does included columns part of the PK

Browse pgsql-odbc by date

  From Date Subject
Next Message Igor Korot 2026-03-16 21:53:49 Fwd: Does included columns part of the PK
Previous Message Adrian Klaver 2026-03-16 21:40:20 Re: Does included columns part of the PK