1 /*-------------------------------------------------------------------------
4 * definition of the "foreign table" system catalog (pg_foreign_table)
6 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
9 * src/include/catalog/pg_foreign_table.h
12 * The Catalog.pm module reads this file and derives schema
15 *-------------------------------------------------------------------------
17 #ifndef PG_FOREIGN_TABLE_H
18 #define PG_FOREIGN_TABLE_H
20 #include "catalog/genbki.h"
21 #include "catalog/pg_foreign_table_d.h" /* IWYU pragma: export */
24 * pg_foreign_table definition. cpp turns this into
25 * typedef struct FormData_pg_foreign_table
28 CATALOG(pg_foreign_table
,3118,ForeignTableRelationId
)
30 Oid ftrelid
BKI_LOOKUP(pg_class
); /* OID of foreign table */
31 Oid ftserver
BKI_LOOKUP(pg_foreign_server
); /* OID of foreign server */
33 #ifdef CATALOG_VARLEN /* variable-length fields start here */
34 text ftoptions
[1]; /* FDW-specific options */
36 } FormData_pg_foreign_table
;
39 * Form_pg_foreign_table corresponds to a pointer to a tuple with
40 * the format of pg_foreign_table relation.
43 typedef FormData_pg_foreign_table
*Form_pg_foreign_table
;
45 DECLARE_TOAST(pg_foreign_table
, 4153, 4154);
47 DECLARE_UNIQUE_INDEX_PKEY(pg_foreign_table_relid_index
, 3119, ForeignTableRelidIndexId
, pg_foreign_table
, btree(ftrelid oid_ops
));
49 MAKE_SYSCACHE(FOREIGNTABLEREL
, pg_foreign_table_relid_index
, 4);
51 #endif /* PG_FOREIGN_TABLE_H */