[prev in list] [next in list] [prev in thread] [next in thread] 

List:       postgresql-general
Subject:    Re: Get primary key of a table through SPI
From:       Tom Lane <tgl () sss ! pgh ! pa ! us>
Date:       2022-03-24 15:59:07
Message-ID: 3016112.1648137547 () sss ! pgh ! pa ! us
[Download RAW message or body]

Oskar Stenberg <oskar_stenberg@outlook.com> writes:
> I need to get the primary keys of a few tables for some code that I'm wr=
iting in C. I've found out how to do this through regular SQL code and I k=
now that I can use that SQL code through the SPI. But I was just wondering=
 if there is a better/faster way to get information like this directly thr=
ough the SPI? I'm imagining something similar to how I can get for example=
 the name of the column with the SPI_fname function? Couldn't find anythin=
g when I was looking around, but I might have looked in the wrong place?

SPI doesn't concern itself with such things.  If you're writing C code,
there are a lot of server internal APIs you can use for catalog inquiries
--- in this case, RelationGetPrimaryKeyIndex() might be just what you
want.  However, you may or may not find those convenient to use, and in
any case they're less stable across major versions than the SPI APIs.
So it's a tradeoff.

			regards, tom lane


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic