PostgreSQL Source Code git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
pg_policy.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * pg_policy.h
4 * definition of the "policy" system catalog (pg_policy)
5 *
6 *
7 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
9 *
10 * src/include/catalog/pg_policy.h
11 *
12 * NOTES
13 * The Catalog.pm module reads this file and derives schema
14 * information.
15 *
16 *-------------------------------------------------------------------------
17 */
18#ifndef PG_POLICY_H
19#define PG_POLICY_H
20
21#include "catalog/genbki.h"
22#include "catalog/pg_policy_d.h"
23
24/* ----------------
25 * pg_policy definition. cpp turns this into
26 * typedef struct FormData_pg_policy
27 * ----------------
28 */
29CATALOG(pg_policy,3256,PolicyRelationId)
30{
31 Oid oid; /* oid */
32 NameData polname; /* Policy name. */
33 Oid polrelid BKI_LOOKUP(pg_class); /* Oid of the relation with
34 * policy. */
35 char polcmd; /* One of ACL_*_CHR, or '*' for all */
36 bool polpermissive; /* restrictive or permissive policy */
37
38#ifdef CATALOG_VARLEN
39 /* Roles to which the policy is applied; zero means PUBLIC */
40 Oid polroles[1] BKI_LOOKUP_OPT(pg_authid) BKI_FORCE_NOT_NULL;
41 pg_node_tree polqual; /* Policy quals. */
42 pg_node_tree polwithcheck; /* WITH CHECK quals. */
43#endif
45
46/* ----------------
47 * Form_pg_policy corresponds to a pointer to a row with
48 * the format of pg_policy relation.
49 * ----------------
50 */
52
53DECLARE_TOAST(pg_policy, 4167, 4168);
54
55DECLARE_UNIQUE_INDEX_PKEY(pg_policy_oid_index, 3257, PolicyOidIndexId, pg_policy, btree(oid oid_ops));
56DECLARE_UNIQUE_INDEX(pg_policy_polrelid_polname_index, 3258, PolicyPolrelidPolnameIndexId, pg_policy, btree(polrelid oid_ops, polname name_ops));
57
58#endif /* PG_POLICY_H */
#define BKI_LOOKUP(catalog)
Definition: genbki.h:46
#define BKI_LOOKUP_OPT(catalog)
Definition: genbki.h:47
#define BKI_FORCE_NOT_NULL
Definition: genbki.h:33
FormData_pg_policy
Definition: pg_policy.h:44
DECLARE_UNIQUE_INDEX(pg_policy_polrelid_polname_index, 3258, PolicyPolrelidPolnameIndexId, pg_policy, btree(polrelid oid_ops, polname name_ops))
FormData_pg_policy * Form_pg_policy
Definition: pg_policy.h:51
CATALOG(pg_policy, 3256, PolicyRelationId)
Definition: pg_policy.h:29
DECLARE_UNIQUE_INDEX_PKEY(pg_policy_oid_index, 3257, PolicyOidIndexId, pg_policy, btree(oid oid_ops))
DECLARE_TOAST(pg_policy, 4167, 4168)
unsigned int Oid
Definition: postgres_ext.h:31
Definition: c.h:695