1 /*-------------------------------------------------------------------------
4 * definition of the "authorization identifier members" system catalog
8 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
9 * Portions Copyright (c) 1994, Regents of the University of California
11 * src/include/catalog/pg_auth_members.h
14 * The Catalog.pm module reads this file and derives schema
17 *-------------------------------------------------------------------------
19 #ifndef PG_AUTH_MEMBERS_H
20 #define PG_AUTH_MEMBERS_H
22 #include "catalog/genbki.h"
23 #include "catalog/pg_auth_members_d.h" /* IWYU pragma: export */
26 * pg_auth_members definition. cpp turns this into
27 * typedef struct FormData_pg_auth_members
30 CATALOG(pg_auth_members
,1261,AuthMemRelationId
) BKI_SHARED_RELATION
BKI_ROWTYPE_OID(2843,AuthMemRelation_Rowtype_Id
) BKI_SCHEMA_MACRO
33 Oid roleid
BKI_LOOKUP(pg_authid
); /* ID of a role */
34 Oid member
BKI_LOOKUP(pg_authid
); /* ID of a member of that role */
35 Oid grantor
BKI_LOOKUP(pg_authid
); /* who granted the membership */
36 bool admin_option
; /* granted with admin option? */
37 bool inherit_option
; /* exercise privileges without SET ROLE? */
38 bool set_option
; /* use SET ROLE to the target role? */
39 } FormData_pg_auth_members
;
42 * Form_pg_auth_members corresponds to a pointer to a tuple with
43 * the format of pg_auth_members relation.
46 typedef FormData_pg_auth_members
*Form_pg_auth_members
;
48 DECLARE_UNIQUE_INDEX_PKEY(pg_auth_members_oid_index
, 6303, AuthMemOidIndexId
, pg_auth_members
, btree(oid oid_ops
));
49 DECLARE_UNIQUE_INDEX(pg_auth_members_role_member_index
, 2694, AuthMemRoleMemIndexId
, pg_auth_members
, btree(roleid oid_ops
, member oid_ops
, grantor oid_ops
));
50 DECLARE_UNIQUE_INDEX(pg_auth_members_member_role_index
, 2695, AuthMemMemRoleIndexId
, pg_auth_members
, btree(member oid_ops
, roleid oid_ops
, grantor oid_ops
));
51 DECLARE_INDEX(pg_auth_members_grantor_index
, 6302, AuthMemGrantorIndexId
, pg_auth_members
, btree(grantor oid_ops
));
53 MAKE_SYSCACHE(AUTHMEMROLEMEM
, pg_auth_members_role_member_index
, 8);
54 MAKE_SYSCACHE(AUTHMEMMEMROLE
, pg_auth_members_member_role_index
, 8);
56 #endif /* PG_AUTH_MEMBERS_H */