@homeflare/alchemy 0.47.1 → 0.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/talos/bao-env.d.ts +7 -0
  2. package/dist/talos/bao-env.d.ts.map +1 -0
  3. package/dist/talos/cluster-adapter-errors.d.ts +134 -0
  4. package/dist/talos/cluster-adapter-errors.d.ts.map +1 -0
  5. package/dist/talos/cluster-adapter.d.ts +115 -0
  6. package/dist/talos/cluster-adapter.d.ts.map +1 -0
  7. package/dist/talos/cluster-identity.d.ts +28 -0
  8. package/dist/talos/cluster-identity.d.ts.map +1 -0
  9. package/dist/talos/cluster-transport.d.ts +64 -0
  10. package/dist/talos/cluster-transport.d.ts.map +1 -0
  11. package/dist/talos/credentials-write.d.ts.map +1 -1
  12. package/dist/talos/credentials.d.ts +10 -19
  13. package/dist/talos/credentials.d.ts.map +1 -1
  14. package/dist/talos/fake-apiserver.d.ts +9 -0
  15. package/dist/talos/fake-apiserver.d.ts.map +1 -0
  16. package/dist/talos/index.d.ts +7 -0
  17. package/dist/talos/index.d.ts.map +1 -1
  18. package/dist/talos/index.js +669 -167
  19. package/dist/talos/index.js.map +22 -10
  20. package/dist/talos/kubeconfig-attrs.d.ts +14 -0
  21. package/dist/talos/kubeconfig-attrs.d.ts.map +1 -1
  22. package/dist/talos/kubeconfig-doc.d.ts +23 -0
  23. package/dist/talos/kubeconfig-doc.d.ts.map +1 -0
  24. package/dist/talos/kubeconfig.d.ts +0 -12
  25. package/dist/talos/kubeconfig.d.ts.map +1 -1
  26. package/dist/talos/literal-connection.d.ts +16 -0
  27. package/dist/talos/literal-connection.d.ts.map +1 -0
  28. package/dist/talos/machine-config-read.d.ts +1 -1
  29. package/dist/talos/machine-config-read.d.ts.map +1 -1
  30. package/dist/talos/mint-temp-file.d.ts +20 -0
  31. package/dist/talos/mint-temp-file.d.ts.map +1 -0
  32. package/dist/talos/node-temp.harness.d.ts +2 -0
  33. package/dist/talos/node-temp.harness.d.ts.map +1 -0
  34. package/dist/talos/talos-bootstrap-etcd.d.ts +1 -1
  35. package/dist/talos/talos-bootstrap-etcd.d.ts.map +1 -1
  36. package/dist/talos/talos-cluster-health.d.ts +15 -15
  37. package/dist/talos/talos-cluster-health.d.ts.map +1 -1
  38. package/dist/talos/talos-cluster-identity.d.ts +65 -0
  39. package/dist/talos/talos-cluster-identity.d.ts.map +1 -0
  40. package/dist/talos/talosctl-binary.d.ts +43 -0
  41. package/dist/talos/talosctl-binary.d.ts.map +1 -0
  42. package/dist/talos/talosctl.d.ts +12 -15
  43. package/dist/talos/talosctl.d.ts.map +1 -1
  44. package/dist/talos/trust-boundary.d.ts +8 -0
  45. package/dist/talos/trust-boundary.d.ts.map +1 -0
  46. package/dist/talos/values.d.ts.map +1 -1
  47. package/dist/talos/yaml-parse.d.ts +3 -0
  48. package/dist/talos/yaml-parse.d.ts.map +1 -0
  49. package/dist/verify/fake-engine.d.ts +2 -0
  50. package/dist/verify/fake-engine.d.ts.map +1 -1
  51. package/docs/talos-openbao-adapter.md +44 -0
  52. package/docs/upstream-conformance-bun.md +61 -24
  53. package/package.json +6 -2
  54. package/src/talos/bao-env.ts +16 -0
  55. package/src/talos/bao-vetting.test.ts +97 -0
  56. package/src/talos/cluster-adapter-deadline.test.ts +110 -0
  57. package/src/talos/cluster-adapter-errors.ts +192 -0
  58. package/src/talos/cluster-adapter-move.test.ts +129 -0
  59. package/src/talos/cluster-adapter-reconcile.test.ts +165 -0
  60. package/src/talos/cluster-adapter-refusals.test.ts +102 -0
  61. package/src/talos/cluster-adapter-rename.test.ts +87 -0
  62. package/src/talos/cluster-adapter-secrecy.test.ts +243 -0
  63. package/src/talos/cluster-adapter.fixtures.ts +125 -0
  64. package/src/talos/cluster-adapter.test.ts +240 -0
  65. package/src/talos/cluster-adapter.ts +249 -0
  66. package/src/talos/cluster-identity.ts +63 -0
  67. package/src/talos/cluster-transport.ts +110 -0
  68. package/src/talos/credentials-write.ts +27 -5
  69. package/src/talos/credentials.ts +51 -45
  70. package/src/talos/fake-apiserver.ts +55 -0
  71. package/src/talos/fake-process.ts +47 -1
  72. package/src/talos/index.ts +32 -0
  73. package/src/talos/kubeconfig-adapter.test.ts +37 -0
  74. package/src/talos/kubeconfig-attrs.ts +12 -28
  75. package/src/talos/kubeconfig-doc.ts +74 -0
  76. package/src/talos/kubeconfig.fixtures.ts +52 -0
  77. package/src/talos/kubeconfig.test.ts +6 -54
  78. package/src/talos/kubeconfig.ts +18 -34
  79. package/src/talos/literal-connection.ts +59 -0
  80. package/src/talos/mint-temp-file.ts +56 -0
  81. package/src/talos/node-connect.harness.ts +78 -0
  82. package/src/talos/node-connect.test.ts +27 -0
  83. package/src/talos/node-temp.harness.ts +40 -0
  84. package/src/talos/node-temp.test.ts +26 -0
  85. package/src/talos/talos-cluster-health-declare.test.ts +54 -0
  86. package/src/talos/talos-cluster-health-literal.test.ts +69 -0
  87. package/src/talos/talos-cluster-health.test.ts +104 -18
  88. package/src/talos/talos-cluster-health.ts +46 -14
  89. package/src/talos/talos-cluster-identity.test.ts +96 -0
  90. package/src/talos/talos-cluster-identity.ts +130 -0
  91. package/src/talos/talosctl-binary.ts +150 -0
  92. package/src/talos/talosctl-vetting.test.ts +212 -0
  93. package/src/talos/talosctl.test.ts +110 -0
  94. package/src/talos/talosctl.ts +101 -15
  95. package/src/talos/trust-boundary.test.ts +17 -0
  96. package/src/talos/trust-boundary.ts +45 -0
  97. package/src/talos/values.ts +5 -12
  98. package/src/talos/yaml-parse.test.ts +41 -0
  99. package/src/talos/yaml-parse.ts +28 -0
  100. package/src/verify/fake-engine.ts +10 -0
  101. package/dist/talos/fake-process.d.ts +0 -56
  102. package/dist/talos/fake-process.d.ts.map +0 -1
  103. package/dist/talos/machine-config-fixtures.d.ts +0 -60
  104. package/dist/talos/machine-config-fixtures.d.ts.map +0 -1
  105. package/src/postgres/fixtures/pg-REL_18_6-acl.h.txt +0 -147
  106. package/src/postgres/fixtures/pg-REL_18_6-aclexplode-func.txt +0 -31
  107. package/src/postgres/fixtures/pg-REL_18_6-alter-default-privileges-synopsis.txt +0 -82
  108. package/src/postgres/fixtures/pg-REL_18_6-alter_role.sgml.txt +0 -44
  109. package/src/postgres/fixtures/pg-REL_18_6-create-database-synopsis.txt +0 -26
  110. package/src/postgres/fixtures/pg-REL_18_6-create_role.sgml.txt +0 -26
  111. package/src/postgres/fixtures/pg-REL_18_6-grant-synopsis.txt +0 -95
  112. package/src/postgres/fixtures/pg-REL_18_6-pg_attribute.h.txt +0 -24
  113. package/src/postgres/fixtures/pg-REL_18_6-pg_auth_members.h.txt +0 -62
  114. package/src/postgres/fixtures/pg-REL_18_6-pg_authid.h.txt +0 -70
  115. package/src/postgres/fixtures/pg-REL_18_6-pg_class.h.txt +0 -33
  116. package/src/postgres/fixtures/pg-REL_18_6-pg_database.h.txt +0 -67
  117. package/src/postgres/fixtures/pg-REL_18_6-pg_default_acl.h.txt +0 -81
  118. package/src/postgres/fixtures/pg-REL_18_6-pg_namespace.h.txt +0 -28
  119. package/src/postgres/fixtures/pg-REL_18_6-revoke-synopsis.txt +0 -124
  120. package/src/release/fixtures/openbao/checksums.txt +0 -83
  121. package/src/release/fixtures/openbao/checksums.txt.gpgsig +0 -0
  122. package/src/release/fixtures/openbao/darwin-assets.txt +0 -12
  123. package/src/release/fixtures/openbao/openbao-gpg-pub-20240618.asc +0 -109
  124. package/src/release/fixtures/victoria/darwin-arm64-assets.txt +0 -22
  125. package/src/release/fixtures/victoria/victoria-logs-darwin-arm64-v1.52.0_checksums.txt +0 -2
  126. package/src/release/fixtures/victoria/victoria-metrics-darwin-arm64-v1.151.0_checksums.txt +0 -2
  127. package/src/release/fixtures/victoria/victoria-traces-darwin-arm64-v0.10.0_checksums.txt +0 -2
  128. package/src/release/fixtures/victoria/vmutils-darwin-arm64-v1.151.0_checksums.txt +0 -8
