PostgreSQL Source Code git master
Loading...
Searching...
No Matches
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 views on pg_authid.
7 *
8 *
9 * Portions Copyright (c) 1996-2026, 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" /* IWYU pragma: export */
25
26/* ----------------
27 * pg_authid definition. cpp turns this into
28 * typedef struct FormData_pg_authid
29 * ----------------
30 */
32
34{
35 Oid oid; /* oid */
36 NameData rolname; /* name of role */
37 bool rolsuper; /* read this field via superuser() only! */
38 bool rolinherit; /* inherit privileges from other roles? */
39 bool rolcreaterole; /* allowed to create more roles? */
40 bool rolcreatedb; /* allowed to create databases? */
41 bool rolcanlogin; /* allowed to log in as session user? */
42 bool rolreplication; /* role used for streaming replication */
43 bool rolbypassrls; /* bypasses row-level security? */
44 int32 rolconnlimit; /* max connections allowed (-1=no limit) */
45
46 /* remaining fields may be null; use heap_getattr to read them! */
47#ifdef CATALOG_VARLEN /* variable-length fields start here */
48 text rolpassword; /* password, if any */
49 timestamptz rolvaliduntil; /* password expiration time, if any */
50#endif
52
54
55/* ----------------
56 * Form_pg_authid corresponds to a pointer to a tuple with
57 * the format of pg_authid relation.
58 * ----------------
59 */
61
64
67
68#endif /* PG_AUTHID_H */
int32_t int32
Definition c.h:575
#define BEGIN_CATALOG_STRUCT
Definition genbki.h:37
#define DECLARE_UNIQUE_INDEX_PKEY(name, oid, oidmacro, tblname, decl)
Definition genbki.h:105
#define END_CATALOG_STRUCT
Definition genbki.h:38
#define DECLARE_UNIQUE_INDEX(name, oid, oidmacro, tblname, decl)
Definition genbki.h:104
#define CATALOG(name, oid, oidmacro)
Definition genbki.h:42
#define MAKE_SYSCACHE(name, idxname, nbuckets)
Definition genbki.h:146
#define BKI_SHARED_RELATION
Definition genbki.h:46
#define BKI_ROWTYPE_OID(oid, oidmacro)
Definition genbki.h:47
FormData_pg_authid
Definition pg_authid.h:51
NameData rolname
Definition pg_authid.h:36
bool rolcreaterole
Definition pg_authid.h:39
bool rolsuper
Definition pg_authid.h:37
bool rolinherit
Definition pg_authid.h:38
BEGIN_CATALOG_STRUCT AuthIdRelation_Rowtype_Id BKI_SCHEMA_MACRO
Definition pg_authid.h:34
END_CATALOG_STRUCT typedef FormData_pg_authid * Form_pg_authid
Definition pg_authid.h:60
bool rolcanlogin
Definition pg_authid.h:41
bool rolbypassrls
Definition pg_authid.h:43
bool rolcreatedb
Definition pg_authid.h:40
bool rolreplication
Definition pg_authid.h:42
int32 rolconnlimit
Definition pg_authid.h:44
unsigned int Oid
static int fb(int x)
Definition c.h:793
Definition c.h:739