PostgreSQL Source Code  git master
pg_namespace.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * pg_namespace.h
4  * definition of the system "namespace" relation (pg_namespace)
5  * along with the relation's initial contents.
6  *
7  *
8  * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
9  * Portions Copyright (c) 1994, Regents of the University of California
10  *
11  * src/include/catalog/pg_namespace.h
12  *
13  * NOTES
14  * the genbki.pl script reads this file and generates .bki
15  * information from the DATA() statements.
16  *
17  *-------------------------------------------------------------------------
18  */
19 #ifndef PG_NAMESPACE_H
20 #define PG_NAMESPACE_H
21 
22 #include "catalog/genbki.h"
23 
24 /* ----------------------------------------------------------------
25  * pg_namespace definition.
26  *
27  * cpp turns this into typedef struct FormData_pg_namespace
28  *
29  * nspname name of the namespace
30  * nspowner owner (creator) of the namespace
31  * nspacl access privilege list
32  * ----------------------------------------------------------------
33  */
34 #define NamespaceRelationId 2615
35 
36 CATALOG(pg_namespace,2615)
37 {
38  NameData nspname;
39  Oid nspowner;
40 
41 #ifdef CATALOG_VARLEN /* variable-length fields start here */
42  aclitem nspacl[1];
43 #endif
45 
46 /* ----------------
47  * Form_pg_namespace corresponds to a pointer to a tuple with
48  * the format of pg_namespace relation.
49  * ----------------
50  */
52 
53 /* ----------------
54  * compiler constants for pg_namespace
55  * ----------------
56  */
57 
58 #define Natts_pg_namespace 3
59 #define Anum_pg_namespace_nspname 1
60 #define Anum_pg_namespace_nspowner 2
61 #define Anum_pg_namespace_nspacl 3
62 
63 
64 /* ----------------
65  * initial contents of pg_namespace
66  * ---------------
67  */
68 
69 DATA(insert OID = 11 ( "pg_catalog" PGUID _null_ ));
70 DESCR("system catalog schema");
71 #define PG_CATALOG_NAMESPACE 11
72 DATA(insert OID = 99 ( "pg_toast" PGUID _null_ ));
73 DESCR("reserved schema for TOAST tables");
74 #define PG_TOAST_NAMESPACE 99
75 DATA(insert OID = 2200 ( "public" PGUID _null_ ));
76 DESCR("standard public schema");
77 #define PG_PUBLIC_NAMESPACE 2200
78 
79 
80 /*
81  * prototypes for functions in pg_namespace.c
82  */
83 extern Oid NamespaceCreate(const char *nspName, Oid ownerId, bool isTemp);
84 
85 #endif /* PG_NAMESPACE_H */
FormData_pg_namespace * Form_pg_namespace
Definition: pg_namespace.h:51
unsigned int Oid
Definition: postgres_ext.h:31
DESCR("system catalog schema")
CATALOG(pg_namespace, 2615)
Definition: pg_namespace.h:36
Definition: c.h:551
FormData_pg_namespace
Definition: pg_namespace.h:44
DATA(insert OID=11("pg_catalog" PGUID _null_))
Oid NamespaceCreate(const char *nspName, Oid ownerId, bool isTemp)
Definition: pg_namespace.c:42