'\" t .\" Title: dblink_get_pkey .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2024 .\" Manual: PostgreSQL 16.2 Documentation .\" Source: PostgreSQL 16.2 .\" Language: English .\" .TH "DBLINK_GET_PKEY" "3" "2024" "PostgreSQL 16.2" "PostgreSQL 16.2 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" dblink_get_pkey \- returns the positions and field names of a relation\*(Aqs primary key fields .SH "SYNOPSIS" .sp .nf dblink_get_pkey(text relname) returns setof dblink_pkey_results .fi .SH "DESCRIPTION" .PP \fBdblink_get_pkey\fR provides information about the primary key of a relation in the local database\&. This is sometimes useful in generating queries to be sent to remote databases\&. .SH "ARGUMENTS" .PP \fIrelname\fR .RS 4 Name of a local relation, for example foo or myschema\&.mytab\&. Include double quotes if the name is mixed\-case or contains special characters, for example "FooBar"; without quotes, the string will be folded to lower case\&. .RE .SH "RETURN VALUE" .PP Returns one row for each primary key field, or no rows if the relation has no primary key\&. The result row type is defined as .sp .if n \{\ .RS 4 .\} .nf CREATE TYPE dblink_pkey_results AS (position int, colname text); .fi .if n \{\ .RE .\} .sp The position column simply runs from 1 to \fIN\fR; it is the number of the field within the primary key, not the number within the table\*(Aqs columns\&. .SH "EXAMPLES" .sp .if n \{\ .RS 4 .\} .nf CREATE TABLE foobar ( f1 int, f2 int, f3 int, PRIMARY KEY (f1, f2, f3) ); CREATE TABLE SELECT * FROM dblink_get_pkey(\*(Aqfoobar\*(Aq); position | colname \-\-\-\-\-\-\-\-\-\-+\-\-\-\-\-\-\-\-\- 1 | f1 2 | f2 3 | f3 (3 rows) .fi .if n \{\ .RE .\}