@@ -1,147 +0,0 @@
1
- # path: src/include/utils/acl.h
2
- # blob: 13bb8128747139d9cae66777e4782359ead0a760
3
- # tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
4
- # fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
5
- # excerpt: the AclItem struct, the grant-option layout, every ACL_*_CHR letter define and the ACL_ALL_RIGHTS_* sets (lines 40-180 of the full file)
6
- #
7
-
8
- /*
9
- * typedef AclMode is declared in parsenodes.h, also the individual privilege
10
- * bit meanings are defined there
11
- */
12
-
13
- #define ACL_ID_PUBLIC 0 /* placeholder for id in a PUBLIC acl item */
14
-
15
- /*
16
- * AclItem
17
- *
18
- * Note: must be same size on all platforms, because the size is hardcoded
19
- * in the pg_type.h entry for aclitem.
20
- */
21
- typedef struct AclItem
22
- {
23
- Oid ai_grantee; /* ID that this item grants privs to */
24
- Oid ai_grantor; /* grantor of privs */
25
- AclMode ai_privs; /* privilege bits */
26
- } AclItem;
27
-
28
- /*
29
- * The upper 32 bits of the ai_privs field of an AclItem are the grant option
30
- * bits, and the lower 32 bits are the actual privileges. We use "rights"
31
- * to mean the combined grant option and privilege bits fields.
32
- */
33
- #define ACLITEM_GET_PRIVS(item) ((item).ai_privs & 0xFFFFFFFF)
34
- #define ACLITEM_GET_GOPTIONS(item) (((item).ai_privs >> 32) & 0xFFFFFFFF)
35
- #define ACLITEM_GET_RIGHTS(item) ((item).ai_privs)
36
-
37
- #define ACL_GRANT_OPTION_FOR(privs) (((AclMode) (privs) & 0xFFFFFFFF) << 32)
38
- #define ACL_OPTION_TO_PRIVS(privs) (((AclMode) (privs) >> 32) & 0xFFFFFFFF)
39
-
40
- #define ACLITEM_SET_PRIVS(item,privs) \
41
- ((item).ai_privs = ((item).ai_privs & ~((AclMode) 0xFFFFFFFF)) | \
42
- ((AclMode) (privs) & 0xFFFFFFFF))
43
- #define ACLITEM_SET_GOPTIONS(item,goptions) \
44
- ((item).ai_privs = ((item).ai_privs & ~(((AclMode) 0xFFFFFFFF) << 32)) | \
45
- (((AclMode) (goptions) & 0xFFFFFFFF) << 32))
46
- #define ACLITEM_SET_RIGHTS(item,rights) \
47
- ((item).ai_privs = (AclMode) (rights))
48
-
49
- #define ACLITEM_SET_PRIVS_GOPTIONS(item,privs,goptions) \
50
- ((item).ai_privs = ((AclMode) (privs) & 0xFFFFFFFF) | \
51
- (((AclMode) (goptions) & 0xFFFFFFFF) << 32))
52
-
53
-
54
- #define ACLITEM_ALL_PRIV_BITS ((AclMode) 0xFFFFFFFF)
55
- #define ACLITEM_ALL_GOPTION_BITS ((AclMode) 0xFFFFFFFF << 32)
56
-
57
- /*
58
- * Definitions for convenient access to Acl (array of AclItem).
59
- * These are standard PostgreSQL arrays, but are restricted to have one
60
- * dimension and no nulls. We also ignore the lower bound when reading,
61
- * and set it to one when writing.
62
- *
63
- * CAUTION: as of PostgreSQL 7.1, these arrays are toastable (just like all
64
- * other array types). Therefore, be careful to detoast them with the
65
- * macros provided, unless you know for certain that a particular array
66
- * can't have been toasted.
67
- */
68
-
69
-
70
- /*
71
- * Acl a one-dimensional array of AclItem
72
- */
73
- typedef struct ArrayType Acl;
74
-
75
- #define ACL_NUM(ACL) (ARR_DIMS(ACL)[0])
76
- #define ACL_DAT(ACL) ((AclItem *) ARR_DATA_PTR(ACL))
77
- #define ACL_N_SIZE(N) (ARR_OVERHEAD_NONULLS(1) + ((N) * sizeof(AclItem)))
78
- #define ACL_SIZE(ACL) ARR_SIZE(ACL)
79
-
80
- /*
81
- * fmgr macros for these types
82
- */
83
- #define DatumGetAclItemP(X) ((AclItem *) DatumGetPointer(X))
84
- #define PG_GETARG_ACLITEM_P(n) DatumGetAclItemP(PG_GETARG_DATUM(n))
85
- #define PG_RETURN_ACLITEM_P(x) PG_RETURN_POINTER(x)
86
-
87
- #define DatumGetAclP(X) ((Acl *) PG_DETOAST_DATUM(X))
88
- #define DatumGetAclPCopy(X) ((Acl *) PG_DETOAST_DATUM_COPY(X))
89
- #define PG_GETARG_ACL_P(n) DatumGetAclP(PG_GETARG_DATUM(n))
90
- #define PG_GETARG_ACL_P_COPY(n) DatumGetAclPCopy(PG_GETARG_DATUM(n))
91
- #define PG_RETURN_ACL_P(x) PG_RETURN_POINTER(x)
92
-
93
- /*
94
- * ACL modification opcodes for aclupdate
95
- */
96
- #define ACL_MODECHG_ADD 1
97
- #define ACL_MODECHG_DEL 2
98
- #define ACL_MODECHG_EQL 3
99
-
100
- /*
101
- * External representations of the privilege bits --- aclitemin/aclitemout
102
- * represent each possible privilege bit with a distinct 1-character code
103
- */
104
- #define ACL_INSERT_CHR 'a' /* formerly known as "append" */
105
- #define ACL_SELECT_CHR 'r' /* formerly known as "read" */
106
- #define ACL_UPDATE_CHR 'w' /* formerly known as "write" */
107
- #define ACL_DELETE_CHR 'd'
108
- #define ACL_TRUNCATE_CHR 'D' /* super-delete, as it were */
109
- #define ACL_REFERENCES_CHR 'x'
110
- #define ACL_TRIGGER_CHR 't'
111
- #define ACL_EXECUTE_CHR 'X'
112
- #define ACL_USAGE_CHR 'U'
113
- #define ACL_CREATE_CHR 'C'
114
- #define ACL_CREATE_TEMP_CHR 'T'
115
- #define ACL_CONNECT_CHR 'c'
116
- #define ACL_SET_CHR 's'
117
- #define ACL_ALTER_SYSTEM_CHR 'A'
118
- #define ACL_MAINTAIN_CHR 'm'
119
-
120
- /* string holding all privilege code chars, in order by bitmask position */
121
- #define ACL_ALL_RIGHTS_STR "arwdDxtXUCTcsAm"
122
-
123
- /*
124
- * Bitmasks defining "all rights" for each supported object type
125
- */
126
- #define ACL_ALL_RIGHTS_COLUMN (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_REFERENCES)
127
- #define ACL_ALL_RIGHTS_RELATION (ACL_INSERT|ACL_SELECT|ACL_UPDATE|ACL_DELETE|ACL_TRUNCATE|ACL_REFERENCES|ACL_TRIGGER|ACL_MAINTAIN)
128
- #define ACL_ALL_RIGHTS_SEQUENCE (ACL_USAGE|ACL_SELECT|ACL_UPDATE)
129
- #define ACL_ALL_RIGHTS_DATABASE (ACL_CREATE|ACL_CREATE_TEMP|ACL_CONNECT)
130
- #define ACL_ALL_RIGHTS_FDW (ACL_USAGE)
131
- #define ACL_ALL_RIGHTS_FOREIGN_SERVER (ACL_USAGE)
132
- #define ACL_ALL_RIGHTS_FUNCTION (ACL_EXECUTE)
133
- #define ACL_ALL_RIGHTS_LANGUAGE (ACL_USAGE)
134
- #define ACL_ALL_RIGHTS_LARGEOBJECT (ACL_SELECT|ACL_UPDATE)
135
- #define ACL_ALL_RIGHTS_PARAMETER_ACL (ACL_SET|ACL_ALTER_SYSTEM)
136
- #define ACL_ALL_RIGHTS_SCHEMA (ACL_USAGE|ACL_CREATE)
137
- #define ACL_ALL_RIGHTS_TABLESPACE (ACL_CREATE)
138
- #define ACL_ALL_RIGHTS_TYPE (ACL_USAGE)
139
-
140
- /* operation codes for pg_*_aclmask */
141
- typedef enum
142
- {
143
- ACLMASK_ALL, /* normal case: compute all bits */
144
- ACLMASK_ANY, /* return when result is known nonzero */
145
- } AclMaskHow;
146
-
147
- /* result codes for pg_*_aclcheck */
@@ -1,31 +0,0 @@
1
- # path: doc/src/sgml/func.sgml
2
- # blob: b57f161f53c8833c721dede3d48121490dc15f12
3
- # tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
4
- # fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
5
- # excerpt: the aclexplode row of "Access Privilege Inquiry Functions" (lines 25843-25867 of the full file)
6
- #
7
- <entry role="func_table_entry"><para role="func_signature">
8
- <indexterm>
9
- <primary>aclexplode</primary>
10
- </indexterm>
11
- <function>aclexplode</function> ( <type>aclitem[]</type> )
12
- <returnvalue>setof record</returnvalue>
13
- ( <parameter>grantor</parameter> <type>oid</type>,
14
- <parameter>grantee</parameter> <type>oid</type>,
15
- <parameter>privilege_type</parameter> <type>text</type>,
16
- <parameter>is_grantable</parameter> <type>boolean</type> )
17
- </para>
18
- <para>
19
- Returns the <type>aclitem</type> array as a set of rows.
20
- If the grantee is the pseudo-role PUBLIC, it is represented by zero in
21
- the <parameter>grantee</parameter> column. Each granted privilege is
22
- represented as <literal>SELECT</literal>, <literal>INSERT</literal>,
23
- etc (see <xref linkend="privilege-abbrevs-table"/> for a full list).
24
- Note that each privilege is broken out as a separate row, so
25
- only one keyword appears in the <parameter>privilege_type</parameter>
26
- column.
27
- </para></entry>
28
- </row>
29
-
30
- <row>
31
- <entry role="func_table_entry"><para role="func_signature">
@@ -1,82 +0,0 @@
1
- # path: doc/src/sgml/ref/alter_default_privileges.sgml
2
- # blob: 6acd0f1df914c6926e6d6f5bd28b0599d66d629c
3
- # tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
4
- # fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
5
- # excerpt: the <synopsis> block only (lines 23-98 of the full file), cut per house doc-size convention
6
- #
7
- <synopsis>
8
- ALTER DEFAULT PRIVILEGES
9
- [ FOR { ROLE | USER } <replaceable>target_role</replaceable> [, ...] ]
10
- [ IN SCHEMA <replaceable>schema_name</replaceable> [, ...] ]
11
- <replaceable class="parameter">abbreviated_grant_or_revoke</replaceable>
12
-
13
- <phrase>where <replaceable class="parameter">abbreviated_grant_or_revoke</replaceable> is one of:</phrase>
14
-
15
- GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }
16
- [, ...] | ALL [ PRIVILEGES ] }
17
- ON TABLES
18
- TO { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...] [ WITH GRANT OPTION ]
19
-
20
- GRANT { { USAGE | SELECT | UPDATE }
21
- [, ...] | ALL [ PRIVILEGES ] }
22
- ON SEQUENCES
23
- TO { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...] [ WITH GRANT OPTION ]
24
-
25
- GRANT { EXECUTE | ALL [ PRIVILEGES ] }
26
- ON { FUNCTIONS | ROUTINES }
27
- TO { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...] [ WITH GRANT OPTION ]
28
-
29
- GRANT { USAGE | ALL [ PRIVILEGES ] }
30
- ON TYPES
31
- TO { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...] [ WITH GRANT OPTION ]
32
-
33
- GRANT { { USAGE | CREATE }
34
- [, ...] | ALL [ PRIVILEGES ] }
35
- ON SCHEMAS
36
- TO { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...] [ WITH GRANT OPTION ]
37
-
38
- GRANT { { SELECT | UPDATE }
39
- [, ...] | ALL [ PRIVILEGES ] }
40
- ON LARGE OBJECTS
41
- TO { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...] [ WITH GRANT OPTION ]
42
-
43
- REVOKE [ GRANT OPTION FOR ]
44
- { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }
45
- [, ...] | ALL [ PRIVILEGES ] }
46
- ON TABLES
47
- FROM { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...]
48
- [ CASCADE | RESTRICT ]
49
-
50
- REVOKE [ GRANT OPTION FOR ]
51
- { { USAGE | SELECT | UPDATE }
52
- [, ...] | ALL [ PRIVILEGES ] }
53
- ON SEQUENCES
54
- FROM { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...]
55
- [ CASCADE | RESTRICT ]
56
-
57
- REVOKE [ GRANT OPTION FOR ]
58
- { EXECUTE | ALL [ PRIVILEGES ] }
59
- ON { FUNCTIONS | ROUTINES }
60
- FROM { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...]
61
- [ CASCADE | RESTRICT ]
62
-
63
- REVOKE [ GRANT OPTION FOR ]
64
- { USAGE | ALL [ PRIVILEGES ] }
65
- ON TYPES
66
- FROM { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...]
67
- [ CASCADE | RESTRICT ]
68
-
69
- REVOKE [ GRANT OPTION FOR ]
70
- { { USAGE | CREATE }
71
- [, ...] | ALL [ PRIVILEGES ] }
72
- ON SCHEMAS
73
- FROM { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...]
74
- [ CASCADE | RESTRICT ]
75
-
76
- REVOKE [ GRANT OPTION FOR ]
77
- { { SELECT | UPDATE }
78
- [, ...] | ALL [ PRIVILEGES ] }
79
- ON LARGE OBJECTS
80
- FROM { [ GROUP ] <replaceable class="parameter">role_name</replaceable> | PUBLIC } [, ...]
81
- [ CASCADE | RESTRICT ]
82
- </synopsis>
@@ -1,44 +0,0 @@
1
- # path: doc/src/sgml/ref/alter_role.sgml
2
- # blob: 7b0a04bc4637c7c08246e597a9acf4466b467fa2
3
- # tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
4
- # fetched: 2026-09-29 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
5
- # excerpt: the <synopsis> block plus the memberships sentence the GRANT/REVOKE design leans on; blob SHA is the full upstream file
6
- #
7
- <synopsis>
8
- ALTER ROLE <replaceable class="parameter">role_specification</replaceable> [ WITH ] <replaceable class="parameter">option</replaceable> [ ... ]
9
-
10
- <phrase>where <replaceable class="parameter">option</replaceable> can be:</phrase>
11
-
12
- SUPERUSER | NOSUPERUSER
13
- | CREATEDB | NOCREATEDB
14
- | CREATEROLE | NOCREATEROLE
15
- | INHERIT | NOINHERIT
16
- | LOGIN | NOLOGIN
17
- | REPLICATION | NOREPLICATION
18
- | BYPASSRLS | NOBYPASSRLS
19
- | CONNECTION LIMIT <replaceable class="parameter">connlimit</replaceable>
20
- | [ ENCRYPTED ] PASSWORD '<replaceable class="parameter">password</replaceable>' | PASSWORD NULL
21
- | VALID UNTIL '<replaceable class="parameter">timestamp</replaceable>'
22
-
23
- ALTER ROLE <replaceable class="parameter">name</replaceable> RENAME TO <replaceable>new_name</replaceable>
24
-
25
- ALTER ROLE { <replaceable class="parameter">role_specification</replaceable> | ALL } [ IN DATABASE <replaceable class="parameter">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> { TO | = } { <replaceable>value</replaceable> | DEFAULT }
26
- ALTER ROLE { <replaceable class="parameter">role_specification</replaceable> | ALL } [ IN DATABASE <replaceable class="parameter">database_name</replaceable> ] SET <replaceable>configuration_parameter</replaceable> FROM CURRENT
27
- ALTER ROLE { <replaceable class="parameter">role_specification</replaceable> | ALL } [ IN DATABASE <replaceable class="parameter">database_name</replaceable> ] RESET <replaceable>configuration_parameter</replaceable>
28
- ALTER ROLE { <replaceable class="parameter">role_specification</replaceable> | ALL } [ IN DATABASE <replaceable class="parameter">database_name</replaceable> ] RESET ALL
29
-
30
- <phrase>where <replaceable class="parameter">role_specification</replaceable> can be:</phrase>
31
-
32
- <replaceable class="parameter">role_name</replaceable>
33
- | CURRENT_ROLE
34
- | CURRENT_USER
35
- | SESSION_USER
36
- </synopsis>
37
-
38
- The first variant of this command listed in the synopsis can change
39
- many of the role attributes that can be specified in
40
- <link linkend="sql-createrole"><command>CREATE ROLE</command></link>.
41
- (All the possible attributes are covered,
42
- except that there are no options for adding or removing memberships; use
43
- <link linkend="sql-grant"><command>GRANT</command></link> and
44
- <link linkend="sql-revoke"><command>REVOKE</command></link> for that.)
@@ -1,26 +0,0 @@
1
- # path: doc/src/sgml/ref/create_database.sgml
2
- # blob: 4da8aeebb50a29e89bd9f68a8deac4b1a3ec7b18
3
- # tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
4
- # fetched: 2026-09-23 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
5
- # excerpt: the <synopsis> block only (lines 23-42 of the full file), cut per house doc-size convention
6
- #
7
- <synopsis>
8
- CREATE DATABASE <replaceable class="parameter">name</replaceable>
9
- [ WITH ] [ OWNER [=] <replaceable class="parameter">user_name</replaceable> ]
10
- [ TEMPLATE [=] <replaceable class="parameter">template</replaceable> ]
11
- [ ENCODING [=] <replaceable class="parameter">encoding</replaceable> ]
12
- [ STRATEGY [=] <replaceable class="parameter">strategy</replaceable> ]
13
- [ LOCALE [=] <replaceable class="parameter">locale</replaceable> ]
14
- [ LC_COLLATE [=] <replaceable class="parameter">lc_collate</replaceable> ]
15
- [ LC_CTYPE [=] <replaceable class="parameter">lc_ctype</replaceable> ]
16
- [ BUILTIN_LOCALE [=] <replaceable class="parameter">builtin_locale</replaceable> ]
17
- [ ICU_LOCALE [=] <replaceable class="parameter">icu_locale</replaceable> ]
18
- [ ICU_RULES [=] <replaceable class="parameter">icu_rules</replaceable> ]
19
- [ LOCALE_PROVIDER [=] <replaceable class="parameter">locale_provider</replaceable> ]
20
- [ COLLATION_VERSION = <replaceable>collation_version</replaceable> ]
21
- [ TABLESPACE [=] <replaceable class="parameter">tablespace_name</replaceable> ]
22
- [ ALLOW_CONNECTIONS [=] <replaceable class="parameter">allowconn</replaceable> ]
23
- [ CONNECTION LIMIT [=] <replaceable class="parameter">connlimit</replaceable> ]
24
- [ IS_TEMPLATE [=] <replaceable class="parameter">istemplate</replaceable> ]
25
- [ OID [=] <replaceable class="parameter">oid</replaceable> ]
26
- </synopsis>
@@ -1,26 +0,0 @@
1
- # path: doc/src/sgml/ref/create_role.sgml
2
- # blob: cee23b1ea6b4dcf2d9d356d07a582e64808c2912
3
- # tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
4
- # fetched: 2026-09-29 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
5
- # excerpt: the <synopsis> block only (the provenance test reads the option list); blob SHA is the full upstream file
6
- #
7
- <synopsis>
8
- CREATE ROLE <replaceable class="parameter">name</replaceable> [ [ WITH ] <replaceable class="parameter">option</replaceable> [ ... ] ]
9
-
10
- <phrase>where <replaceable class="parameter">option</replaceable> can be:</phrase>
11
-
12
- SUPERUSER | NOSUPERUSER
13
- | CREATEDB | NOCREATEDB
14
- | CREATEROLE | NOCREATEROLE
15
- | INHERIT | NOINHERIT
16
- | LOGIN | NOLOGIN
17
- | REPLICATION | NOREPLICATION
18
- | BYPASSRLS | NOBYPASSRLS
19
- | CONNECTION LIMIT <replaceable class="parameter">connlimit</replaceable>
20
- | [ ENCRYPTED ] PASSWORD '<replaceable class="parameter">password</replaceable>' | PASSWORD NULL
21
- | VALID UNTIL '<replaceable class="parameter">timestamp</replaceable>'
22
- | IN ROLE <replaceable class="parameter">role_name</replaceable> [, ...]
23
- | ROLE <replaceable class="parameter">role_name</replaceable> [, ...]
24
- | ADMIN <replaceable class="parameter">role_name</replaceable> [, ...]
25
- | SYSID <replaceable class="parameter">uid</replaceable>
26
- </synopsis>
@@ -1,95 +0,0 @@
1
- # path: doc/src/sgml/ref/grant.sgml
2
- # blob: 999f657d5c008970e290793c54ad74fb7b9342bb
3
- # tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
4
- # fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
5
- # excerpt: the <synopsis> block only (lines 23-111 of the full file), cut per house doc-size convention
6
- #
7
- <synopsis>
8
- GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }
9
- [, ...] | ALL [ PRIVILEGES ] }
10
- ON { [ TABLE ] <replaceable class="parameter">table_name</replaceable> [, ...]
11
- | ALL TABLES IN SCHEMA <replaceable class="parameter">schema_name</replaceable> [, ...] }
12
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
13
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
14
-
15
- GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( <replaceable class="parameter">column_name</replaceable> [, ...] )
16
- [, ...] | ALL [ PRIVILEGES ] ( <replaceable class="parameter">column_name</replaceable> [, ...] ) }
17
- ON [ TABLE ] <replaceable class="parameter">table_name</replaceable> [, ...]
18
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
19
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
20
-
21
- GRANT { { USAGE | SELECT | UPDATE }
22
- [, ...] | ALL [ PRIVILEGES ] }
23
- ON { SEQUENCE <replaceable class="parameter">sequence_name</replaceable> [, ...]
24
- | ALL SEQUENCES IN SCHEMA <replaceable class="parameter">schema_name</replaceable> [, ...] }
25
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
26
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
27
-
28
- GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] }
29
- ON DATABASE <replaceable>database_name</replaceable> [, ...]
30
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
31
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
32
-
33
- GRANT { USAGE | ALL [ PRIVILEGES ] }
34
- ON DOMAIN <replaceable>domain_name</replaceable> [, ...]
35
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
36
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
37
-
38
- GRANT { USAGE | ALL [ PRIVILEGES ] }
39
- ON FOREIGN DATA WRAPPER <replaceable>fdw_name</replaceable> [, ...]
40
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
41
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
42
-
43
- GRANT { USAGE | ALL [ PRIVILEGES ] }
44
- ON FOREIGN SERVER <replaceable>server_name</replaceable> [, ...]
45
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
46
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
47
-
48
- GRANT { EXECUTE | ALL [ PRIVILEGES ] }
49
- ON { { FUNCTION | PROCEDURE | ROUTINE } <replaceable>routine_name</replaceable> [ ( [ [ <replaceable class="parameter">argmode</replaceable> ] [ <replaceable class="parameter">arg_name</replaceable> ] <replaceable class="parameter">arg_type</replaceable> [, ...] ] ) ] [, ...]
50
- | ALL { FUNCTIONS | PROCEDURES | ROUTINES } IN SCHEMA <replaceable class="parameter">schema_name</replaceable> [, ...] }
51
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
52
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
53
-
54
- GRANT { USAGE | ALL [ PRIVILEGES ] }
55
- ON LANGUAGE <replaceable>lang_name</replaceable> [, ...]
56
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
57
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
58
-
59
- GRANT { { SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] }
60
- ON LARGE OBJECT <replaceable class="parameter">loid</replaceable> [, ...]
61
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
62
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
63
-
64
- GRANT { { SET | ALTER SYSTEM } [, ... ] | ALL [ PRIVILEGES ] }
65
- ON PARAMETER <replaceable class="parameter">configuration_parameter</replaceable> [, ...]
66
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
67
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
68
-
69
- GRANT { { CREATE | USAGE } [, ...] | ALL [ PRIVILEGES ] }
70
- ON SCHEMA <replaceable>schema_name</replaceable> [, ...]
71
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
72
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
73
-
74
- GRANT { CREATE | ALL [ PRIVILEGES ] }
75
- ON TABLESPACE <replaceable>tablespace_name</replaceable> [, ...]
76
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
77
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
78
-
79
- GRANT { USAGE | ALL [ PRIVILEGES ] }
80
- ON TYPE <replaceable>type_name</replaceable> [, ...]
81
- TO <replaceable class="parameter">role_specification</replaceable> [, ...] [ WITH GRANT OPTION ]
82
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
83
-
84
- GRANT <replaceable class="parameter">role_name</replaceable> [, ...] TO <replaceable class="parameter">role_specification</replaceable> [, ...]
85
- [ WITH { ADMIN | INHERIT | SET } { OPTION | TRUE | FALSE } ]
86
- [ GRANTED BY <replaceable class="parameter">role_specification</replaceable> ]
87
-
88
- <phrase>where <replaceable class="parameter">role_specification</replaceable> can be:</phrase>
89
-
90
- [ GROUP ] <replaceable class="parameter">role_name</replaceable>
91
- | PUBLIC
92
- | CURRENT_ROLE
93
- | CURRENT_USER
94
- | SESSION_USER
95
- </synopsis>
@@ -1,24 +0,0 @@
1
- # path: src/include/catalog/pg_attribute.h
2
- # blob: c612aed620f63dd871f2f2cfa4ae78106992f1b9
3
- # tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
4
- # fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
5
- # excerpt: the struct header columns attrelid/attname (lines 37-46) and the attacl column (lines 170-174) of the full file, two ranges
6
- #
7
- CATALOG(pg_attribute,1249,AttributeRelationId) BKI_BOOTSTRAP BKI_ROWTYPE_OID(75,AttributeRelation_Rowtype_Id) BKI_SCHEMA_MACRO
8
- {
9
- Oid attrelid BKI_LOOKUP(pg_class); /* OID of relation containing
10
- * this attribute */
11
- NameData attname; /* name of attribute */
12
-
13
- /*
14
- * atttypid is the OID of the instance in Catalog Class pg_type that
15
- * defines the data type of this attribute (e.g. int4). Information in
16
- * that instance is redundant with the attlen, attbyval, and attalign
17
- #
18
- # excerpt continued: lines 170-174
19
- #
20
-
21
- /* Column-level access permissions */
22
- aclitem attacl[1] BKI_DEFAULT(_null_);
23
-
24
- /* Column-level options */
@@ -1,62 +0,0 @@
1
- # path: src/include/catalog/pg_auth_members.h
2
- # blob: 387316e44f07982264482f01f2298f4f85ffbafb
3
- # tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
4
- # fetched: 2026-09-29 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
5
- # excerpt: the full file, as fetched
6
- #
7
- /*-------------------------------------------------------------------------
8
- *
9
- * pg_auth_members.h
10
- * definition of the "authorization identifier members" system catalog
11
- * (pg_auth_members).
12
- *
13
- *
14
- * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
15
- * Portions Copyright (c) 1994, Regents of the University of California
16
- *
17
- * src/include/catalog/pg_auth_members.h
18
- *
19
- * NOTES
20
- * The Catalog.pm module reads this file and derives schema
21
- * information.
22
- *
23
- *-------------------------------------------------------------------------
24
- */
25
- #ifndef PG_AUTH_MEMBERS_H
26
- #define PG_AUTH_MEMBERS_H
27
-
28
- #include "catalog/genbki.h"
29
- #include "catalog/pg_auth_members_d.h" /* IWYU pragma: export */
30
-
31
- /* ----------------
32
- * pg_auth_members definition. cpp turns this into
33
- * typedef struct FormData_pg_auth_members
34
- * ----------------
35
- */
36
- CATALOG(pg_auth_members,1261,AuthMemRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2843,AuthMemRelation_Rowtype_Id) BKI_SCHEMA_MACRO
37
- {
38
- Oid oid; /* oid */
39
- Oid roleid BKI_LOOKUP(pg_authid); /* ID of a role */
40
- Oid member BKI_LOOKUP(pg_authid); /* ID of a member of that role */
41
- Oid grantor BKI_LOOKUP(pg_authid); /* who granted the membership */
42
- bool admin_option; /* granted with admin option? */
43
- bool inherit_option; /* exercise privileges without SET ROLE? */
44
- bool set_option; /* use SET ROLE to the target role? */
45
- } FormData_pg_auth_members;
46
-
47
- /* ----------------
48
- * Form_pg_auth_members corresponds to a pointer to a tuple with
49
- * the format of pg_auth_members relation.
50
- * ----------------
51
- */
52
- typedef FormData_pg_auth_members *Form_pg_auth_members;
53
-
54
- DECLARE_UNIQUE_INDEX_PKEY(pg_auth_members_oid_index, 6303, AuthMemOidIndexId, pg_auth_members, btree(oid oid_ops));
55
- DECLARE_UNIQUE_INDEX(pg_auth_members_role_member_index, 2694, AuthMemRoleMemIndexId, pg_auth_members, btree(roleid oid_ops, member oid_ops, grantor oid_ops));
56
- DECLARE_UNIQUE_INDEX(pg_auth_members_member_role_index, 2695, AuthMemMemRoleIndexId, pg_auth_members, btree(member oid_ops, roleid oid_ops, grantor oid_ops));
57
- DECLARE_INDEX(pg_auth_members_grantor_index, 6302, AuthMemGrantorIndexId, pg_auth_members, btree(grantor oid_ops));
58
-
59
- MAKE_SYSCACHE(AUTHMEMROLEMEM, pg_auth_members_role_member_index, 8);
60
- MAKE_SYSCACHE(AUTHMEMMEMROLE, pg_auth_members_member_role_index, 8);
61
-
62
- #endif /* PG_AUTH_MEMBERS_H */
@@ -1,70 +0,0 @@
1
- # path: src/include/catalog/pg_authid.h
2
- # blob: b2f3e9d01eec972a3392e7037c9679ac644ddc7b
3
- # tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
4
- # fetched: 2026-09-29 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
5
- # excerpt: the full file, as fetched
6
- #
7
- /*-------------------------------------------------------------------------
8
- *
9
- * pg_authid.h
10
- * definition of the "authorization identifier" system catalog (pg_authid)
11
- *
12
- * pg_shadow and pg_group are now views on pg_authid.
13
- *
14
- *
15
- * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
16
- * Portions Copyright (c) 1994, Regents of the University of California
17
- *
18
- * src/include/catalog/pg_authid.h
19
- *
20
- * NOTES
21
- * The Catalog.pm module reads this file and derives schema
22
- * information.
23
- *
24
- *-------------------------------------------------------------------------
25
- */
26
- #ifndef PG_AUTHID_H
27
- #define PG_AUTHID_H
28
-
29
- #include "catalog/genbki.h"
30
- #include "catalog/pg_authid_d.h" /* IWYU pragma: export */
31
-
32
- /* ----------------
33
- * pg_authid definition. cpp turns this into
34
- * typedef struct FormData_pg_authid
35
- * ----------------
36
- */
37
- CATALOG(pg_authid,1260,AuthIdRelationId) BKI_SHARED_RELATION BKI_ROWTYPE_OID(2842,AuthIdRelation_Rowtype_Id) BKI_SCHEMA_MACRO
38
- {
39
- Oid oid; /* oid */
40
- NameData rolname; /* name of role */
41
- bool rolsuper; /* read this field via superuser() only! */
42
- bool rolinherit; /* inherit privileges from other roles? */
43
- bool rolcreaterole; /* allowed to create more roles? */
44
- bool rolcreatedb; /* allowed to create databases? */
45
- bool rolcanlogin; /* allowed to log in as session user? */
46
- bool rolreplication; /* role used for streaming replication */
47
- bool rolbypassrls; /* bypasses row-level security? */
48
- int32 rolconnlimit; /* max connections allowed (-1=no limit) */
49
-
50
- /* remaining fields may be null; use heap_getattr to read them! */
51
- #ifdef CATALOG_VARLEN /* variable-length fields start here */
52
- text rolpassword; /* password, if any */
53
- timestamptz rolvaliduntil; /* password expiration time, if any */
54
- #endif
55
- } FormData_pg_authid;
56
-
57
- /* ----------------
58
- * Form_pg_authid corresponds to a pointer to a tuple with
59
- * the format of pg_authid relation.
60
- * ----------------
61
- */
62
- typedef FormData_pg_authid *Form_pg_authid;
63
-
64
- DECLARE_UNIQUE_INDEX(pg_authid_rolname_index, 2676, AuthIdRolnameIndexId, pg_authid, btree(rolname name_ops));
65
- DECLARE_UNIQUE_INDEX_PKEY(pg_authid_oid_index, 2677, AuthIdOidIndexId, pg_authid, btree(oid oid_ops));
66
-
67
- MAKE_SYSCACHE(AUTHNAME, pg_authid_rolname_index, 8);
68
- MAKE_SYSCACHE(AUTHOID, pg_authid_oid_index, 8);
69
-
70
- #endif /* PG_AUTHID_H */
@@ -1,33 +0,0 @@
1
- # path: src/include/catalog/pg_class.h
2
- # blob: 07d182da796a0c798d0ded6d97b61671d37ac491
3
- # tag: REL_18_6 (commit 724edf9bde9d356724ad384a2e196edc3c9f80f7)
4
- # fetched: 2026-09-30 via gh api repos/postgres/postgres/contents/...?ref=724edf9bde9d356724ad384a2e196edc3c9f80f7
5
- # excerpt: the struct header columns relname/relnamespace (lines 33-48) and the relacl column (lines 133-140) of the full file, two ranges
6
- #
7
- {
8
- /* oid */
9
- Oid oid;
10
-
11
- /* class name */
12
- NameData relname;
13
-
14
- /* OID of namespace containing this class */
15
- Oid relnamespace BKI_DEFAULT(pg_catalog) BKI_LOOKUP(pg_namespace);
16
-
17
- /* OID of entry in pg_type for relation's implicit row type, if any */
18
- Oid reltype BKI_LOOKUP_OPT(pg_type);
19
-
20
- /* OID of entry in pg_type for underlying composite type, if any */
21
- Oid reloftype BKI_DEFAULT(0) BKI_LOOKUP_OPT(pg_type);
22
-
23
- #
24
- # excerpt continued: lines 133-140
25
- #
26
-
27
- #ifdef CATALOG_VARLEN /* variable-length fields start here */
28
- /* NOTE: These fields are not present in a relcache entry's rd_rel field. */
29
- /* access permissions */
30
- aclitem relacl[1] BKI_DEFAULT(_null_);
31
-
32
- /* access-method-specific options */
33
- text reloptions[1] BKI_DEFAULT(_null_);