PostgreSQL Source Code  git master
pg_authid.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * pg_authid.h
4  * definition of the "authorization identifier" system catalog (pg_authid)
5  *
6  * pg_shadow and pg_group are now publicly accessible views on pg_authid.
7  *
8  *
9  * Portions Copyright (c) 1996-2018, PostgreSQL Global Development Group
10  * Portions Copyright (c) 1994, Regents of the University of California
11  *
12  * src/include/catalog/pg_authid.h
13  *
14  * NOTES
15  * The Catalog.pm module reads this file and derives schema
16  * information.
17  *
18  *-------------------------------------------------------------------------
19  */
20 #ifndef PG_AUTHID_H
21 #define PG_AUTHID_H
22 
23 #include "catalog/genbki.h"
24 #include "catalog/pg_authid_d.h"
25 
26 /* ----------------
27  * pg_authid definition. cpp turns this into
28  * typedef struct FormData_pg_authid
29  * ----------------
30  */
31 CATALOG(pg_authid,1260,AuthIdRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2842,AuthIdRelation_Rowtype_Id) BKI_SCHEMA_MACRO
32 {
33  NameData rolname; /* name of role */
34  bool rolsuper; /* read this field via superuser() only! */
35  bool rolinherit; /* inherit privileges from other roles? */
36  bool rolcreaterole; /* allowed to create more roles? */
37  bool rolcreatedb; /* allowed to create databases? */
38  bool rolcanlogin; /* allowed to log in as session user? */
39  bool rolreplication; /* role used for streaming replication */
40  bool rolbypassrls; /* bypasses row level security? */
41  int32 rolconnlimit; /* max connections allowed (-1=no limit) */
42 
43  /* remaining fields may be null; use heap_getattr to read them! */
44 #ifdef CATALOG_VARLEN /* variable-length fields start here */
45  text rolpassword; /* password, if any */
46  timestamptz rolvaliduntil; /* password expiration time, if any */
47 #endif
49 
50 /* ----------------
51  * Form_pg_authid corresponds to a pointer to a tuple with
52  * the format of pg_authid relation.
53  * ----------------
54  */
56 
57 #endif /* PG_AUTHID_H */
bool rolbypassrls
Definition: pg_authid.h:40
int32 rolconnlimit
Definition: pg_authid.h:41
CATALOG(pg_authid, 1260, AuthIdRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2842
bool rolcanlogin
Definition: pg_authid.h:38
#define BKI_SHARED_RELATION
Definition: genbki.h:27
bool rolcreatedb
Definition: pg_authid.h:37
signed int int32
Definition: c.h:313
FormData_pg_authid * Form_pg_authid
Definition: pg_authid.h:55
Definition: c.h:570
bool rolcreaterole
Definition: pg_authid.h:36
bool rolsuper
Definition: pg_authid.h:34
AuthIdRelation_Rowtype_Id BKI_SCHEMA_MACRO
Definition: pg_authid.h:32
#define BKI_ROWTYPE_OID(oid, oidmacro)
Definition: genbki.h:29
bool rolreplication
Definition: pg_authid.h:39
FormData_pg_authid
Definition: pg_authid.h:48
Definition: c.h:516
bool rolinherit
Definition: pg_authid.h:35