codekingpro/portable-devtools
114k
1/*-------------------------------------------------------------------------2 *3 * pg_authid.h4 * 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-2023, PostgreSQL Global Development Group10 * Portions Copyright (c) 1994, Regents of the University of California11 *12 * src/include/catalog/pg_authid.h13 *14 * NOTES15 * The Catalog.pm module reads this file and derives schema16 * information.17 *18 *-------------------------------------------------------------------------19 */20#ifndef PG_AUTHID_H21#define PG_AUTHID_H22 23#include "catalog/genbki.h"24#include "catalog/pg_authid_d.h"25 26/* ----------------27 * pg_authid definition. cpp turns this into28 * typedef struct FormData_pg_authid29 * ----------------30 */31CATALOG(pg_authid,1260,AuthIdRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2842,AuthIdRelation_Rowtype_Id) BKI_SCHEMA_MACRO32{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#endif49} FormData_pg_authid;50 51/* ----------------52 * Form_pg_authid corresponds to a pointer to a tuple with53 * the format of pg_authid relation.54 * ----------------55 */56typedef FormData_pg_authid *Form_pg_authid;57 58DECLARE_TOAST_WITH_MACRO(pg_authid, 4175, 4176, PgAuthidToastTable, PgAuthidToastIndex);59 60DECLARE_UNIQUE_INDEX(pg_authid_rolname_index, 2676, AuthIdRolnameIndexId, on pg_authid using btree(rolname name_ops));61DECLARE_UNIQUE_INDEX_PKEY(pg_authid_oid_index, 2677, AuthIdOidIndexId, on pg_authid using btree(oid oid_ops));62 63#endif /* PG_AUTHID_H */64 