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-2019, 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 */
31CATALOG(pg_authid,1260,AuthIdRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2842,AuthIdRelation_Rowtype_Id) BKI_SCHEMA_MACRO
32{
33 Oid oid; /* oid */
34 NameData rolname; /* name of role */
35 bool rolsuper; /* read this field via superuser() only! */
36 bool rolinherit; /* inherit privileges from other roles? */
37 bool rolcreaterole; /* allowed to create more roles? */
38 bool rolcreatedb; /* allowed to create databases? */
39 bool rolcanlogin; /* allowed to log in as session user? */
40 bool rolreplication; /* role used for streaming replication */
41 bool rolbypassrls; /* bypasses row level security? */
42 int32 rolconnlimit; /* max connections allowed (-1=no limit) */
43
44 /* remaining fields may be null; use heap_getattr to read them! */
45#ifdef CATALOG_VARLEN /* variable-length fields start here */
46 text rolpassword; /* password, if any */
47 timestamptz rolvaliduntil; /* password expiration time, if any */
48#endif
49} FormData_pg_authid;
50
51/* ----------------
52 * Form_pg_authid corresponds to a pointer to a tuple with
53 * the format of pg_authid relation.
54 * ----------------
55 */
56typedef FormData_pg_authid *Form_pg_authid;
57
58#endif /* PG_AUTHID_H */
59