<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/bfbd57e500d63729bd89d599cfc23b3232abf387">https://github.com/macports/macports-ports/commit/bfbd57e500d63729bd89d599cfc23b3232abf387</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit bfbd57e500d63729bd89d599cfc23b3232abf387
</span>Author: David Gilman <davidgilman1@gmail.com>
AuthorDate: Mon Aug 28 18:49:33 2023 -0400

<span style='display:block; white-space:pre;color:#404040;'>    postgresql16: new port
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/40501
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/37929
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/36511
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/36128
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/33145
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/66529
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/67638
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/29752
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/66689
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/67203
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/67713
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/68119
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/67339
</span>---
 databases/postgresql16/Portfile                    | 182 +++++++++++
 .../postgresql16/files/patch-fix-ppc-asm.diff      | 317 +++++++++++++++++++
 databases/postgresql16/files/patch-icu.diff        |  25 ++
 databases/postgresql16/files/postgresql16          | 335 +++++++++++++++++++++
 4 files changed, 859 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql16/Portfile b/databases/postgresql16/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4ada4c80e72
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql16/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,182 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup select 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup compilers 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup muniversal 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup legacysupport 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                postgresql16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             16.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          databases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {gmail.com:davidgilman1 @dgilman} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    {@barracuda156 gmail.com:vital.had} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             Permissive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         The most advanced open-source database available anywhere.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    PostgreSQL is Object-Relational Database Management System.\
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    It supports almost all SQL constructs, including transactions, \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    subselects, and user-defined types and functions. Write-ahead \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    logging means increased performance while retaining data \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    integrity.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+conflicts           postgresql96-doc postgresql10-doc postgresql11-doc postgresql12-doc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    postgresql13-doc postgresql14-doc postgresql15-doc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.postgresql.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        postgresql:source/v${version}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            postgresql-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  859a3fd84167542a12262ea6422a19d1575827a9 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  df9e823eb22330444e1d48e52cc65135a652a6fdb3ce325e3f08549339f51b99 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    24528207
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_bzip2           yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/66060
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://trac.macports.org/ticket/67365
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://postgrespro.ru/list/thread-id/2551610
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# The problem is specific to PPC: https://github.com/macports/macports-ports/pull/16460
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append  patch-icu.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       patch-fix-ppc-asm.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:readline path:lib/libssl.dylib:openssl port:zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libxml2 port:libxslt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/pkgconfig/icu-uc.pc:icu \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/libgssapi_krb5.dylib:kerberos5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/libzstd.dylib:zstd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    path:lib/liblz4.dylib:lz4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build       port:bison port:pkgconfig
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_run         port:postgresql_select
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+legacysupport.newest_darwin_requires_legacy \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+worksrcdir          postgresql-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set libdir          ${prefix}/lib/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set mandir          ${prefix}/share/doc/${name}/man
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args      PG_SYSROOT=disabled \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ZIC=${worksrcpath}/src/timezone/zic \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --sysconfdir=${prefix}/etc/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --bindir=${libdir}/bin \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --libdir=${libdir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --includedir=${prefix}/include/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --datadir=${prefix}/share/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --docdir=${prefix}/share/doc/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --mandir=${mandir} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-includes=${prefix}/include \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-libraries=${prefix}/lib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-openssl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-bonjour \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-readline \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-lz4 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-zstd \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-libxml \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-libxslt \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-gssapi \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --enable-thread-safety \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-uuid=e2fs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --with-icu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.universal_args-delete --disable-dependency-tracking
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# building psql with clang from Xcode prior to 4.4 causes segfault on query; see #31717
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append {clang < 421}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compilers.choose          cc cxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compilers.setup           -gcc -fortran -clang33 -clang34 -clang37 -clang16 -clang17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+notes "To use the postgresql server as a startup item install the ${name}-server port."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${universal_possible} && [variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cflags-append    -DAC_APPLE_UNIVERSAL_BUILD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.type          gnu
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.target        world
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.target     install-world
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run            yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.target         check
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# remember to change livecheck with first proper release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.type      regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#livecheck.regex    (16\\.\[.0-9\]*\[a-z\]+\[0-9\])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#livecheck.regex    (16\[a-z\]+\[0-9\])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex    (16\\.\[.0-9\]+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.url       ${homepage}/ftp/source/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ln -s -f ${libdir}/bin/psql psql16
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -E "s#^CFLAGS =#CFLAGS +=#g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace -E "s#^MKDIR_P.*#MKDIR_P = /bin/mkdir -p#g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set gzip [findBinary gzip ${portutil::autoconf::gzip_path}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach manpage [glob -type f ${destroot}${mandir}/man\[1-9\]/*] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        system "$gzip -9vf ${manpage}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {!${universal_possible} || ![variant_isset universal]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${destroot}${prefix}/lib/${name}/pgxs/src/Makefile.global
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    merger-post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        foreach arch ${configure.universal_archs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace -E "s#-arch\[\[:space:\]\]+\[\[:alnum:\]_\]+##g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${destroot}-${arch}${prefix}/lib/${name}/pgxs/src/Makefile.global
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            reinplace -E "s#${worksrcpath}-${arch}#${worksrcpath}#g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ${destroot}-${arch}${prefix}/lib/${name}/pgxs/src/Makefile.global
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+select.group        postgresql
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+select.file         ${filespath}/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant python3 description {add support for python 3.x} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append      port:python311
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-python
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.python        ${prefix}/bin/python3.11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant perl description {add Perl support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append      bin:perl:perl5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-perl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant tcl description {add Tcl support} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append      port:tcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-tcl --with-tclconfig=${prefix}/lib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.env-append    TCLSH=${prefix}/bin/tclsh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant llvm description {add support for JIT compilation} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set llvm_ver 15
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach clang ${compilers.clang_variants} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { [variant_exists ${clang}] && [variant_isset ${clang}] } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            set clang_port_ver [string range ${clang} 5 6]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if { ${clang_port_ver} >= 50 } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set llvm_ver [string index ${clang} end-1].[string index ${clang} end]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                set llvm_ver ${clang_port_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_lib-append      port:llvm-${llvm_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append   --with-llvm
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.env-append    LLVM_CONFIG=${prefix}/libexec/llvm-${llvm_ver}/bin/llvm-config \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            CLANG=${configure.cc}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql16/files/patch-fix-ppc-asm.diff b/databases/postgresql16/files/patch-fix-ppc-asm.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..220c8aabfe5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql16/files/patch-fix-ppc-asm.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,317 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 842accd12472f563523ba92ac4fe540ae71c99e9 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: barracuda156 <vital.had@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Tue, 29 Aug 2023 22:34:19 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Revert "Remove configurability of PPC spinlock assembly
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ code."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Upstream has broken PowerPC build in 8ded65682bee2a1c04392a88e0df0f4fc7552623
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Revert that.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 028434b56e..7c10905dfd 100755
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15336,7 +15336,39 @@ $as_echo "#define HAVE_X86_64_POPCNTQ 1" >>confdefs.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ppc*|powerpc*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    # On PPC, check if compiler accepts "i"(x) when __builtin_constant_p(x).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # On PPC, check if assembler supports LWARX instruction's mutex hint bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether assembler supports lwarx hint bit" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo_n "checking whether assembler supports lwarx hint bit... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ${pgac_cv_have_ppc_mutex_hint+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  $as_echo_n "(cached) " >&6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* end confdefs.h.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++main ()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int a = 0; int *p = &a; int r;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   __asm__ __volatile__ (" lwarx %0,0,%1,1\n" : "=&r"(r) : "r"(p));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_ACEOF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if ac_fn_c_try_compile "$LINENO"; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  pgac_cv_have_ppc_mutex_hint=yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  pgac_cv_have_ppc_mutex_hint=no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_have_ppc_mutex_hint" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "$pgac_cv_have_ppc_mutex_hint" >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if test x"$pgac_cv_have_ppc_mutex_hint" = xyes ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++$as_echo "#define HAVE_PPC_LWARX_MUTEX_HINT 1" >>confdefs.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Check if compiler accepts "i"(x) when __builtin_constant_p(x).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether __builtin_constant_p(x) implies \"i\"(x) acceptance" >&5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ $as_echo_n "checking whether __builtin_constant_p(x) implies \"i\"(x) acceptance... " >&6; }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ${pgac_cv_have_i_constraint__builtin_constant_p+:} false; then :
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f8ab273674..d3e402dfc0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1677,7 +1677,18 @@ case $host_cpu in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   ppc*|powerpc*)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    # On PPC, check if compiler accepts "i"(x) when __builtin_constant_p(x).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # On PPC, check if assembler supports LWARX instruction's mutex hint bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    AC_CACHE_CHECK([whether assembler supports lwarx hint bit],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                   [pgac_cv_have_ppc_mutex_hint],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  [int a = 0; int *p = &a; int r;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++   __asm__ __volatile__ (" lwarx %0,0,%1,1\n" : "=&r"(r) : "r"(p));])],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  [pgac_cv_have_ppc_mutex_hint=yes],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  [pgac_cv_have_ppc_mutex_hint=no])])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if test x"$pgac_cv_have_ppc_mutex_hint" = xyes ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  AC_DEFINE(HAVE_PPC_LWARX_MUTEX_HINT, 1, [Define to 1 if the assembler supports PPC's LWARX mutex hint bit.])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    # Check if compiler accepts "i"(x) when __builtin_constant_p(x).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     AC_CACHE_CHECK([whether __builtin_constant_p(x) implies "i"(x) acceptance],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    [pgac_cv_have_i_constraint__builtin_constant_p],
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     [AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/include/pg_config.h.in src/include/pg_config.h.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 85150f90b2..31674bde4e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/include/pg_config.h.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/include/pg_config.h.in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -349,6 +349,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `posix_fallocate' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_POSIX_FALLOCATE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Define to 1 if the assembler supports PPC's LWARX mutex hint bit. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef HAVE_PPC_LWARX_MUTEX_HINT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Define to 1 if you have the `ppoll' function. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef HAVE_PPOLL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/include/pg_config_manual.h src/include/pg_config_manual.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 844c3e0f09..5ee2c46267 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/include/pg_config_manual.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/include/pg_config_manual.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -227,6 +227,32 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define DEFAULT_EVENT_SOURCE  "PostgreSQL"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * On PPC machines, decide whether to use the mutex hint bit in LWARX
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * instructions.  Setting the hint bit will slightly improve spinlock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * performance on POWER6 and later machines, but does nothing before that,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * and will result in illegal-instruction failures on some pre-POWER4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * machines.  By default we use the hint bit when building for 64-bit PPC,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * which should be safe in nearly all cases.  You might want to override
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * this if you are building 32-bit code for a known-recent PPC machine.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef HAVE_PPC_LWARX_MUTEX_HINT  /* must have assembler support in any case */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__ppc64__) || defined(__powerpc64__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define USE_PPC_LWARX_MUTEX_HINT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * On PPC machines, decide whether to use LWSYNC instructions in place of
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * ISYNC and SYNC.  This provides slightly better performance, but will
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * result in illegal-instruction failures on some pre-POWER4 machines.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * By default we use LWSYNC when building for 64-bit PPC, which should be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * safe in nearly all cases.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(__ppc64__) || defined(__powerpc64__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define USE_PPC_LWSYNC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * Assumed cache line size. This doesn't affect correctness, but can be used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * for low-level optimizations. Currently, this is used to pad some data
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/include/port/atomics/arch-ppc.h src/include/port/atomics/arch-ppc.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 35a79042c0..eb64513626 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/include/port/atomics/arch-ppc.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/include/port/atomics/arch-ppc.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -90,12 +90,12 @@ pg_atomic_compare_exchange_u32_impl(volatile pg_atomic_uint32 *ptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           (int32) *expected >= PG_INT16_MIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           __asm__ __volatile__(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  sync                            \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwarx   %0,0,%5,1       \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  lwarx   %0,0,%5         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  cmpwi   %0,%3           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  bne     $+12            \n"                /* branch to lwsync */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  bne     $+12            \n"                /* branch to isync */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  stwcx.  %4,0,%5         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  bne     $-16            \n"                /* branch to lwarx */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwsync                          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  isync                           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  mfcr    %1          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "=&r"(found), "=r"(condition_register), "+m"(ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "i"(*expected), "r"(newval), "r"(&ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -104,12 +104,12 @@ pg_atomic_compare_exchange_u32_impl(volatile pg_atomic_uint32 *ptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           __asm__ __volatile__(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  sync                            \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwarx   %0,0,%5,1       \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  lwarx   %0,0,%5         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  cmpw    %0,%3           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  bne     $+12            \n"                /* branch to lwsync */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  bne     $+12            \n"                /* branch to isync */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  stwcx.  %4,0,%5         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  bne     $-16            \n"                /* branch to lwarx */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwsync                          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  isync                           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  mfcr    %1          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "=&r"(found), "=r"(condition_register), "+m"(ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "r"(*expected), "r"(newval), "r"(&ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -138,11 +138,11 @@ pg_atomic_fetch_add_u32_impl(volatile pg_atomic_uint32 *ptr, int32 add_)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           add_ <= PG_INT16_MAX && add_ >= PG_INT16_MIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           __asm__ __volatile__(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  sync                            \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwarx   %1,0,%4,1       \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  lwarx   %1,0,%4         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  addi    %0,%1,%3        \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  stwcx.  %0,0,%4         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  bne     $-12            \n"                /* branch to lwarx */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwsync                          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  isync                           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "=&r"(_t), "=&b"(res), "+m"(ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "i"(add_), "r"(&ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "memory", "cc");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -150,11 +150,11 @@ pg_atomic_fetch_add_u32_impl(volatile pg_atomic_uint32 *ptr, int32 add_)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           __asm__ __volatile__(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  sync                            \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwarx   %1,0,%4,1       \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  lwarx   %1,0,%4         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  add     %0,%1,%3        \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  stwcx.  %0,0,%4         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  bne     $-12            \n"                /* branch to lwarx */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwsync                          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  isync                           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "=&r"(_t), "=&r"(res), "+m"(ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "r"(add_), "r"(&ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "memory", "cc");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -180,12 +180,12 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           (int64) *expected >= PG_INT16_MIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           __asm__ __volatile__(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  sync                            \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  ldarx   %0,0,%5,1       \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  ldarx   %0,0,%5         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  cmpdi   %0,%3           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  bne     $+12            \n"                /* branch to lwsync */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  bne     $+12            \n"                /* branch to isync */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  stdcx.  %4,0,%5         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  bne     $-16            \n"                /* branch to ldarx */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwsync                          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  isync                           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  mfcr    %1          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "=&r"(found), "=r"(condition_register), "+m"(ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "i"(*expected), "r"(newval), "r"(&ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -194,12 +194,12 @@ pg_atomic_compare_exchange_u64_impl(volatile pg_atomic_uint64 *ptr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           __asm__ __volatile__(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  sync                            \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  ldarx   %0,0,%5,1       \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  ldarx   %0,0,%5         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  cmpd    %0,%3           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  bne     $+12            \n"                /* branch to lwsync */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  bne     $+12            \n"                /* branch to isync */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  stdcx.  %4,0,%5         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  bne     $-16            \n"                /* branch to ldarx */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwsync                          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  isync                           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  mfcr    %1          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "=&r"(found), "=r"(condition_register), "+m"(ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "r"(*expected), "r"(newval), "r"(&ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -224,11 +224,11 @@ pg_atomic_fetch_add_u64_impl(volatile pg_atomic_uint64 *ptr, int64 add_)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           add_ <= PG_INT16_MAX && add_ >= PG_INT16_MIN)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           __asm__ __volatile__(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  sync                            \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  ldarx   %1,0,%4,1       \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  ldarx   %1,0,%4         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  addi    %0,%1,%3        \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  stdcx.  %0,0,%4         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  bne     $-12            \n"                /* branch to ldarx */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwsync                          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  isync                           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "=&r"(_t), "=&b"(res), "+m"(ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "i"(add_), "r"(&ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "memory", "cc");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -236,11 +236,11 @@ pg_atomic_fetch_add_u64_impl(volatile pg_atomic_uint64 *ptr, int64 add_)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           __asm__ __volatile__(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  sync                            \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  ldarx   %1,0,%4,1       \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  ldarx   %1,0,%4         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  add     %0,%1,%3        \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  stdcx.  %0,0,%4         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   "  bne     $-12            \n"                /* branch to ldarx */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  "  lwsync                          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  "  isync                           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "=&r"(_t), "=&r"(res), "+m"(ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "r"(add_), "r"(&ptr->value)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ :                 "memory", "cc");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/include/storage/s_lock.h src/include/storage/s_lock.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cc83d561b2..0877cf65b0 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/include/storage/s_lock.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/include/storage/s_lock.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -435,8 +435,7 @@ typedef unsigned int slock_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * NOTE: per the Enhanced PowerPC Architecture manual, v1.0 dated 7-May-2002,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * an isync is a sufficient synchronization barrier after a lwarx/stwcx loop.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * But if the spinlock is in ordinary memory, we can use lwsync instead for
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * better performance.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * On newer machines, we can use lwsync instead for better performance.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * Ordinarily, we'd code the branches here using GNU-style local symbols, that
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * is "1f" referencing "1:" and so on.  But some people run gcc on AIX with
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -451,15 +450,23 @@ tas(volatile slock_t *lock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int _res;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   __asm__ __volatile__(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef USE_PPC_LWARX_MUTEX_HINT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "    lwarx   %0,0,%3,1       \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"    lwarx   %0,0,%3         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "    cmpwi   %0,0            \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "    bne     $+16            \n"                /* branch to li %1,1 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "    addi    %0,%0,1         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "    stwcx.  %0,0,%3         \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-"    beq     $+12            \n"                /* branch to lwsync */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"    beq     $+12            \n"                /* branch to lwsync/isync */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "    li      %1,1            \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "    b       $+12            \n"                /* branch to end of asm sequence */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef USE_PPC_LWSYNC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "    lwsync                          \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++"    isync                           \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "    li      %1,0            \n"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ : "=&b"(_t), "=r"(_res), "+m"(*lock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -470,14 +477,23 @@ tas(volatile slock_t *lock)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  * PowerPC S_UNLOCK is almost standard but requires a "sync" instruction.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * But we can use lwsync instead for better performance.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * On newer machines, we can use lwsync instead for better performance.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef USE_PPC_LWSYNC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define S_UNLOCK(lock)    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ { \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   __asm__ __volatile__ ("    lwsync \n" ::: "memory"); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   *((volatile slock_t *) (lock)) = 0; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ } while (0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define S_UNLOCK(lock)    \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++do \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  __asm__ __volatile__ ("    sync \n" ::: "memory"); \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  *((volatile slock_t *) (lock)) = 0; \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++} while (0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* USE_PPC_LWSYNC */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* powerpc */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql16/files/patch-icu.diff b/databases/postgresql16/files/patch-icu.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a6758292f34
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql16/files/patch-icu.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,25 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/include/utils/pg_locale.h.orig     2022-08-09 04:44:29.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/include/utils/pg_locale.h  2022-10-25 01:49:09.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -17,6 +17,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef USE_ICU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <unicode/ucol.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "utils/guc.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/backend/utils/adt/formatting.c.orig        2022-10-25 02:07:10.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/backend/utils/adt/formatting.c     2022-10-25 02:07:21.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -81,6 +81,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef USE_ICU
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <unicode/ustring.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#undef bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "catalog/pg_collation.h"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/postgresql16/files/postgresql16 b/databases/postgresql16/files/postgresql16
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a7ee87d5391
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/postgresql16/files/postgresql16
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,335 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/clusterdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/createdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/createuser
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/dropdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/dropuser
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/ecpg
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/initdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/oid2name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_amcheck
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_archivecleanup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_basebackup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_checksums
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_config
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_controldata
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_ctl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_dump
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_dumpall
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_isready
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_receivewal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_recvlogical
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_resetwal
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_restore
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_rewind
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_test_fsync
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_test_timing
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_upgrade
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_verifybackup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pg_waldump
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/pgbench
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/postgres
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/psql
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/reindexdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/vacuumdb
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/postgresql16/bin/vacuumlo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/clusterdb.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/createdb.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/createuser.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/dropdb.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/dropuser.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/ecpg.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/initdb.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/oid2name.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_amcheck.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_archivecleanup.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_basebackup.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_checksums.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_config.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_controldata.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_ctl.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_dump.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_dumpall.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_isready.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_receivewal.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_recvlogical.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_resetwal.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_restore.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_rewind.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_test_fsync.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_test_timing.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_upgrade.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_verifybackup.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pg_waldump.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/pgbench.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/postgres.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/psql.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/reindexdb.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/vacuumdb.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man1/vacuumlo.1.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_commit.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_commit_and_chain.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_connect.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_connect_ext.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_copytuple.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_cursor_close.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_cursor_fetch.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_cursor_find.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_cursor_move.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_cursor_open.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_cursor_open_with_args.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_cursor_open_with_paramlist.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_cursor_parse_open.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_exec.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_execp.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_execute.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_execute_extended.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_execute_plan.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_execute_plan_extended.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_execute_plan_with_paramlist.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_execute_with_args.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_finish.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_fname.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_fnumber.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_freeplan.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_freetuple.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_freetuptable.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_getargcount.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_getargtypeid.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_getbinval.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_getnspname.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_getrelname.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_gettype.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_gettypeid.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_getvalue.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_is_cursor_plan.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_keepplan.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_modifytuple.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_palloc.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_pfree.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_prepare.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_prepare_cursor.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_prepare_extended.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_prepare_params.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_register_relation.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_register_trigger_data.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_repalloc.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_result_code_string.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_returntuple.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_rollback.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_rollback_and_chain.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_saveplan.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_scroll_cursor_fetch.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_scroll_cursor_move.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_start_transaction.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/SPI_unregister_relation.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_build_sql_delete.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_build_sql_insert.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_build_sql_update.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_cancel_query.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_close.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_connect.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_connect_u.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_disconnect.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_error_message.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_exec.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_fetch.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_get_connections.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_get_notify.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_get_pkey.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_get_result.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_is_busy.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_open.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man3/dblink_send_query.3.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ABORT.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_AGGREGATE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_COLLATION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_CONVERSION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_DATABASE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_DEFAULT_PRIVILEGES.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_DOMAIN.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_EVENT_TRIGGER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_EXTENSION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_FOREIGN_DATA_WRAPPER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_FOREIGN_TABLE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_FUNCTION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_GROUP.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_INDEX.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_LANGUAGE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_LARGE_OBJECT.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_MATERIALIZED_VIEW.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_OPERATOR.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_OPERATOR_CLASS.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_OPERATOR_FAMILY.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_POLICY.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_PROCEDURE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_PUBLICATION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_ROLE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_ROUTINE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_RULE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_SCHEMA.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_SEQUENCE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_SERVER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_STATISTICS.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_SUBSCRIPTION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_SYSTEM.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_TABLE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_TABLESPACE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_TEXT_SEARCH_CONFIGURATION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_TEXT_SEARCH_DICTIONARY.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_TEXT_SEARCH_PARSER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_TEXT_SEARCH_TEMPLATE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_TRIGGER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_TYPE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_USER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_USER_MAPPING.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ALTER_VIEW.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ANALYZE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/BEGIN.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CALL.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CHECKPOINT.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CLOSE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CLUSTER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/COMMENT.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/COMMIT.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/COMMIT_PREPARED.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/COPY.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_ACCESS_METHOD.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_AGGREGATE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_CAST.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_COLLATION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_CONVERSION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_DATABASE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_DOMAIN.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_EVENT_TRIGGER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_EXTENSION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_FOREIGN_DATA_WRAPPER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_FOREIGN_TABLE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_FUNCTION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_GROUP.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_INDEX.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_LANGUAGE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_MATERIALIZED_VIEW.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_OPERATOR.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_OPERATOR_CLASS.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_OPERATOR_FAMILY.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_POLICY.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_PROCEDURE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_PUBLICATION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_ROLE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_RULE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_SCHEMA.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_SEQUENCE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_SERVER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_STATISTICS.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_SUBSCRIPTION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_TABLE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_TABLESPACE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_TABLE_AS.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_TEXT_SEARCH_CONFIGURATION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_TEXT_SEARCH_DICTIONARY.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_TEXT_SEARCH_PARSER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_TEXT_SEARCH_TEMPLATE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_TRANSFORM.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_TRIGGER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_TYPE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_USER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_USER_MAPPING.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/CREATE_VIEW.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DEALLOCATE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DECLARE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DELETE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DISCARD.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DO.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_ACCESS_METHOD.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_AGGREGATE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_CAST.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_COLLATION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_CONVERSION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_DATABASE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_DOMAIN.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_EVENT_TRIGGER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_EXTENSION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_FOREIGN_DATA_WRAPPER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_FOREIGN_TABLE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_FUNCTION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_GROUP.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_INDEX.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_LANGUAGE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_MATERIALIZED_VIEW.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_OPERATOR.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_OPERATOR_CLASS.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_OPERATOR_FAMILY.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_OWNED.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_POLICY.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_PROCEDURE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_PUBLICATION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_ROLE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_ROUTINE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_RULE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_SCHEMA.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_SEQUENCE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_SERVER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_STATISTICS.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_SUBSCRIPTION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_TABLE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_TABLESPACE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_TEXT_SEARCH_CONFIGURATION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_TEXT_SEARCH_DICTIONARY.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_TEXT_SEARCH_PARSER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_TEXT_SEARCH_TEMPLATE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_TRANSFORM.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_TRIGGER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_TYPE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_USER.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_USER_MAPPING.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/DROP_VIEW.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/END.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/EXECUTE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/EXPLAIN.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/FETCH.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/GRANT.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/IMPORT_FOREIGN_SCHEMA.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/INSERT.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/LISTEN.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/LOAD.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/LOCK.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/MERGE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/MOVE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/NOTIFY.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/PREPARE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/PREPARE_TRANSACTION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/REASSIGN_OWNED.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/REFRESH_MATERIALIZED_VIEW.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/REINDEX.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/RELEASE_SAVEPOINT.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/RESET.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/REVOKE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ROLLBACK.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ROLLBACK_PREPARED.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/ROLLBACK_TO_SAVEPOINT.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/SAVEPOINT.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/SECURITY_LABEL.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/SELECT.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/SELECT_INTO.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/SET.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/SET_CONSTRAINTS.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/SET_ROLE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/SET_SESSION_AUTHORIZATION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/SET_TRANSACTION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/SHOW.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/START_TRANSACTION.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/TABLE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/TRUNCATE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/UNLISTEN.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/UPDATE.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/VACUUM.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/VALUES.7.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+share/doc/postgresql16/man/man7/WITH.7.gz
</span></pre><pre style='margin:0'>

</pre>