Thanks to visit codestin.com
Credit goes to doxygen.postgresql.org

PostgreSQL Source Code git master
pg_dump.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * pg_dump.h
4 * Common header file for the pg_dump utility
5 *
6 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
8 *
9 * src/bin/pg_dump/pg_dump.h
10 *
11 *-------------------------------------------------------------------------
12 */
13
14#ifndef PG_DUMP_H
15#define PG_DUMP_H
16
17#include "pg_backup.h"
18#include "catalog/pg_publication_d.h"
19
20
21#define oidcmp(x,y) ( ((x) < (y) ? -1 : ((x) > (y)) ? 1 : 0) )
22
23/*
24 * The data structures used to store system catalog information. Every
25 * dumpable object is a subclass of DumpableObject.
26 *
27 * NOTE: the structures described here live for the entire pg_dump run;
28 * and in most cases we make a struct for every object we can find in the
29 * catalogs, not only those we are actually going to dump. Hence, it's
30 * best to store a minimal amount of per-object info in these structs,
31 * and retrieve additional per-object info when and if we dump a specific
32 * object. In particular, try to avoid retrieving expensive-to-compute
33 * information until it's known to be needed. We do, however, have to
34 * store enough info to determine whether an object should be dumped and
35 * what order to dump in.
36 */
37
38typedef enum
39{
40 /* When modifying this enum, update priority tables in pg_dump_sort.c! */
62 DO_FK_CONSTRAINT, /* see note for ConstraintInfo */
88 DO_SUBSCRIPTION_REL, /* see note for SubRelInfo */
90
91#define NUM_DUMPABLE_OBJECT_TYPES (DO_SUBSCRIPTION_REL + 1)
92
93/*
94 * DumpComponents is a bitmask of the potentially dumpable components of
95 * a database object: its core definition, plus optional attributes such
96 * as ACL, comments, etc.
97 *
98 * The NONE and ALL symbols are convenient shorthands for assigning values,
99 * but be careful about using them in tests. For example, a test like
100 * "if (dobj->dump == DUMP_COMPONENT_NONE)" is probably wrong; you likely want
101 * "if (!(dobj->dump & DUMP_COMPONENT_DEFINITION))" instead. This is because
102 * we aren't too careful about the values of irrelevant bits, as indeed can be
103 * seen in the definition of DUMP_COMPONENT_ALL. It's also possible that an
104 * object has only subsidiary bits such as DUMP_COMPONENT_ACL set, leading to
105 * unexpected behavior of a test against NONE.
106 */
108#define DUMP_COMPONENT_NONE (0)
109#define DUMP_COMPONENT_DEFINITION (1 << 0)
110#define DUMP_COMPONENT_DATA (1 << 1)
111#define DUMP_COMPONENT_COMMENT (1 << 2)
112#define DUMP_COMPONENT_SECLABEL (1 << 3)
113#define DUMP_COMPONENT_ACL (1 << 4)
114#define DUMP_COMPONENT_POLICY (1 << 5)
115#define DUMP_COMPONENT_USERMAP (1 << 6)
116#define DUMP_COMPONENT_STATISTICS (1 << 7)
117#define DUMP_COMPONENT_ALL (0xFFFF)
118
119/*
120 * component types which require us to obtain a lock on the table
121 *
122 * Note that some components only require looking at the information
123 * in the pg_catalog tables and, for those components, we do not need
124 * to lock the table. Be careful here though- some components use
125 * server-side functions which pull the latest information from
126 * SysCache and in those cases we *do* need to lock the table.
127 *
128 * We do not need locks for the COMMENT and SECLABEL components as
129 * those simply query their associated tables without using any
130 * server-side functions. We do not need locks for the ACL component
131 * as we pull that information from pg_class without using any
132 * server-side functions that use SysCache. The USERMAP component
133 * is only relevant for FOREIGN SERVERs and not tables, so no sense
134 * locking a table for that either (that can happen if we are going
135 * to dump "ALL" components for a table).
136 *
137 * We DO need locks for DEFINITION, due to various server-side
138 * functions that are used and POLICY due to pg_get_expr(). We set
139 * this up to grab the lock except in the cases we know to be safe.
140 */
141#define DUMP_COMPONENTS_REQUIRING_LOCK (\
142 DUMP_COMPONENT_DEFINITION |\
143 DUMP_COMPONENT_DATA |\
144 DUMP_COMPONENT_STATISTICS |\
145 DUMP_COMPONENT_POLICY)
146
147typedef struct _dumpableObject
148{
150 CatalogId catId; /* zero if not a cataloged object */
151 DumpId dumpId; /* assigned by AssignDumpId() */
152 char *name; /* object name (should never be NULL) */
153 struct _namespaceInfo *namespace; /* containing namespace, or NULL */
154 DumpComponents dump; /* bitmask of components requested to dump */
155 DumpComponents dump_contains; /* as above, but for contained objects */
156 DumpComponents components; /* bitmask of components available to dump */
157 bool ext_member; /* true if object is member of extension */
158 bool depends_on_ext; /* true if object depends on an extension */
159 DumpId *dependencies; /* dumpIds of objects this one depends on */
160 int nDeps; /* number of valid dependencies */
161 int allocDeps; /* allocated size of dependencies[] */
163
164/*
165 * Object types that have ACLs must store them in a DumpableAcl sub-struct,
166 * which must immediately follow the DumpableObject base struct.
167 */
168typedef struct _dumpableAcl
169{
170 char *acl; /* the object's actual ACL string */
171 char *acldefault; /* default ACL for the object's type & owner */
172 /* these fields come from the object's pg_init_privs entry, if any: */
173 char privtype; /* entry type, 'i' or 'e'; 0 if no entry */
174 char *initprivs; /* the object's initial ACL string, or NULL */
176
177/* Generic struct that can be used to access any object type having an ACL */
179{
183
184typedef struct _namespaceInfo
185{
188 bool create; /* CREATE SCHEMA, or just set owner? */
189 Oid nspowner; /* OID of owner */
190 const char *rolname; /* name of owner */
192
193typedef struct _extensionInfo
194{
196 char *namespace; /* schema containing extension's objects */
199 char *extconfig; /* info about configuration tables */
202
203typedef struct _typeInfo
204{
207
208 /*
209 * Note: dobj.name is the raw pg_type.typname entry. ftypname is the
210 * result of format_type(), which will be quoted if needed, and might be
211 * schema-qualified too.
212 */
213 char *ftypname;
214 const char *rolname;
218 char typrelkind; /* 'r', 'v', 'c', etc */
219 char typtype; /* 'b', 'c', etc */
220 bool isArray; /* true if auto-generated array type */
221 bool isMultirange; /* true if auto-generated multirange type */
222 bool isDefined; /* true if typisdefined */
223 /* If needed, we'll create a "shell type" entry for it; link that here: */
224 struct _shellTypeInfo *shellType; /* shell-type entry, or NULL */
225 /* If it's a domain, its not-null constraint is here: */
227 /* If it's a domain, we store links to its CHECK constraints here: */
231
232typedef struct _shellTypeInfo
233{
235
236 TypeInfo *baseType; /* back link to associated base type */
238
239typedef struct _funcInfo
240{
243 const char *rolname;
245 int nargs;
248 bool postponed_def; /* function must be postponed into post-data */
250
251/* AggInfo is a superset of FuncInfo */
252typedef struct _aggInfo
253{
255 /* we don't require any other fields at the moment */
257
258typedef struct _oprInfo
259{
261 const char *rolname;
267
268typedef struct _accessMethodInfo
269{
271 char amtype;
274
275typedef struct _opclassInfo
276{
279 const char *rolname;
281
282typedef struct _opfamilyInfo
283{
286 const char *rolname;
288
289typedef struct _collInfo
290{
292 const char *rolname;
295
296typedef struct _convInfo
297{
299 const char *rolname;
301
302typedef struct _tableInfo
303{
304 /*
305 * These fields are collected for every table in the database.
306 */
309 const char *rolname;
311 char relpersistence; /* relation persistence */
312 bool relispopulated; /* relation is populated */
313 char relreplident; /* replica identifier */
314 char *reltablespace; /* relation tablespace */
315 char *reloptions; /* options specified by WITH (...) */
316 char *checkoption; /* WITH CHECK OPTION, if any */
317 char *toast_reloptions; /* WITH options for the TOAST table */
318 bool hasindex; /* does it have any indexes? */
319 bool hasrules; /* does it have any rules? */
320 bool hastriggers; /* does it have any triggers? */
321 bool hascolumnACLs; /* do any columns have non-default ACLs? */
322 bool rowsec; /* is row security enabled? */
323 bool forcerowsec; /* is row security forced? */
324 bool hasoids; /* does it have OIDs? */
325 uint32 frozenxid; /* table's relfrozenxid */
326 uint32 minmxid; /* table's relminmxid */
327 Oid toast_oid; /* toast table's OID, or 0 if none */
328 uint32 toast_frozenxid; /* toast table's relfrozenxid, if any */
329 uint32 toast_minmxid; /* toast table's relminmxid */
330 int ncheck; /* # of CHECK expressions */
331 Oid reltype; /* OID of table's composite type, if any */
332 Oid reloftype; /* underlying type for typed table */
333 Oid foreign_server; /* foreign server oid, if applicable */
334 /* these two are set only if table is a sequence owned by a column: */
335 Oid owning_tab; /* OID of table owning sequence */
336 int owning_col; /* attr # of column owning sequence */
338 int32 relpages; /* table's size in pages (from pg_class) */
339 int toastpages; /* toast table's size in pages, if any */
340
341 bool interesting; /* true if need to collect more data */
342 bool dummy_view; /* view's real definition must be postponed */
343 bool postponed_def; /* matview must be postponed into post-data */
344 bool ispartition; /* is table a partition? */
345 bool unsafe_partitions; /* is it an unsafe partitioned table? */
346
347 int numParents; /* number of (immediate) parent tables */
348 struct _tableInfo **parents; /* TableInfos of immediate parents */
349
350 /*
351 * These fields are computed only if we decide the table is interesting
352 * (it's either a table to dump, or a direct parent of a dumpable table).
353 */
354 int numatts; /* number of attributes */
355 char **attnames; /* the attribute names */
356 char **atttypnames; /* attribute type names */
357 int *attstattarget; /* attribute statistics targets */
358 char *attstorage; /* attribute storage scheme */
359 char *typstorage; /* type storage scheme */
360 bool *attisdropped; /* true if attr is dropped; don't dump it */
363 int *attlen; /* attribute length, used by binary_upgrade */
364 char *attalign; /* attribute align, used by binary_upgrade */
365 bool *attislocal; /* true if attr has local definition */
366 char **attoptions; /* per-attribute options */
367 Oid *attcollation; /* per-attribute collation selection */
368 char *attcompression; /* per-attribute compression method */
369 char **attfdwoptions; /* per-attribute fdw options */
370 char **attmissingval; /* per attribute missing value */
371 char **notnull_constrs; /* NOT NULL constraint names. If null,
372 * there isn't one on this column. If
373 * empty string, unnamed constraint
374 * (pre-v17) */
375 char **notnull_comment; /* comment thereof */
376 bool *notnull_invalid; /* true for NOT NULL NOT VALID */
377 bool *notnull_noinh; /* NOT NULL is NO INHERIT */
378 bool *notnull_islocal; /* true if NOT NULL has local definition */
379 struct _attrDefInfo **attrdefs; /* DEFAULT expressions */
380 struct _constraintInfo *checkexprs; /* CHECK constraints */
381 struct _relStatsInfo *stats; /* only set for matviews */
382 bool needs_override; /* has GENERATED ALWAYS AS IDENTITY */
383 char *amname; /* relation access method */
384
385 /*
386 * Stuff computed only for dumpable tables.
387 */
388 int numIndexes; /* number of indexes */
389 struct _indxInfo *indexes; /* indexes */
390 struct _tableDataInfo *dataObj; /* TableDataInfo, if dumping its data */
391 int numTriggers; /* number of triggers for table */
392 struct _triggerInfo *triggers; /* array of TriggerInfo structs */
394
395typedef struct _tableAttachInfo
396{
398 TableInfo *parentTbl; /* link to partitioned table */
399 TableInfo *partitionTbl; /* link to partition */
401
402typedef struct _attrDefInfo
403{
404 DumpableObject dobj; /* note: dobj.name is name of table */
405 TableInfo *adtable; /* link to table of attribute */
406 int adnum;
407 char *adef_expr; /* decompiled DEFAULT expression */
408 bool separate; /* true if must dump as separate item */
410
411typedef struct _tableDataInfo
412{
414 TableInfo *tdtable; /* link to table to dump */
415 char *filtercond; /* WHERE condition to limit rows dumped */
417
418typedef struct _indxInfo
419{
421 TableInfo *indextable; /* link to table the index is for */
422 char *indexdef;
423 char *tablespace; /* tablespace in which index is stored */
424 char *indreloptions; /* options specified by WITH (...) */
425 char *indstatcols; /* column numbers with statistics */
426 char *indstatvals; /* statistic values for columns */
427 int indnkeyattrs; /* number of index key attributes */
428 int indnattrs; /* total number of index attributes */
429 Oid *indkeys; /* In spite of the name 'indkeys' this field
430 * contains both key and nonkey attributes */
434 Oid parentidx; /* if a partition, parent index OID */
435 SimplePtrList partattaches; /* if partitioned, partition attach objects */
436
437 /* if there is an associated constraint object, its dumpId: */
440
441typedef struct _indexAttachInfo
442{
444 IndxInfo *parentIdx; /* link to index on partitioned table */
445 IndxInfo *partitionIdx; /* link to index on partition */
447
448typedef struct _relStatsInfo
449{
455 char relkind; /* 'r', 'm', 'i', etc */
456
457 /*
458 * indAttNames/nindAttNames are populated only if the relation is an index
459 * with at least one expression column; we don't need them otherwise.
460 */
461 char **indAttNames; /* attnames of the index, in order */
462 int32 nindAttNames; /* number of attnames stored (can be 0) */
463 teSection section; /* stats may appear in data or post-data */
465
466typedef struct _statsExtInfo
467{
469 const char *rolname; /* owner */
470 TableInfo *stattable; /* link to table the stats are for */
471 int stattarget; /* statistics target */
473
474typedef struct _ruleInfo
475{
477 TableInfo *ruletable; /* link to table the rule is for */
481 bool separate; /* true if must dump as separate item */
482 /* separate is always true for non-ON SELECT rules */
484
485typedef struct _triggerInfo
486{
488 TableInfo *tgtable; /* link to table the trigger is for */
491 char *tgdef;
493
494typedef struct _evttriggerInfo
495{
497 char *evtname;
498 char *evtevent;
499 const char *evtowner;
500 char *evttags;
501 char *evtfname;
504
505/*
506 * struct ConstraintInfo is used for all constraint types. However we
507 * use a different objType for foreign key constraints, to make it easier
508 * to sort them the way we want.
509 *
510 * Not-null constraints don't need this, unless they are NOT VALID.
511 *
512 * Note: condeferrable and condeferred are currently only valid for
513 * unique/primary-key constraints. Otherwise that info is in condef.
514 */
515typedef struct _constraintInfo
516{
518 TableInfo *contable; /* NULL if domain constraint */
519 TypeInfo *condomain; /* NULL if table constraint */
521 char *condef; /* definition, if CHECK or FOREIGN KEY */
522 Oid confrelid; /* referenced table, if FOREIGN KEY */
523 DumpId conindex; /* identifies associated index if any */
524 bool condeferrable; /* true if constraint is DEFERRABLE */
525 bool condeferred; /* true if constraint is INITIALLY DEFERRED */
526 bool conperiod; /* true if the constraint is WITHOUT OVERLAPS */
527 bool conislocal; /* true if constraint has local definition */
528 bool separate; /* true if must dump as separate item */
530
531typedef struct _procLangInfo
532{
539 const char *lanowner;
541
542typedef struct _castInfo
543{
551
552typedef struct _transformInfo
553{
560
561/* InhInfo isn't a DumpableObject, just temporary state */
562typedef struct _inhInfo
563{
564 Oid inhrelid; /* OID of a child table */
565 Oid inhparent; /* OID of its parent */
567
568typedef struct _prsInfo
569{
577
578typedef struct _dictInfo
579{
581 const char *rolname;
585
586typedef struct _tmplInfo
587{
592
593typedef struct _cfgInfo
594{
596 const char *rolname;
599
600typedef struct _fdwInfo
601{
604 const char *rolname;
609
610typedef struct _foreignServerInfo
611{
614 const char *rolname;
616 char *srvtype;
620
621typedef struct _defaultACLInfo
622{
625 const char *defaclrole;
628
629/*
630 * LoInfo represents a group of large objects (blobs) that share the same
631 * owner and ACL setting. dobj.components has the DUMP_COMPONENT_COMMENT bit
632 * set if any blob in the group has a comment; similarly for sec labels.
633 * If there are many blobs with the same owner/ACL, we can divide them into
634 * multiple LoInfo groups, which will each spawn a BLOB METADATA and a BLOBS
635 * (data) TOC entry. This allows more parallelism during restore.
636 */
637typedef struct _loInfo
638{
641 const char *rolname;
645
646/*
647 * The PolicyInfo struct is used to represent policies on a table and
648 * to indicate if a table has RLS enabled (ENABLE ROW SECURITY). If
649 * polname is NULL, then the record indicates ENABLE ROW SECURITY, while if
650 * it's non-NULL then this is a regular policy definition.
651 */
652typedef struct _policyInfo
653{
656 char *polname; /* null indicates RLS is enabled on rel */
657 char polcmd;
659 char *polroles;
660 char *polqual;
663
664/*
665 * The PublicationInfo struct is used to represent publications.
666 */
667typedef struct _PublicationInfo
668{
670 const char *rolname;
677 PublishGencolsType pubgencols_type;
679
680/*
681 * The PublicationRelInfo struct is used to represent publication table
682 * mapping.
683 */
685{
692
693/*
694 * The PublicationSchemaInfo struct is used to represent publication schema
695 * mapping.
696 */
698{
703
704/*
705 * The SubscriptionInfo struct is used to represent subscription.
706 */
707typedef struct _SubscriptionInfo
708{
710 const char *rolname;
728
729/*
730 * The SubRelInfo struct is used to represent a subscription relation.
731 *
732 * XXX Currently, the subscription tables are added to the subscription after
733 * enabling the subscription in binary-upgrade mode. As the apply workers will
734 * not be started in binary_upgrade mode the ordering of enable subscription
735 * does not matter. The order of adding the subscription tables to the
736 * subscription and enabling the subscription should be taken care of if this
737 * feature will be supported in a non-binary-upgrade mode in the future.
738 */
739typedef struct _SubRelInfo
740{
745 char *srsublsn;
747
748/*
749 * common utility functions
750 */
751
752extern TableInfo *getSchemaData(Archive *fout, int *numTablesPtr);
753
754extern void AssignDumpId(DumpableObject *dobj);
755extern void recordAdditionalCatalogID(CatalogId catId, DumpableObject *dobj);
756extern DumpId createDumpId(void);
757extern DumpId getMaxDumpId(void);
760extern void getDumpableObjects(DumpableObject ***objs, int *numObjs);
761
762extern void addObjectDependency(DumpableObject *dobj, DumpId refId);
763extern void removeObjectDependency(DumpableObject *dobj, DumpId refId);
764
765extern TableInfo *findTableByOid(Oid oid);
766extern TypeInfo *findTypeByOid(Oid oid);
767extern FuncInfo *findFuncByOid(Oid oid);
768extern OprInfo *findOprByOid(Oid oid);
770extern CollInfo *findCollationByOid(Oid oid);
775
776extern void recordExtensionMembership(CatalogId catId, ExtensionInfo *ext);
778
779extern void parseOidArray(const char *str, Oid *array, int arraysize);
780
781extern void sortDumpableObjects(DumpableObject **objs, int numObjs,
782 DumpId preBoundaryId, DumpId postBoundaryId);
783extern void sortDumpableObjectsByTypeName(DumpableObject **objs, int numObjs);
784
785/*
786 * version specific routines
787 */
788extern void getNamespaces(Archive *fout);
789extern ExtensionInfo *getExtensions(Archive *fout, int *numExtensions);
790extern void getTypes(Archive *fout);
791extern void getFuncs(Archive *fout);
792extern void getAggregates(Archive *fout);
793extern void getOperators(Archive *fout);
794extern void getAccessMethods(Archive *fout);
795extern void getOpclasses(Archive *fout);
796extern void getOpfamilies(Archive *fout);
797extern void getCollations(Archive *fout);
798extern void getConversions(Archive *fout);
799extern TableInfo *getTables(Archive *fout, int *numTables);
800extern void getOwnedSeqs(Archive *fout, TableInfo tblinfo[], int numTables);
801extern InhInfo *getInherits(Archive *fout, int *numInherits);
802extern void getPartitioningInfo(Archive *fout);
803extern void getIndexes(Archive *fout, TableInfo tblinfo[], int numTables);
804extern void getExtendedStatistics(Archive *fout);
805extern void getConstraints(Archive *fout, TableInfo tblinfo[], int numTables);
806extern void getRules(Archive *fout);
807extern void getTriggers(Archive *fout, TableInfo tblinfo[], int numTables);
808extern void getProcLangs(Archive *fout);
809extern void getCasts(Archive *fout);
810extern void getTransforms(Archive *fout);
811extern void getTableAttrs(Archive *fout, TableInfo *tblinfo, int numTables);
812extern bool shouldPrintColumn(const DumpOptions *dopt, const TableInfo *tbinfo, int colno);
813extern void getTSParsers(Archive *fout);
814extern void getTSDictionaries(Archive *fout);
815extern void getTSTemplates(Archive *fout);
816extern void getTSConfigurations(Archive *fout);
817extern void getForeignDataWrappers(Archive *fout);
818extern void getForeignServers(Archive *fout);
819extern void getDefaultACLs(Archive *fout);
820extern void getExtensionMembership(Archive *fout, ExtensionInfo extinfo[],
821 int numExtensions);
822extern void processExtensionTables(Archive *fout, ExtensionInfo extinfo[],
823 int numExtensions);
824extern void getEventTriggers(Archive *fout);
825extern void getPolicies(Archive *fout, TableInfo tblinfo[], int numTables);
826extern void getPublications(Archive *fout);
827extern void getPublicationNamespaces(Archive *fout);
828extern void getPublicationTables(Archive *fout, TableInfo tblinfo[],
829 int numTables);
830extern void getSubscriptions(Archive *fout);
831extern void getSubscriptionTables(Archive *fout);
832
833#endif /* PG_DUMP_H */
#define FLEXIBLE_ARRAY_MEMBER
Definition: c.h:471
int32_t int32
Definition: c.h:535
uint32_t uint32
Definition: c.h:539
const char * str
int DumpId
Definition: pg_backup.h:284
enum _teSection teSection
void getConstraints(Archive *fout, TableInfo tblinfo[], int numTables)
Definition: pg_dump.c:8264
struct _collInfo CollInfo
void recordAdditionalCatalogID(CatalogId catId, DumpableObject *dobj)
Definition: common.c:719
struct _transformInfo TransformInfo
ExtensionInfo * getExtensions(Archive *fout, int *numExtensions)
Definition: pg_dump.c:6096
void recordExtensionMembership(CatalogId catId, ExtensionInfo *ext)
Definition: common.c:1063
void getPublicationNamespaces(Archive *fout)
Definition: pg_dump.c:4729
struct _opfamilyInfo OpfamilyInfo
void getPartitioningInfo(Archive *fout)
Definition: pg_dump.c:7756
struct _indxInfo IndxInfo
struct _fdwInfo FdwInfo
struct _triggerInfo TriggerInfo
struct _tmplInfo TSTemplateInfo
struct _tableInfo TableInfo
FuncInfo * findFuncByOid(Oid oid)
Definition: common.c:918
InhInfo * getInherits(Archive *fout, int *numInherits)
Definition: pg_dump.c:7700
TableInfo * findTableByOid(Oid oid)
Definition: common.c:863
void getForeignDataWrappers(Archive *fout)
Definition: pg_dump.c:10382
struct _aggInfo AggInfo
void getPolicies(Archive *fout, TableInfo tblinfo[], int numTables)
Definition: pg_dump.c:4233
ExtensionInfo * findExtensionByOid(Oid oid)
Definition: common.c:1008
struct _castInfo CastInfo
void getExtensionMembership(Archive *fout, ExtensionInfo extinfo[], int numExtensions)
Definition: pg_dump.c:19658
CollInfo * findCollationByOid(Oid oid)
Definition: common.c:972
struct _tableDataInfo TableDataInfo
struct _cfgInfo TSConfigInfo
SubscriptionInfo * findSubscriptionByOid(Oid oid)
Definition: common.c:1044
void getTypes(Archive *fout)
Definition: pg_dump.c:6171
struct _dumpableObject DumpableObject
struct _accessMethodInfo AccessMethodInfo
struct _attrDefInfo AttrDefInfo
void getOwnedSeqs(Archive *fout, TableInfo tblinfo[], int numTables)
Definition: pg_dump.c:7635
void getOpclasses(Archive *fout)
Definition: pg_dump.c:6617
void getForeignServers(Archive *fout)
Definition: pg_dump.c:10466
void getFuncs(Archive *fout)
Definition: pg_dump.c:6886
OprInfo * findOprByOid(Oid oid)
Definition: common.c:936
void getTSDictionaries(Archive *fout)
Definition: pg_dump.c:10198
struct _ruleInfo RuleInfo
void getPublicationTables(Archive *fout, TableInfo tblinfo[], int numTables)
Definition: pg_dump.c:4809
NamespaceInfo * findNamespaceByOid(Oid oid)
Definition: common.c:990
struct _relStatsInfo RelStatsInfo
void getCasts(Archive *fout)
Definition: pg_dump.c:9013
void getIndexes(Archive *fout, TableInfo tblinfo[], int numTables)
Definition: pg_dump.c:7816
AccessMethodInfo * findAccessMethodByOid(Oid oid)
Definition: common.c:954
void addObjectDependency(DumpableObject *dobj, DumpId refId)
Definition: common.c:818
void getTSConfigurations(Archive *fout)
Definition: pg_dump.c:10323
DumpableObject * findObjectByDumpId(DumpId dumpId)
Definition: common.c:765
struct _foreignServerInfo ForeignServerInfo
void parseOidArray(const char *str, Oid *array, int arraysize)
Definition: common.c:1111
struct _inhInfo InhInfo
struct _indexAttachInfo IndexAttachInfo
struct _SubRelInfo SubRelInfo
struct _procLangInfo ProcLangInfo
void getAccessMethods(Archive *fout)
Definition: pg_dump.c:6543
void getConversions(Archive *fout)
Definition: pg_dump.c:6481
void getRules(Archive *fout)
Definition: pg_dump.c:8558
ExtensionInfo * findOwningExtension(CatalogId catalogId)
Definition: common.c:1087
void getTableAttrs(Archive *fout, TableInfo *tblinfo, int numTables)
Definition: pg_dump.c:9207
struct _prsInfo TSParserInfo
struct _policyInfo PolicyInfo
TableInfo * getSchemaData(Archive *fout, int *numTablesPtr)
Definition: common.c:98
struct _PublicationInfo PublicationInfo
void getSubscriptionTables(Archive *fout)
Definition: pg_dump.c:5300
void getCollations(Archive *fout)
Definition: pg_dump.c:6415
struct _namespaceInfo NamespaceInfo
void getAggregates(Archive *fout)
Definition: pg_dump.c:6745
struct _shellTypeInfo ShellTypeInfo
void getNamespaces(Archive *fout)
Definition: pg_dump.c:5964
void getPublications(Archive *fout)
Definition: pg_dump.c:4523
void getTSParsers(Archive *fout)
Definition: pg_dump.c:10124
TypeInfo * findTypeByOid(Oid oid)
Definition: common.c:899
struct _dumpableObjectWithAcl DumpableObjectWithAcl
struct _defaultACLInfo DefaultACLInfo
DumpId createDumpId(void)
Definition: common.c:745
TableInfo * getTables(Archive *fout, int *numTables)
Definition: pg_dump.c:7158
struct _loInfo LoInfo
DumpableObject * findObjectByCatalogId(CatalogId catalogId)
Definition: common.c:778
void AssignDumpId(DumpableObject *dobj)
Definition: common.c:657
struct _evttriggerInfo EventTriggerInfo
void getExtendedStatistics(Archive *fout)
Definition: pg_dump.c:8185
struct _dumpableAcl DumpableAcl
void processExtensionTables(Archive *fout, ExtensionInfo extinfo[], int numExtensions)
Definition: pg_dump.c:19751
DumpId getMaxDumpId(void)
Definition: common.c:754
void getDefaultACLs(Archive *fout)
Definition: pg_dump.c:10554
uint32 DumpComponents
Definition: pg_dump.h:107
struct _typeInfo TypeInfo
void getSubscriptions(Archive *fout)
Definition: pg_dump.c:5080
void sortDumpableObjects(DumpableObject **objs, int numObjs, DumpId preBoundaryId, DumpId postBoundaryId)
Definition: pg_dump_sort.c:547
struct _SubscriptionInfo SubscriptionInfo
struct _extensionInfo ExtensionInfo
struct _dictInfo TSDictInfo
struct _funcInfo FuncInfo
struct _opclassInfo OpclassInfo
void getDumpableObjects(DumpableObject ***objs, int *numObjs)
Definition: common.c:797
struct _statsExtInfo StatsExtInfo
void getTriggers(Archive *fout, TableInfo tblinfo[], int numTables)
Definition: pg_dump.c:8655
void getTransforms(Archive *fout)
Definition: pg_dump.c:9123
void getEventTriggers(Archive *fout)
Definition: pg_dump.c:8851
DumpableObjectType
Definition: pg_dump.h:39
@ DO_EVENT_TRIGGER
Definition: pg_dump.h:80
@ DO_REFRESH_MATVIEW
Definition: pg_dump.h:81
@ DO_POLICY
Definition: pg_dump.h:82
@ DO_CAST
Definition: pg_dump.h:64
@ DO_FOREIGN_SERVER
Definition: pg_dump.h:73
@ DO_PRE_DATA_BOUNDARY
Definition: pg_dump.h:78
@ DO_PROCLANG
Definition: pg_dump.h:63
@ DO_TYPE
Definition: pg_dump.h:43
@ DO_INDEX
Definition: pg_dump.h:56
@ DO_COLLATION
Definition: pg_dump.h:51
@ DO_LARGE_OBJECT
Definition: pg_dump.h:76
@ DO_TSCONFIG
Definition: pg_dump.h:71
@ DO_OPERATOR
Definition: pg_dump.h:47
@ DO_FK_CONSTRAINT
Definition: pg_dump.h:62
@ DO_CONSTRAINT
Definition: pg_dump.h:61
@ DO_SUBSCRIPTION
Definition: pg_dump.h:87
@ DO_DEFAULT_ACL
Definition: pg_dump.h:74
@ DO_FDW
Definition: pg_dump.h:72
@ DO_SUBSCRIPTION_REL
Definition: pg_dump.h:88
@ DO_REL_STATS
Definition: pg_dump.h:86
@ DO_SEQUENCE_SET
Definition: pg_dump.h:66
@ DO_ATTRDEF
Definition: pg_dump.h:55
@ DO_PUBLICATION_REL
Definition: pg_dump.h:84
@ DO_TABLE_ATTACH
Definition: pg_dump.h:54
@ DO_OPCLASS
Definition: pg_dump.h:49
@ DO_INDEX_ATTACH
Definition: pg_dump.h:57
@ DO_TSTEMPLATE
Definition: pg_dump.h:70
@ DO_STATSEXT
Definition: pg_dump.h:58
@ DO_FUNC
Definition: pg_dump.h:45
@ DO_POST_DATA_BOUNDARY
Definition: pg_dump.h:79
@ DO_LARGE_OBJECT_DATA
Definition: pg_dump.h:77
@ DO_OPFAMILY
Definition: pg_dump.h:50
@ DO_TRANSFORM
Definition: pg_dump.h:75
@ DO_ACCESS_METHOD
Definition: pg_dump.h:48
@ DO_PUBLICATION_TABLE_IN_SCHEMA
Definition: pg_dump.h:85
@ DO_CONVERSION
Definition: pg_dump.h:52
@ DO_TRIGGER
Definition: pg_dump.h:60
@ DO_RULE
Definition: pg_dump.h:59
@ DO_DUMMY_TYPE
Definition: pg_dump.h:67
@ DO_TSDICT
Definition: pg_dump.h:69
@ DO_TSPARSER
Definition: pg_dump.h:68
@ DO_EXTENSION
Definition: pg_dump.h:42
@ DO_TABLE_DATA
Definition: pg_dump.h:65
@ DO_PUBLICATION
Definition: pg_dump.h:83
@ DO_TABLE
Definition: pg_dump.h:53
@ DO_NAMESPACE
Definition: pg_dump.h:41
@ DO_AGG
Definition: pg_dump.h:46
@ DO_SHELL_TYPE
Definition: pg_dump.h:44
struct _PublicationRelInfo PublicationRelInfo
PublicationInfo * findPublicationByOid(Oid oid)
Definition: common.c:1026
void sortDumpableObjectsByTypeName(DumpableObject **objs, int numObjs)
Definition: pg_dump_sort.c:192
struct _convInfo ConvInfo
struct _constraintInfo ConstraintInfo
void getTSTemplates(Archive *fout)
Definition: pg_dump.c:10264
void getProcLangs(Archive *fout)
Definition: pg_dump.c:8929
bool shouldPrintColumn(const DumpOptions *dopt, const TableInfo *tbinfo, int colno)
Definition: pg_dump.c:10109
struct _tableAttachInfo TableAttachInfo
void removeObjectDependency(DumpableObject *dobj, DumpId refId)
Definition: common.c:843
void getOperators(Archive *fout)
Definition: pg_dump.c:6339
void getOpfamilies(Archive *fout)
Definition: pg_dump.c:6680
struct _oprInfo OprInfo
struct _PublicationSchemaInfo PublicationSchemaInfo
unsigned int Oid
Definition: postgres_ext.h:32
const char * rolname
Definition: pg_dump.h:670
bool puballtables
Definition: pg_dump.h:671
bool pubtruncate
Definition: pg_dump.h:675
PublishGencolsType pubgencols_type
Definition: pg_dump.h:677
DumpableObject dobj
Definition: pg_dump.h:669
TableInfo * pubtable
Definition: pg_dump.h:688
PublicationInfo * publication
Definition: pg_dump.h:687
DumpableObject dobj
Definition: pg_dump.h:686
NamespaceInfo * pubschema
Definition: pg_dump.h:701
DumpableObject dobj
Definition: pg_dump.h:699
PublicationInfo * publication
Definition: pg_dump.h:700
DumpableObject dobj
Definition: pg_dump.h:741
char * srsublsn
Definition: pg_dump.h:745
SubscriptionInfo * subinfo
Definition: pg_dump.h:742
TableInfo * tblinfo
Definition: pg_dump.h:743
char srsubstate
Definition: pg_dump.h:744
char * suboriginremotelsn
Definition: pg_dump.h:726
bool subpasswordrequired
Definition: pg_dump.h:716
char * suborigin
Definition: pg_dump.h:725
const char * rolname
Definition: pg_dump.h:710
char * subsynccommit
Definition: pg_dump.h:723
char * subpublications
Definition: pg_dump.h:724
bool subdisableonerr
Definition: pg_dump.h:715
bool subrunasowner
Definition: pg_dump.h:717
char * subslotname
Definition: pg_dump.h:722
char subtwophasestate
Definition: pg_dump.h:714
bool subretaindeadtuples
Definition: pg_dump.h:719
char * subconninfo
Definition: pg_dump.h:721
DumpableObject dobj
Definition: pg_dump.h:709
char * amhandler
Definition: pg_dump.h:272
DumpableObject dobj
Definition: pg_dump.h:270
FuncInfo aggfn
Definition: pg_dump.h:254
DumpableObject dobj
Definition: pg_dump.h:404
char * adef_expr
Definition: pg_dump.h:407
TableInfo * adtable
Definition: pg_dump.h:405
bool separate
Definition: pg_dump.h:408
char castmethod
Definition: pg_dump.h:549
Oid casttarget
Definition: pg_dump.h:546
char castcontext
Definition: pg_dump.h:548
DumpableObject dobj
Definition: pg_dump.h:544
Oid castsource
Definition: pg_dump.h:545
Oid castfunc
Definition: pg_dump.h:547
Oid cfgparser
Definition: pg_dump.h:597
DumpableObject dobj
Definition: pg_dump.h:595
const char * rolname
Definition: pg_dump.h:596
int collencoding
Definition: pg_dump.h:293
const char * rolname
Definition: pg_dump.h:292
DumpableObject dobj
Definition: pg_dump.h:291
TypeInfo * condomain
Definition: pg_dump.h:519
TableInfo * contable
Definition: pg_dump.h:518
bool condeferred
Definition: pg_dump.h:525
bool conperiod
Definition: pg_dump.h:526
bool conislocal
Definition: pg_dump.h:527
DumpableObject dobj
Definition: pg_dump.h:517
DumpId conindex
Definition: pg_dump.h:523
bool condeferrable
Definition: pg_dump.h:524
char * condef
Definition: pg_dump.h:521
DumpableObject dobj
Definition: pg_dump.h:298
const char * rolname
Definition: pg_dump.h:299
DumpableObject dobj
Definition: pg_dump.h:623
DumpableAcl dacl
Definition: pg_dump.h:624
const char * defaclrole
Definition: pg_dump.h:625
char defaclobjtype
Definition: pg_dump.h:626
char * dictinitoption
Definition: pg_dump.h:583
DumpableObject dobj
Definition: pg_dump.h:580
const char * rolname
Definition: pg_dump.h:581
Oid dicttemplate
Definition: pg_dump.h:582
char privtype
Definition: pg_dump.h:173
char * acldefault
Definition: pg_dump.h:171
char * acl
Definition: pg_dump.h:170
char * initprivs
Definition: pg_dump.h:174
DumpableAcl dacl
Definition: pg_dump.h:181
DumpableObject dobj
Definition: pg_dump.h:180
DumpComponents dump
Definition: pg_dump.h:153
char * name
Definition: pg_dump.h:152
DumpId * dependencies
Definition: pg_dump.h:159
DumpId dumpId
Definition: pg_dump.h:151
bool ext_member
Definition: pg_dump.h:157
DumpComponents components
Definition: pg_dump.h:156
DumpableObjectType objType
Definition: pg_dump.h:149
CatalogId catId
Definition: pg_dump.h:150
DumpComponents dump_contains
Definition: pg_dump.h:155
bool depends_on_ext
Definition: pg_dump.h:158
char * evtevent
Definition: pg_dump.h:498
char * evtfname
Definition: pg_dump.h:501
char evtenabled
Definition: pg_dump.h:502
char * evtname
Definition: pg_dump.h:497
const char * evtowner
Definition: pg_dump.h:499
char * evttags
Definition: pg_dump.h:500
DumpableObject dobj
Definition: pg_dump.h:496
bool relocatable
Definition: pg_dump.h:196
char * extversion
Definition: pg_dump.h:198
DumpableObject dobj
Definition: pg_dump.h:195
char * extcondition
Definition: pg_dump.h:200
char * extconfig
Definition: pg_dump.h:199
char * fdwhandler
Definition: pg_dump.h:605
const char * rolname
Definition: pg_dump.h:604
char * fdwvalidator
Definition: pg_dump.h:606
char * fdwoptions
Definition: pg_dump.h:607
DumpableAcl dacl
Definition: pg_dump.h:603
DumpableObject dobj
Definition: pg_dump.h:602
DumpableAcl dacl
Definition: pg_dump.h:613
char * srvoptions
Definition: pg_dump.h:618
DumpableObject dobj
Definition: pg_dump.h:612
const char * rolname
Definition: pg_dump.h:614
char * srvversion
Definition: pg_dump.h:617
bool postponed_def
Definition: pg_dump.h:248
Oid lang
Definition: pg_dump.h:244
const char * rolname
Definition: pg_dump.h:243
Oid * argtypes
Definition: pg_dump.h:246
Oid prorettype
Definition: pg_dump.h:247
DumpableObject dobj
Definition: pg_dump.h:241
int nargs
Definition: pg_dump.h:245
DumpableAcl dacl
Definition: pg_dump.h:242
IndxInfo * partitionIdx
Definition: pg_dump.h:445
DumpableObject dobj
Definition: pg_dump.h:443
IndxInfo * parentIdx
Definition: pg_dump.h:444
bool indisreplident
Definition: pg_dump.h:432
int indnkeyattrs
Definition: pg_dump.h:427
char * indstatvals
Definition: pg_dump.h:426
char * indstatcols
Definition: pg_dump.h:425
int indnattrs
Definition: pg_dump.h:428
TableInfo * indextable
Definition: pg_dump.h:421
Oid parentidx
Definition: pg_dump.h:434
Oid * indkeys
Definition: pg_dump.h:429
char * indreloptions
Definition: pg_dump.h:424
DumpId indexconstraint
Definition: pg_dump.h:438
bool indisclustered
Definition: pg_dump.h:431
SimplePtrList partattaches
Definition: pg_dump.h:435
char * tablespace
Definition: pg_dump.h:423
bool indnullsnotdistinct
Definition: pg_dump.h:433
char * indexdef
Definition: pg_dump.h:422
DumpableObject dobj
Definition: pg_dump.h:420
Oid inhparent
Definition: pg_dump.h:565
Oid inhrelid
Definition: pg_dump.h:564
const char * rolname
Definition: pg_dump.h:641
DumpableObject dobj
Definition: pg_dump.h:639
DumpableAcl dacl
Definition: pg_dump.h:640
Oid looids[FLEXIBLE_ARRAY_MEMBER]
Definition: pg_dump.h:643
int numlos
Definition: pg_dump.h:642
DumpableObject dobj
Definition: pg_dump.h:186
DumpableAcl dacl
Definition: pg_dump.h:187
const char * rolname
Definition: pg_dump.h:190
Oid opcmethod
Definition: pg_dump.h:278
DumpableObject dobj
Definition: pg_dump.h:277
const char * rolname
Definition: pg_dump.h:279
const char * rolname
Definition: pg_dump.h:286
Oid opfmethod
Definition: pg_dump.h:285
DumpableObject dobj
Definition: pg_dump.h:284
DumpableObject dobj
Definition: pg_dump.h:260
Oid oprleft
Definition: pg_dump.h:263
char oprkind
Definition: pg_dump.h:262
Oid oprcode
Definition: pg_dump.h:265
Oid oprright
Definition: pg_dump.h:264
const char * rolname
Definition: pg_dump.h:261
TableInfo * poltable
Definition: pg_dump.h:655
char * polqual
Definition: pg_dump.h:660
char polcmd
Definition: pg_dump.h:657
char * polroles
Definition: pg_dump.h:659
char * polwithcheck
Definition: pg_dump.h:661
DumpableObject dobj
Definition: pg_dump.h:654
bool polpermissive
Definition: pg_dump.h:658
char * polname
Definition: pg_dump.h:656
Oid lanvalidator
Definition: pg_dump.h:538
DumpableAcl dacl
Definition: pg_dump.h:534
DumpableObject dobj
Definition: pg_dump.h:533
Oid laninline
Definition: pg_dump.h:537
const char * lanowner
Definition: pg_dump.h:539
Oid lanplcallfoid
Definition: pg_dump.h:536
bool lanpltrusted
Definition: pg_dump.h:535
DumpableObject dobj
Definition: pg_dump.h:570
Oid prstoken
Definition: pg_dump.h:572
Oid prslextype
Definition: pg_dump.h:575
Oid prsheadline
Definition: pg_dump.h:574
Oid prsstart
Definition: pg_dump.h:571
Oid prsend
Definition: pg_dump.h:573
int32 nindAttNames
Definition: pg_dump.h:462
char relkind
Definition: pg_dump.h:455
char ** indAttNames
Definition: pg_dump.h:461
int32 relpages
Definition: pg_dump.h:451
int32 relallfrozen
Definition: pg_dump.h:454
char * reltuples
Definition: pg_dump.h:452
teSection section
Definition: pg_dump.h:463
int32 relallvisible
Definition: pg_dump.h:453
DumpableObject dobj
Definition: pg_dump.h:450
DumpableObject dobj
Definition: pg_dump.h:476
bool separate
Definition: pg_dump.h:481
char ev_enabled
Definition: pg_dump.h:480
bool is_instead
Definition: pg_dump.h:479
TableInfo * ruletable
Definition: pg_dump.h:477
char ev_type
Definition: pg_dump.h:478
TypeInfo * baseType
Definition: pg_dump.h:236
DumpableObject dobj
Definition: pg_dump.h:234
TableInfo * stattable
Definition: pg_dump.h:470
int stattarget
Definition: pg_dump.h:471
const char * rolname
Definition: pg_dump.h:469
DumpableObject dobj
Definition: pg_dump.h:468
TableInfo * partitionTbl
Definition: pg_dump.h:399
DumpableObject dobj
Definition: pg_dump.h:397
TableInfo * parentTbl
Definition: pg_dump.h:398
TableInfo * tdtable
Definition: pg_dump.h:414
DumpableObject dobj
Definition: pg_dump.h:413
char * filtercond
Definition: pg_dump.h:415
bool * notnull_invalid
Definition: pg_dump.h:376
char * attidentity
Definition: pg_dump.h:361
char * reltablespace
Definition: pg_dump.h:314
char ** notnull_constrs
Definition: pg_dump.h:371
struct _relStatsInfo * stats
Definition: pg_dump.h:381
int ncheck
Definition: pg_dump.h:330
bool ispartition
Definition: pg_dump.h:344
struct _indxInfo * indexes
Definition: pg_dump.h:389
bool * attislocal
Definition: pg_dump.h:365
DumpableObject dobj
Definition: pg_dump.h:307
bool is_identity_sequence
Definition: pg_dump.h:337
Oid reloftype
Definition: pg_dump.h:332
int numParents
Definition: pg_dump.h:347
bool interesting
Definition: pg_dump.h:341
char * toast_reloptions
Definition: pg_dump.h:317
struct _tableInfo ** parents
Definition: pg_dump.h:348
DumpableAcl dacl
Definition: pg_dump.h:308
bool relispopulated
Definition: pg_dump.h:312
char * attgenerated
Definition: pg_dump.h:362
int * attlen
Definition: pg_dump.h:363
Oid reltype
Definition: pg_dump.h:331
char ** attfdwoptions
Definition: pg_dump.h:369
bool hasoids
Definition: pg_dump.h:324
Oid toast_oid
Definition: pg_dump.h:327
Oid foreign_server
Definition: pg_dump.h:333
char ** notnull_comment
Definition: pg_dump.h:375
bool hasrules
Definition: pg_dump.h:319
struct _triggerInfo * triggers
Definition: pg_dump.h:392
bool * attisdropped
Definition: pg_dump.h:360
bool needs_override
Definition: pg_dump.h:382
struct _constraintInfo * checkexprs
Definition: pg_dump.h:380
int * attstattarget
Definition: pg_dump.h:357
bool * notnull_islocal
Definition: pg_dump.h:378
uint32 frozenxid
Definition: pg_dump.h:325
char * typstorage
Definition: pg_dump.h:359
int owning_col
Definition: pg_dump.h:336
char * checkoption
Definition: pg_dump.h:316
int numatts
Definition: pg_dump.h:354
bool hastriggers
Definition: pg_dump.h:320
const char * rolname
Definition: pg_dump.h:309
struct _attrDefInfo ** attrdefs
Definition: pg_dump.h:379
char ** attoptions
Definition: pg_dump.h:366
char relreplident
Definition: pg_dump.h:313
int numTriggers
Definition: pg_dump.h:391
uint32 minmxid
Definition: pg_dump.h:326
Oid * attcollation
Definition: pg_dump.h:367
bool * notnull_noinh
Definition: pg_dump.h:377
char * attstorage
Definition: pg_dump.h:358
int toastpages
Definition: pg_dump.h:339
Oid owning_tab
Definition: pg_dump.h:335
struct _tableDataInfo * dataObj
Definition: pg_dump.h:390
char * amname
Definition: pg_dump.h:383
bool dummy_view
Definition: pg_dump.h:342
int32 relpages
Definition: pg_dump.h:338
bool forcerowsec
Definition: pg_dump.h:323
bool hascolumnACLs
Definition: pg_dump.h:321
char ** atttypnames
Definition: pg_dump.h:356
char ** attmissingval
Definition: pg_dump.h:370
char relpersistence
Definition: pg_dump.h:311
char ** attnames
Definition: pg_dump.h:355
char relkind
Definition: pg_dump.h:310
bool hasindex
Definition: pg_dump.h:318
bool unsafe_partitions
Definition: pg_dump.h:345
char * reloptions
Definition: pg_dump.h:315
int numIndexes
Definition: pg_dump.h:388
uint32 toast_frozenxid
Definition: pg_dump.h:328
uint32 toast_minmxid
Definition: pg_dump.h:329
char * attalign
Definition: pg_dump.h:364
char * attcompression
Definition: pg_dump.h:368
bool postponed_def
Definition: pg_dump.h:343
bool rowsec
Definition: pg_dump.h:322
Oid tmpllexize
Definition: pg_dump.h:590
Oid tmplinit
Definition: pg_dump.h:589
DumpableObject dobj
Definition: pg_dump.h:588
DumpableObject dobj
Definition: pg_dump.h:554
Oid trffromsql
Definition: pg_dump.h:557
TableInfo * tgtable
Definition: pg_dump.h:488
DumpableObject dobj
Definition: pg_dump.h:487
char tgenabled
Definition: pg_dump.h:489
char * tgdef
Definition: pg_dump.h:491
bool tgispartition
Definition: pg_dump.h:490
bool isMultirange
Definition: pg_dump.h:221
struct _constraintInfo * domChecks
Definition: pg_dump.h:229
DumpableAcl dacl
Definition: pg_dump.h:206
DumpableObject dobj
Definition: pg_dump.h:205
bool isDefined
Definition: pg_dump.h:222
char * ftypname
Definition: pg_dump.h:213
char typrelkind
Definition: pg_dump.h:218
Oid typarray
Definition: pg_dump.h:217
Oid typelem
Definition: pg_dump.h:215
struct _shellTypeInfo * shellType
Definition: pg_dump.h:224
int nDomChecks
Definition: pg_dump.h:228
struct _constraintInfo * notnull
Definition: pg_dump.h:226
char typtype
Definition: pg_dump.h:219
const char * rolname
Definition: pg_dump.h:214
Oid typrelid
Definition: pg_dump.h:216
bool isArray
Definition: pg_dump.h:220