summaryrefslogtreecommitdiffstats
path: root/src/tools/pgindent
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:15:05 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 12:15:05 +0000
commit46651ce6fe013220ed397add242004d764fc0153 (patch)
tree6e5299f990f88e60174a1d3ae6e48eedd2688b2b /src/tools/pgindent
parentInitial commit. (diff)
downloadpostgresql-14-46651ce6fe013220ed397add242004d764fc0153.tar.xz
postgresql-14-46651ce6fe013220ed397add242004d764fc0153.zip
Adding upstream version 14.5.upstream/14.5upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tools/pgindent')
-rw-r--r--src/tools/pgindent/README158
-rw-r--r--src/tools/pgindent/exclude_file_patterns49
-rw-r--r--src/tools/pgindent/perltidyrc16
-rwxr-xr-xsrc/tools/pgindent/pgindent436
-rw-r--r--src/tools/pgindent/pgindent.man40
-rwxr-xr-xsrc/tools/pgindent/pgperltidy12
-rw-r--r--src/tools/pgindent/typedefs.list3761
7 files changed, 4472 insertions, 0 deletions
diff --git a/src/tools/pgindent/README b/src/tools/pgindent/README
new file mode 100644
index 0000000..74412d2
--- /dev/null
+++ b/src/tools/pgindent/README
@@ -0,0 +1,158 @@
+pgindent'ing the PostgreSQL source tree
+=======================================
+
+We run this process at least once in each development cycle,
+to maintain uniform layout style in our C and Perl code.
+
+You might find this blog post interesting:
+http://adpgtech.blogspot.com/2015/05/running-pgindent-on-non-core-code-or.html
+
+
+PREREQUISITES:
+
+1) Install pg_bsd_indent in your PATH. Fetch its source code with
+ git clone https://git.postgresql.org/git/pg_bsd_indent.git
+ then follow the directions in README.pg_bsd_indent therein.
+
+2) Install perltidy. Please be sure it is version 20170521 (older and newer
+ versions make different formatting choices, and we want consistency).
+ You can get the correct version from
+ https://cpan.metacpan.org/authors/id/S/SH/SHANCOCK/
+ To install, follow the usual install process for a Perl module
+ ("man perlmodinstall" explains it). Or, if you have cpan installed,
+ this should work:
+ cpan SHANCOCK/Perl-Tidy-20170521.tar.gz
+
+DOING THE INDENT RUN:
+
+1) Change directory to the top of the source tree.
+
+2) Download the latest typedef file from the buildfarm:
+
+ wget -O src/tools/pgindent/typedefs.list https://buildfarm.postgresql.org/cgi-bin/typedefs.pl
+
+ (See https://buildfarm.postgresql.org/cgi-bin/typedefs.pl?show_list for a full
+ list of typedef files, if you want to indent some back branch.)
+
+3) Run pgindent on the C files:
+
+ src/tools/pgindent/pgindent
+
+ If any files generate errors, restore their original versions with
+ "git checkout", and see below for cleanup ideas.
+
+4) Indent the Perl code using perltidy:
+
+ src/tools/pgindent/pgperltidy
+
+ If you want to use some perltidy version that's not in your PATH,
+ first set the PERLTIDY environment variable to point to it.
+
+5) Reformat the bootstrap catalog data files:
+
+ ./configure # "make" will not work in an unconfigured tree
+ cd src/include/catalog
+ make reformat-dat-files
+ cd ../../..
+
+VALIDATION:
+
+1) Check for any newly-created files using "git status"; there shouldn't
+ be any. (pgindent leaves *.BAK files behind if it has trouble, while
+ perltidy leaves *.LOG files behind.)
+
+2) Do a full test build:
+
+ make -s clean
+ make -s all # look for unexpected warnings, and errors of course
+ make check-world
+
+ Your configure switches should include at least --enable-tap-tests
+ or else much of the Perl code won't get exercised.
+ The ecpg regression tests may well fail due to pgindent's updates of
+ header files that get copied into ecpg output; if so, adjust the
+ expected-files to match.
+
+3) If you have the patience, it's worth eyeballing the "git diff" output
+ for any egregiously ugly changes. See below for cleanup ideas.
+
+
+When you're done, "git commit" everything including the typedefs.list file
+you used.
+
+4) Add the newly created commits to the .git-blame-ignore-revs file so
+ that "git blame" ignores the commits (for anybody that has opted-in
+ to using the ignore file).
+
+Another "git commit" will be required for your ignore file changes.
+
+---------------------------------------------------------------------------
+
+Cleaning up in case of failure or ugly output
+---------------------------------------------
+
+If you don't like the results for any particular file, "git checkout"
+that file to undo the changes, patch the file as needed, then repeat
+the indent process.
+
+pgindent will reflow any comment block that's not at the left margin.
+If this messes up manual formatting that ought to be preserved, protect
+the comment block with some dashes:
+
+ /*----------
+ * Text here will not be touched by pgindent.
+ *----------
+ */
+
+Odd spacing around typedef names might indicate an incomplete typedefs list.
+
+pgindent will mangle both declaration and definition of a C function whose
+name matches a typedef. Currently the best workaround is to choose
+non-conflicting names.
+
+pgindent can get confused by #if sequences that look correct to the compiler
+but have mismatched braces/parentheses when considered as a whole. Usually
+that looks pretty unreadable to humans too, so best practice is to rearrange
+the #if tests to avoid it.
+
+Sometimes, if pgindent or perltidy produces odd-looking output, it's because
+of minor bugs like extra commas. Don't hesitate to clean that up while
+you're at it.
+
+---------------------------------------------------------------------------
+
+BSD indent
+----------
+
+We have standardized on FreeBSD's indent, and renamed it pg_bsd_indent.
+pg_bsd_indent does differ slightly from FreeBSD's version, mostly in
+being more easily portable to non-BSD platforms. You can obtain it from
+https://git.postgresql.org/git/pg_bsd_indent.git
+
+GNU indent, version 2.2.6, has several problems, and is not recommended.
+These bugs become pretty major when you are doing >500k lines of code.
+If you don't believe me, take a directory and make a copy. Run pgindent
+on the copy using GNU indent, and do a diff -r. You will see what I
+mean. GNU indent does some things better, but mangles too. For details,
+see:
+
+ http://archives.postgresql.org/pgsql-hackers/2003-10/msg00374.php
+ http://archives.postgresql.org/pgsql-hackers/2011-04/msg01436.php
+
+---------------------------------------------------------------------------
+
+Which files are processed
+-------------------------
+
+The pgindent run processes (nearly) all PostgreSQL *.c and *.h files,
+but we currently exclude *.y and *.l files, as well as *.c and *.h files
+derived from *.y and *.l files. Additional exceptions are listed
+in exclude_file_patterns; see the notes therein for rationale.
+
+Note that we do not exclude ecpg's header files from the run. Some of them
+get copied verbatim into ecpg's output, meaning that ecpg's expected files
+may need to be updated to match.
+
+The perltidy run processes all *.pl and *.pm files, plus a few
+executable Perl scripts that are not named that way. See the "find"
+rules in pgperltidy for details.
diff --git a/src/tools/pgindent/exclude_file_patterns b/src/tools/pgindent/exclude_file_patterns
new file mode 100644
index 0000000..f08180b
--- /dev/null
+++ b/src/tools/pgindent/exclude_file_patterns
@@ -0,0 +1,49 @@
+# List of filename patterns to exclude from pgindent runs
+#
+# These contain assembly code that pgindent tends to mess up.
+src/include/storage/s_lock\.h$
+src/include/port/atomics/
+#
+# This contains C++ constructs that confuse pgindent.
+src/include/jit/llvmjit\.h$
+#
+# This confuses pgindent, and it's a derived file anyway.
+src/backend/utils/fmgrtab\.c$
+#
+# pgindent might mangle entries in this that match typedef names.
+# Since it's a derived file anyway, just exclude it.
+src/backend/utils/fmgrprotos\.h$
+#
+# kwlist_d files are made by gen_keywordlist.pl. While we could insist that
+# they match pgindent style, they'd look worse not better, so exclude them.
+kwlist_d\.h$
+#
+# These are generated by the scripts from src/common/unicode/. They use
+# hash functions generated by PerfectHash.pm whose format looks worse with
+# pgindent.
+src/include/common/unicode_norm_hashfunc\.h$
+src/include/common/unicode_normprops_table\.h$
+#
+# Exclude ecpg test files to avoid breaking the ecpg regression tests
+# (but include files at the top level of the ecpg/test/ directory).
+src/interfaces/ecpg/test/.*/
+#
+# src/include/snowball/libstemmer/ and src/backend/snowball/libstemmer/
+# are excluded because those files are imported from an external project,
+# rather than maintained locally, and they are machine-generated anyway.
+/snowball/libstemmer/
+#
+# These files are machine-generated by code not under our control,
+# so we shouldn't expect them to conform to our style.
+# (Some versions of dtrace build probes.h files that confuse pgindent, too.)
+src/backend/utils/probes\.h$
+src/include/pg_config\.h$
+src/pl/plperl/ppport\.h$
+src/pl/plperl/SPI\.c$
+src/pl/plperl/Util\.c$
+#
+# Exclude any temporary installations that may be in the tree.
+/tmp_check/
+/tmp_install/
+# ... and for paranoia's sake, don't touch git stuff.
+/\.git/
diff --git a/src/tools/pgindent/perltidyrc b/src/tools/pgindent/perltidyrc
new file mode 100644
index 0000000..9f09f0a
--- /dev/null
+++ b/src/tools/pgindent/perltidyrc
@@ -0,0 +1,16 @@
+--add-whitespace
+--backup-and-modify-in-place
+--backup-file-extension=/
+--delete-old-whitespace
+--entab-leading-whitespace=4
+--keep-old-blank-lines=2
+--maximum-line-length=78
+--nooutdent-long-comments
+--nooutdent-long-quotes
+--nospace-for-semicolon
+--opening-brace-on-new-line
+--output-line-ending=unix
+--paren-tightness=2
+--paren-vertical-tightness=2
+--paren-vertical-tightness-closing=2
+--noblanks-before-comments
diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent
new file mode 100755
index 0000000..f8190b6
--- /dev/null
+++ b/src/tools/pgindent/pgindent
@@ -0,0 +1,436 @@
+#!/usr/bin/perl
+
+# Copyright (c) 2021, PostgreSQL Global Development Group
+
+use strict;
+use warnings;
+use 5.008001;
+
+use Cwd qw(abs_path getcwd);
+use File::Find;
+use File::Spec qw(devnull);
+use File::Temp;
+use IO::Handle;
+use Getopt::Long;
+
+# Update for pg_bsd_indent version
+my $INDENT_VERSION = "2.1.1";
+
+# Our standard indent settings
+my $indent_opts =
+ "-bad -bap -bbb -bc -bl -cli1 -cp33 -cdb -nce -d0 -di12 -nfc1 -i4 -l79 -lp -lpl -nip -npro -sac -tpg -ts4";
+
+my $devnull = File::Spec->devnull;
+
+my ($typedefs_file, $typedef_str, $code_base, $excludes, $indent, $build);
+
+my %options = (
+ "typedefs=s" => \$typedefs_file,
+ "list-of-typedefs=s" => \$typedef_str,
+ "code-base=s" => \$code_base,
+ "excludes=s" => \$excludes,
+ "indent=s" => \$indent,
+ "build" => \$build,);
+GetOptions(%options) || die "bad command line argument\n";
+
+run_build($code_base) if ($build);
+
+# command line option wins, then first non-option arg,
+# then environment (which is how --build sets it) ,
+# then locations. based on current dir, then default location
+$typedefs_file ||= shift if @ARGV && $ARGV[0] !~ /\.[ch]$/;
+$typedefs_file ||= $ENV{PGTYPEDEFS};
+
+# build mode sets PGINDENT
+$indent ||= $ENV{PGINDENT} || $ENV{INDENT} || "pg_bsd_indent";
+
+# no non-option arguments given. so do everything in the current directory
+$code_base ||= '.' unless @ARGV;
+
+# if it's the base of a postgres tree, we will exclude the files
+# postgres wants excluded
+$excludes ||= "$code_base/src/tools/pgindent/exclude_file_patterns"
+ if $code_base && -f "$code_base/src/tools/pgindent/exclude_file_patterns";
+
+# The typedef list that's mechanically extracted by the buildfarm may omit
+# some names we want to treat like typedefs, e.g. "bool" (which is a macro
+# according to <stdbool.h>), and may include some names we don't want
+# treated as typedefs, although various headers that some builds include
+# might make them so. For the moment we just hardwire a list of names
+# to add and a list of names to exclude; eventually this may need to be
+# easier to configure. Note that the typedefs need trailing newlines.
+my @additional = ("bool\n");
+
+my %excluded = map { +"$_\n" => 1 } qw(
+ ANY FD_SET U abs allocfunc boolean date digit ilist interval iterator other
+ pointer printfunc reference string timestamp type wrap
+);
+
+# globals
+my @files;
+my $filtered_typedefs_fh;
+
+
+sub check_indent
+{
+ system("$indent -? < $devnull > $devnull 2>&1");
+ if ($? >> 8 != 1)
+ {
+ print STDERR
+ "You do not appear to have $indent installed on your system.\n";
+ exit 1;
+ }
+
+ if (`$indent --version` !~ m/ $INDENT_VERSION /)
+ {
+ print STDERR
+ "You do not appear to have $indent version $INDENT_VERSION installed on your system.\n";
+ exit 1;
+ }
+
+ system("$indent -gnu < $devnull > $devnull 2>&1");
+ if ($? == 0)
+ {
+ print STDERR
+ "You appear to have GNU indent rather than BSD indent.\n";
+ exit 1;
+ }
+
+ return;
+}
+
+
+sub load_typedefs
+{
+
+ # try fairly hard to find the typedefs file if it's not set
+
+ foreach my $try ('.', 'src/tools/pgindent', '/usr/local/etc')
+ {
+ $typedefs_file ||= "$try/typedefs.list"
+ if (-f "$try/typedefs.list");
+ }
+
+ # try to find typedefs by moving up directory levels
+ my $tdtry = "..";
+ foreach (1 .. 5)
+ {
+ $typedefs_file ||= "$tdtry/src/tools/pgindent/typedefs.list"
+ if (-f "$tdtry/src/tools/pgindent/typedefs.list");
+ $tdtry = "$tdtry/..";
+ }
+ die "cannot locate typedefs file \"$typedefs_file\"\n"
+ unless $typedefs_file && -f $typedefs_file;
+
+ open(my $typedefs_fh, '<', $typedefs_file)
+ || die "cannot open typedefs file \"$typedefs_file\": $!\n";
+ my @typedefs = <$typedefs_fh>;
+ close($typedefs_fh);
+
+ # add command-line-supplied typedefs?
+ if (defined($typedef_str))
+ {
+ foreach my $typedef (split(m/[, \t\n]+/, $typedef_str))
+ {
+ push(@typedefs, $typedef . "\n");
+ }
+ }
+
+ # add additional entries
+ push(@typedefs, @additional);
+
+ # remove excluded entries
+ @typedefs = grep { !$excluded{$_} } @typedefs;
+
+ # write filtered typedefs
+ my $filter_typedefs_fh = new File::Temp(TEMPLATE => "pgtypedefXXXXX");
+ print $filter_typedefs_fh @typedefs;
+ $filter_typedefs_fh->close();
+
+ # temp file remains because we return a file handle reference
+ return $filter_typedefs_fh;
+}
+
+
+sub process_exclude
+{
+ if ($excludes && @files)
+ {
+ open(my $eh, '<', $excludes)
+ || die "cannot open exclude file \"$excludes\"\n";
+ while (my $line = <$eh>)
+ {
+ chomp $line;
+ next if $line =~ m/^#/;
+ my $rgx = qr!$line!;
+ @files = grep { $_ !~ /$rgx/ } @files if $rgx;
+ }
+ close($eh);
+ }
+ return;
+}
+
+
+sub read_source
+{
+ my $source_filename = shift;
+ my $source;
+
+ open(my $src_fd, '<', $source_filename)
+ || die "cannot open file \"$source_filename\": $!\n";
+ local ($/) = undef;
+ $source = <$src_fd>;
+ close($src_fd);
+
+ return $source;
+}
+
+
+sub write_source
+{
+ my $source = shift;
+ my $source_filename = shift;
+
+ open(my $src_fh, '>', $source_filename)
+ || die "cannot open file \"$source_filename\": $!\n";
+ print $src_fh $source;
+ close($src_fh);
+ return;
+}
+
+
+sub pre_indent
+{
+ my $source = shift;
+
+ ## Comments
+
+ # Convert // comments to /* */
+ $source =~ s!^([ \t]*)//(.*)$!$1/* $2 */!gm;
+
+ # Adjust dash-protected block comments so indent won't change them
+ $source =~ s!/\* +---!/*---X_X!g;
+
+ ## Other
+
+ # Prevent indenting of code in 'extern "C"' blocks.
+ # we replace the braces with comments which we'll reverse later
+ my $extern_c_start = '/* Open extern "C" */';
+ my $extern_c_stop = '/* Close extern "C" */';
+ $source =~
+ s!(^#ifdef[ \t]+__cplusplus.*\nextern[ \t]+"C"[ \t]*\n)\{[ \t]*$!$1$extern_c_start!gm;
+ $source =~ s!(^#ifdef[ \t]+__cplusplus.*\n)\}[ \t]*$!$1$extern_c_stop!gm;
+
+ # Protect wrapping in CATALOG()
+ $source =~ s!^(CATALOG\(.*)$!/*$1*/!gm;
+
+ return $source;
+}
+
+
+sub post_indent
+{
+ my $source = shift;
+ my $source_filename = shift;
+
+ # Restore CATALOG lines
+ $source =~ s!^/\*(CATALOG\(.*)\*/$!$1!gm;
+
+ # Put back braces for extern "C"
+ $source =~ s!^/\* Open extern "C" \*/$!{!gm;
+ $source =~ s!^/\* Close extern "C" \*/$!}!gm;
+
+ ## Comments
+
+ # Undo change of dash-protected block comments
+ $source =~ s!/\*---X_X!/* ---!g;
+
+ # Fix run-together comments to have a tab between them
+ $source =~ s!\*/(/\*.*\*/)$!*/\t$1!gm;
+
+ ## Functions
+
+ # Use a single space before '*' in function return types
+ $source =~ s!^([A-Za-z_]\S*)[ \t]+\*$!$1 *!gm;
+
+ return $source;
+}
+
+
+sub run_indent
+{
+ my $source = shift;
+ my $error_message = shift;
+
+ my $cmd = "$indent $indent_opts -U" . $filtered_typedefs_fh->filename;
+
+ my $tmp_fh = new File::Temp(TEMPLATE => "pgsrcXXXXX");
+ my $filename = $tmp_fh->filename;
+ print $tmp_fh $source;
+ $tmp_fh->close();
+
+ $$error_message = `$cmd $filename 2>&1`;
+
+ return "" if ($? || length($$error_message) > 0);
+
+ unlink "$filename.BAK";
+
+ open(my $src_out, '<', $filename);
+ local ($/) = undef;
+ $source = <$src_out>;
+ close($src_out);
+
+ return $source;
+
+}
+
+
+# for development diagnostics
+sub diff
+{
+ my $pre = shift;
+ my $post = shift;
+ my $flags = shift || "";
+
+ print STDERR "running diff\n";
+
+ my $pre_fh = new File::Temp(TEMPLATE => "pgdiffbXXXXX");
+ my $post_fh = new File::Temp(TEMPLATE => "pgdiffaXXXXX");
+
+ print $pre_fh $pre;
+ print $post_fh $post;
+
+ $pre_fh->close();
+ $post_fh->close();
+
+ system( "diff $flags "
+ . $pre_fh->filename . " "
+ . $post_fh->filename
+ . " >&2");
+ return;
+}
+
+
+sub run_build
+{
+ eval "use LWP::Simple;"; ## no critic (ProhibitStringyEval);
+
+ my $code_base = shift || '.';
+ my $save_dir = getcwd();
+
+ # look for the code root
+ foreach (1 .. 5)
+ {
+ last if -d "$code_base/src/tools/pgindent";
+ $code_base = "$code_base/..";
+ }
+
+ die "cannot locate src/tools/pgindent directory in \"$code_base\"\n"
+ unless -d "$code_base/src/tools/pgindent";
+
+ chdir "$code_base/src/tools/pgindent";
+
+ my $typedefs_list_url =
+ "https://buildfarm.postgresql.org/cgi-bin/typedefs.pl";
+
+ my $rv = getstore($typedefs_list_url, "tmp_typedefs.list");
+
+ die "cannot fetch typedefs list from $typedefs_list_url\n"
+ unless is_success($rv);
+
+ $ENV{PGTYPEDEFS} = abs_path('tmp_typedefs.list');
+
+ my $indentrepo = "https://git.postgresql.org/git/pg_bsd_indent.git";
+ system("git clone $indentrepo >$devnull 2>&1");
+ die "could not fetch pg_bsd_indent sources from $indentrepo\n"
+ unless $? == 0;
+
+ chdir "pg_bsd_indent" || die;
+ system("make all check >$devnull");
+ die "could not build pg_bsd_indent from source\n"
+ unless $? == 0;
+
+ $ENV{PGINDENT} = abs_path('pg_bsd_indent');
+
+ chdir $save_dir;
+ return;
+}
+
+
+sub build_clean
+{
+ my $code_base = shift || '.';
+
+ # look for the code root
+ foreach (1 .. 5)
+ {
+ last if -d "$code_base/src/tools/pgindent";
+ $code_base = "$code_base/..";
+ }
+
+ die "cannot locate src/tools/pgindent directory in \"$code_base\"\n"
+ unless -d "$code_base/src/tools/pgindent";
+
+ chdir "$code_base";
+
+ system("rm -rf src/tools/pgindent/pg_bsd_indent");
+ system("rm -f src/tools/pgindent/tmp_typedefs.list");
+ return;
+}
+
+
+# main
+
+# get the list of files under code base, if it's set
+File::Find::find(
+ {
+ wanted => sub {
+ my ($dev, $ino, $mode, $nlink, $uid, $gid);
+ (($dev, $ino, $mode, $nlink, $uid, $gid) = lstat($_))
+ && -f _
+ && /^.*\.[ch]\z/s
+ && push(@files, $File::Find::name);
+ }
+ },
+ $code_base) if $code_base;
+
+process_exclude();
+
+$filtered_typedefs_fh = load_typedefs();
+
+check_indent();
+
+# any non-option arguments are files to be processed
+push(@files, @ARGV);
+
+foreach my $source_filename (@files)
+{
+
+ # Automatically ignore .c and .h files that correspond to a .y or .l
+ # file. indent tends to get badly confused by Bison/flex output,
+ # and there's no value in indenting derived files anyway.
+ my $otherfile = $source_filename;
+ $otherfile =~ s/\.[ch]$/.y/;
+ next if $otherfile ne $source_filename && -f $otherfile;
+ $otherfile =~ s/\.y$/.l/;
+ next if $otherfile ne $source_filename && -f $otherfile;
+
+ my $source = read_source($source_filename);
+ my $orig_source = $source;
+ my $error_message = '';
+
+ $source = pre_indent($source);
+
+ $source = run_indent($source, \$error_message);
+ if ($source eq "")
+ {
+ print STDERR "Failure in $source_filename: " . $error_message . "\n";
+ next;
+ }
+
+ $source = post_indent($source, $source_filename);
+
+ write_source($source, $source_filename) if $source ne $orig_source;
+}
+
+build_clean($code_base) if $build;
diff --git a/src/tools/pgindent/pgindent.man b/src/tools/pgindent/pgindent.man
new file mode 100644
index 0000000..1c5aedd
--- /dev/null
+++ b/src/tools/pgindent/pgindent.man
@@ -0,0 +1,40 @@
+pgindent will indent .c and .h files according to the coding standards of
+the PostgreSQL project. It needs several things to run, and tries to locate
+or build them if possible. They can also be specified via command line switches
+or the environment.
+
+In its simplest form, if all the required objects are installed, simply run
+it without any parameters at the top of the source tree you want to process.
+
+ pgindent
+
+If you don't have all the requirements installed, pgindent will fetch and build
+them for you, if you're in a PostgreSQL source tree:
+
+ pgindent --build
+
+If your pg_bsd_indent program is not installed in your path, you can specify
+it by setting the environment variable INDENT, or PGINDENT, or by giving the
+command line option --indent:
+
+ pgindent --indent=/opt/extras/bsdindent
+
+pgindent also needs a file containing a list of typedefs. This can be
+specified using the PGTYPEDEFS environment variable, or via the command line
+--typedefs option. If neither is used, it will look for it within the
+current source tree, or in /usr/local/etc/typedefs.list.
+
+If you want to indent a source tree other than the current working directory,
+you can specify it via the --code-base command line option.
+
+We don't want to indent certain files in the PostgreSQL source. pgindent
+will honor a file containing a list of patterns of files to avoid. This
+file can be specified using the --excludes command line option. If indenting
+a PostgreSQL source tree, this option isn't necessary, as it will find the file
+src/tools/pgindent/exclude_file_patterns.
+
+Any non-option arguments are taken as the names of files to be indented. In this
+case only these files will be changed, and nothing else will be touched. If the
+first non-option argument is not a .c or .h file, it is treated as the name
+of a typedefs file for legacy reasons, but this use is deprecated - use the
+--typedefs option instead.
diff --git a/src/tools/pgindent/pgperltidy b/src/tools/pgindent/pgperltidy
new file mode 100755
index 0000000..5e70411
--- /dev/null
+++ b/src/tools/pgindent/pgperltidy
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# src/tools/pgindent/pgperltidy
+
+set -e
+
+# set this to override default perltidy program:
+PERLTIDY=${PERLTIDY:-perltidy}
+
+. src/tools/perlcheck/find_perl_files
+
+find_perl_files | xargs $PERLTIDY --profile=src/tools/pgindent/perltidyrc
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list
new file mode 100644
index 0000000..d71d1ad
--- /dev/null
+++ b/src/tools/pgindent/typedefs.list
@@ -0,0 +1,3761 @@
+ACCESS_ALLOWED_ACE
+ACL
+ACL_SIZE_INFORMATION
+AFFIX
+ASN1_INTEGER
+ASN1_OBJECT
+ASN1_STRING
+AV
+A_ArrayExpr
+A_Const
+A_Expr
+A_Expr_Kind
+A_Indices
+A_Indirection
+A_Star
+AbsoluteTime
+AccessMethodInfo
+AccessPriv
+Acl
+AclItem
+AclMaskHow
+AclMode
+AclResult
+AcquireSampleRowsFunc
+ActionList
+ActiveSnapshotElt
+AddForeignUpdateTargets_function
+AffixNode
+AffixNodeData
+AfterTriggerEvent
+AfterTriggerEventChunk
+AfterTriggerEventData
+AfterTriggerEventList
+AfterTriggerShared
+AfterTriggerSharedData
+AfterTriggersData
+AfterTriggersQueryData
+AfterTriggersTableData
+AfterTriggersTransData
+Agg
+AggClauseCosts
+AggInfo
+AggPath
+AggSplit
+AggState
+AggStatePerAgg
+AggStatePerGroup
+AggStatePerHash
+AggStatePerPhase
+AggStatePerTrans
+AggStrategy
+AggTransInfo
+Aggref
+AggregateInstrumentation
+AlenState
+Alias
+AllocBlock
+AllocChunk
+AllocPointer
+AllocSet
+AllocSetContext
+AllocSetFreeList
+AllocateDesc
+AllocateDescKind
+AlterCollationStmt
+AlterDatabaseSetStmt
+AlterDatabaseStmt
+AlterDefaultPrivilegesStmt
+AlterDomainStmt
+AlterEnumStmt
+AlterEventTrigStmt
+AlterExtensionContentsStmt
+AlterExtensionStmt
+AlterFdwStmt
+AlterForeignServerStmt
+AlterFunctionStmt
+AlterObjectDependsStmt
+AlterObjectSchemaStmt
+AlterOpFamilyStmt
+AlterOperatorStmt
+AlterOwnerStmt
+AlterPolicyStmt
+AlterPublicationStmt
+AlterRoleSetStmt
+AlterRoleStmt
+AlterSeqStmt
+AlterStatsStmt
+AlterSubscriptionStmt
+AlterSubscriptionType
+AlterSystemStmt
+AlterTSConfigType
+AlterTSConfigurationStmt
+AlterTSDictionaryStmt
+AlterTableCmd
+AlterTableMoveAllStmt
+AlterTableSpaceOptionsStmt
+AlterTableStmt
+AlterTableType
+AlterTableUtilityContext
+AlterTypeRecurseParams
+AlterTypeStmt
+AlterUserMappingStmt
+AlteredTableInfo
+AlternativeSubPlan
+AmcheckOptions
+AnalyzeAttrComputeStatsFunc
+AnalyzeAttrFetchFunc
+AnalyzeForeignTable_function
+AnlExprData
+AnlIndexData
+AnyArrayType
+Append
+AppendPath
+AppendRelInfo
+AppendState
+ApplyExecutionData
+ApplySubXactData
+Archive
+ArchiveEntryPtrType
+ArchiveFormat
+ArchiveHandle
+ArchiveMode
+ArchiveOpts
+ArchiverOutput
+ArchiverStage
+ArrayAnalyzeExtraData
+ArrayBuildState
+ArrayBuildStateAny
+ArrayBuildStateArr
+ArrayCoerceExpr
+ArrayConstIterState
+ArrayExpr
+ArrayExprIterState
+ArrayIOData
+ArrayIterator
+ArrayMapState
+ArrayMetaState
+ArrayParseState
+ArraySubWorkspace
+ArrayType
+AsyncQueueControl
+AsyncQueueEntry
+AsyncRequest
+AttInMetadata
+AttStatsSlot
+AttoptCacheEntry
+AttoptCacheKey
+AttrDefInfo
+AttrDefault
+AttrMap
+AttrMissing
+AttrNumber
+AttributeOpts
+AuthRequest
+AutoPrewarmSharedState
+AutoVacOpts
+AutoVacuumShmemStruct
+AutoVacuumWorkItem
+AutoVacuumWorkItemType
+AuxProcType
+BF_ctx
+BF_key
+BF_word
+BF_word_signed
+BIGNUM
+BIO
+BIO_METHOD
+BITVECP
+BMS_Comparison
+BMS_Membership
+BN_CTX
+BOOL
+BOOLEAN
+BOX
+BTArrayKeyInfo
+BTBuildState
+BTCycleId
+BTDedupInterval
+BTDedupState
+BTDedupStateData
+BTDeletedPageData
+BTIndexStat
+BTInsertState
+BTInsertStateData
+BTLeader
+BTMetaPageData
+BTOneVacInfo
+BTOptions
+BTPS_State
+BTPageOpaque
+BTPageOpaqueData
+BTPageStat
+BTPageState
+BTParallelScanDesc
+BTPendingFSM
+BTScanInsert
+BTScanInsertData
+BTScanOpaque
+BTScanOpaqueData
+BTScanPos
+BTScanPosData
+BTScanPosItem
+BTShared
+BTSortArrayContext
+BTSpool
+BTStack
+BTStackData
+BTVacInfo
+BTVacState
+BTVacuumPosting
+BTVacuumPostingData
+BTWriteState
+BUF_MEM
+BYTE
+BY_HANDLE_FILE_INFORMATION
+Backend
+BackendId
+BackendParameters
+BackendState
+BackendType
+BackgroundWorker
+BackgroundWorkerArray
+BackgroundWorkerHandle
+BackgroundWorkerSlot
+Barrier
+BaseBackupCmd
+BeginDirectModify_function
+BeginForeignInsert_function
+BeginForeignModify_function
+BeginForeignScan_function
+BeginSampleScan_function
+BernoulliSamplerData
+BgWorkerStartTime
+BgwHandleStatus
+BinaryArithmFunc
+BindParamCbData
+BipartiteMatchState
+BitmapAnd
+BitmapAndPath
+BitmapAndState
+BitmapHeapPath
+BitmapHeapScan
+BitmapHeapScanState
+BitmapIndexScan
+BitmapIndexScanState
+BitmapOr
+BitmapOrPath
+BitmapOrState
+Bitmapset
+BlobInfo
+Block
+BlockId
+BlockIdData
+BlockInfoRecord
+BlockNumber
+BlockSampler
+BlockSamplerData
+BlockedProcData
+BlockedProcsData
+BloomBuildState
+BloomFilter
+BloomMetaPageData
+BloomOpaque
+BloomOptions
+BloomPageOpaque
+BloomPageOpaqueData
+BloomScanOpaque
+BloomScanOpaqueData
+BloomSignatureWord
+BloomState
+BloomTuple
+BlowfishContext
+BoolAggState
+BoolExpr
+BoolExprType
+BoolTestType
+BooleanTest
+BpChar
+BrinBuildState
+BrinDesc
+BrinMemTuple
+BrinMetaPageData
+BrinOpaque
+BrinOpcInfo
+BrinOptions
+BrinRevmap
+BrinSpecialSpace
+BrinStatsData
+BrinTuple
+BrinValues
+BtreeCheckState
+BtreeLevel
+Bucket
+BufFile
+Buffer
+BufferAccessStrategy
+BufferAccessStrategyType
+BufferCachePagesContext
+BufferCachePagesRec
+BufferDesc
+BufferDescPadded
+BufferHeapTupleTableSlot
+BufferLookupEnt
+BufferStrategyControl
+BufferTag
+BufferUsage
+BuildAccumulator
+BuiltinScript
+BulkInsertState
+BulkInsertStateData
+CACHESIGN
+CAC_state
+CCFastEqualFN
+CCHashFN
+CEOUC_WAIT_MODE
+CFuncHashTabEntry
+CHAR
+CHECKPOINT
+CHKVAL
+CIRCLE
+CMPDAffix
+CONTEXT
+COP
+CRITICAL_SECTION
+CRSSnapshotAction
+CState
+CTECycleClause
+CTEMaterialize
+CTESearchClause
+CV
+CachedExpression
+CachedPlan
+CachedPlanSource
+CallContext
+CallStmt
+CancelRequestPacket
+CaseExpr
+CaseTestExpr
+CaseWhen
+Cash
+CastInfo
+CatCList
+CatCTup
+CatCache
+CatCacheHeader
+CatalogId
+CatalogIndexState
+ChangeVarNodes_context
+CheckPoint
+CheckPointStmt
+CheckpointStatsData
+CheckpointerRequest
+CheckpointerShmemStruct
+Chromosome
+CkptSortItem
+CkptTsStatus
+ClientAuthentication_hook_type
+ClientCertMode
+ClientCertName
+ClientData
+ClonePtrType
+ClosePortalStmt
+ClosePtrType
+Clump
+ClusterInfo
+ClusterParams
+ClusterStmt
+CmdType
+CoalesceExpr
+CoerceParamHook
+CoerceToDomain
+CoerceToDomainValue
+CoerceViaIO
+CoercionContext
+CoercionForm
+CoercionPathType
+CollAliasData
+CollInfo
+CollateClause
+CollateExpr
+CollateStrength
+CollectedATSubcmd
+CollectedCommand
+CollectedCommandType
+ColorTrgm
+ColorTrgmInfo
+ColumnCompareData
+ColumnDef
+ColumnIOData
+ColumnRef
+ColumnsHashData
+CombinationGenerator
+ComboCidEntry
+ComboCidEntryData
+ComboCidKey
+ComboCidKeyData
+Command
+CommandDest
+CommandId
+CommandTag
+CommandTagBehavior
+CommentItem
+CommentStmt
+CommitTimestampEntry
+CommitTimestampShared
+CommonEntry
+CommonTableExpr
+CompareScalarsContext
+CompiledExprState
+CompositeIOData
+CompositeTypeStmt
+CompoundAffixFlag
+CompressionAlgorithm
+CompressorState
+ComputeXidHorizonsResult
+ConditionVariable
+ConditionVariableMinimallyPadded
+ConditionalStack
+ConfigData
+ConfigVariable
+ConnCacheEntry
+ConnCacheKey
+ConnParams
+ConnStatusType
+ConnType
+ConnectionStateEnum
+ConnsAllowedState
+ConsiderSplitContext
+Const
+ConstrCheck
+ConstrType
+Constraint
+ConstraintCategory
+ConstraintInfo
+ConstraintsSetStmt
+ControlData
+ControlFileData
+ConvInfo
+ConvProcInfo
+ConversionLocation
+ConvertRowtypeExpr
+CookedConstraint
+CopyDest
+CopyFormatOptions
+CopyFromState
+CopyFromStateData
+CopyInsertMethod
+CopyMultiInsertBuffer
+CopyMultiInsertInfo
+CopySource
+CopyStmt
+CopyToState
+CopyToStateData
+Cost
+CostSelector
+Counters
+CoverExt
+CoverPos
+CreateAmStmt
+CreateCastStmt
+CreateConversionStmt
+CreateDomainStmt
+CreateEnumStmt
+CreateEventTrigStmt
+CreateExtensionStmt
+CreateFdwStmt
+CreateForeignServerStmt
+CreateForeignTableStmt
+CreateFunctionStmt
+CreateOpClassItem
+CreateOpClassStmt
+CreateOpFamilyStmt
+CreatePLangStmt
+CreatePolicyStmt
+CreatePublicationStmt
+CreateRangeStmt
+CreateReplicationSlotCmd
+CreateRoleStmt
+CreateSchemaStmt
+CreateSchemaStmtContext
+CreateSeqStmt
+CreateStatsStmt
+CreateStmt
+CreateStmtContext
+CreateSubscriptionStmt
+CreateTableAsStmt
+CreateTableSpaceStmt
+CreateTransformStmt
+CreateTrigStmt
+CreateUserMappingStmt
+CreatedbStmt
+CredHandle
+CteItem
+CteScan
+CteScanState
+CteState
+CtlCommand
+CtxtHandle
+CurrentOfExpr
+CustomExecMethods
+CustomOutPtrType
+CustomPath
+CustomScan
+CustomScanMethods
+CustomScanState
+CycleCtr
+DBState
+DCHCacheEntry
+DEADLOCK_INFO
+DECountItem
+DH
+DIR
+DNSServiceErrorType
+DNSServiceRef
+DR_copy
+DR_intorel
+DR_printtup
+DR_sqlfunction
+DR_transientrel
+DSA
+DWORD
+DataDumperPtr
+DataPageDeleteStack
+DatabaseInfo
+DateADT
+Datum
+DatumTupleFields
+DbInfo
+DbInfoArr
+DeClonePtrType
+DeadLockState
+DeallocateStmt
+DeclareCursorStmt
+DecodedBkpBlock
+DecodingOutputState
+DefElem
+DefElemAction
+DefaultACLInfo
+DefineStmt
+DeleteStmt
+DependencyGenerator
+DependencyGeneratorData
+DependencyType
+DestReceiver
+DictISpell
+DictInt
+DictSimple
+DictSnowball
+DictSubState
+DictSyn
+DictThesaurus
+DimensionInfo
+DirectoryMethodData
+DirectoryMethodFile
+DisableTimeoutParams
+DiscardMode
+DiscardStmt
+DistanceValue
+DistinctExpr
+DoStmt
+DocRepresentation
+DomainConstraintCache
+DomainConstraintRef
+DomainConstraintState
+DomainConstraintType
+DomainIOData
+DropBehavior
+DropOwnedStmt
+DropReplicationSlotCmd
+DropRoleStmt
+DropStmt
+DropSubscriptionStmt
+DropTableSpaceStmt
+DropUserMappingStmt
+DropdbStmt
+DumpComponents
+DumpId
+DumpOptions
+DumpSignalInformation
+DumpableObject
+DumpableObjectType
+DynamicFileList
+DynamicZoneAbbrev
+EC_KEY
+EDGE
+ENGINE
+EOM_flatten_into_method
+EOM_get_flat_size_method
+EPQState
+EPlan
+EState
+EVP_CIPHER
+EVP_CIPHER_CTX
+EVP_MD
+EVP_MD_CTX
+EVP_PKEY
+EachState
+Edge
+EditableObjectType
+ElementsState
+EnableTimeoutParams
+EndBlobPtrType
+EndBlobsPtrType
+EndDataPtrType
+EndDirectModify_function
+EndForeignInsert_function
+EndForeignModify_function
+EndForeignScan_function
+EndSampleScan_function
+EnumItem
+EolType
+EphemeralNameRelationType
+EphemeralNamedRelation
+EphemeralNamedRelationData
+EphemeralNamedRelationMetadata
+EphemeralNamedRelationMetadataData
+EquivalenceClass
+EquivalenceMember
+ErrorContextCallback
+ErrorData
+EstimateDSMForeignScan_function
+EstimationInfo
+EventTriggerCacheEntry
+EventTriggerCacheItem
+EventTriggerCacheStateType
+EventTriggerData
+EventTriggerEvent
+EventTriggerInfo
+EventTriggerQueryState
+ExceptionLabelMap
+ExceptionMap
+ExclusiveBackupState
+ExecAuxRowMark
+ExecEvalBoolSubroutine
+ExecEvalSubroutine
+ExecForeignBatchInsert_function
+ExecForeignDelete_function
+ExecForeignInsert_function
+ExecForeignTruncate_function
+ExecForeignUpdate_function
+ExecParallelEstimateContext
+ExecParallelInitializeDSMContext
+ExecPhraseData
+ExecProcNodeMtd
+ExecRowMark
+ExecScanAccessMtd
+ExecScanRecheckMtd
+ExecStatus
+ExecStatusType
+ExecuteStmt
+ExecutorCheckPerms_hook_type
+ExecutorEnd_hook_type
+ExecutorFinish_hook_type
+ExecutorRun_hook_type
+ExecutorStart_hook_type
+ExpandedArrayHeader
+ExpandedObjectHeader
+ExpandedObjectMethods
+ExpandedRange
+ExpandedRecordFieldInfo
+ExpandedRecordHeader
+ExplainDirectModify_function
+ExplainForeignModify_function
+ExplainForeignScan_function
+ExplainFormat
+ExplainOneQuery_hook_type
+ExplainState
+ExplainStmt
+ExplainWorkersState
+ExportedSnapshot
+Expr
+ExprContext
+ExprContextCallbackFunction
+ExprContext_CB
+ExprDoneCond
+ExprEvalOp
+ExprEvalOpLookup
+ExprEvalRowtypeCache
+ExprEvalStep
+ExprState
+ExprStateEvalFunc
+ExtensibleNode
+ExtensibleNodeEntry
+ExtensibleNodeMethods
+ExtensionControlFile
+ExtensionInfo
+ExtensionMemberId
+ExtensionVersionInfo
+FDWCollateState
+FD_SET
+FILE
+FILETIME
+FILE_INFORMATION_CLASS
+FILE_STANDARD_INFORMATION
+FSMAddress
+FSMPage
+FSMPageData
+FakeRelCacheEntry
+FakeRelCacheEntryData
+FastPathStrongRelationLockData
+FdwInfo
+FdwRoutine
+FetchDirection
+FetchStmt
+FieldSelect
+FieldStore
+File
+FileFdwExecutionState
+FileFdwPlanState
+FileNameMap
+FileTag
+FinalPathExtraData
+FindColsContext
+FindSplitData
+FindSplitStrat
+FixedParallelExecutorState
+FixedParallelState
+FixedParamState
+FlagMode
+FlushPosition
+FmgrBuiltin
+FmgrHookEventType
+FmgrInfo
+ForBothCellState
+ForBothState
+ForEachState
+ForFiveState
+ForFourState
+ForThreeState
+ForeignAsyncConfigureWait_function
+ForeignAsyncNotify_function
+ForeignAsyncRequest_function
+ForeignDataWrapper
+ForeignKeyCacheInfo
+ForeignKeyOptInfo
+ForeignPath
+ForeignScan
+ForeignScanState
+ForeignServer
+ForeignServerInfo
+ForeignTable
+ForeignTruncateInfo
+ForkNumber
+FormData_pg_aggregate
+FormData_pg_am
+FormData_pg_amop
+FormData_pg_amproc
+FormData_pg_attrdef
+FormData_pg_attribute
+FormData_pg_auth_members
+FormData_pg_authid
+FormData_pg_cast
+FormData_pg_class
+FormData_pg_collation
+FormData_pg_constraint
+FormData_pg_conversion
+FormData_pg_database
+FormData_pg_default_acl
+FormData_pg_depend
+FormData_pg_enum
+FormData_pg_event_trigger
+FormData_pg_extension
+FormData_pg_foreign_data_wrapper
+FormData_pg_foreign_server
+FormData_pg_foreign_table
+FormData_pg_index
+FormData_pg_inherits
+FormData_pg_language
+FormData_pg_largeobject
+FormData_pg_largeobject_metadata
+FormData_pg_namespace
+FormData_pg_opclass
+FormData_pg_operator
+FormData_pg_opfamily
+FormData_pg_partitioned_table
+FormData_pg_policy
+FormData_pg_proc
+FormData_pg_publication
+FormData_pg_publication_rel
+FormData_pg_range
+FormData_pg_replication_origin
+FormData_pg_rewrite
+FormData_pg_sequence
+FormData_pg_sequence_data
+FormData_pg_shdepend
+FormData_pg_statistic
+FormData_pg_statistic_ext
+FormData_pg_subscription
+FormData_pg_subscription_rel
+FormData_pg_tablespace
+FormData_pg_transform
+FormData_pg_trigger
+FormData_pg_ts_config
+FormData_pg_ts_config_map
+FormData_pg_ts_dict
+FormData_pg_ts_parser
+FormData_pg_ts_template
+FormData_pg_type
+FormData_pg_user_mapping
+Form_pg_aggregate
+Form_pg_am
+Form_pg_amop
+Form_pg_amproc
+Form_pg_attrdef
+Form_pg_attribute
+Form_pg_auth_members
+Form_pg_authid
+Form_pg_cast
+Form_pg_class
+Form_pg_collation
+Form_pg_constraint
+Form_pg_conversion
+Form_pg_database
+Form_pg_default_acl
+Form_pg_depend
+Form_pg_enum
+Form_pg_event_trigger
+Form_pg_extension
+Form_pg_foreign_data_wrapper
+Form_pg_foreign_server
+Form_pg_foreign_table
+Form_pg_index
+Form_pg_inherits
+Form_pg_language
+Form_pg_largeobject
+Form_pg_largeobject_metadata
+Form_pg_namespace
+Form_pg_opclass
+Form_pg_operator
+Form_pg_opfamily
+Form_pg_partitioned_table
+Form_pg_policy
+Form_pg_proc
+Form_pg_publication
+Form_pg_publication_rel
+Form_pg_range
+Form_pg_replication_origin
+Form_pg_rewrite
+Form_pg_sequence
+Form_pg_sequence_data
+Form_pg_shdepend
+Form_pg_statistic
+Form_pg_statistic_ext
+Form_pg_subscription
+Form_pg_subscription_rel
+Form_pg_tablespace
+Form_pg_transform
+Form_pg_trigger
+Form_pg_ts_config
+Form_pg_ts_config_map
+Form_pg_ts_dict
+Form_pg_ts_parser
+Form_pg_ts_template
+Form_pg_type
+Form_pg_user_mapping
+FormatNode
+FreeBlockNumberArray
+FreeListData
+FreePageBtree
+FreePageBtreeHeader
+FreePageBtreeInternalKey
+FreePageBtreeLeafKey
+FreePageBtreeSearchResult
+FreePageManager
+FreePageSpanLeader
+FromCharDateMode
+FromExpr
+FullTransactionId
+FuncCall
+FuncCallContext
+FuncCandidateList
+FuncDetailCode
+FuncExpr
+FuncInfo
+FuncLookupError
+FunctionCallInfo
+FunctionCallInfoBaseData
+FunctionParameter
+FunctionParameterMode
+FunctionScan
+FunctionScanPerFuncState
+FunctionScanState
+FuzzyAttrMatchState
+GBT_NUMKEY
+GBT_NUMKEY_R
+GBT_VARKEY
+GBT_VARKEY_R
+GENERAL_NAME
+GISTBuildBuffers
+GISTBuildState
+GISTDeletedPageContents
+GISTENTRY
+GISTInsertStack
+GISTInsertState
+GISTIntArrayBigOptions
+GISTIntArrayOptions
+GISTNodeBuffer
+GISTNodeBufferPage
+GISTPageOpaque
+GISTPageOpaqueData
+GISTPageSplitInfo
+GISTSTATE
+GISTScanOpaque
+GISTScanOpaqueData
+GISTSearchHeapItem
+GISTSearchItem
+GISTTYPE
+GIST_SPLITVEC
+GMReaderTupleBuffer
+GV
+Gather
+GatherMerge
+GatherMergePath
+GatherMergeState
+GatherPath
+GatherState
+Gene
+GeneratePruningStepsContext
+GenerationBlock
+GenerationChunk
+GenerationContext
+GenerationPointer
+GenericCosts
+GenericXLogState
+GeqoPrivateData
+GetForeignJoinPaths_function
+GetForeignModifyBatchSize_function
+GetForeignPaths_function
+GetForeignPlan_function
+GetForeignRelSize_function
+GetForeignRowMarkType_function
+GetForeignUpperPaths_function
+GetState
+GiSTOptions
+GinBtree
+GinBtreeData
+GinBtreeDataLeafInsertData
+GinBtreeEntryInsertData
+GinBtreeStack
+GinBuildState
+GinChkVal
+GinEntries
+GinEntryAccumulator
+GinIndexStat
+GinMetaPageData
+GinNullCategory
+GinOptions
+GinPageOpaque
+GinPageOpaqueData
+GinPlaceToPageRC
+GinPostingList
+GinQualCounts
+GinScanEntry
+GinScanKey
+GinScanOpaque
+GinScanOpaqueData
+GinState
+GinStatsData
+GinTernaryValue
+GinTupleCollector
+GinVacuumState
+GistBuildMode
+GistEntryVector
+GistHstoreOptions
+GistInetKey
+GistNSN
+GistOptBufferingMode
+GistSortedBuildPageState
+GistSplitUnion
+GistSplitVector
+GistTsVectorOptions
+GistVacState
+GlobalTransaction
+GlobalVisState
+GrantRoleStmt
+GrantStmt
+GrantTargetType
+Group
+GroupClause
+GroupPath
+GroupPathExtraData
+GroupResultPath
+GroupState
+GroupVarInfo
+GroupingFunc
+GroupingSet
+GroupingSetData
+GroupingSetKind
+GroupingSetsPath
+GucAction
+GucBoolAssignHook
+GucBoolCheckHook
+GucContext
+GucEnumAssignHook
+GucEnumCheckHook
+GucIntAssignHook
+GucIntCheckHook
+GucRealAssignHook
+GucRealCheckHook
+GucShowHook
+GucSource
+GucStack
+GucStackState
+GucStringAssignHook
+GucStringCheckHook
+HANDLE
+HASHACTION
+HASHBUCKET
+HASHCTL
+HASHELEMENT
+HASHHDR
+HASHSEGMENT
+HASH_SEQ_STATUS
+HCRYPTPROV
+HE
+HEntry
+HIST_ENTRY
+HKEY
+HLOCAL
+HMAC_CTX
+HMODULE
+HOldEntry
+HRESULT
+HSParser
+HSpool
+HStore
+HTAB
+HTSV_Result
+HV
+Hash
+HashAggBatch
+HashAggSpill
+HashAllocFunc
+HashBuildState
+HashCompareFunc
+HashCopyFunc
+HashIndexStat
+HashInstrumentation
+HashJoin
+HashJoinState
+HashJoinTable
+HashJoinTuple
+HashMemoryChunk
+HashMetaPage
+HashMetaPageData
+HashOptions
+HashPageOpaque
+HashPageOpaqueData
+HashPageStat
+HashPath
+HashScanOpaque
+HashScanOpaqueData
+HashScanPosData
+HashScanPosItem
+HashSkewBucket
+HashState
+HashTapeInfo
+HashValueFunc
+HbaLine
+HbaToken
+HeadlineJsonState
+HeadlineParsedText
+HeadlineWordEntry
+HeapCheckContext
+HeapScanDesc
+HeapTuple
+HeapTupleData
+HeapTupleFields
+HeapTupleForceOption
+HeapTupleHeader
+HeapTupleHeaderData
+HeapTupleTableSlot
+HistControl
+HotStandbyState
+I32
+ICU_Convert_Func
+ID
+INFIX
+INT128
+INTERFACE_INFO
+IOFuncSelector
+IO_STATUS_BLOCK
+IPCompareMethod
+ITEM
+IV
+IdentLine
+IdentifierLookup
+IdentifySystemCmd
+IfStackElem
+ImportForeignSchemaStmt
+ImportForeignSchemaType
+ImportForeignSchema_function
+ImportQual
+InProgressEnt
+IncludeWal
+InclusionOpaque
+IncrementVarSublevelsUp_context
+IncrementalSort
+IncrementalSortExecutionStatus
+IncrementalSortGroupInfo
+IncrementalSortInfo
+IncrementalSortPath
+IncrementalSortState
+Index
+IndexAMProperty
+IndexAmRoutine
+IndexArrayKeyInfo
+IndexAttachInfo
+IndexAttrBitmapKind
+IndexBuildCallback
+IndexBuildResult
+IndexBulkDeleteCallback
+IndexBulkDeleteResult
+IndexClause
+IndexClauseSet
+IndexDeleteCounts
+IndexDeletePrefetchState
+IndexElem
+IndexFetchHeapData
+IndexFetchTableData
+IndexInfo
+IndexList
+IndexOnlyScan
+IndexOnlyScanState
+IndexOptInfo
+IndexOrderByDistance
+IndexPath
+IndexRuntimeKeyInfo
+IndexScan
+IndexScanDesc
+IndexScanState
+IndexStateFlagsAction
+IndexStmt
+IndexTuple
+IndexTupleData
+IndexUniqueCheck
+IndexVacuumInfo
+IndxInfo
+InferClause
+InferenceElem
+InfoItem
+InhInfo
+InheritableSocket
+InitSampleScan_function
+InitializeDSMForeignScan_function
+InitializeWorkerForeignScan_function
+InlineCodeBlock
+InsertStmt
+Instrumentation
+Int128AggState
+Int8TransTypeData
+IntRBTreeNode
+IntegerSet
+InternalDefaultACL
+InternalGrant
+Interval
+IntoClause
+InvalidationChunk
+InvalidationListHeader
+IpcMemoryId
+IpcMemoryKey
+IpcMemoryState
+IpcSemaphoreId
+IpcSemaphoreKey
+IsForeignPathAsyncCapable_function
+IsForeignRelUpdatable_function
+IsForeignScanParallelSafe_function
+IsoConnInfo
+IspellDict
+Item
+ItemId
+ItemIdData
+ItemPointer
+ItemPointerData
+IterateDirectModify_function
+IterateForeignScan_function
+IterateJsonStringValuesState
+JEntry
+JHashState
+JOBOBJECTINFOCLASS
+JOBOBJECT_BASIC_LIMIT_INFORMATION
+JOBOBJECT_BASIC_UI_RESTRICTIONS
+JOBOBJECT_SECURITY_LIMIT_INFORMATION
+JitContext
+JitInstrumentation
+JitProviderCallbacks
+JitProviderCompileExprCB
+JitProviderInit
+JitProviderReleaseContextCB
+JitProviderResetAfterErrorCB
+Join
+JoinCostWorkspace
+JoinExpr
+JoinHashEntry
+JoinPath
+JoinPathExtraData
+JoinState
+JoinType
+JsObject
+JsValue
+JsonAggState
+JsonBaseObjectInfo
+JsonHashEntry
+JsonIterateStringValuesAction
+JsonLexContext
+JsonLikeRegexContext
+JsonManifestFileField
+JsonManifestParseContext
+JsonManifestParseState
+JsonManifestSemanticState
+JsonManifestWALRangeField
+JsonParseContext
+JsonParseErrorType
+JsonPath
+JsonPathBool
+JsonPathExecContext
+JsonPathExecResult
+JsonPathGinAddPathItemFunc
+JsonPathGinContext
+JsonPathGinExtractNodesFunc
+JsonPathGinNode
+JsonPathGinNodeType
+JsonPathGinPath
+JsonPathGinPathItem
+JsonPathItem
+JsonPathItemType
+JsonPathKeyword
+JsonPathParseItem
+JsonPathParseResult
+JsonPathPredicateCallback
+JsonPathString
+JsonSemAction
+JsonTokenType
+JsonTransformStringValuesAction
+JsonTypeCategory
+JsonValueList
+JsonValueListIterator
+Jsonb
+JsonbAggState
+JsonbContainer
+JsonbInState
+JsonbIterState
+JsonbIterator
+JsonbIteratorToken
+JsonbPair
+JsonbParseState
+JsonbSubWorkspace
+JsonbTypeCategory
+JsonbValue
+JumbleState
+JunkFilter
+KeyArray
+KeySuffix
+KeyWord
+LARGE_INTEGER
+LDAP
+LDAPMessage
+LDAPURLDesc
+LDAP_TIMEVAL
+LINE
+LLVMAttributeRef
+LLVMBasicBlockRef
+LLVMBuilderRef
+LLVMIntPredicate
+LLVMJitContext
+LLVMJitHandle
+LLVMMemoryBufferRef
+LLVMModuleRef
+LLVMOrcJITStackRef
+LLVMOrcModuleHandle
+LLVMOrcTargetAddress
+LLVMPassManagerBuilderRef
+LLVMPassManagerRef
+LLVMSharedModuleRef
+LLVMTargetMachineRef
+LLVMTargetRef
+LLVMTypeRef
+LLVMValueRef
+LOCALLOCK
+LOCALLOCKOWNER
+LOCALLOCKTAG
+LOCALPREDICATELOCK
+LOCK
+LOCKMASK
+LOCKMETHODID
+LOCKMODE
+LOCKTAG
+LONG
+LONG_PTR
+LOOP
+LPBYTE
+LPCTSTR
+LPCWSTR
+LPDWORD
+LPSECURITY_ATTRIBUTES
+LPSERVICE_STATUS
+LPSTR
+LPTHREAD_START_ROUTINE
+LPTSTR
+LPVOID
+LPWSTR
+LSEG
+LUID
+LVDeadTuples
+LVPagePruneState
+LVParallelState
+LVRelState
+LVSavedErrInfo
+LVShared
+LVSharedIndStats
+LWLock
+LWLockHandle
+LWLockMode
+LWLockPadded
+LabelProvider
+LagTracker
+LargeObjectDesc
+LastAttnumInfo
+Latch
+LerpFunc
+LexDescr
+LexemeEntry
+LexemeHashKey
+LexemeInfo
+LexemeKey
+LexizeData
+LibraryInfo
+Limit
+LimitOption
+LimitPath
+LimitState
+LimitStateCond
+List
+ListCell
+ListDictionary
+ListParsedLex
+ListenAction
+ListenActionKind
+ListenStmt
+LoadStmt
+LocalBufferLookupEnt
+LocalPgBackendStatus
+LocalTransactionId
+LocationIndex
+LocationLen
+LockAcquireResult
+LockClauseStrength
+LockData
+LockInfoData
+LockInstanceData
+LockMethod
+LockMethodData
+LockRelId
+LockRows
+LockRowsPath
+LockRowsState
+LockStmt
+LockTagType
+LockTupleMode
+LockViewRecurse_context
+LockWaitPolicy
+LockingClause
+LogOpts
+LogStmtLevel
+LogicalDecodeBeginCB
+LogicalDecodeBeginPrepareCB
+LogicalDecodeChangeCB
+LogicalDecodeCommitCB
+LogicalDecodeCommitPreparedCB
+LogicalDecodeFilterByOriginCB
+LogicalDecodeFilterPrepareCB
+LogicalDecodeMessageCB
+LogicalDecodePrepareCB
+LogicalDecodeRollbackPreparedCB
+LogicalDecodeShutdownCB
+LogicalDecodeStartupCB
+LogicalDecodeStreamAbortCB
+LogicalDecodeStreamChangeCB
+LogicalDecodeStreamCommitCB
+LogicalDecodeStreamMessageCB
+LogicalDecodeStreamPrepareCB
+LogicalDecodeStreamStartCB
+LogicalDecodeStreamStopCB
+LogicalDecodeStreamTruncateCB
+LogicalDecodeTruncateCB
+LogicalDecodingContext
+LogicalErrorCallbackState
+LogicalOutputPluginInit
+LogicalOutputPluginWriterPrepareWrite
+LogicalOutputPluginWriterUpdateProgress
+LogicalOutputPluginWriterWrite
+LogicalRepBeginData
+LogicalRepCommitData
+LogicalRepCtxStruct
+LogicalRepMsgType
+LogicalRepPartMapEntry
+LogicalRepRelId
+LogicalRepRelMapEntry
+LogicalRepRelation
+LogicalRepTupleData
+LogicalRepTyp
+LogicalRepWorker
+LogicalRewriteMappingData
+LogicalTape
+LogicalTapeSet
+LtreeGistOptions
+LtreeSignature
+MAGIC
+MBuf
+MCVItem
+MCVList
+MEMORY_BASIC_INFORMATION
+MINIDUMPWRITEDUMP
+MINIDUMP_TYPE
+MJEvalResult
+MTTargetRelLookup
+MVDependencies
+MVDependency
+MVNDistinct
+MVNDistinctItem
+Material
+MaterialPath
+MaterialState
+MdfdVec
+Memoize
+MemoizeEntry
+MemoizeInstrumentation
+MemoizeKey
+MemoizePath
+MemoizeState
+MemoizeTuple
+MemoryContext
+MemoryContextCallback
+MemoryContextCallbackFunction
+MemoryContextCounters
+MemoryContextData
+MemoryContextMethods
+MemoryStatsPrintFunc
+MergeAppend
+MergeAppendPath
+MergeAppendState
+MergeJoin
+MergeJoinClause
+MergeJoinState
+MergePath
+MergeScanSelCache
+MetaCommand
+MinMaxAggInfo
+MinMaxAggPath
+MinMaxExpr
+MinMaxMultiOptions
+MinMaxOp
+MinimalTuple
+MinimalTupleData
+MinimalTupleTableSlot
+MinmaxMultiOpaque
+MinmaxOpaque
+ModifyTable
+ModifyTablePath
+ModifyTableState
+MorphOpaque
+MsgType
+MultiAssignRef
+MultiSortSupport
+MultiSortSupportData
+MultiXactId
+MultiXactMember
+MultiXactOffset
+MultiXactStateData
+MultiXactStatus
+MultirangeIOData
+MultirangeParseState
+MultirangeType
+NDBOX
+NODE
+NTSTATUS
+NUMCacheEntry
+NUMDesc
+NUMProc
+NV
+Name
+NameData
+NameHashEntry
+NamedArgExpr
+NamedLWLockTranche
+NamedLWLockTrancheRequest
+NamedTuplestoreScan
+NamedTuplestoreScanState
+NamespaceInfo
+NestLoop
+NestLoopParam
+NestLoopState
+NestPath
+NewColumnValue
+NewConstraint
+NextSampleBlock_function
+NextSampleTuple_function
+NextValueExpr
+Node
+NodeTag
+NonEmptyRange
+Notification
+NotificationHash
+NotificationList
+NotifyStmt
+Nsrt
+NullIfExpr
+NullTest
+NullTestType
+NullableDatum
+Numeric
+NumericAggState
+NumericDigit
+NumericSortSupport
+NumericSumAccum
+NumericVar
+OM_uint32
+OP
+OSAPerGroupState
+OSAPerQueryState
+OSInfo
+OSSLCipher
+OSSLDigest
+OVERLAPPED
+ObjectAccessDrop
+ObjectAccessNamespaceSearch
+ObjectAccessPostAlter
+ObjectAccessPostCreate
+ObjectAccessType
+ObjectAddress
+ObjectAddressAndFlags
+ObjectAddressExtra
+ObjectAddressStack
+ObjectAddresses
+ObjectClass
+ObjectPropertyType
+ObjectType
+ObjectWithArgs
+Offset
+OffsetNumber
+OffsetVarNodes_context
+Oid
+OidOptions
+OkeysState
+OldSnapshotControlData
+OldSnapshotTimeMapping
+OldToNewMapping
+OldToNewMappingData
+OnCommitAction
+OnCommitItem
+OnConflictAction
+OnConflictClause
+OnConflictExpr
+OnConflictSetState
+OpBtreeInterpretation
+OpClassCacheEnt
+OpExpr
+OpFamilyMember
+OpFamilyOpFuncGroup
+OpclassInfo
+Operator
+OperatorElement
+OpfamilyInfo
+OprCacheEntry
+OprCacheKey
+OprInfo
+OprProofCacheEntry
+OprProofCacheKey
+OutputContext
+OutputPluginCallbacks
+OutputPluginOptions
+OutputPluginOutputType
+OverrideSearchPath
+OverrideStackEntry
+OverridingKind
+PACE_HEADER
+PACL
+PATH
+PBOOL
+PCtxtHandle
+PFN
+PFN_NTQUERYINFORMATIONFILE
+PGAlignedBlock
+PGAlignedXLogBlock
+PGAsyncStatusType
+PGCALL2
+PGChecksummablePage
+PGContextVisibility
+PGEvent
+PGEventConnDestroy
+PGEventConnReset
+PGEventId
+PGEventProc
+PGEventRegister
+PGEventResultCopy
+PGEventResultCreate
+PGEventResultDestroy
+PGFInfoFunction
+PGFileType
+PGFunction
+PGLZ_HistEntry
+PGLZ_Strategy
+PGMessageField
+PGModuleMagicFunction
+PGNoticeHooks
+PGOutputData
+PGPROC
+PGP_CFB
+PGP_Context
+PGP_MPI
+PGP_PubKey
+PGP_S2K
+PGPing
+PGQueryClass
+PGRUsage
+PGSemaphore
+PGSemaphoreData
+PGShmemHeader
+PGTargetServerType
+PGTernaryBool
+PGTransactionStatusType
+PGVerbosity
+PG_Locale_Strategy
+PG_Lock_Status
+PG_init_t
+PGcancel
+PGcmdQueueEntry
+PGconn
+PGdataValue
+PGlobjfuncs
+PGnotify
+PGpipelineStatus
+PGresAttDesc
+PGresAttValue
+PGresParamDesc
+PGresult
+PGresult_data
+PHANDLE
+PIO_STATUS_BLOCK
+PLAINTREE
+PLAssignStmt
+PLUID_AND_ATTRIBUTES
+PLcword
+PLpgSQL_case_when
+PLpgSQL_condition
+PLpgSQL_datum
+PLpgSQL_datum_type
+PLpgSQL_diag_item
+PLpgSQL_exception
+PLpgSQL_exception_block
+PLpgSQL_execstate
+PLpgSQL_expr
+PLpgSQL_func_hashkey
+PLpgSQL_function
+PLpgSQL_getdiag_kind
+PLpgSQL_if_elsif
+PLpgSQL_label_type
+PLpgSQL_nsitem
+PLpgSQL_nsitem_type
+PLpgSQL_plugin
+PLpgSQL_promise_type
+PLpgSQL_raise_option
+PLpgSQL_raise_option_type
+PLpgSQL_rec
+PLpgSQL_recfield
+PLpgSQL_resolve_option
+PLpgSQL_row
+PLpgSQL_stmt
+PLpgSQL_stmt_assert
+PLpgSQL_stmt_assign
+PLpgSQL_stmt_block
+PLpgSQL_stmt_call
+PLpgSQL_stmt_case
+PLpgSQL_stmt_close
+PLpgSQL_stmt_commit
+PLpgSQL_stmt_dynexecute
+PLpgSQL_stmt_dynfors
+PLpgSQL_stmt_execsql
+PLpgSQL_stmt_exit
+PLpgSQL_stmt_fetch
+PLpgSQL_stmt_forc
+PLpgSQL_stmt_foreach_a
+PLpgSQL_stmt_fori
+PLpgSQL_stmt_forq
+PLpgSQL_stmt_fors
+PLpgSQL_stmt_getdiag
+PLpgSQL_stmt_if
+PLpgSQL_stmt_loop
+PLpgSQL_stmt_open
+PLpgSQL_stmt_perform
+PLpgSQL_stmt_raise
+PLpgSQL_stmt_return
+PLpgSQL_stmt_return_next
+PLpgSQL_stmt_return_query
+PLpgSQL_stmt_rollback
+PLpgSQL_stmt_type
+PLpgSQL_stmt_while
+PLpgSQL_trigtype
+PLpgSQL_type
+PLpgSQL_type_type
+PLpgSQL_var
+PLpgSQL_variable
+PLwdatum
+PLword
+PLyArrayToOb
+PLyCursorObject
+PLyDatumToOb
+PLyDatumToObFunc
+PLyExceptionEntry
+PLyExecutionContext
+PLyObToArray
+PLyObToDatum
+PLyObToDatumFunc
+PLyObToDomain
+PLyObToScalar
+PLyObToTransform
+PLyObToTuple
+PLyObject_AsString_t
+PLyPlanObject
+PLyProcedure
+PLyProcedureEntry
+PLyProcedureKey
+PLyResultObject
+PLySRFState
+PLySavedArgs
+PLyScalarToOb
+PLySubtransactionData
+PLySubtransactionObject
+PLyTransformToOb
+PLyTupleToOb
+PLyUnicode_FromStringAndSize_t
+PLy_elog_impl_t
+PMINIDUMP_CALLBACK_INFORMATION
+PMINIDUMP_EXCEPTION_INFORMATION
+PMINIDUMP_USER_STREAM_INFORMATION
+PMSignalData
+PMSignalReason
+PMState
+POLYGON
+PQArgBlock
+PQEnvironmentOption
+PQExpBuffer
+PQExpBufferData
+PQcommMethods
+PQconninfoOption
+PQnoticeProcessor
+PQnoticeReceiver
+PQprintOpt
+PQsslKeyPassHook_OpenSSL_type
+PREDICATELOCK
+PREDICATELOCKTAG
+PREDICATELOCKTARGET
+PREDICATELOCKTARGETTAG
+PROCESS_INFORMATION
+PROCLOCK
+PROCLOCKTAG
+PROC_HDR
+PROC_QUEUE
+PSID
+PSID_AND_ATTRIBUTES
+PSQL_COMP_CASE
+PSQL_ECHO
+PSQL_ECHO_HIDDEN
+PSQL_ERROR_ROLLBACK
+PTEntryArray
+PTIterationArray
+PTOKEN_PRIVILEGES
+PTOKEN_USER
+PUTENVPROC
+PVOID
+PX_Alias
+PX_Cipher
+PX_Combo
+PX_HMAC
+PX_MD
+Page
+PageData
+PageGistNSN
+PageHeader
+PageHeaderData
+PageXLogRecPtr
+PagetableEntry
+Pairs
+ParallelAppendState
+ParallelBitmapHeapState
+ParallelBlockTableScanDesc
+ParallelBlockTableScanWorker
+ParallelBlockTableScanWorkerData
+ParallelCompletionPtr
+ParallelContext
+ParallelExecutorInfo
+ParallelHashGrowth
+ParallelHashJoinBatch
+ParallelHashJoinBatchAccessor
+ParallelHashJoinState
+ParallelIndexScanDesc
+ParallelReadyList
+ParallelSlot
+ParallelSlotArray
+ParallelSlotResultHandler
+ParallelState
+ParallelTableScanDesc
+ParallelTableScanDescData
+ParallelWorkerContext
+ParallelWorkerInfo
+Param
+ParamCompileHook
+ParamExecData
+ParamExternData
+ParamFetchHook
+ParamKind
+ParamListInfo
+ParamPathInfo
+ParamRef
+ParamsErrorCbData
+ParentMapEntry
+ParseCallbackState
+ParseExprKind
+ParseNamespaceColumn
+ParseNamespaceItem
+ParseParamRefHook
+ParseState
+ParsedLex
+ParsedScript
+ParsedText
+ParsedWord
+ParserSetupHook
+ParserState
+PartClauseInfo
+PartClauseMatchStatus
+PartClauseTarget
+PartitionBoundInfo
+PartitionBoundInfoData
+PartitionBoundSpec
+PartitionCmd
+PartitionDesc
+PartitionDescData
+PartitionDirectory
+PartitionDirectoryEntry
+PartitionDispatch
+PartitionElem
+PartitionHashBound
+PartitionKey
+PartitionListValue
+PartitionMap
+PartitionPruneCombineOp
+PartitionPruneContext
+PartitionPruneInfo
+PartitionPruneState
+PartitionPruneStep
+PartitionPruneStepCombine
+PartitionPruneStepOp
+PartitionPruningData
+PartitionRangeBound
+PartitionRangeDatum
+PartitionRangeDatumKind
+PartitionScheme
+PartitionSpec
+PartitionTupleRouting
+PartitionedRelPruneInfo
+PartitionedRelPruningData
+PartitionwiseAggregateType
+PasswordType
+Path
+PathClauseUsage
+PathCostComparison
+PathHashStack
+PathKey
+PathKeysComparison
+PathTarget
+PatternInfo
+PatternInfoArray
+Pattern_Prefix_Status
+Pattern_Type
+PendingFsyncEntry
+PendingRelDelete
+PendingRelSync
+PendingUnlinkEntry
+PendingWriteback
+PerlInterpreter
+Perl_check_t
+Perl_ppaddr_t
+Permutation
+PermutationStep
+PermutationStepBlocker
+PermutationStepBlockerType
+PgArchData
+PgBackendGSSStatus
+PgBackendSSLStatus
+PgBackendStatus
+PgBenchExpr
+PgBenchExprLink
+PgBenchExprList
+PgBenchExprType
+PgBenchFunction
+PgBenchValue
+PgBenchValueType
+PgChecksumMode
+PgFdwAnalyzeState
+PgFdwConnState
+PgFdwDirectModifyState
+PgFdwModifyState
+PgFdwOption
+PgFdwPathExtraData
+PgFdwRelationInfo
+PgFdwScanState
+PgIfAddrCallback
+PgStat_ArchiverStats
+PgStat_BackendFunctionEntry
+PgStat_Counter
+PgStat_FunctionCallUsage
+PgStat_FunctionCounts
+PgStat_FunctionEntry
+PgStat_GlobalStats
+PgStat_Msg
+PgStat_MsgAnalyze
+PgStat_MsgAnlAncestors
+PgStat_MsgArchiver
+PgStat_MsgAutovacStart
+PgStat_MsgBgWriter
+PgStat_MsgChecksumFailure
+PgStat_MsgConnect
+PgStat_MsgDeadlock
+PgStat_MsgDisconnect
+PgStat_MsgDropdb
+PgStat_MsgDummy
+PgStat_MsgFuncpurge
+PgStat_MsgFuncstat
+PgStat_MsgHdr
+PgStat_MsgInquiry
+PgStat_MsgRecoveryConflict
+PgStat_MsgReplSlot
+PgStat_MsgResetcounter
+PgStat_MsgResetreplslotcounter
+PgStat_MsgResetsharedcounter
+PgStat_MsgResetsinglecounter
+PgStat_MsgResetslrucounter
+PgStat_MsgSLRU
+PgStat_MsgTabpurge
+PgStat_MsgTabstat
+PgStat_MsgTempFile
+PgStat_MsgVacuum
+PgStat_MsgWal
+PgStat_SLRUStats
+PgStat_Shared_Reset_Target
+PgStat_Single_Reset_Type
+PgStat_StatDBEntry
+PgStat_StatFuncEntry
+PgStat_StatReplSlotEntry
+PgStat_StatTabEntry
+PgStat_SubXactStatus
+PgStat_TableCounts
+PgStat_TableEntry
+PgStat_TableStatus
+PgStat_TableXactStatus
+PgStat_WalStats
+PgXmlErrorContext
+PgXmlStrictness
+Pg_finfo_record
+Pg_magic_struct
+PipeProtoChunk
+PipeProtoHeader
+PlaceHolderInfo
+PlaceHolderVar
+Plan
+PlanDirectModify_function
+PlanForeignModify_function
+PlanInvalItem
+PlanRowMark
+PlanState
+PlannedStmt
+PlannerGlobal
+PlannerInfo
+PlannerParamItem
+Point
+Pointer
+PolicyInfo
+PolyNumAggState
+Pool
+PopulateArrayContext
+PopulateArrayState
+PopulateRecordCache
+PopulateRecordsetState
+Port
+Portal
+PortalHashEnt
+PortalStatus
+PortalStrategy
+PostParseColumnRefHook
+PostgresPollingStatusType
+PostingItem
+PostponedQual
+PreParseColumnRefHook
+PredClass
+PredIterInfo
+PredIterInfoData
+PredXactList
+PredXactListElement
+PredicateLockData
+PredicateLockTargetType
+PrefetchBufferResult
+PrepParallelRestorePtrType
+PrepareStmt
+PreparedStatement
+PresortedKeyData
+PrewarmType
+PrintExtraTocPtrType
+PrintTocDataPtrType
+PrintfArgType
+PrintfArgValue
+PrintfTarget
+PrinttupAttrInfo
+PrivTarget
+PrivateRefCountEntry
+ProcArrayStruct
+ProcLangInfo
+ProcSignalBarrierType
+ProcSignalHeader
+ProcSignalReason
+ProcSignalSlot
+ProcState
+ProcWaitStatus
+ProcessUtilityContext
+ProcessUtility_hook_type
+ProcessingMode
+ProgressCommandType
+ProjectSet
+ProjectSetPath
+ProjectSetState
+ProjectionInfo
+ProjectionPath
+ProtocolVersion
+PrsStorage
+PruneState
+PruneStepResult
+PsqlScanCallbacks
+PsqlScanQuoteType
+PsqlScanResult
+PsqlScanState
+PsqlScanStateData
+PsqlSettings
+Publication
+PublicationActions
+PublicationInfo
+PublicationPartOpt
+PublicationRelInfo
+PullFilter
+PullFilterOps
+PushFilter
+PushFilterOps
+PushFunction
+PyCFunction
+PyCodeObject
+PyMappingMethods
+PyMethodDef
+PyModuleDef
+PyObject
+PySequenceMethods
+PyTypeObject
+Py_ssize_t
+QPRS_STATE
+QTN2QTState
+QTNode
+QUERYTYPE
+QUERY_SECURITY_CONTEXT_TOKEN_FN
+QualCost
+QualItem
+Query
+QueryCompletion
+QueryDesc
+QueryEnvironment
+QueryInfo
+QueryItem
+QueryItemType
+QueryMode
+QueryOperand
+QueryOperator
+QueryRepresentation
+QueryRepresentationOperand
+QuerySource
+QueueBackendStatus
+QueuePosition
+QuitSignalReason
+RBTNode
+RBTOrderControl
+RBTree
+RBTreeIterator
+REPARSE_JUNCTION_DATA_BUFFER
+RIX
+RI_CompareHashEntry
+RI_CompareKey
+RI_ConstraintInfo
+RI_QueryHashEntry
+RI_QueryKey
+RTEKind
+RWConflict
+RWConflictPoolHeader
+RandomState
+Range
+RangeBound
+RangeBox
+RangeFunction
+RangeIOData
+RangeQueryClause
+RangeSubselect
+RangeTableFunc
+RangeTableFuncCol
+RangeTableSample
+RangeTblEntry
+RangeTblFunction
+RangeTblRef
+RangeType
+RangeVar
+RangeVarGetRelidCallback
+Ranges
+RawColumnDefault
+RawParseMode
+RawStmt
+ReInitializeDSMForeignScan_function
+ReScanForeignScan_function
+ReadBufPtrType
+ReadBufferMode
+ReadBytePtrType
+ReadExtraTocPtrType
+ReadFunc
+ReassignOwnedStmt
+RecheckForeignScan_function
+RecordCacheEntry
+RecordCompareData
+RecordIOData
+RecoveryLockListsEntry
+RecoveryPauseState
+RecoveryState
+RecoveryTargetTimeLineGoal
+RecoveryTargetType
+RectBox
+RecursionContext
+RecursiveUnion
+RecursiveUnionPath
+RecursiveUnionState
+RefetchForeignRow_function
+RefreshMatViewStmt
+RegProcedure
+Regis
+RegisNode
+RegisteredBgWorker
+ReindexErrorInfo
+ReindexIndexInfo
+ReindexObjectType
+ReindexParams
+ReindexStmt
+ReindexType
+RelFileNode
+RelFileNodeBackend
+RelIdCacheEnt
+RelInfo
+RelInfoArr
+RelMapFile
+RelMapping
+RelOptInfo
+RelOptKind
+RelToCheck
+RelToCluster
+RelabelType
+Relation
+RelationData
+RelationInfo
+RelationPtr
+RelationSyncEntry
+RelcacheCallbackFunction
+RelfilenodeMapEntry
+RelfilenodeMapKey
+Relids
+RelocationBufferInfo
+RelptrFreePageBtree
+RelptrFreePageManager
+RelptrFreePageSpanLeader
+RenameStmt
+ReopenPtrType
+ReorderBuffer
+ReorderBufferApplyChangeCB
+ReorderBufferApplyTruncateCB
+ReorderBufferBeginCB
+ReorderBufferChange
+ReorderBufferCommitCB
+ReorderBufferCommitPreparedCB
+ReorderBufferDiskChange
+ReorderBufferIterTXNEntry
+ReorderBufferIterTXNState
+ReorderBufferMessageCB
+ReorderBufferPrepareCB
+ReorderBufferRollbackPreparedCB
+ReorderBufferStreamAbortCB
+ReorderBufferStreamChangeCB
+ReorderBufferStreamCommitCB
+ReorderBufferStreamMessageCB
+ReorderBufferStreamPrepareCB
+ReorderBufferStreamStartCB
+ReorderBufferStreamStopCB
+ReorderBufferStreamTruncateCB
+ReorderBufferTXN
+ReorderBufferTXNByIdEnt
+ReorderBufferToastEnt
+ReorderBufferTupleBuf
+ReorderBufferTupleCidEnt
+ReorderBufferTupleCidKey
+ReorderTuple
+RepOriginId
+ReparameterizeForeignPathByChild_function
+ReplaceVarsFromTargetList_context
+ReplaceVarsNoMatchOption
+ReplicaIdentityStmt
+ReplicationKind
+ReplicationSlot
+ReplicationSlotCtlData
+ReplicationSlotOnDisk
+ReplicationSlotPersistency
+ReplicationSlotPersistentData
+ReplicationState
+ReplicationStateCtl
+ReplicationStateOnDisk
+ResTarget
+ReservoirState
+ReservoirStateData
+ResourceArray
+ResourceOwner
+ResourceReleaseCallback
+ResourceReleaseCallbackItem
+ResourceReleasePhase
+RestoreOptions
+RestorePass
+RestrictInfo
+Result
+ResultRelInfo
+ResultState
+ReturnSetInfo
+ReturnStmt
+RevmapContents
+RewriteMappingDataEntry
+RewriteMappingFile
+RewriteRule
+RewriteState
+RmgrData
+RmgrDescData
+RmgrId
+RmgrIds
+RoleSpec
+RoleSpecType
+RoleStmtType
+RollupData
+RowCompareExpr
+RowCompareType
+RowExpr
+RowIdentityVarInfo
+RowMarkClause
+RowMarkType
+RowSecurityDesc
+RowSecurityPolicy
+RuleInfo
+RuleLock
+RuleStmt
+RunningTransactions
+RunningTransactionsData
+SC_HANDLE
+SECURITY_ATTRIBUTES
+SECURITY_STATUS
+SEG
+SERIALIZABLEXACT
+SERIALIZABLEXID
+SERIALIZABLEXIDTAG
+SERVICE_STATUS
+SERVICE_STATUS_HANDLE
+SERVICE_TABLE_ENTRY
+SHM_QUEUE
+SID_AND_ATTRIBUTES
+SID_IDENTIFIER_AUTHORITY
+SID_NAME_USE
+SISeg
+SIZE_T
+SMgrRelation
+SMgrRelationData
+SMgrSortArray
+SOCKADDR
+SOCKET
+SPELL
+SPICallbackArg
+SPIExecuteOptions
+SPIParseOpenOptions
+SPIPlanPtr
+SPIPrepareOptions
+SPITupleTable
+SPLITCOST
+SPNode
+SPNodeData
+SPPageDesc
+SQLCmd
+SQLDropObject
+SQLFunctionCache
+SQLFunctionCachePtr
+SQLFunctionParseInfo
+SQLFunctionParseInfoPtr
+SQLValueFunction
+SQLValueFunctionOp
+SSL
+SSLExtensionInfoContext
+SSL_CTX
+STARTUPINFO
+STRLEN
+SV
+SYNCHRONIZATION_BARRIER
+SampleScan
+SampleScanGetSampleSize_function
+SampleScanState
+SamplerRandomState
+ScalarArrayOpExpr
+ScalarArrayOpExprHashEntry
+ScalarArrayOpExprHashTable
+ScalarIOData
+ScalarItem
+ScalarMCVItem
+Scan
+ScanDirection
+ScanKey
+ScanKeyData
+ScanKeywordHashFunc
+ScanKeywordList
+ScanState
+ScanTypeControl
+ScannerCallbackState
+SchemaQuery
+SecBuffer
+SecBufferDesc
+SecLabelItem
+SecLabelStmt
+SeenRelsEntry
+SelectLimit
+SelectStmt
+Selectivity
+SemTPadded
+SemiAntiJoinFactors
+SeqScan
+SeqScanState
+SeqTable
+SeqTableData
+SerCommitSeqNo
+SerialControl
+SerializableXactHandle
+SerializedActiveRelMaps
+SerializedRanges
+SerializedReindexState
+SerializedSnapshotData
+SerializedTransactionState
+Session
+SessionBackupState
+SessionEndType
+SetConstraintState
+SetConstraintStateData
+SetConstraintTriggerData
+SetExprState
+SetFunctionReturnMode
+SetOp
+SetOpCmd
+SetOpPath
+SetOpState
+SetOpStatePerGroup
+SetOpStrategy
+SetOperation
+SetOperationStmt
+SetQuantifier
+SetToDefault
+SetupWorkerPtrType
+ShDependObjectInfo
+SharedAggInfo
+SharedBitmapState
+SharedDependencyObjectType
+SharedDependencyType
+SharedExecutorInstrumentation
+SharedFileSet
+SharedHashInfo
+SharedIncrementalSortInfo
+SharedInvalCatalogMsg
+SharedInvalCatcacheMsg
+SharedInvalRelcacheMsg
+SharedInvalRelmapMsg
+SharedInvalSmgrMsg
+SharedInvalSnapshotMsg
+SharedInvalidationMessage
+SharedJitInstrumentation
+SharedMemoizeInfo
+SharedRecordTableEntry
+SharedRecordTableKey
+SharedRecordTypmodRegistry
+SharedSortInfo
+SharedTuplestore
+SharedTuplestoreAccessor
+SharedTuplestoreChunk
+SharedTuplestoreParticipant
+SharedTypmodTableEntry
+Sharedsort
+ShellTypeInfo
+ShippableCacheEntry
+ShippableCacheKey
+ShmemIndexEnt
+ShutdownForeignScan_function
+ShutdownInformation
+ShutdownMode
+SignTSVector
+SimpleActionList
+SimpleActionListCell
+SimpleEcontextStackEntry
+SimpleOidList
+SimpleOidListCell
+SimplePtrList
+SimplePtrListCell
+SimpleStats
+SimpleStringList
+SimpleStringListCell
+SingleBoundSortItem
+Size
+SkipPages
+SlabBlock
+SlabChunk
+SlabContext
+SlabSlot
+SlotErrCallbackArg
+SlotNumber
+SlruCtl
+SlruCtlData
+SlruErrorCause
+SlruPageStatus
+SlruScanCallback
+SlruShared
+SlruSharedData
+SlruWriteAll
+SlruWriteAllData
+SnapBuild
+SnapBuildOnDisk
+SnapBuildState
+Snapshot
+SnapshotData
+SnapshotType
+SockAddr
+Sort
+SortBy
+SortByDir
+SortByNulls
+SortCoordinate
+SortGroupClause
+SortItem
+SortPath
+SortShimExtra
+SortState
+SortSupport
+SortSupportData
+SortTuple
+SortTupleComparator
+SortedPoint
+SpGistBuildState
+SpGistCache
+SpGistDeadTuple
+SpGistDeadTupleData
+SpGistInnerTuple
+SpGistInnerTupleData
+SpGistLUPCache
+SpGistLastUsedPage
+SpGistLeafTuple
+SpGistLeafTupleData
+SpGistMetaPageData
+SpGistNodeTuple
+SpGistNodeTupleData
+SpGistOptions
+SpGistPageOpaque
+SpGistPageOpaqueData
+SpGistScanOpaque
+SpGistScanOpaqueData
+SpGistSearchItem
+SpGistState
+SpGistTypeDesc
+SpecialJoinInfo
+SpinDelayStatus
+SplitInterval
+SplitLR
+SplitPoint
+SplitTextOutputData
+SplitVar
+SplitedPageLayout
+StackElem
+StartBlobPtrType
+StartBlobsPtrType
+StartDataPtrType
+StartReplicationCmd
+StartupStatusEnum
+StatEntry
+StatExtEntry
+StatMsgType
+StateFileChunk
+StatisticExtInfo
+Stats
+StatsBuildData
+StatsData
+StatsElem
+StatsExtInfo
+StdAnalyzeData
+StdRdOptIndexCleanup
+StdRdOptions
+Step
+StopList
+StrategyNumber
+StreamCtl
+StreamXidHash
+StringInfo
+StringInfoData
+StripnullState
+SubLink
+SubLinkType
+SubPlan
+SubPlanState
+SubRemoveRels
+SubTransactionId
+SubXactCallback
+SubXactCallbackItem
+SubXactEvent
+SubXactInfo
+SubqueryScan
+SubqueryScanPath
+SubqueryScanState
+SubscriptExecSetup
+SubscriptExecSteps
+SubscriptRoutines
+SubscriptTransform
+SubscriptingRef
+SubscriptingRefState
+Subscription
+SubscriptionInfo
+SubscriptionRelState
+SupportRequestCost
+SupportRequestIndexCondition
+SupportRequestRows
+SupportRequestSelectivity
+SupportRequestSimplify
+Syn
+SyncOps
+SyncRepConfigData
+SyncRepStandbyData
+SyncRequestHandler
+SyncRequestType
+SysFKRelationship
+SysScanDesc
+SyscacheCallbackFunction
+SystemRowsSamplerData
+SystemSamplerData
+SystemTimeSamplerData
+TAR_MEMBER
+TBMIterateResult
+TBMIteratingState
+TBMIterator
+TBMSharedIterator
+TBMSharedIteratorState
+TBMStatus
+TBlockState
+TIDBitmap
+TM_FailureData
+TM_IndexDelete
+TM_IndexDeleteOp
+TM_IndexStatus
+TM_Result
+TOKEN_DEFAULT_DACL
+TOKEN_INFORMATION_CLASS
+TOKEN_PRIVILEGES
+TOKEN_USER
+TParser
+TParserCharTest
+TParserPosition
+TParserSpecial
+TParserState
+TParserStateAction
+TParserStateActionItem
+TQueueDestReceiver
+TRGM
+TSAnyCacheEntry
+TSConfigCacheEntry
+TSConfigInfo
+TSDictInfo
+TSDictionaryCacheEntry
+TSExecuteCallback
+TSLexeme
+TSParserCacheEntry
+TSParserInfo
+TSQuery
+TSQueryData
+TSQueryParserState
+TSQuerySign
+TSReadPointer
+TSTemplateInfo
+TSTernaryValue
+TSTokenTypeStorage
+TSVector
+TSVectorBuildState
+TSVectorData
+TSVectorParseState
+TSVectorStat
+TState
+TStoreState
+TXNEntryFile
+TYPCATEGORY
+T_Action
+T_WorkerStatus
+TabStatHashEntry
+TabStatusArray
+TableAmRoutine
+TableAttachInfo
+TableDataInfo
+TableFunc
+TableFuncRoutine
+TableFuncScan
+TableFuncScanState
+TableInfo
+TableLikeClause
+TableSampleClause
+TableScanDesc
+TableScanDescData
+TableSpaceCacheEntry
+TableSpaceOpts
+TablespaceList
+TablespaceListCell
+TapeBlockTrailer
+TapeShare
+TarMethodData
+TarMethodFile
+TargetEntry
+TclExceptionNameMap
+Tcl_DString
+Tcl_FileProc
+Tcl_HashEntry
+Tcl_HashTable
+Tcl_Interp
+Tcl_NotifierProcs
+Tcl_Obj
+Tcl_Time
+TempNamespaceStatus
+TestDecodingData
+TestDecodingTxnData
+TestSpec
+TextFreq
+TextPositionState
+TheLexeme
+TheSubstitute
+TidExpr
+TidExprType
+TidHashKey
+TidOpExpr
+TidPath
+TidRangePath
+TidRangeScan
+TidRangeScanState
+TidScan
+TidScanState
+TimeADT
+TimeLineHistoryCmd
+TimeLineHistoryEntry
+TimeLineID
+TimeOffset
+TimeStamp
+TimeTzADT
+TimeZoneAbbrevTable
+TimeoutId
+TimeoutType
+Timestamp
+TimestampTz
+TmFromChar
+TmToChar
+ToastAttrInfo
+ToastCompressionId
+ToastTupleContext
+ToastedAttribute
+TocEntry
+TokenAuxData
+TokenizedLine
+TrackItem
+TransInvalidationInfo
+TransState
+TransactionId
+TransactionState
+TransactionStateData
+TransactionStmt
+TransactionStmtKind
+TransformInfo
+TransformJsonStringValuesState
+TransitionCaptureState
+TrgmArc
+TrgmArcInfo
+TrgmBound
+TrgmColor
+TrgmColorInfo
+TrgmGistOptions
+TrgmNFA
+TrgmPackArcInfo
+TrgmPackedArc
+TrgmPackedGraph
+TrgmPackedState
+TrgmPrefix
+TrgmState
+TrgmStateKey
+TrieChar
+Trigger
+TriggerData
+TriggerDesc
+TriggerEvent
+TriggerFlags
+TriggerInfo
+TriggerTransition
+TruncateStmt
+TsmRoutine
+TupOutputState
+TupSortStatus
+TupStoreStatus
+TupleConstr
+TupleConversionMap
+TupleDesc
+TupleHashEntry
+TupleHashEntryData
+TupleHashIterator
+TupleHashTable
+TupleQueueReader
+TupleTableSlot
+TupleTableSlotOps
+TuplesortInstrumentation
+TuplesortMethod
+TuplesortSpaceType
+Tuplesortstate
+Tuplestorestate
+TwoPhaseCallback
+TwoPhaseFileHeader
+TwoPhaseLockRecord
+TwoPhasePgStatRecord
+TwoPhasePredicateLockRecord
+TwoPhasePredicateRecord
+TwoPhasePredicateRecordType
+TwoPhasePredicateXactRecord
+TwoPhaseRecordOnDisk
+TwoPhaseRmgrId
+TwoPhaseStateData
+Type
+TypeCacheEntry
+TypeCacheEnumData
+TypeCast
+TypeCat
+TypeFuncClass
+TypeInfo
+TypeName
+U
+U32
+U8
+UChar
+UCharIterator
+UColAttribute
+UColAttributeValue
+UCollator
+UConverter
+UErrorCode
+UINT
+ULARGE_INTEGER
+ULONG
+ULONG_PTR
+UV
+UVersionInfo
+UnicodeNormalizationForm
+UnicodeNormalizationQC
+Unique
+UniquePath
+UniquePathMethod
+UniqueState
+UnlistenStmt
+UnpackTarState
+UnresolvedTup
+UnresolvedTupData
+UpdateStmt
+UpperRelationKind
+UpperUniquePath
+UserAuth
+UserMapping
+UserOpts
+VacAttrStats
+VacAttrStatsP
+VacErrPhase
+VacOptValue
+VacuumParams
+VacuumRelation
+VacuumStmt
+ValidateIndexState
+Value
+ValuesScan
+ValuesScanState
+Var
+VarBit
+VarChar
+VarParamState
+VarString
+VarStringSortSupport
+Variable
+VariableAssignHook
+VariableCache
+VariableCacheData
+VariableSetKind
+VariableSetStmt
+VariableShowStmt
+VariableSpace
+VariableStatData
+VariableSubstituteHook
+VersionedQuery
+Vfd
+ViewCheckOption
+ViewOptCheckOption
+ViewOptions
+ViewStmt
+VirtualTransactionId
+VirtualTupleTableSlot
+VolatileFunctionStatus
+Vsrt
+WAIT_ORDER
+WALAvailability
+WALInsertLock
+WALInsertLockPadded
+WALOpenSegment
+WALReadError
+WALSegmentCloseCB
+WALSegmentContext
+WALSegmentOpenCB
+WCHAR
+WCOKind
+WFW_WaitOption
+WIDGET
+WORD
+WORKSTATE
+WSABUF
+WSADATA
+WSANETWORKEVENTS
+WSAPROTOCOL_INFO
+WaitEvent
+WaitEventActivity
+WaitEventClient
+WaitEventIO
+WaitEventIPC
+WaitEventSet
+WaitEventTimeout
+WaitPMResult
+WalCloseMethod
+WalLevel
+WalRcvData
+WalRcvExecResult
+WalRcvExecStatus
+WalRcvState
+WalRcvStreamOptions
+WalReceiverConn
+WalReceiverFunctionsType
+WalSnd
+WalSndCtlData
+WalSndSendDataCallback
+WalSndState
+WalTimeSample
+WalUsage
+WalWriteMethod
+Walfile
+WindowAgg
+WindowAggPath
+WindowAggState
+WindowClause
+WindowClauseSortData
+WindowDef
+WindowFunc
+WindowFuncExprState
+WindowFuncLists
+WindowObject
+WindowObjectData
+WindowStatePerAgg
+WindowStatePerAggData
+WindowStatePerFunc
+WithCheckOption
+WithClause
+WordEntry
+WordEntryIN
+WordEntryPos
+WordEntryPosVector
+WordEntryPosVector1
+WorkTableScan
+WorkTableScanState
+WorkerInfo
+WorkerInfoData
+WorkerInstrumentation
+WorkerJobDumpPtrType
+WorkerJobRestorePtrType
+Working_State
+WriteBufPtrType
+WriteBytePtrType
+WriteDataCallback
+WriteDataPtrType
+WriteExtraTocPtrType
+WriteFunc
+WriteManifestState
+WriteTarState
+WritebackContext
+X509
+X509_EXTENSION
+X509_NAME
+X509_NAME_ENTRY
+X509_STORE
+X509_STORE_CTX
+XLTW_Oper
+XLogCtlData
+XLogCtlInsert
+XLogDumpConfig
+XLogDumpPrivate
+XLogDumpStats
+XLogLongPageHeader
+XLogLongPageHeaderData
+XLogPageHeader
+XLogPageHeaderData
+XLogPageReadCB
+XLogPageReadPrivate
+XLogReaderRoutine
+XLogReaderState
+XLogRecData
+XLogRecPtr
+XLogRecord
+XLogRecordBlockCompressHeader
+XLogRecordBlockHeader
+XLogRecordBlockImageHeader
+XLogRecordBuffer
+XLogRedoAction
+XLogSegNo
+XLogSource
+XLogwrtResult
+XLogwrtRqst
+XPVIV
+XPVMG
+XactCallback
+XactCallbackItem
+XactEvent
+XactLockTableWaitInfo
+XidBoundsViolation
+XidCacheStatus
+XidCommitStatus
+XidStatus
+XmlExpr
+XmlExprOp
+XmlOptionType
+XmlSerialize
+XmlTableBuilderData
+YYLTYPE
+YYSTYPE
+YY_BUFFER_STATE
+_SPI_connection
+_SPI_plan
+__AssignProcessToJobObject
+__CreateJobObject
+__CreateRestrictedToken
+__IsProcessInJob
+__QueryInformationJobObject
+__SetInformationJobObject
+__time64_t
+_dev_t
+_ino_t
+_resultmap
+_stringlist
+acquireLocksOnSubLinks_context
+adjust_appendrel_attrs_context
+aff_regex_struct
+allocfunc
+amadjustmembers_function
+ambeginscan_function
+ambuild_function
+ambuildempty_function
+ambuildphasename_function
+ambulkdelete_function
+amcanreturn_function
+amcostestimate_function
+amendscan_function
+amestimateparallelscan_function
+amgetbitmap_function
+amgettuple_function
+aminitparallelscan_function
+aminsert_function
+ammarkpos_function
+amoptions_function
+amparallelrescan_function
+amproperty_function
+amrescan_function
+amrestrpos_function
+amvacuumcleanup_function
+amvalidate_function
+array_iter
+array_unnest_fctx
+assign_collations_context
+autovac_table
+av_relation
+avl_dbase
+avl_node
+avl_tree
+avw_dbase
+backslashResult
+backup_manifest_info
+backup_manifest_option
+base_yy_extra_type
+basebackup_options
+bgworker_main_type
+binaryheap
+binaryheap_comparator
+bitmapword
+bits16
+bits32
+bits8
+bloom_filter
+brin_column_state
+brin_serialize_callback_type
+bytea
+cached_re_str
+cashKEY
+cfp
+check_agg_arguments_context
+check_function_callback
+check_network_data
+check_object_relabel_type
+check_password_hook_type
+check_ungrouped_columns_context
+chr
+clock_t
+cmpEntriesArg
+cmpfunc
+codes_t
+coercion
+collation_cache_entry
+color
+colormaprange
+compare_context
+config_var_value
+contain_aggs_of_level_context
+convert_testexpr_context
+copy_data_source_cb
+core_YYSTYPE
+core_yy_extra_type
+core_yyscan_t
+corrupt_items
+cost_qual_eval_context
+cp_hash_func
+create_upper_paths_hook_type
+createdb_failure_params
+crosstab_HashEnt
+crosstab_cat_desc
+datapagemap_iterator_t
+datapagemap_t
+dateKEY
+datetkn
+dce_uuid_t
+decimal
+deparse_columns
+deparse_context
+deparse_expr_cxt
+deparse_namespace
+destructor
+dev_t
+digit
+disassembledLeaf
+dlist_head
+dlist_iter
+dlist_mutable_iter
+dlist_node
+ds_state
+dsa_area
+dsa_area_control
+dsa_area_pool
+dsa_area_span
+dsa_handle
+dsa_pointer
+dsa_pointer_atomic
+dsa_segment_header
+dsa_segment_index
+dsa_segment_map
+dshash_compare_function
+dshash_hash
+dshash_hash_function
+dshash_parameters
+dshash_partition
+dshash_table
+dshash_table_control
+dshash_table_handle
+dshash_table_item
+dsm_control_header
+dsm_control_item
+dsm_handle
+dsm_op
+dsm_segment
+dsm_segment_detach_callback
+eLogType
+ean13
+eary
+ec_matches_callback_type
+ec_member_foreign_arg
+ec_member_matches_arg
+emit_log_hook_type
+eval_const_expressions_context
+exec_thread_arg
+execution_state
+explain_get_index_name_hook_type
+f_smgr
+fd_set
+fe_scram_state
+fe_scram_state_enum
+fetch_range_request
+file_action_t
+file_entry_t
+file_type_t
+filehash_hash
+filehash_iterator
+filemap_t
+fill_string_relopt
+finalize_primnode_context
+find_dependent_phvs_context
+find_expr_references_context
+fix_join_expr_context
+fix_scan_expr_context
+fix_upper_expr_context
+flatten_join_alias_vars_context
+float4
+float4KEY
+float8
+float8KEY
+floating_decimal_32
+floating_decimal_64
+fmAggrefPtr
+fmExprContextCallbackFunction
+fmNodePtr
+fmStringInfo
+fmgr_hook_type
+foreign_glob_cxt
+foreign_loc_cxt
+freeaddrinfo_ptr_t
+freefunc
+fsec_t
+gbt_vsrt_arg
+gbtree_ninfo
+gbtree_vinfo
+generate_series_fctx
+generate_series_numeric_fctx
+generate_series_timestamp_fctx
+generate_series_timestamptz_fctx
+generate_subscripts_fctx
+get_attavgwidth_hook_type
+get_index_stats_hook_type
+get_relation_info_hook_type
+get_relation_stats_hook_type
+getaddrinfo_ptr_t
+getnameinfo_ptr_t
+gid_t
+gin_leafpage_items_state
+ginxlogCreatePostingTree
+ginxlogDeleteListPages
+ginxlogDeletePage
+ginxlogInsert
+ginxlogInsertDataInternal
+ginxlogInsertEntry
+ginxlogInsertListPage
+ginxlogRecompressDataLeaf
+ginxlogSplit
+ginxlogUpdateMeta
+ginxlogVacuumDataLeafPage
+gistxlogDelete
+gistxlogPage
+gistxlogPageDelete
+gistxlogPageReuse
+gistxlogPageSplit
+gistxlogPageUpdate
+grouping_sets_data
+gseg_picksplit_item
+gss_buffer_desc
+gss_cred_id_t
+gss_ctx_id_t
+gss_name_t
+gtrgm_consistent_cache
+gzFile
+hashfunc
+hbaPort
+heap_page_items_state
+help_handler
+hlCheck
+hstoreCheckKeyLen_t
+hstoreCheckValLen_t
+hstorePairs_t
+hstoreUniquePairs_t
+hstoreUpgrade_t
+hyperLogLogState
+ifState
+ilist
+import_error_callback_arg
+indexed_tlist
+inet
+inetKEY
+inet_struct
+init_function
+inline_cte_walker_context
+inline_error_callback_arg
+ino_t
+inquiry
+instr_time
+int128
+int16
+int16KEY
+int2vector
+int32
+int32KEY
+int32_t
+int64
+int64KEY
+int8
+internalPQconninfoOption
+intptr_t
+intset_internal_node
+intset_leaf_node
+intset_node
+intvKEY
+itemIdCompact
+itemIdCompactData
+iterator
+jmp_buf
+join_search_hook_type
+json_aelem_action
+json_manifest_error_callback
+json_manifest_perfile_callback
+json_manifest_perwalrange_callback
+json_ofield_action
+json_scalar_action
+json_struct_action
+keyEntryData
+key_t
+lclContext
+lclTocEntry
+leafSegmentInfo
+leaf_item
+libpq_source
+line_t
+lineno_t
+list_sort_comparator
+local_relopt
+local_relopts
+local_source
+locale_t
+locate_agg_of_level_context
+locate_var_of_level_context
+locate_windowfunc_context
+logstreamer_param
+lquery
+lquery_level
+lquery_variant
+ltree
+ltree_gist
+ltree_level
+ltxtquery
+mXactCacheEnt
+mac8KEY
+macKEY
+macaddr
+macaddr8
+macaddr_sortsupport_state
+manifest_file
+manifest_files_hash
+manifest_files_iterator
+manifest_wal_range
+map_variable_attnos_context
+max_parallel_hazard_context
+mb2wchar_with_len_converter
+mbchar_verifier
+mbcharacter_incrementer
+mbdisplaylen_converter
+mblen_converter
+mbstr_verifier
+memoize_hash
+memoize_iterator
+metastring
+mix_data_t
+mixedStruct
+mode_t
+movedb_failure_params
+mp_digit
+mp_int
+mp_result
+mp_sign
+mp_size
+mp_small
+mp_usmall
+mp_word
+mpz_t
+multirange_bsearch_comparison
+mxact
+mxtruncinfo
+needs_fmgr_hook_type
+network_sortsupport_state
+nodeitem
+normal_rand_fctx
+ntile_context
+numeric
+object_access_hook_type
+off_t
+oidKEY
+oidvector
+on_dsm_detach_callback
+on_exit_nicely_callback
+openssl_tls_init_hook_typ
+ossl_EVP_cipher_func
+other
+output_type
+pagetable_hash
+pagetable_iterator
+pairingheap
+pairingheap_comparator
+pairingheap_node
+parallel_worker_main_type
+parse_error_callback_arg
+parser_context
+partition_method_t
+pendingPosition
+pgParameterStatus
+pg_atomic_flag
+pg_atomic_uint32
+pg_atomic_uint64
+pg_checksum_context
+pg_checksum_raw_context
+pg_checksum_type
+pg_conn_host
+pg_conn_host_type
+pg_conv_map
+pg_crc32
+pg_crc32c
+pg_cryptohash_ctx
+pg_cryptohash_type
+pg_ctype_cache
+pg_enc
+pg_enc2gettext
+pg_enc2name
+pg_encname
+pg_funcptr_t
+pg_gssinfo
+pg_hmac_ctx
+pg_int64
+pg_local_to_utf_combined
+pg_locale_t
+pg_mb_radix_tree
+pg_md5_ctx
+pg_on_exit_callback
+pg_re_flags
+pg_saslprep_rc
+pg_sha1_ctx
+pg_sha224_ctx
+pg_sha256_ctx
+pg_sha384_ctx
+pg_sha512_ctx
+pg_snapshot
+pg_stack_base_t
+pg_time_t
+pg_time_usec_t
+pg_tz
+pg_tz_cache
+pg_tzenum
+pg_unicode_decompinfo
+pg_unicode_decomposition
+pg_unicode_norminfo
+pg_unicode_normprops
+pg_unicode_recompinfo
+pg_utf_to_local_combined
+pg_uuid_t
+pg_wc_probefunc
+pg_wchar
+pg_wchar_tbl
+pgp_armor_headers_state
+pgpid_t
+pgsocket
+pgsql_thing_t
+pgssEntry
+pgssGlobalStats
+pgssHashKey
+pgssSharedState
+pgssStoreKind
+pgssVersion
+pgstat_page
+pgstattuple_type
+pgthreadlock_t
+pid_t
+pivot_field
+planner_hook_type
+plperl_array_info
+plperl_call_data
+plperl_interp_desc
+plperl_proc_desc
+plperl_proc_key
+plperl_proc_ptr
+plperl_query_desc
+plperl_query_entry
+plpgsql_CastHashEntry
+plpgsql_CastHashKey
+plpgsql_HashEnt
+pltcl_call_state
+pltcl_interp_desc
+pltcl_proc_desc
+pltcl_proc_key
+pltcl_proc_ptr
+pltcl_query_desc
+pointer
+polymorphic_actuals
+pos_trgm
+post_parse_analyze_hook_type
+postprocess_result_function
+pqbool
+pqsigfunc
+printQueryOpt
+printTableContent
+printTableFooter
+printTableOpt
+printTextFormat
+printTextLineFormat
+printTextLineWrap
+printTextRule
+printfunc
+priv_map
+process_file_callback_t
+process_sublinks_context
+proclist_head
+proclist_mutable_iter
+proclist_node
+promptStatus_t
+pthread_barrier_t
+pthread_cond_t
+pthread_key_t
+pthread_mutex_t
+pthread_once_t
+pthread_t
+ptrdiff_t
+pull_var_clause_context
+pull_varattnos_context
+pull_varnos_context
+pull_vars_context
+pullup_replace_vars_context
+pushdown_safety_info
+qc_hash_func
+qsort_arg_comparator
+qsort_comparator
+query_pathkeys_callback
+radius_attribute
+radius_packet
+rangeTableEntry_used_context
+rank_context
+rbt_allocfunc
+rbt_combiner
+rbt_comparator
+rbt_freefunc
+reduce_outer_joins_state
+reference
+regex_arc_t
+regex_t
+regexp
+regexp_matches_ctx
+registered_buffer
+regmatch_t
+regoff_t
+regproc
+relopt_bool
+relopt_enum
+relopt_enum_elt_def
+relopt_gen
+relopt_int
+relopt_kind
+relopt_parse_elt
+relopt_real
+relopt_string
+relopt_type
+relopt_value
+relopts_validator
+remoteConn
+remoteConnHashEnt
+remoteDep
+rendezvousHashEntry
+replace_rte_variables_callback
+replace_rte_variables_context
+ret_type
+rewind_source
+rewrite_event
+rijndael_ctx
+rm_detail_t
+role_auth_extra
+row_security_policy_hook_type
+rsv_callback
+saophash_hash
+save_buffer
+scram_state
+scram_state_enum
+sem_t
+sequence_magic
+set_join_pathlist_hook_type
+set_rel_pathlist_hook_type
+shm_mq
+shm_mq_handle
+shm_mq_iovec
+shm_mq_result
+shm_toc
+shm_toc_entry
+shm_toc_estimator
+shmem_startup_hook_type
+sig_atomic_t
+sigjmp_buf
+signedbitmapword
+sigset_t
+size_t
+slist_head
+slist_iter
+slist_mutable_iter
+slist_node
+slock_t
+socket_set
+spgBulkDeleteState
+spgChooseIn
+spgChooseOut
+spgChooseResultType
+spgConfigIn
+spgConfigOut
+spgInnerConsistentIn
+spgInnerConsistentOut
+spgLeafConsistentIn
+spgLeafConsistentOut
+spgNodePtr
+spgPickSplitIn
+spgPickSplitOut
+spgVacPendingItem
+spgxlogAddLeaf
+spgxlogAddNode
+spgxlogMoveLeafs
+spgxlogPickSplit
+spgxlogSplitTuple
+spgxlogState
+spgxlogVacuumLeaf
+spgxlogVacuumRedirect
+spgxlogVacuumRoot
+split_pathtarget_context
+split_pathtarget_item
+sql_error_callback_arg
+sqlparseInfo
+sqlparseState
+ss_lru_item_t
+ss_scan_location_t
+ss_scan_locations_t
+ssize_t
+standard_qp_extra
+stemmer_module
+stmtCacheEntry
+storeInfo
+storeRes_func
+stream_stop_callback
+string
+substitute_actual_parameters_context
+substitute_actual_srf_parameters_context
+substitute_phv_relids_context
+svtype
+symbol
+tablespaceinfo
+teSection
+temp_tablespaces_extra
+test_re_flags
+test_regex_ctx
+test_shm_mq_header
+test_spec
+test_start_function
+text
+timeKEY
+time_t
+timeout_handler_proc
+timeout_params
+timerCA
+tlist_vinfo
+toast_compress_header
+transferMode
+transfer_thread_arg
+trgm
+trgm_mb_char
+trivalue
+tsKEY
+ts_parserstate
+ts_tokenizer
+ts_tokentype
+tsearch_readline_state
+tuplehash_hash
+tuplehash_iterator
+type
+tzEntry
+u1byte
+u4byte
+u_char
+u_int
+uchr
+uid_t
+uint128
+uint16
+uint16_t
+uint32
+uint32_t
+uint64
+uint64_t
+uint8
+uint8_t
+uintptr_t
+unicodeStyleBorderFormat
+unicodeStyleColumnFormat
+unicodeStyleFormat
+unicodeStyleRowFormat
+unicode_linestyle
+unit_conversion
+unlogged_relation_entry
+utf_local_conversion_func
+uuidKEY
+uuid_rc_t
+uuid_sortsupport_state
+uuid_t
+va_list
+vacuumingOptions
+validate_string_relopt
+varatt_expanded
+varattrib_1b
+varattrib_1b_e
+varattrib_4b
+vbits
+verifier_context
+walrcv_check_conninfo_fn
+walrcv_connect_fn
+walrcv_create_slot_fn
+walrcv_disconnect_fn
+walrcv_endstreaming_fn
+walrcv_exec_fn
+walrcv_get_backend_pid_fn
+walrcv_get_conninfo_fn
+walrcv_get_senderinfo_fn
+walrcv_identify_system_fn
+walrcv_readtimelinehistoryfile_fn
+walrcv_receive_fn
+walrcv_send_fn
+walrcv_server_version_fn
+walrcv_startstreaming_fn
+wchar2mb_with_len_converter
+wchar_t
+win32_deadchild_waitinfo
+wint_t
+worker_state
+worktable
+wrap
+xl_brin_createidx
+xl_brin_desummarize
+xl_brin_insert
+xl_brin_revmap_extend
+xl_brin_samepage_update
+xl_brin_update
+xl_btree_dedup
+xl_btree_delete
+xl_btree_insert
+xl_btree_mark_page_halfdead
+xl_btree_metadata
+xl_btree_newroot
+xl_btree_reuse_page
+xl_btree_split
+xl_btree_unlink_page
+xl_btree_update
+xl_btree_vacuum
+xl_clog_truncate
+xl_commit_ts_truncate
+xl_dbase_create_rec
+xl_dbase_drop_rec
+xl_end_of_recovery
+xl_hash_add_ovfl_page
+xl_hash_delete
+xl_hash_init_bitmap_page
+xl_hash_init_meta_page
+xl_hash_insert
+xl_hash_move_page_contents
+xl_hash_split_allocate_page
+xl_hash_split_complete
+xl_hash_squeeze_page
+xl_hash_update_meta_page
+xl_hash_vacuum_one_page
+xl_heap_confirm
+xl_heap_delete
+xl_heap_freeze_page
+xl_heap_freeze_tuple
+xl_heap_header
+xl_heap_inplace
+xl_heap_insert
+xl_heap_lock
+xl_heap_lock_updated
+xl_heap_multi_insert
+xl_heap_new_cid
+xl_heap_prune
+xl_heap_rewrite_mapping
+xl_heap_truncate
+xl_heap_update
+xl_heap_vacuum
+xl_heap_visible
+xl_invalid_page
+xl_invalid_page_key
+xl_invalidations
+xl_logical_message
+xl_multi_insert_tuple
+xl_multixact_create
+xl_multixact_truncate
+xl_overwrite_contrecord
+xl_parameter_change
+xl_relmap_update
+xl_replorigin_drop
+xl_replorigin_set
+xl_restore_point
+xl_running_xacts
+xl_seq_rec
+xl_smgr_create
+xl_smgr_truncate
+xl_standby_lock
+xl_standby_locks
+xl_tblspc_create_rec
+xl_tblspc_drop_rec
+xl_xact_abort
+xl_xact_assignment
+xl_xact_commit
+xl_xact_dbinfo
+xl_xact_invals
+xl_xact_origin
+xl_xact_parsed_abort
+xl_xact_parsed_commit
+xl_xact_parsed_prepare
+xl_xact_prepare
+xl_xact_relfilenodes
+xl_xact_subxacts
+xl_xact_twophase
+xl_xact_xinfo
+xmlBuffer
+xmlBufferPtr
+xmlChar
+xmlDocPtr
+xmlErrorPtr
+xmlExternalEntityLoader
+xmlGenericErrorFunc
+xmlNodePtr
+xmlNodeSetPtr
+xmlParserCtxtPtr
+xmlParserInputPtr
+xmlStructuredErrorFunc
+xmlTextWriter
+xmlTextWriterPtr
+xmlXPathCompExprPtr
+xmlXPathContextPtr
+xmlXPathObjectPtr
+xmltype
+xpath_workspace
+xsltSecurityPrefsPtr
+xsltStylesheetPtr
+xsltTransformContextPtr
+yy_parser
+yy_size_t
+yyscan_t
+z_stream
+z_streamp
+zic_t