src/bin/pg_dump/pg_dump.c
static void
selectDumpableExtension(ExtensionInfo *extinfo, DumpOptions *dopt)
{
	/*
	 * Use DUMP_COMPONENT_ACL for built-in extensions, to allow users to
	 * change permissions on their member objects, if they wish to, and have
	 * those changes preserved.
	 */
	if (extinfo->dobj.catId.oid <= (Oid) g_last_builtin_oid)
		extinfo->dobj.dump = extinfo->dobj.dump_contains = DUMP_COMPONENT_ACL;
	else
	{
		/* check if there is a list of extensions to dump */
		if (extension_include_oids.head != NULL)
			extinfo->dobj.dump = extinfo->dobj.dump_contains =
				simple_oid_list_member(&extension_include_oids,
									   extinfo->dobj.catId.oid) ?
				DUMP_COMPONENT_ALL : DUMP_COMPONENT_NONE;
		else
			extinfo->dobj.dump = extinfo->dobj.dump_contains =
				dopt->include_everything ?
				DUMP_COMPONENT_ALL : DUMP_COMPONENT_NONE;
	}
}
/*
 * selectDumpableExtension: policy-setting subroutine
 *		Mark an extension as to be dumped or not
 *
 * Built-in extensions should be skipped except for checking ACLs, since we
 * assume those will already be installed in the target database.  We identify
 * such extensions by their having OIDs in the range reserved for initdb.
 * We dump all user-added extensions by default.  No extensions are dumped
 * if include_everything is false (i.e., a --schema or --table switch was
 * given), except if --extension specifies a list of extensions to dump.
 */
policy-setting subroutine
Mark an extension as to be dumped or not

Built-in extensions should be skipped except for checking ACLs, since we
assume those will already be installed in the target database.  We identify
such extensions by their having OIDs in the range reserved for initdb.
We dump all user-added extensions by default.  No extensions are dumped
if include_everything is false , except if --extension specifies a list of extensions to dump.
policy - setting subroutine Mark an extension as to be dumped or not Built - in extensions should be skipped except for checking ACLs since we assume those will already be installed in the target database . We identify such extensions by their having OIDs in the range reserved for initdb . We dump all user - added extensions by default . No extensions are dumped if include_everything is false except if -- extension specifies a list of extensions to dump .
static void
selectDumpableExtension(ExtensionInfo *extinfo, DumpOptions *dopt)
{
	if (extinfo->dobj.catId.oid <= (Oid) g_last_builtin_oid)
		extinfo->dobj.dump = extinfo->dobj.dump_contains = DUMP_COMPONENT_ACL;
	else
	{
		if (extension_include_oids.head != NULL)
			extinfo->dobj.dump = extinfo->dobj.dump_contains =
				simple_oid_list_member(&extension_include_oids,
									   extinfo->dobj.catId.oid) ?
				DUMP_COMPONENT_ALL : DUMP_COMPONENT_NONE;
		else
			extinfo->dobj.dump = extinfo->dobj.dump_contains =
				dopt->include_everything ?
				DUMP_COMPONENT_ALL : DUMP_COMPONENT_NONE;
	}
}
static void selectDumpableExtension ( ExtensionInfo * extinfo , DumpOptions * dopt ) { if ( extinfo -> dobj . catId . oid <= ( Oid ) g_last_builtin_oid ) extinfo -> dobj . dump = extinfo -> dobj . dump_contains = DUMP_COMPONENT_ACL ; else { if ( extension_include_oids . head != NULL ) extinfo -> dobj . dump = extinfo -> dobj . dump_contains = simple_oid_list_member ( & extension_include_oids , extinfo -> dobj . catId . oid ) ? DUMP_COMPONENT_ALL : DUMP_COMPONENT_NONE ; else extinfo -> dobj . dump = extinfo -> dobj . dump_contains = dopt -> include_everything ? DUMP_COMPONENT_ALL : DUMP_COMPONENT_NONE ; } }
selectDumpableExtension: policy-setting subroutine
              Mark an extension as to be dumped or not
selectDumpableExtension : policy - setting subroutine Mark an extension as to be dumped or not
/*
	 * Use DUMP_COMPONENT_ACL for built-in extensions, to allow users to
	 * change permissions on their member objects, if they wish to, and have
	 * those changes preserved.
	 */ /* check if there is a list of extensions to dump */