summaryrefslogtreecommitdiffstats
path: root/src/include/catalog/pg_authid.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/catalog/pg_authid.h')
-rw-r--r--src/include/catalog/pg_authid.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/include/catalog/pg_authid.h b/src/include/catalog/pg_authid.h
new file mode 100644
index 0000000..88a5373
--- /dev/null
+++ b/src/include/catalog/pg_authid.h
@@ -0,0 +1,58 @@
+/*-------------------------------------------------------------------------
+ *
+ * pg_authid.h
+ * definition of the "authorization identifier" system catalog (pg_authid)
+ *
+ * pg_shadow and pg_group are now publicly accessible views on pg_authid.
+ *
+ *
+ * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ * src/include/catalog/pg_authid.h
+ *
+ * NOTES
+ * The Catalog.pm module reads this file and derives schema
+ * information.
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef PG_AUTHID_H
+#define PG_AUTHID_H
+
+#include "catalog/genbki.h"
+#include "catalog/pg_authid_d.h"
+
+/* ----------------
+ * pg_authid definition. cpp turns this into
+ * typedef struct FormData_pg_authid
+ * ----------------
+ */
+CATALOG(pg_authid,1260,AuthIdRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2842,AuthIdRelation_Rowtype_Id) BKI_SCHEMA_MACRO
+{
+ Oid oid; /* oid */
+ NameData rolname; /* name of role */
+ bool rolsuper; /* read this field via superuser() only! */
+ bool rolinherit; /* inherit privileges from other roles? */
+ bool rolcreaterole; /* allowed to create more roles? */
+ bool rolcreatedb; /* allowed to create databases? */
+ bool rolcanlogin; /* allowed to log in as session user? */
+ bool rolreplication; /* role used for streaming replication */
+ bool rolbypassrls; /* bypasses row level security? */
+ int32 rolconnlimit; /* max connections allowed (-1=no limit) */
+
+ /* remaining fields may be null; use heap_getattr to read them! */
+#ifdef CATALOG_VARLEN /* variable-length fields start here */
+ text rolpassword; /* password, if any */
+ timestamptz rolvaliduntil; /* password expiration time, if any */
+#endif
+} FormData_pg_authid;
+
+/* ----------------
+ * Form_pg_authid corresponds to a pointer to a tuple with
+ * the format of pg_authid relation.
+ * ----------------
+ */
+typedef FormData_pg_authid *Form_pg_authid;
+
+#endif /* PG_AUTHID_H */