pg-introspection 0.0.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.
@@ -0,0 +1,1070 @@
1
+ declare type PgOid = string;
2
+ declare type PgName = string;
3
+ declare type PgAclItem = string;
4
+ declare type PgXid = string;
5
+ declare type TimestampTZ = string;
6
+ /**
7
+ * The catalog pg_database stores information about the available databases. Databases are created with the CREATE
8
+ * DATABASE command. Consult [managing-databases] for details about the meaning of some of the parameters.
9
+ */
10
+ export interface PgDatabase {
11
+ /** Row identifier */
12
+ _id: PgOid;
13
+ /** Database name */
14
+ datname: PgName;
15
+ /** Owner of the database, usually the user who created it */
16
+ datdba: PgOid;
17
+ /** Character encoding for this database (pg_encoding_to_char() can translate this number to the encoding name) */
18
+ encoding: number | null;
19
+ /** LC_COLLATE for this database */
20
+ datcollate: PgName | null;
21
+ /** LC_CTYPE for this database */
22
+ datctype: PgName | null;
23
+ /**
24
+ * If true, then this database can be cloned by any user with CREATEDB privileges; if false, then only superusers or
25
+ * the owner of the database can clone it.
26
+ */
27
+ datistemplate: boolean | null;
28
+ /**
29
+ * If false then no one can connect to this database. This is used to protect the template0 database from being
30
+ * altered.
31
+ */
32
+ datallowconn: boolean | null;
33
+ /** Sets maximum number of concurrent connections that can be made to this database. -1 means no limit. */
34
+ datconnlimit: number | null;
35
+ /** Last system OID in the database; useful particularly to pg_dump */
36
+ datlastsysoid: PgOid | null;
37
+ /**
38
+ * All transaction IDs before this one have been replaced with a permanent (frozen) transaction ID in this database.
39
+ * This is used to track whether the database needs to be vacuumed in order to prevent transaction ID wraparound or to
40
+ * allow pg_xact to be shrunk. It is the minimum of the per-table pg_class.relfrozenxid values.
41
+ */
42
+ datfrozenxid: PgXid | null;
43
+ /**
44
+ * All multixact IDs before this one have been replaced with a transaction ID in this database. This is used to track
45
+ * whether the database needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be
46
+ * shrunk. It is the minimum of the per-table pg_class.relminmxid values.
47
+ */
48
+ datminmxid: PgXid | null;
49
+ /**
50
+ * The default tablespace for the database. Within this database, all tables for which pg_class.reltablespace is zero
51
+ * will be stored in this tablespace; in particular, all the non-shared system catalogs will be there.
52
+ */
53
+ dattablespace: PgOid | null;
54
+ /** Access privileges; see [ddl-priv] for details */
55
+ datacl: ReadonlyArray<PgAclItem> | null;
56
+ }
57
+ /**
58
+ * The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can
59
+ * have a separate collection of relations, types, etc. without name conflicts.
60
+ */
61
+ export interface PgNamespace {
62
+ /** Row identifier */
63
+ _id: PgOid;
64
+ /** Name of the namespace */
65
+ nspname: PgName;
66
+ /** Owner of the namespace */
67
+ nspowner: PgOid;
68
+ /** Access privileges; see [ddl-priv] for details */
69
+ nspacl: ReadonlyArray<PgAclItem> | null;
70
+ }
71
+ /**
72
+ * The catalog pg_class catalogs tables and most everything else that has columns or is otherwise similar to a table.
73
+ * This includes indexes (but see also pg_index), sequences (but see also pg_sequence), views, materialized views,
74
+ * composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of
75
+ * relations. Not all columns are meaningful for all relation types.
76
+ */
77
+ export interface PgClass {
78
+ /** Row identifier */
79
+ _id: PgOid;
80
+ /** Name of the table, index, view, etc. */
81
+ relname: PgName;
82
+ /** The OID of the namespace that contains this relation */
83
+ relnamespace: PgOid;
84
+ /**
85
+ * The OID of the data type that corresponds to this table's row type, if any; zero for indexes, sequences, and toast
86
+ * tables, which have no pg_type entry
87
+ */
88
+ reltype: PgOid;
89
+ /** For typed tables, the OID of the underlying composite type; zero for all other relations */
90
+ reloftype: PgOid | null;
91
+ /** Owner of the relation */
92
+ relowner: PgOid;
93
+ /**
94
+ * If this is a table or an index, the access method used (heap, B-tree, hash, etc.); otherwise zero (zero occurs for
95
+ * sequences, as well as relations without storage, such as views)
96
+ */
97
+ relam: PgOid | null;
98
+ /**
99
+ * Name of the on-disk file of this relation; zero means this is a mapped relation whose disk file name is determined
100
+ * by low-level state
101
+ */
102
+ relfilenode: PgOid | null;
103
+ /**
104
+ * The tablespace in which this relation is stored. If zero, the database's default tablespace is implied. (Not
105
+ * meaningful if the relation has no on-disk file.)
106
+ */
107
+ reltablespace: PgOid | null;
108
+ /**
109
+ * Size of the on-disk representation of this table in pages (of size BLCKSZ). This is only an estimate used by the
110
+ * planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.
111
+ */
112
+ relpages: number | null;
113
+ /**
114
+ * Number of live rows in the table. This is only an estimate used by the planner. It is updated by VACUUM, ANALYZE,
115
+ * and a few DDL commands such as CREATE INDEX. If the table has never yet been vacuumed or analyzed, reltuples
116
+ * contains -1 indicating that the row count is unknown.
117
+ */
118
+ reltuples: number | null;
119
+ /**
120
+ * Number of pages that are marked all-visible in the table's visibility map. This is only an estimate used by the
121
+ * planner. It is updated by VACUUM, ANALYZE, and a few DDL commands such as CREATE INDEX.
122
+ */
123
+ relallvisible: number | null;
124
+ /**
125
+ * OID of the TOAST table associated with this table, zero if none. The TOAST table stores large attributes out of line
126
+ * in a secondary table.
127
+ */
128
+ reltoastrelid: PgOid | null;
129
+ /** True if this is a table and it has (or recently had) any indexes */
130
+ relhasindex: boolean | null;
131
+ /**
132
+ * True if this table is shared across all databases in the cluster. Only certain system catalogs (such as pg_database)
133
+ * are shared.
134
+ */
135
+ relisshared: boolean | null;
136
+ /**
137
+ * - p = permanent table,
138
+ * - u = unlogged table,
139
+ * - t = temporary table
140
+ */
141
+ relpersistence: string | null;
142
+ /**
143
+ * - r = ordinary table,
144
+ * - i = index,
145
+ * - S = sequence,
146
+ * - t = TOAST table,
147
+ * - v = view,
148
+ * - m = materialized view,
149
+ * - c = composite type,
150
+ * - f = foreign table,
151
+ * - p = partitioned table,
152
+ * - I = partitioned index
153
+ */
154
+ relkind: string;
155
+ /**
156
+ * Number of user columns in the relation (system columns not counted). There must be this many corresponding entries
157
+ * in pg_attribute. See also pg_attribute.attnum.
158
+ */
159
+ relnatts: number | null;
160
+ /** Number of CHECK constraints on the table; see pg_constraint catalog */
161
+ relchecks: number | null;
162
+ /** True if table has (or once had) rules; see pg_rewrite catalog */
163
+ relhasrules: boolean | null;
164
+ /** True if table has (or once had) triggers; see pg_trigger catalog */
165
+ relhastriggers: boolean | null;
166
+ /** True if table or index has (or once had) any inheritance children */
167
+ relhassubclass: boolean | null;
168
+ /** True if table has row-level security enabled; see pg_policy catalog */
169
+ relrowsecurity: boolean | null;
170
+ /** True if row-level security (when enabled) will also apply to table owner; see pg_policy catalog */
171
+ relforcerowsecurity: boolean | null;
172
+ /** True if relation is populated (this is true for all relations other than some materialized views) */
173
+ relispopulated: boolean | null;
174
+ /**
175
+ * Columns used to form replica identity for rows:
176
+ * - d = default (primary key, if any),
177
+ * - n = nothing,
178
+ * - f = all columns,
179
+ * - i = index with indisreplident set
180
+ * (same as nothing if the index used has been dropped)
181
+ */
182
+ relreplident: string | null;
183
+ /** True if table or index is a partition */
184
+ relispartition: boolean | null;
185
+ /**
186
+ * All transaction IDs before this one have been replaced with a permanent (frozen) transaction ID in this table. This
187
+ * is used to track whether the table needs to be vacuumed in order to prevent transaction ID wraparound or to allow
188
+ * pg_xact to be shrunk. Zero (InvalidTransactionId) if the relation is not a table.
189
+ */
190
+ relfrozenxid: PgXid | null;
191
+ /**
192
+ * All multixact IDs before this one have been replaced by a transaction ID in this table. This is used to track
193
+ * whether the table needs to be vacuumed in order to prevent multixact ID wraparound or to allow pg_multixact to be
194
+ * shrunk. Zero (InvalidMultiXactId) if the relation is not a table.
195
+ */
196
+ relminmxid: PgXid | null;
197
+ /** Access privileges; see [ddl-priv] for details */
198
+ relacl: ReadonlyArray<PgAclItem> | null;
199
+ /** Access-method-specific options, as keyword=value strings */
200
+ reloptions: ReadonlyArray<string> | null;
201
+ /** If table is a partition (see relispartition), internal representation of the partition bound */
202
+ relpartbound: string | null;
203
+ /**
204
+ * For new relations being written during a DDL operation that requires a table rewrite, this contains the OID of the
205
+ * original relation; otherwise zero. That state is only visible internally; this field should never contain anything
206
+ * other than zero for a user-visible relation.
207
+ *
208
+ * @remarks Only in 14.x, 13.x, 12.x, 11.x
209
+ */
210
+ relrewrite?: PgOid | null | undefined;
211
+ /**
212
+ * True if we generate an OID for each row of the relation
213
+ *
214
+ * @remarks Only in 11.x, 10.x
215
+ */
216
+ relhasoids?: boolean | null | undefined;
217
+ /**
218
+ * True if the table has (or once had) a primary key
219
+ *
220
+ * @remarks Only in 10.x
221
+ */
222
+ relhaspkey?: boolean | null | undefined;
223
+ updatable_mask?: number | null;
224
+ }
225
+ /**
226
+ * The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for
227
+ * every column in every table in the database. (There will also be attribute entries for indexes, and indeed all
228
+ * objects that have pg_class entries.)
229
+ */
230
+ export interface PgAttribute {
231
+ /** The table this column belongs to */
232
+ attrelid: PgOid;
233
+ /** The column name */
234
+ attname: PgName;
235
+ /** The data type of this column (zero for a dropped column) */
236
+ atttypid: PgOid;
237
+ /**
238
+ * attstattarget controls the level of detail of statistics accumulated for this column by ANALYZE. A zero value
239
+ * indicates that no statistics should be collected. A negative value says to use the system default statistics target.
240
+ * The exact meaning of positive values is data type-dependent. For scalar data types, attstattarget is both the target
241
+ * number of most common values to collect, and the target number of histogram bins to create.
242
+ */
243
+ attstattarget: number | null;
244
+ /** A copy of pg_type.typlen of this column's type */
245
+ attlen: number | null;
246
+ /**
247
+ * The number of the column. Ordinary columns are numbered from 1 up. System columns, such as ctid, have (arbitrary)
248
+ * negative numbers.
249
+ */
250
+ attnum: number;
251
+ /**
252
+ * Number of dimensions, if the column is an array type; otherwise 0. (Presently, the number of dimensions of an array
253
+ * is not enforced, so any nonzero value effectively means it's an array.)
254
+ */
255
+ attndims: number | null;
256
+ /**
257
+ * Always -1 in storage, but when loaded into a row descriptor in memory this might be updated to cache the offset of
258
+ * the attribute within the row
259
+ */
260
+ attcacheoff: number | null;
261
+ /**
262
+ * atttypmod records type-specific data supplied at table creation time (for example, the maximum length of a varchar
263
+ * column). It is passed to type-specific input functions and length coercion functions. The value will generally be -1
264
+ * for types that do not need atttypmod.
265
+ */
266
+ atttypmod: number | null;
267
+ /** A copy of pg_type.typbyval of this column's type */
268
+ attbyval: boolean | null;
269
+ /** A copy of pg_type.typalign of this column's type */
270
+ attalign: string | null;
271
+ /**
272
+ * Normally a copy of pg_type.typstorage of this column's type. For TOAST-able data types, this can be altered after
273
+ * column creation to control storage policy.
274
+ */
275
+ attstorage: string | null;
276
+ /** This represents a not-null constraint. */
277
+ attnotnull: boolean | null;
278
+ /**
279
+ * This column has a default expression or generation expression, in which case there will be a corresponding entry in
280
+ * the pg_attrdef catalog that actually defines the expression. (Check attgenerated to determine whether this is a
281
+ * default or a generation expression.)
282
+ */
283
+ atthasdef: boolean | null;
284
+ /** If a zero byte (''), then not an identity column. Otherwise, a = generated always, d = generated by default. */
285
+ attidentity: string | null;
286
+ /**
287
+ * This column has been dropped and is no longer valid. A dropped column is still physically present in the table, but
288
+ * is ignored by the parser and so cannot be accessed via SQL.
289
+ */
290
+ attisdropped: boolean | null;
291
+ /**
292
+ * This column is defined locally in the relation. Note that a column can be locally defined and inherited
293
+ * simultaneously.
294
+ */
295
+ attislocal: boolean | null;
296
+ /**
297
+ * The number of direct ancestors this column has. A column with a nonzero number of ancestors cannot be dropped nor
298
+ * renamed.
299
+ */
300
+ attinhcount: number | null;
301
+ /** The defined collation of the column, or zero if the column is not of a collatable data type */
302
+ attcollation: PgOid | null;
303
+ /** Column-level access privileges, if any have been granted specifically on this column */
304
+ attacl: ReadonlyArray<PgAclItem> | null;
305
+ /** Attribute-level options, as keyword=value strings */
306
+ attoptions: ReadonlyArray<string> | null;
307
+ /** Attribute-level foreign data wrapper options, as keyword=value strings */
308
+ attfdwoptions: ReadonlyArray<string> | null;
309
+ /**
310
+ * The current compression method of the column. Typically this is `\0` to specify use of the current default setting
311
+ * (see [guc-default-toast-compression]). Otherwise, 'p' selects pglz compression, while 'l' selects LZ4 compression.
312
+ * However, this field is ignored whenever attstorage does not allow compression.
313
+ *
314
+ * @remarks Only in 14.x
315
+ */
316
+ attcompression?: string | null | undefined;
317
+ /**
318
+ * This column has a value which is used where the column is entirely missing from the row, as happens when a column is
319
+ * added with a non-volatile DEFAULT value after the row is created. The actual value used is stored in the
320
+ * attmissingval column.
321
+ *
322
+ * @remarks Only in 14.x, 13.x, 12.x, 11.x
323
+ */
324
+ atthasmissing?: boolean | null | undefined;
325
+ /**
326
+ * If a zero byte (''), then not a generated column. Otherwise, s = stored. (Other values might be added in the
327
+ * future.)
328
+ *
329
+ * @remarks Only in 14.x, 13.x, 12.x
330
+ */
331
+ attgenerated?: string | null | undefined;
332
+ }
333
+ /**
334
+ * The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables.
335
+ * (Column constraints are not treated specially. Every column constraint is equivalent to some table constraint.)
336
+ * Not-null constraints are represented in the pg_attribute catalog, not here.
337
+ */
338
+ export interface PgConstraint {
339
+ /** Row identifier */
340
+ _id: PgOid;
341
+ /** Constraint name (not necessarily unique!) */
342
+ conname: PgName;
343
+ /** The OID of the namespace that contains this constraint */
344
+ connamespace: PgOid;
345
+ /**
346
+ * - c = check constraint,
347
+ * - f = foreign key constraint,
348
+ * - p = primary key constraint,
349
+ * - u = unique constraint,
350
+ * - t = constraint trigger,
351
+ * - x = exclusion constraint
352
+ */
353
+ contype: string;
354
+ /** Is the constraint deferrable? */
355
+ condeferrable: boolean | null;
356
+ /** Is the constraint deferred by default? */
357
+ condeferred: boolean | null;
358
+ /** Has the constraint been validated? Currently, can be false only for foreign keys and CHECK constraints */
359
+ convalidated: boolean | null;
360
+ /** The table this constraint is on; zero if not a table constraint */
361
+ conrelid: PgOid;
362
+ /** The domain this constraint is on; zero if not a domain constraint */
363
+ contypid: PgOid;
364
+ /**
365
+ * The index supporting this constraint, if it's a unique, primary key, foreign key, or exclusion constraint; else
366
+ * zero
367
+ */
368
+ conindid: PgOid;
369
+ /** If a foreign key, the referenced table; else zero */
370
+ confrelid: PgOid;
371
+ /**
372
+ * Foreign key update action code:
373
+ * - a = no action,
374
+ * - r = restrict,
375
+ * - c = cascade,
376
+ * - n = set null,
377
+ * - d = set default
378
+ */
379
+ confupdtype: string | null;
380
+ /**
381
+ * Foreign key deletion action code:
382
+ * - a = no action,
383
+ * - r = restrict,
384
+ * - c = cascade,
385
+ * - n = set null,
386
+ * - d = set default
387
+ */
388
+ confdeltype: string | null;
389
+ /**
390
+ * Foreign key match type:
391
+ * - f = full,
392
+ * - p = partial,
393
+ * - s = simple
394
+ */
395
+ confmatchtype: string | null;
396
+ /**
397
+ * This constraint is defined locally for the relation. Note that a constraint can be locally defined and inherited
398
+ * simultaneously.
399
+ */
400
+ conislocal: boolean | null;
401
+ /**
402
+ * The number of direct inheritance ancestors this constraint has. A constraint with a nonzero number of ancestors
403
+ * cannot be dropped nor renamed.
404
+ */
405
+ coninhcount: number | null;
406
+ /** This constraint is defined locally for the relation. It is a non-inheritable constraint. */
407
+ connoinherit: boolean | null;
408
+ /** If a table constraint (including foreign keys, but not constraint triggers), list of the constrained columns */
409
+ conkey: ReadonlyArray<number> | null;
410
+ /** If a foreign key, list of the referenced columns */
411
+ confkey: ReadonlyArray<number> | null;
412
+ /** If a foreign key, list of the equality operators for PK = FK comparisons */
413
+ conpfeqop: ReadonlyArray<PgOid> | null;
414
+ /** If a foreign key, list of the equality operators for PK = PK comparisons */
415
+ conppeqop: ReadonlyArray<PgOid> | null;
416
+ /** If a foreign key, list of the equality operators for FK = FK comparisons */
417
+ conffeqop: ReadonlyArray<PgOid> | null;
418
+ /** If an exclusion constraint, list of the per-column exclusion operators */
419
+ conexclop: ReadonlyArray<PgOid> | null;
420
+ /**
421
+ * If a check constraint, an internal representation of the expression. (It's recommended to use pg_get_constraintdef()
422
+ * to extract the definition of a check constraint.)
423
+ */
424
+ conbin: string | null;
425
+ /**
426
+ * The corresponding constraint of the parent partitioned table, if this is a constraint on a partition; else zero
427
+ *
428
+ * @remarks Only in 14.x, 13.x, 12.x, 11.x
429
+ */
430
+ conparentid?: PgOid | null | undefined;
431
+ /**
432
+ * If a check constraint, a human-readable representation of the expression
433
+ *
434
+ * @remarks Only in 11.x, 10.x
435
+ */
436
+ consrc?: string | null | undefined;
437
+ }
438
+ /**
439
+ * The catalog pg_proc stores information about functions, procedures, aggregate functions, and window functions
440
+ * (collectively also known as routines). See [sql-createfunction], [sql-createprocedure], and [xfunc] for more
441
+ * information.
442
+ */
443
+ export interface PgProc {
444
+ /** Row identifier */
445
+ _id: PgOid;
446
+ /** Name of the function */
447
+ proname: PgName;
448
+ /** The OID of the namespace that contains this function */
449
+ pronamespace: PgOid;
450
+ /** Owner of the function */
451
+ proowner: PgOid;
452
+ /** Implementation language or call interface of this function */
453
+ prolang: PgOid | null;
454
+ /** Estimated execution cost (in units of [guc-cpu-operator-cost]); if proretset, this is cost per row returned */
455
+ procost: number | null;
456
+ /** Estimated number of result rows (zero if not proretset) */
457
+ prorows: number | null;
458
+ /** Data type of the variadic array parameter's elements, or zero if the function does not have a variadic parameter */
459
+ provariadic: PgOid | null;
460
+ /** Function is a security definer (i.e., a setuid function) */
461
+ prosecdef: boolean | null;
462
+ /**
463
+ * The function has no side effects. No information about the arguments is conveyed except via the return value. Any
464
+ * function that might throw an error depending on the values of its arguments is not leak-proof.
465
+ */
466
+ proleakproof: boolean | null;
467
+ /**
468
+ * Function returns null if any call argument is null. In that case the function won't actually be called at all.
469
+ * Functions that are not strict must be prepared to handle null inputs.
470
+ */
471
+ proisstrict: boolean | null;
472
+ /** Function returns a set (i.e., multiple values of the specified data type) */
473
+ proretset: boolean;
474
+ /**
475
+ * provolatile tells whether the function's result depends only on its input arguments, or is affected by outside
476
+ * factors. It is i for immutable functions, which always deliver the same result for the same inputs. It is s for
477
+ * stable functions, whose results (for fixed inputs) do not change within a scan. It is v for volatile functions,
478
+ * whose results might change at any time. (Use v also for functions with side-effects, so that calls to them cannot
479
+ * get optimized away.)
480
+ */
481
+ provolatile: string | null;
482
+ /**
483
+ * proparallel tells whether the function can be safely run in parallel mode. It is s for functions which are safe to
484
+ * run in parallel mode without restriction. It is r for functions which can be run in parallel mode, but their
485
+ * execution is restricted to the parallel group leader; parallel worker processes cannot invoke these functions. It is
486
+ * u for functions which are unsafe in parallel mode; the presence of such a function forces a serial execution plan.
487
+ */
488
+ proparallel: string | null;
489
+ /** Number of input arguments */
490
+ pronargs: number | null;
491
+ /** Number of arguments that have defaults */
492
+ pronargdefaults: number | null;
493
+ /** Data type of the return value */
494
+ prorettype: PgOid;
495
+ /**
496
+ * An array of the data types of the function arguments. This includes only input arguments (including INOUT and
497
+ * VARIADIC arguments), and thus represents the call signature of the function.
498
+ */
499
+ proargtypes: ReadonlyArray<PgOid> | null;
500
+ /**
501
+ * An array of the data types of the function arguments. This includes all arguments (including OUT and INOUT
502
+ * arguments); however, if all the arguments are IN arguments, this field will be null. Note that subscripting is
503
+ * 1-based, whereas for historical reasons proargtypes is subscripted from 0.
504
+ */
505
+ proallargtypes: ReadonlyArray<PgOid> | null;
506
+ /**
507
+ * An array of the modes of the function arguments, encoded as i for IN arguments, o for OUT arguments, b for INOUT
508
+ * arguments, v for VARIADIC arguments, t for TABLE arguments. If all the arguments are IN arguments, this field will
509
+ * be null. Note that subscripts correspond to positions of proallargtypes not proargtypes.
510
+ */
511
+ proargmodes: ReadonlyArray<string> | null;
512
+ /**
513
+ * An array of the names of the function arguments. Arguments without a name are set to empty strings in the array. If
514
+ * none of the arguments have a name, this field will be null. Note that subscripts correspond to positions of
515
+ * proallargtypes not proargtypes.
516
+ */
517
+ proargnames: ReadonlyArray<string> | null;
518
+ /**
519
+ * Expression trees (in nodeToString() representation) for default values. This is a list with pronargdefaults
520
+ * elements, corresponding to the last N input arguments (i.e., the last N proargtypes positions). If none of the
521
+ * arguments have defaults, this field will be null.
522
+ */
523
+ proargdefaults: string | null;
524
+ /**
525
+ * An array of the argument/result data type(s) for which to apply transforms (from the function's TRANSFORM clause).
526
+ * Null if none.
527
+ */
528
+ protrftypes: ReadonlyArray<PgOid> | null;
529
+ /**
530
+ * This tells the function handler how to invoke the function. It might be the actual source code of the function for
531
+ * interpreted languages, a link symbol, a file name, or just about anything else, depending on the implementation
532
+ * language/call convention.
533
+ */
534
+ prosrc: string | null;
535
+ /** Additional information about how to invoke the function. Again, the interpretation is language-specific. */
536
+ probin: string | null;
537
+ /** Function's local settings for run-time configuration variables */
538
+ proconfig: ReadonlyArray<string> | null;
539
+ /** Access privileges; see [ddl-priv] for details */
540
+ proacl: ReadonlyArray<PgAclItem> | null;
541
+ /**
542
+ * Planner support function for this function (see [xfunc-optimization]), or zero if none
543
+ *
544
+ * @remarks Only in 14.x, 13.x, 12.x
545
+ */
546
+ prosupport?: PgOid | null | undefined;
547
+ /**
548
+ * f for a normal function, p for a procedure, a for an aggregate function, or w for a window function
549
+ *
550
+ * @remarks Only in 14.x, 13.x, 12.x, 11.x
551
+ */
552
+ prokind?: string | null | undefined;
553
+ /**
554
+ * Pre-parsed SQL function body. This is used for SQL-language functions when the body is given in SQL-standard
555
+ * notation rather than as a string literal. It's null in other cases.
556
+ *
557
+ * @remarks Only in 14.x
558
+ */
559
+ prosqlbody?: string | null | undefined;
560
+ /**
561
+ * Calls to this function can be simplified by this other function (see [xfunc-transform-functions])
562
+ *
563
+ * @remarks Only in 11.x, 10.x
564
+ */
565
+ protransform?: PgOid | null | undefined;
566
+ /**
567
+ * Function is an aggregate function
568
+ *
569
+ * @remarks Only in 10.x
570
+ */
571
+ proisagg?: boolean | null | undefined;
572
+ /**
573
+ * Function is a window function
574
+ *
575
+ * @remarks Only in 10.x
576
+ */
577
+ proiswindow?: boolean | null | undefined;
578
+ }
579
+ /**
580
+ * The view pg_roles provides access to information about database roles. This is simply a publicly readable view of
581
+ * pg_authid that blanks out the password field.
582
+ */
583
+ export interface PgRoles {
584
+ /** Role name */
585
+ rolname: PgName;
586
+ /** Role has superuser privileges */
587
+ rolsuper: boolean | null;
588
+ /** Role automatically inherits privileges of roles it is a member of */
589
+ rolinherit: boolean | null;
590
+ /** Role can create more roles */
591
+ rolcreaterole: boolean | null;
592
+ /** Role can create databases */
593
+ rolcreatedb: boolean | null;
594
+ /** Role can log in. That is, this role can be given as the initial session authorization identifier */
595
+ rolcanlogin: boolean | null;
596
+ /**
597
+ * Role is a replication role. A replication role can initiate replication connections and create and drop replication
598
+ * slots.
599
+ */
600
+ rolreplication: boolean | null;
601
+ /**
602
+ * For roles that can log in, this sets maximum number of concurrent connections this role can make. -1 means no
603
+ * limit.
604
+ */
605
+ rolconnlimit: number | null;
606
+ /** Not the password (always reads as ********) */
607
+ rolpassword: string | null;
608
+ /** Password expiry time (only used for password authentication); null if no expiration */
609
+ rolvaliduntil: TimestampTZ | null;
610
+ /** Role bypasses every row-level security policy, see [ddl-rowsecurity] for more information. */
611
+ rolbypassrls: boolean | null;
612
+ /** Role-specific defaults for run-time configuration variables */
613
+ rolconfig: ReadonlyArray<string> | null;
614
+ /** ID of role */
615
+ _id: PgOid;
616
+ }
617
+ /**
618
+ * The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is
619
+ * allowed.
620
+ */
621
+ export interface PgAuthMembers {
622
+ /** ID of a role that has a member */
623
+ roleid: PgOid;
624
+ /** ID of a role that is a member of roleid */
625
+ member: PgOid;
626
+ /** ID of the role that granted this membership */
627
+ grantor: PgOid | null;
628
+ /** True if member can grant membership in roleid to others */
629
+ admin_option: boolean | null;
630
+ }
631
+ /**
632
+ * The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with
633
+ * CREATE TYPE, and domains with CREATE DOMAIN. A composite type is automatically created for each table in the
634
+ * database, to represent the row structure of the table. It is also possible to create composite types with CREATE
635
+ * TYPE AS.
636
+ */
637
+ export interface PgType {
638
+ /** Row identifier */
639
+ _id: PgOid;
640
+ /** Data type name */
641
+ typname: PgName;
642
+ /** The OID of the namespace that contains this type */
643
+ typnamespace: PgOid;
644
+ /** Owner of the type */
645
+ typowner: PgOid | null;
646
+ /**
647
+ * For a fixed-size type, typlen is the number of bytes in the internal representation of the type. But for a
648
+ * variable-length type, typlen is negative. -1 indicates a varlena type (one that has a length word), -2 indicates a
649
+ * null-terminated C string.
650
+ */
651
+ typlen: number | null;
652
+ /**
653
+ * typbyval determines whether internal routines pass a value of this type by value or by reference. typbyval had
654
+ * better be false if typlen is not 1, 2, or 4 (or 8 on machines where Datum is 8 bytes). Variable-length types are
655
+ * always passed by reference. Note that typbyval can be false even if the length would allow pass-by-value.
656
+ */
657
+ typbyval: boolean | null;
658
+ /**
659
+ * typtype is b for a base type, c for a composite type (e.g., a table's row type), d for a domain, e for an enum type,
660
+ * p for a pseudo-type, r for a range type, or m for a multirange type. See also typrelid and typbasetype.
661
+ */
662
+ typtype: string | null;
663
+ /**
664
+ * typcategory is an arbitrary classification of data types that is used by the parser to determine which implicit
665
+ * casts should be preferred. See [catalog-typcategory-table].
666
+ */
667
+ typcategory: string | null;
668
+ /** True if the type is a preferred cast target within its typcategory */
669
+ typispreferred: boolean | null;
670
+ /**
671
+ * True if the type is defined, false if this is a placeholder entry for a not-yet-defined type. When typisdefined is
672
+ * false, nothing except the type name, namespace, and OID can be relied on.
673
+ */
674
+ typisdefined: boolean | null;
675
+ /**
676
+ * Character that separates two values of this type when parsing array input. Note that the delimiter is associated
677
+ * with the array element data type, not the array data type.
678
+ */
679
+ typdelim: string | null;
680
+ /**
681
+ * If this is a composite type (see typtype), then this column points to the pg_class entry that defines the
682
+ * corresponding table. (For a free-standing composite type, the pg_class entry doesn't really represent a table, but
683
+ * it is needed anyway for the type's pg_attribute entries to link to.) Zero for non-composite types.
684
+ */
685
+ typrelid: PgOid | null;
686
+ /**
687
+ * If typelem is not zero then it identifies another row in pg_type, defining the type yielded by subscripting. This
688
+ * should be zero if typsubscript is zero. However, it can be zero when typsubscript isn't zero, if the handler doesn't
689
+ * need typelem to determine the subscripting result type. Note that a typelem dependency is considered to imply
690
+ * physical containment of the element type in this type; so DDL changes on the element type might be restricted by the
691
+ * presence of this type.
692
+ */
693
+ typelem: PgOid | null;
694
+ /**
695
+ * If typarray is not zero then it identifies another row in pg_type, which is the true array type having this type as
696
+ * element
697
+ */
698
+ typarray: PgOid | null;
699
+ /** Input conversion function (text format) */
700
+ typinput: PgOid | null;
701
+ /** Output conversion function (text format) */
702
+ typoutput: PgOid | null;
703
+ /** Input conversion function (binary format), or zero if none */
704
+ typreceive: PgOid | null;
705
+ /** Output conversion function (binary format), or zero if none */
706
+ typsend: PgOid | null;
707
+ /** Type modifier input function, or zero if type does not support modifiers */
708
+ typmodin: PgOid | null;
709
+ /** Type modifier output function, or zero to use the standard format */
710
+ typmodout: PgOid | null;
711
+ /** Custom [sql-analyze] function, or zero to use the standard function */
712
+ typanalyze: PgOid | null;
713
+ /**
714
+ * typalign is the alignment required when storing a value of this type. It applies to storage on disk as well as most
715
+ * representations of the value inside PostgreSQL. When multiple values are stored consecutively, such as in the
716
+ * representation of a complete row on disk, padding is inserted before a datum of this type so that it begins on the
717
+ * specified boundary. The alignment reference is the beginning of the first datum in the sequence. Possible values
718
+ * are: c = char alignment, i.e., no alignment needed. s = short alignment (2 bytes on most machines). i = int
719
+ * alignment (4 bytes on most machines). d = double alignment (8 bytes on many machines, but by no means all).
720
+ */
721
+ typalign: string | null;
722
+ /**
723
+ * typstorage tells for varlena types (those with typlen = -1) if the type is prepared for toasting and what the
724
+ * default strategy for attributes of this type should be. Possible values are: p (plain): Values must always be stored
725
+ * plain (non-varlena types always use this value). e (external): Values can be stored in a secondary TOAST relation
726
+ * (if relation has one, see pg_class.reltoastrelid). m (main): Values can be compressed and stored inline. x
727
+ * (extended): Values can be compressed and/or moved to a secondary relation. x is the usual choice for toast-able
728
+ * types. Note that m values can also be moved out to secondary storage, but only as a last resort (e and x values are
729
+ * moved first).
730
+ */
731
+ typstorage: string | null;
732
+ /** typnotnull represents a not-null constraint on a type. Used for domains only. */
733
+ typnotnull: boolean | null;
734
+ /**
735
+ * If this is a domain (see typtype), then typbasetype identifies the type that this one is based on. Zero if this type
736
+ * is not a domain.
737
+ */
738
+ typbasetype: PgOid | null;
739
+ /**
740
+ * Domains use typtypmod to record the typmod to be applied to their base type (-1 if base type does not use a typmod).
741
+ * -1 if this type is not a domain.
742
+ */
743
+ typtypmod: number | null;
744
+ /**
745
+ * typndims is the number of array dimensions for a domain over an array (that is, typbasetype is an array type). Zero
746
+ * for types other than domains over array types.
747
+ */
748
+ typndims: number | null;
749
+ /**
750
+ * typcollation specifies the collation of the type. If the type does not support collations, this will be zero. A base
751
+ * type that supports collations will have a nonzero value here, typically DEFAULT_COLLATION_OID. A domain over a
752
+ * collatable type can have a collation OID different from its base type's, if one was specified for the domain.
753
+ */
754
+ typcollation: PgOid | null;
755
+ /**
756
+ * If typdefaultbin is not null, it is the nodeToString() representation of a default expression for the type. This is
757
+ * only used for domains.
758
+ */
759
+ typdefaultbin: string | null;
760
+ /**
761
+ * typdefault is null if the type has no associated default value. If typdefaultbin is not null, typdefault must
762
+ * contain a human-readable version of the default expression represented by typdefaultbin. If typdefaultbin is null
763
+ * and typdefault is not, then typdefault is the external representation of the type's default value, which can be fed
764
+ * to the type's input converter to produce a constant.
765
+ */
766
+ typdefault: string | null;
767
+ /** Access privileges; see [ddl-priv] for details */
768
+ typacl: ReadonlyArray<PgAclItem> | null;
769
+ /**
770
+ * Subscripting handler function's OID, or zero if this type doesn't support subscripting. Types that are true array
771
+ * types have typsubscript = array_subscript_handler, but other types may have other handler functions to implement
772
+ * specialized subscripting behavior.
773
+ *
774
+ * @remarks Only in 14.x
775
+ */
776
+ typsubscript?: PgOid | null | undefined;
777
+ }
778
+ /**
779
+ * The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation
780
+ * of a given enum value is actually the OID of its associated row in pg_enum.
781
+ */
782
+ export interface PgEnum {
783
+ /** Row identifier */
784
+ _id: PgOid;
785
+ /** The OID of the pg_type entry owning this enum value */
786
+ enumtypid: PgOid;
787
+ /** The sort position of this enum value within its enum type */
788
+ enumsortorder: number;
789
+ /** The textual label for this enum value */
790
+ enumlabel: PgName;
791
+ }
792
+ /**
793
+ * The catalog pg_extension stores information about the installed extensions. See [extend-extensions] for details
794
+ * about extensions.
795
+ */
796
+ export interface PgExtension {
797
+ /** Row identifier */
798
+ _id: PgOid;
799
+ /** Name of the extension */
800
+ extname: PgName;
801
+ /** Owner of the extension */
802
+ extowner: PgOid;
803
+ /** Schema containing the extension's exported objects */
804
+ extnamespace: PgOid | null;
805
+ /** True if extension can be relocated to another schema */
806
+ extrelocatable: boolean | null;
807
+ /** Version name for the extension */
808
+ extversion: string | null;
809
+ /** Array of regclass OIDs for the extension's configuration table(s), or NULL if none */
810
+ extconfig: ReadonlyArray<PgOid> | null;
811
+ /** Array of WHERE-clause filter conditions for the extension's configuration table(s), or NULL if none */
812
+ extcondition: ReadonlyArray<string> | null;
813
+ }
814
+ /** The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class. */
815
+ export interface PgIndex {
816
+ /** The OID of the pg_class entry for this index */
817
+ indexrelid: PgOid;
818
+ /** The OID of the pg_class entry for the table this index is for */
819
+ indrelid: PgOid;
820
+ /**
821
+ * The total number of columns in the index (duplicates pg_class.relnatts); this number includes both key and included
822
+ * attributes
823
+ */
824
+ indnatts: number | null;
825
+ /** If true, this is a unique index */
826
+ indisunique: boolean | null;
827
+ /** If true, this index represents the primary key of the table (indisunique should always be true when this is true) */
828
+ indisprimary: boolean | null;
829
+ /** If true, this index supports an exclusion constraint */
830
+ indisexclusion: boolean | null;
831
+ /** If true, the uniqueness check is enforced immediately on insertion (irrelevant if indisunique is not true) */
832
+ indimmediate: boolean | null;
833
+ /** If true, the table was last clustered on this index */
834
+ indisclustered: boolean | null;
835
+ /**
836
+ * If true, the index is currently valid for queries. False means the index is possibly incomplete: it must still be
837
+ * modified by INSERT/UPDATE operations, but it cannot safely be used for queries. If it is unique, the uniqueness
838
+ * property is not guaranteed true either.
839
+ */
840
+ indisvalid: boolean | null;
841
+ /**
842
+ * If true, queries must not use the index until the xmin of this pg_index row is below their TransactionXmin event
843
+ * horizon, because the table may contain broken HOT chains with incompatible rows that they can see
844
+ */
845
+ indcheckxmin: boolean | null;
846
+ /**
847
+ * If true, the index is currently ready for inserts. False means the index must be ignored by INSERT/UPDATE
848
+ * operations.
849
+ */
850
+ indisready: boolean | null;
851
+ /**
852
+ * If false, the index is in process of being dropped, and should be ignored for all purposes (including HOT-safety
853
+ * decisions)
854
+ */
855
+ indislive: boolean | null;
856
+ /** If true this index has been chosen as replica identity using ALTER TABLE ... REPLICA IDENTITY USING INDEX ... */
857
+ indisreplident: boolean | null;
858
+ /**
859
+ * This is an array of indnatts values that indicate which table columns this index indexes. For example a value of 1 3
860
+ * would mean that the first and the third table columns make up the index entries. Key columns come before non-key
861
+ * (included) columns. A zero in this array indicates that the corresponding index attribute is an expression over the
862
+ * table columns, rather than a simple column reference.
863
+ */
864
+ indkey: ReadonlyArray<number>;
865
+ /**
866
+ * For each column in the index key (indnkeyatts values), this contains the OID of the collation to use for the index,
867
+ * or zero if the column is not of a collatable data type.
868
+ */
869
+ indcollation: ReadonlyArray<PgOid> | null;
870
+ /**
871
+ * For each column in the index key (indnkeyatts values), this contains the OID of the operator class to use. See
872
+ * pg_opclass for details.
873
+ */
874
+ indclass: ReadonlyArray<PgOid> | null;
875
+ /**
876
+ * This is an array of indnkeyatts values that store per-column flag bits. The meaning of the bits is defined by the
877
+ * index's access method.
878
+ */
879
+ indoption: ReadonlyArray<number> | null;
880
+ /**
881
+ * Expression trees (in nodeToString() representation) for index attributes that are not simple column references. This
882
+ * is a list with one element for each zero entry in indkey. Null if all index attributes are simple references.
883
+ */
884
+ indexprs: string | null;
885
+ /** Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index. */
886
+ indpred: string | null;
887
+ /**
888
+ * The number of key columns in the index, not counting any included columns, which are merely stored and do not
889
+ * participate in the index semantics
890
+ *
891
+ * @remarks Only in 14.x, 13.x, 12.x, 11.x
892
+ */
893
+ indnkeyatts?: number | null | undefined;
894
+ }
895
+ /**
896
+ * The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for
897
+ * each direct parent-child table or index relationship in the database. (Indirect inheritance can be determined by
898
+ * following chains of entries.)
899
+ */
900
+ export interface PgInherits {
901
+ /** The OID of the child table or index */
902
+ inhrelid: PgOid;
903
+ /** The OID of the parent table or index */
904
+ inhparent: PgOid;
905
+ /**
906
+ * If there is more than one direct parent for a child table (multiple inheritance), this number tells the order in
907
+ * which the inherited columns are to be arranged. The count starts at 1.
908
+ */
909
+ inhseqno: number | null;
910
+ /**
911
+ * true for a partition that is in the process of being detached; false otherwise.
912
+ *
913
+ * @remarks Only in 14.x
914
+ */
915
+ inhdetachpending?: boolean | null | undefined;
916
+ }
917
+ /**
918
+ * The catalog pg_language registers languages in which you can write functions or stored procedures. See
919
+ * [sql-createlanguage] and [xplang] for more information about language handlers.
920
+ */
921
+ export interface PgLanguage {
922
+ /** Row identifier */
923
+ _id: PgOid;
924
+ /** Name of the language */
925
+ lanname: PgName | null;
926
+ /** Owner of the language */
927
+ lanowner: PgOid | null;
928
+ /**
929
+ * This is false for internal languages (such as SQL) and true for user-defined languages. Currently, pg_dump still
930
+ * uses this to determine which languages need to be dumped, but this might be replaced by a different mechanism in the
931
+ * future.
932
+ */
933
+ lanispl: boolean | null;
934
+ /**
935
+ * True if this is a trusted language, which means that it is believed not to grant access to anything outside the
936
+ * normal SQL execution environment. Only superusers can create functions in untrusted languages.
937
+ */
938
+ lanpltrusted: boolean | null;
939
+ /**
940
+ * For noninternal languages this references the language handler, which is a special function that is responsible for
941
+ * executing all functions that are written in the particular language. Zero for internal languages.
942
+ */
943
+ lanplcallfoid: PgOid | null;
944
+ /**
945
+ * This references a function that is responsible for executing inline anonymous code blocks ([sql-do] blocks). Zero if
946
+ * inline blocks are not supported.
947
+ */
948
+ laninline: PgOid | null;
949
+ /**
950
+ * This references a language validator function that is responsible for checking the syntax and validity of new
951
+ * functions when they are created. Zero if no validator is provided.
952
+ */
953
+ lanvalidator: PgOid | null;
954
+ /** Access privileges; see [ddl-priv] for details */
955
+ lanacl: ReadonlyArray<PgAclItem> | null;
956
+ }
957
+ /** The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type. */
958
+ export interface PgRange {
959
+ /** OID of the range type */
960
+ rngtypid: PgOid | null;
961
+ /** OID of the element type (subtype) of this range type */
962
+ rngsubtype: PgOid | null;
963
+ /** OID of the collation used for range comparisons, or zero if none */
964
+ rngcollation: PgOid | null;
965
+ /** OID of the subtype's operator class used for range comparisons */
966
+ rngsubopc: PgOid | null;
967
+ /** OID of the function to convert a range value into canonical form, or zero if none */
968
+ rngcanonical: PgOid | null;
969
+ /** OID of the function to return the difference between two element values as double precision, or zero if none */
970
+ rngsubdiff: PgOid | null;
971
+ /**
972
+ * OID of the multirange type for this range type
973
+ *
974
+ * @remarks Only in 14.x
975
+ */
976
+ rngmultitypid?: PgOid | null | undefined;
977
+ }
978
+ /**
979
+ * The catalog pg_depend records the dependency relationships between database objects. This information allows DROP
980
+ * commands to find which other objects must be dropped by DROP CASCADE or prevent dropping in the DROP RESTRICT case.
981
+ */
982
+ export interface PgDepend {
983
+ /** The OID of the system catalog the dependent object is in, or zero for a DEPENDENCY_PIN entry */
984
+ classid: PgOid;
985
+ /** The OID of the specific dependent object, or zero for a DEPENDENCY_PIN entry */
986
+ objid: PgOid;
987
+ /**
988
+ * For a table column, this is the column number (the objid and classid refer to the table itself). For all other
989
+ * object types, this column is zero.
990
+ */
991
+ objsubid: number | null;
992
+ /** The OID of the system catalog the referenced object is in */
993
+ refclassid: PgOid;
994
+ /** The OID of the specific referenced object */
995
+ refobjid: PgOid;
996
+ /**
997
+ * For a table column, this is the column number (the refobjid and refclassid refer to the table itself). For all other
998
+ * object types, this column is zero.
999
+ */
1000
+ refobjsubid: number | null;
1001
+ /** A code defining the specific semantics of this dependency relationship; see text */
1002
+ deptype: string;
1003
+ }
1004
+ /**
1005
+ * The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be
1006
+ * manipulated with the COMMENT command and viewed with psql's `\d` commands. Descriptions of many built-in system
1007
+ * objects are provided in the initial contents of pg_description.
1008
+ */
1009
+ export interface PgDescription {
1010
+ /** The OID of the object this description pertains to */
1011
+ objoid: PgOid;
1012
+ /** The OID of the system catalog this object appears in */
1013
+ classoid: PgOid;
1014
+ /**
1015
+ * For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For
1016
+ * all other object types, this column is zero.
1017
+ */
1018
+ objsubid: number;
1019
+ /** Arbitrary text that serves as the description of this object */
1020
+ description: string;
1021
+ }
1022
+ /**
1023
+ * This type contains a description of everything we care about in the database.
1024
+ */
1025
+ export interface Introspection {
1026
+ database: PgDatabase;
1027
+ namespaces: Array<PgNamespace>;
1028
+ classes: Array<PgClass>;
1029
+ attributes: Array<PgAttribute>;
1030
+ constraints: Array<PgConstraint>;
1031
+ procs: Array<PgProc>;
1032
+ roles: Array<PgRoles>;
1033
+ auth_members: Array<PgAuthMembers>;
1034
+ types: Array<PgType>;
1035
+ enums: Array<PgEnum>;
1036
+ extensions: Array<PgExtension>;
1037
+ indexes: Array<PgIndex>;
1038
+ inherits: Array<PgInherits>;
1039
+ languages: Array<PgLanguage>;
1040
+ ranges: Array<PgRange>;
1041
+ depends: Array<PgDepend>;
1042
+ descriptions: Array<PgDescription>;
1043
+ /**
1044
+ * Catalogs such as pg_class, pg_attribute, etc have oids; this loopup lets us
1045
+ * turn the OID back into the name of the underlying catalog.
1046
+ */
1047
+ catalog_by_oid: {
1048
+ [oid: string]: string;
1049
+ };
1050
+ /** The user who performed the introspection */
1051
+ current_user: string;
1052
+ /**
1053
+ * The full PostgreSQL version string, e.g.:
1054
+ * 'PostgreSQL 13.4 (Ubuntu 13.4-0ubuntu0.21.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 10.3.0-1ubuntu1) 10.3.0, 64-bit'
1055
+ */
1056
+ pg_version: string;
1057
+ /** In future we might use different introspection queries; we'll bump this whenever an incompatible change takes place. */
1058
+ introspection_version: 1;
1059
+ }
1060
+ /**
1061
+ * A PG entity can be any entity represented in a system catalog: a table, view,
1062
+ * column, function, index, etc.
1063
+ */
1064
+ export declare type PgEntity = PgDatabase | PgNamespace | PgClass | PgAttribute | PgConstraint | PgProc | PgRoles | PgAuthMembers | PgType | PgEnum | PgExtension | PgIndex | PgInherits | PgLanguage | PgRange | PgDepend | PgDescription;
1065
+ /**
1066
+ * Builds a PostgreSQL introspection SQL query to return an object with the same shape as `Introspection` above.
1067
+ */
1068
+ export declare const makeIntrospectionQuery: () => string;
1069
+ export {};
1070
+ //# sourceMappingURL=introspection.d.ts.map