Version in base suite: 15.15-0+deb12u1 Version in overlay suite: 15.17-0+deb12u1 Base version: postgresql-15_15.17-0+deb12u1 Target version: postgresql-15_15.18-0+deb12u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/p/postgresql-15/postgresql-15_15.17-0+deb12u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/p/postgresql-15/postgresql-15_15.18-0+deb12u1.dsc .gitrevision | 2 config/c-compiler.m4 | 46 configure | 137 - configure.ac | 6 contrib/basic_archive/basic_archive.c | 15 contrib/hstore_plperl/hstore_plperl.c | 2 contrib/hstore_plpython/hstore_plpython.c | 2 contrib/intarray/_int_bool.c | 60 contrib/ltree/lquery_op.c | 67 contrib/ltree/ltree.h | 10 contrib/ltree/ltree_io.c | 19 contrib/ltree/ltxtquery_io.c | 51 contrib/ltree/ltxtquery_op.c | 11 contrib/pg_stat_statements/pg_stat_statements.c | 18 contrib/postgres_fdw/connection.c | 15 contrib/postgres_fdw/expected/postgres_fdw.out | 76 contrib/postgres_fdw/sql/postgres_fdw.sql | 51 contrib/spi/refint.c | 84 contrib/xml2/expected/xml2.out | 10 contrib/xml2/expected/xml2_1.out | 6 contrib/xml2/sql/xml2.sql | 6 contrib/xml2/xslt_proc.c | 9 debian/changelog | 121 doc/src/sgml/config.sgml | 8 doc/src/sgml/html/acronyms.html | 6 doc/src/sgml/html/admin.html | 4 doc/src/sgml/html/adminpack.html | 4 doc/src/sgml/html/amcheck.html | 4 doc/src/sgml/html/app-clusterdb.html | 4 doc/src/sgml/html/app-createdb.html | 4 doc/src/sgml/html/app-createuser.html | 4 doc/src/sgml/html/app-dropdb.html | 4 doc/src/sgml/html/app-dropuser.html | 4 doc/src/sgml/html/app-ecpg.html | 4 doc/src/sgml/html/app-initdb.html | 4 doc/src/sgml/html/app-pg-ctl.html | 9 doc/src/sgml/html/app-pg-dumpall.html | 4 doc/src/sgml/html/app-pg-isready.html | 4 doc/src/sgml/html/app-pgamcheck.html | 4 doc/src/sgml/html/app-pgbasebackup.html | 4 doc/src/sgml/html/app-pgchecksums.html | 4 doc/src/sgml/html/app-pgconfig.html | 4 doc/src/sgml/html/app-pgcontroldata.html | 4 doc/src/sgml/html/app-pgdump.html | 4 doc/src/sgml/html/app-pgreceivewal.html | 4 doc/src/sgml/html/app-pgreceivexlog.html | 6 doc/src/sgml/html/app-pgrecvlogical.html | 4 doc/src/sgml/html/app-pgresetwal.html | 4 doc/src/sgml/html/app-pgresetxlog.html | 6 doc/src/sgml/html/app-pgrestore.html | 4 doc/src/sgml/html/app-pgrewind.html | 4 doc/src/sgml/html/app-pgverifybackup.html | 4 doc/src/sgml/html/app-postgres.html | 4 doc/src/sgml/html/app-postmaster.html | 4 doc/src/sgml/html/app-psql.html | 8 doc/src/sgml/html/app-reindexdb.html | 4 doc/src/sgml/html/app-vacuumdb.html | 4 doc/src/sgml/html/appendix-obsolete.html | 4 doc/src/sgml/html/appendixes.html | 2 doc/src/sgml/html/applevel-consistency.html | 4 doc/src/sgml/html/archive-module-callbacks.html | 4 doc/src/sgml/html/archive-module-init.html | 4 doc/src/sgml/html/archive-modules.html | 4 doc/src/sgml/html/arrays.html | 4 doc/src/sgml/html/auth-bsd.html | 4 doc/src/sgml/html/auth-cert.html | 4 doc/src/sgml/html/auth-delay.html | 4 doc/src/sgml/html/auth-ident.html | 4 doc/src/sgml/html/auth-ldap.html | 4 doc/src/sgml/html/auth-methods.html | 4 doc/src/sgml/html/auth-pam.html | 4 doc/src/sgml/html/auth-password.html | 4 doc/src/sgml/html/auth-peer.html | 4 doc/src/sgml/html/auth-pg-hba-conf.html | 4 doc/src/sgml/html/auth-radius.html | 4 doc/src/sgml/html/auth-trust.html | 4 doc/src/sgml/html/auth-username-maps.html | 4 doc/src/sgml/html/auto-explain.html | 4 doc/src/sgml/html/backup-dump.html | 4 doc/src/sgml/html/backup-file.html | 4 doc/src/sgml/html/backup-manifest-files.html | 4 doc/src/sgml/html/backup-manifest-format.html | 4 doc/src/sgml/html/backup-manifest-toplevel.html | 4 doc/src/sgml/html/backup-manifest-wal-ranges.html | 4 doc/src/sgml/html/backup.html | 4 doc/src/sgml/html/basebackup-to-shell.html | 4 doc/src/sgml/html/basic-archive.html | 4 doc/src/sgml/html/bgworker.html | 4 doc/src/sgml/html/biblio.html | 4 doc/src/sgml/html/bki-commands.html | 4 doc/src/sgml/html/bki-example.html | 4 doc/src/sgml/html/bki-format.html | 4 doc/src/sgml/html/bki-structure.html | 4 doc/src/sgml/html/bki.html | 4 doc/src/sgml/html/bloom.html | 4 doc/src/sgml/html/bookindex.html | 18 doc/src/sgml/html/brin-builtin-opclasses.html | 4 doc/src/sgml/html/brin-extensibility.html | 4 doc/src/sgml/html/brin-intro.html | 4 doc/src/sgml/html/brin.html | 2 doc/src/sgml/html/btree-behavior.html | 4 doc/src/sgml/html/btree-gin.html | 4 doc/src/sgml/html/btree-gist.html | 4 doc/src/sgml/html/btree-implementation.html | 4 doc/src/sgml/html/btree-intro.html | 4 doc/src/sgml/html/btree-support-funcs.html | 4 doc/src/sgml/html/btree.html | 2 doc/src/sgml/html/bug-reporting.html | 6 doc/src/sgml/html/catalog-pg-aggregate.html | 4 doc/src/sgml/html/catalog-pg-am.html | 4 doc/src/sgml/html/catalog-pg-amop.html | 4 doc/src/sgml/html/catalog-pg-amproc.html | 4 doc/src/sgml/html/catalog-pg-attrdef.html | 4 doc/src/sgml/html/catalog-pg-attribute.html | 4 doc/src/sgml/html/catalog-pg-auth-members.html | 4 doc/src/sgml/html/catalog-pg-authid.html | 4 doc/src/sgml/html/catalog-pg-cast.html | 4 doc/src/sgml/html/catalog-pg-class.html | 4 doc/src/sgml/html/catalog-pg-collation.html | 4 doc/src/sgml/html/catalog-pg-constraint.html | 4 doc/src/sgml/html/catalog-pg-conversion.html | 4 doc/src/sgml/html/catalog-pg-database.html | 4 doc/src/sgml/html/catalog-pg-db-role-setting.html | 4 doc/src/sgml/html/catalog-pg-default-acl.html | 4 doc/src/sgml/html/catalog-pg-depend.html | 4 doc/src/sgml/html/catalog-pg-description.html | 4 doc/src/sgml/html/catalog-pg-enum.html | 4 doc/src/sgml/html/catalog-pg-event-trigger.html | 4 doc/src/sgml/html/catalog-pg-extension.html | 4 doc/src/sgml/html/catalog-pg-foreign-data-wrapper.html | 4 doc/src/sgml/html/catalog-pg-foreign-server.html | 4 doc/src/sgml/html/catalog-pg-foreign-table.html | 4 doc/src/sgml/html/catalog-pg-index.html | 4 doc/src/sgml/html/catalog-pg-inherits.html | 4 doc/src/sgml/html/catalog-pg-init-privs.html | 4 doc/src/sgml/html/catalog-pg-language.html | 4 doc/src/sgml/html/catalog-pg-largeobject-metadata.html | 4 doc/src/sgml/html/catalog-pg-largeobject.html | 4 doc/src/sgml/html/catalog-pg-namespace.html | 4 doc/src/sgml/html/catalog-pg-opclass.html | 4 doc/src/sgml/html/catalog-pg-operator.html | 4 doc/src/sgml/html/catalog-pg-opfamily.html | 4 doc/src/sgml/html/catalog-pg-parameter-acl.html | 4 doc/src/sgml/html/catalog-pg-partitioned-table.html | 4 doc/src/sgml/html/catalog-pg-policy.html | 4 doc/src/sgml/html/catalog-pg-proc.html | 4 doc/src/sgml/html/catalog-pg-publication-namespace.html | 4 doc/src/sgml/html/catalog-pg-publication-rel.html | 4 doc/src/sgml/html/catalog-pg-publication.html | 4 doc/src/sgml/html/catalog-pg-range.html | 4 doc/src/sgml/html/catalog-pg-replication-origin.html | 4 doc/src/sgml/html/catalog-pg-rewrite.html | 4 doc/src/sgml/html/catalog-pg-seclabel.html | 4 doc/src/sgml/html/catalog-pg-sequence.html | 4 doc/src/sgml/html/catalog-pg-shdepend.html | 4 doc/src/sgml/html/catalog-pg-shdescription.html | 4 doc/src/sgml/html/catalog-pg-shseclabel.html | 4 doc/src/sgml/html/catalog-pg-statistic-ext-data.html | 4 doc/src/sgml/html/catalog-pg-statistic-ext.html | 4 doc/src/sgml/html/catalog-pg-statistic.html | 4 doc/src/sgml/html/catalog-pg-subscription-rel.html | 4 doc/src/sgml/html/catalog-pg-subscription.html | 4 doc/src/sgml/html/catalog-pg-tablespace.html | 4 doc/src/sgml/html/catalog-pg-transform.html | 4 doc/src/sgml/html/catalog-pg-trigger.html | 4 doc/src/sgml/html/catalog-pg-ts-config-map.html | 4 doc/src/sgml/html/catalog-pg-ts-config.html | 4 doc/src/sgml/html/catalog-pg-ts-dict.html | 4 doc/src/sgml/html/catalog-pg-ts-parser.html | 4 doc/src/sgml/html/catalog-pg-ts-template.html | 4 doc/src/sgml/html/catalog-pg-type.html | 4 doc/src/sgml/html/catalog-pg-user-mapping.html | 4 doc/src/sgml/html/catalogs-overview.html | 4 doc/src/sgml/html/catalogs.html | 4 doc/src/sgml/html/charset.html | 4 doc/src/sgml/html/checksums.html | 4 doc/src/sgml/html/citext.html | 4 doc/src/sgml/html/client-authentication-problems.html | 4 doc/src/sgml/html/client-authentication.html | 4 doc/src/sgml/html/client-interfaces.html | 4 doc/src/sgml/html/collation.html | 4 doc/src/sgml/html/color-when.html | 4 doc/src/sgml/html/color-which.html | 4 doc/src/sgml/html/color.html | 4 doc/src/sgml/html/config-setting.html | 4 doc/src/sgml/html/connect-estab.html | 4 doc/src/sgml/html/continuous-archiving.html | 4 doc/src/sgml/html/contrib-dblink-build-sql-delete.html | 4 doc/src/sgml/html/contrib-dblink-build-sql-insert.html | 4 doc/src/sgml/html/contrib-dblink-build-sql-update.html | 4 doc/src/sgml/html/contrib-dblink-cancel-query.html | 4 doc/src/sgml/html/contrib-dblink-close.html | 4 doc/src/sgml/html/contrib-dblink-connect-u.html | 4 doc/src/sgml/html/contrib-dblink-connect.html | 4 doc/src/sgml/html/contrib-dblink-disconnect.html | 4 doc/src/sgml/html/contrib-dblink-error-message.html | 4 doc/src/sgml/html/contrib-dblink-exec.html | 4 doc/src/sgml/html/contrib-dblink-fetch.html | 4 doc/src/sgml/html/contrib-dblink-function.html | 4 doc/src/sgml/html/contrib-dblink-get-connections.html | 4 doc/src/sgml/html/contrib-dblink-get-notify.html | 4 doc/src/sgml/html/contrib-dblink-get-pkey.html | 4 doc/src/sgml/html/contrib-dblink-get-result.html | 4 doc/src/sgml/html/contrib-dblink-is-busy.html | 4 doc/src/sgml/html/contrib-dblink-open.html | 4 doc/src/sgml/html/contrib-dblink-send-query.html | 4 doc/src/sgml/html/contrib-prog-client.html | 4 doc/src/sgml/html/contrib-prog-server.html | 4 doc/src/sgml/html/contrib-prog.html | 4 doc/src/sgml/html/contrib-spi.html | 4 doc/src/sgml/html/contrib.html | 4 doc/src/sgml/html/creating-cluster.html | 4 doc/src/sgml/html/cube.html | 4 doc/src/sgml/html/custom-rmgr.html | 4 doc/src/sgml/html/custom-scan-execution.html | 4 doc/src/sgml/html/custom-scan-path.html | 4 doc/src/sgml/html/custom-scan-plan.html | 4 doc/src/sgml/html/custom-scan.html | 4 doc/src/sgml/html/database-roles.html | 4 doc/src/sgml/html/datatype-binary.html | 4 doc/src/sgml/html/datatype-bit.html | 4 doc/src/sgml/html/datatype-boolean.html | 4 doc/src/sgml/html/datatype-character.html | 4 doc/src/sgml/html/datatype-datetime.html | 4 doc/src/sgml/html/datatype-enum.html | 4 doc/src/sgml/html/datatype-geometric.html | 4 doc/src/sgml/html/datatype-json.html | 4 doc/src/sgml/html/datatype-money.html | 4 doc/src/sgml/html/datatype-net-types.html | 4 doc/src/sgml/html/datatype-numeric.html | 4 doc/src/sgml/html/datatype-oid.html | 4 doc/src/sgml/html/datatype-pg-lsn.html | 4 doc/src/sgml/html/datatype-pseudo.html | 4 doc/src/sgml/html/datatype-textsearch.html | 4 doc/src/sgml/html/datatype-uuid.html | 4 doc/src/sgml/html/datatype-xml.html | 4 doc/src/sgml/html/datatype.html | 4 doc/src/sgml/html/datetime-appendix.html | 4 doc/src/sgml/html/datetime-config-files.html | 4 doc/src/sgml/html/datetime-input-rules.html | 4 doc/src/sgml/html/datetime-invalid-input.html | 4 doc/src/sgml/html/datetime-julian-dates.html | 4 doc/src/sgml/html/datetime-keywords.html | 4 doc/src/sgml/html/datetime-posix-timezone-specs.html | 4 doc/src/sgml/html/datetime-units-history.html | 4 doc/src/sgml/html/dblink.html | 4 doc/src/sgml/html/ddl-alter.html | 4 doc/src/sgml/html/ddl-basics.html | 4 doc/src/sgml/html/ddl-constraints.html | 4 doc/src/sgml/html/ddl-default.html | 4 doc/src/sgml/html/ddl-depend.html | 4 doc/src/sgml/html/ddl-foreign-data.html | 4 doc/src/sgml/html/ddl-generated-columns.html | 4 doc/src/sgml/html/ddl-inherit.html | 4 doc/src/sgml/html/ddl-others.html | 4 doc/src/sgml/html/ddl-partitioning.html | 4 doc/src/sgml/html/ddl-priv.html | 4 doc/src/sgml/html/ddl-rowsecurity.html | 4 doc/src/sgml/html/ddl-schemas.html | 4 doc/src/sgml/html/ddl-system-columns.html | 4 doc/src/sgml/html/ddl.html | 4 doc/src/sgml/html/default-roles.html | 6 doc/src/sgml/html/dict-int.html | 4 doc/src/sgml/html/dict-xsyn.html | 4 doc/src/sgml/html/different-replication-solutions.html | 4 doc/src/sgml/html/disk-full.html | 4 doc/src/sgml/html/disk-usage.html | 4 doc/src/sgml/html/diskusage.html | 4 doc/src/sgml/html/dml-delete.html | 4 doc/src/sgml/html/dml-insert.html | 4 doc/src/sgml/html/dml-returning.html | 4 doc/src/sgml/html/dml-update.html | 4 doc/src/sgml/html/dml.html | 4 doc/src/sgml/html/docguide-authoring.html | 4 doc/src/sgml/html/docguide-build.html | 4 doc/src/sgml/html/docguide-docbook.html | 4 doc/src/sgml/html/docguide-style.html | 4 doc/src/sgml/html/docguide-toolsets.html | 4 doc/src/sgml/html/docguide.html | 4 doc/src/sgml/html/domains.html | 4 doc/src/sgml/html/dynamic-trace.html | 4 doc/src/sgml/html/earthdistance.html | 4 doc/src/sgml/html/ecpg-commands.html | 4 doc/src/sgml/html/ecpg-concept.html | 4 doc/src/sgml/html/ecpg-connect.html | 4 doc/src/sgml/html/ecpg-cpp.html | 4 doc/src/sgml/html/ecpg-descriptors.html | 4 doc/src/sgml/html/ecpg-develop.html | 4 doc/src/sgml/html/ecpg-dynamic.html | 4 doc/src/sgml/html/ecpg-errors.html | 4 doc/src/sgml/html/ecpg-informix-compat.html | 4 doc/src/sgml/html/ecpg-library.html | 4 doc/src/sgml/html/ecpg-lo.html | 4 doc/src/sgml/html/ecpg-oracle-compat.html | 4 doc/src/sgml/html/ecpg-pgtypes.html | 4 doc/src/sgml/html/ecpg-preproc.html | 4 doc/src/sgml/html/ecpg-process.html | 4 doc/src/sgml/html/ecpg-sql-allocate-descriptor.html | 4 doc/src/sgml/html/ecpg-sql-commands.html | 4 doc/src/sgml/html/ecpg-sql-connect.html | 4 doc/src/sgml/html/ecpg-sql-deallocate-descriptor.html | 4 doc/src/sgml/html/ecpg-sql-declare-statement.html | 4 doc/src/sgml/html/ecpg-sql-declare.html | 4 doc/src/sgml/html/ecpg-sql-describe.html | 4 doc/src/sgml/html/ecpg-sql-disconnect.html | 4 doc/src/sgml/html/ecpg-sql-execute-immediate.html | 4 doc/src/sgml/html/ecpg-sql-get-descriptor.html | 4 doc/src/sgml/html/ecpg-sql-open.html | 4 doc/src/sgml/html/ecpg-sql-prepare.html | 4 doc/src/sgml/html/ecpg-sql-set-autocommit.html | 4 doc/src/sgml/html/ecpg-sql-set-connection.html | 4 doc/src/sgml/html/ecpg-sql-set-descriptor.html | 4 doc/src/sgml/html/ecpg-sql-type.html | 4 doc/src/sgml/html/ecpg-sql-var.html | 4 doc/src/sgml/html/ecpg-sql-whenever.html | 4 doc/src/sgml/html/ecpg-variables.html | 4 doc/src/sgml/html/ecpg.html | 4 doc/src/sgml/html/encryption-options.html | 4 doc/src/sgml/html/errcodes-appendix.html | 6 doc/src/sgml/html/error-message-reporting.html | 4 doc/src/sgml/html/error-style-guide.html | 4 doc/src/sgml/html/event-log-registration.html | 4 doc/src/sgml/html/event-trigger-definition.html | 4 doc/src/sgml/html/event-trigger-example.html | 4 doc/src/sgml/html/event-trigger-interface.html | 4 doc/src/sgml/html/event-trigger-matrix.html | 4 doc/src/sgml/html/event-trigger-table-rewrite-example.html | 4 doc/src/sgml/html/event-triggers.html | 4 doc/src/sgml/html/executor.html | 4 doc/src/sgml/html/explicit-joins.html | 4 doc/src/sgml/html/explicit-locking.html | 4 doc/src/sgml/html/extend-extensions.html | 4 doc/src/sgml/html/extend-how.html | 4 doc/src/sgml/html/extend-pgxs.html | 4 doc/src/sgml/html/extend-type-system.html | 4 doc/src/sgml/html/extend.html | 4 doc/src/sgml/html/external-admin-tools.html | 4 doc/src/sgml/html/external-extensions.html | 4 doc/src/sgml/html/external-interfaces.html | 4 doc/src/sgml/html/external-pl.html | 4 doc/src/sgml/html/external-projects.html | 4 doc/src/sgml/html/fdw-callbacks.html | 4 doc/src/sgml/html/fdw-functions.html | 4 doc/src/sgml/html/fdw-helpers.html | 4 doc/src/sgml/html/fdw-planning.html | 4 doc/src/sgml/html/fdw-row-locking.html | 4 doc/src/sgml/html/fdwhandler.html | 4 doc/src/sgml/html/features-sql-standard.html | 4 doc/src/sgml/html/features.html | 4 doc/src/sgml/html/file-fdw.html | 4 doc/src/sgml/html/functions-admin.html | 4 doc/src/sgml/html/functions-aggregate.html | 4 doc/src/sgml/html/functions-array.html | 4 doc/src/sgml/html/functions-binarystring.html | 4 doc/src/sgml/html/functions-bitstring.html | 4 doc/src/sgml/html/functions-comparison.html | 4 doc/src/sgml/html/functions-comparisons.html | 4 doc/src/sgml/html/functions-conditional.html | 4 doc/src/sgml/html/functions-datetime.html | 4 doc/src/sgml/html/functions-enum.html | 4 doc/src/sgml/html/functions-event-triggers.html | 4 doc/src/sgml/html/functions-formatting.html | 4 doc/src/sgml/html/functions-geometry.html | 4 doc/src/sgml/html/functions-info.html | 4 doc/src/sgml/html/functions-json.html | 4 doc/src/sgml/html/functions-logical.html | 4 doc/src/sgml/html/functions-matching.html | 4 doc/src/sgml/html/functions-math.html | 4 doc/src/sgml/html/functions-net.html | 4 doc/src/sgml/html/functions-range.html | 4 doc/src/sgml/html/functions-sequence.html | 4 doc/src/sgml/html/functions-srf.html | 4 doc/src/sgml/html/functions-statistics.html | 4 doc/src/sgml/html/functions-string.html | 4 doc/src/sgml/html/functions-subquery.html | 4 doc/src/sgml/html/functions-textsearch.html | 4 doc/src/sgml/html/functions-trigger.html | 4 doc/src/sgml/html/functions-uuid.html | 4 doc/src/sgml/html/functions-window.html | 4 doc/src/sgml/html/functions-xml.html | 4 doc/src/sgml/html/functions.html | 4 doc/src/sgml/html/fuzzystrmatch.html | 4 doc/src/sgml/html/generic-wal.html | 4 doc/src/sgml/html/geqo-biblio.html | 4 doc/src/sgml/html/geqo-intro.html | 4 doc/src/sgml/html/geqo-intro2.html | 4 doc/src/sgml/html/geqo-pg-intro.html | 4 doc/src/sgml/html/geqo.html | 4 doc/src/sgml/html/gin-builtin-opclasses.html | 4 doc/src/sgml/html/gin-examples.html | 4 doc/src/sgml/html/gin-extensibility.html | 4 doc/src/sgml/html/gin-implementation.html | 4 doc/src/sgml/html/gin-intro.html | 4 doc/src/sgml/html/gin-limit.html | 4 doc/src/sgml/html/gin-tips.html | 4 doc/src/sgml/html/gin.html | 2 doc/src/sgml/html/gist-builtin-opclasses.html | 4 doc/src/sgml/html/gist-examples.html | 4 doc/src/sgml/html/gist-extensibility.html | 4 doc/src/sgml/html/gist-implementation.html | 4 doc/src/sgml/html/gist-intro.html | 4 doc/src/sgml/html/gist.html | 2 doc/src/sgml/html/git.html | 4 doc/src/sgml/html/glossary.html | 4 doc/src/sgml/html/gssapi-auth.html | 4 doc/src/sgml/html/gssapi-enc.html | 4 doc/src/sgml/html/hash-implementation.html | 4 doc/src/sgml/html/hash-index.html | 2 doc/src/sgml/html/hash-intro.html | 4 doc/src/sgml/html/high-availability.html | 4 doc/src/sgml/html/history.html | 4 doc/src/sgml/html/hot-standby.html | 4 doc/src/sgml/html/how-parallel-query-works.html | 4 doc/src/sgml/html/hstore.html | 4 doc/src/sgml/html/index-api.html | 4 doc/src/sgml/html/index-cost-estimation.html | 4 doc/src/sgml/html/index-functions.html | 4 doc/src/sgml/html/index-locking.html | 4 doc/src/sgml/html/index-scanning.html | 4 doc/src/sgml/html/index-unique-checks.html | 4 doc/src/sgml/html/index.html | 2 doc/src/sgml/html/indexam.html | 4 doc/src/sgml/html/indexes-bitmap-scans.html | 4 doc/src/sgml/html/indexes-collations.html | 4 doc/src/sgml/html/indexes-examine.html | 4 doc/src/sgml/html/indexes-expressional.html | 4 doc/src/sgml/html/indexes-index-only-scans.html | 4 doc/src/sgml/html/indexes-intro.html | 4 doc/src/sgml/html/indexes-multicolumn.html | 4 doc/src/sgml/html/indexes-opclass.html | 4 doc/src/sgml/html/indexes-ordering.html | 4 doc/src/sgml/html/indexes-partial.html | 4 doc/src/sgml/html/indexes-types.html | 4 doc/src/sgml/html/indexes-unique.html | 4 doc/src/sgml/html/indexes.html | 4 doc/src/sgml/html/information-schema.html | 4 doc/src/sgml/html/infoschema-administrable-role-authorizations.html | 4 doc/src/sgml/html/infoschema-applicable-roles.html | 4 doc/src/sgml/html/infoschema-attributes.html | 4 doc/src/sgml/html/infoschema-character-sets.html | 4 doc/src/sgml/html/infoschema-check-constraint-routine-usage.html | 4 doc/src/sgml/html/infoschema-check-constraints.html | 4 doc/src/sgml/html/infoschema-collation-character-set-applicab.html | 4 doc/src/sgml/html/infoschema-collations.html | 4 doc/src/sgml/html/infoschema-column-column-usage.html | 4 doc/src/sgml/html/infoschema-column-domain-usage.html | 4 doc/src/sgml/html/infoschema-column-options.html | 4 doc/src/sgml/html/infoschema-column-privileges.html | 4 doc/src/sgml/html/infoschema-column-udt-usage.html | 4 doc/src/sgml/html/infoschema-columns.html | 4 doc/src/sgml/html/infoschema-constraint-column-usage.html | 4 doc/src/sgml/html/infoschema-constraint-table-usage.html | 4 doc/src/sgml/html/infoschema-data-type-privileges.html | 4 doc/src/sgml/html/infoschema-datatypes.html | 4 doc/src/sgml/html/infoschema-domain-constraints.html | 4 doc/src/sgml/html/infoschema-domain-udt-usage.html | 4 doc/src/sgml/html/infoschema-domains.html | 4 doc/src/sgml/html/infoschema-element-types.html | 4 doc/src/sgml/html/infoschema-enabled-roles.html | 4 doc/src/sgml/html/infoschema-foreign-data-wrapper-options.html | 4 doc/src/sgml/html/infoschema-foreign-data-wrappers.html | 4 doc/src/sgml/html/infoschema-foreign-server-options.html | 4 doc/src/sgml/html/infoschema-foreign-servers.html | 4 doc/src/sgml/html/infoschema-foreign-table-options.html | 4 doc/src/sgml/html/infoschema-foreign-tables.html | 4 doc/src/sgml/html/infoschema-information-schema-catalog-name.html | 4 doc/src/sgml/html/infoschema-key-column-usage.html | 4 doc/src/sgml/html/infoschema-parameters.html | 4 doc/src/sgml/html/infoschema-referential-constraints.html | 4 doc/src/sgml/html/infoschema-role-column-grants.html | 4 doc/src/sgml/html/infoschema-role-routine-grants.html | 4 doc/src/sgml/html/infoschema-role-table-grants.html | 4 doc/src/sgml/html/infoschema-role-udt-grants.html | 4 doc/src/sgml/html/infoschema-role-usage-grants.html | 4 doc/src/sgml/html/infoschema-routine-column-usage.html | 4 doc/src/sgml/html/infoschema-routine-privileges.html | 4 doc/src/sgml/html/infoschema-routine-routine-usage.html | 4 doc/src/sgml/html/infoschema-routine-sequence-usage.html | 4 doc/src/sgml/html/infoschema-routine-table-usage.html | 4 doc/src/sgml/html/infoschema-routines.html | 4 doc/src/sgml/html/infoschema-schema.html | 4 doc/src/sgml/html/infoschema-schemata.html | 4 doc/src/sgml/html/infoschema-sequences.html | 4 doc/src/sgml/html/infoschema-sql-features.html | 4 doc/src/sgml/html/infoschema-sql-implementation-info.html | 4 doc/src/sgml/html/infoschema-sql-parts.html | 4 doc/src/sgml/html/infoschema-sql-sizing.html | 4 doc/src/sgml/html/infoschema-table-constraints.html | 4 doc/src/sgml/html/infoschema-table-privileges.html | 4 doc/src/sgml/html/infoschema-tables.html | 4 doc/src/sgml/html/infoschema-transforms.html | 4 doc/src/sgml/html/infoschema-triggered-update-columns.html | 4 doc/src/sgml/html/infoschema-triggers.html | 4 doc/src/sgml/html/infoschema-udt-privileges.html | 4 doc/src/sgml/html/infoschema-usage-privileges.html | 4 doc/src/sgml/html/infoschema-user-defined-types.html | 4 doc/src/sgml/html/infoschema-user-mapping-options.html | 4 doc/src/sgml/html/infoschema-user-mappings.html | 4 doc/src/sgml/html/infoschema-view-column-usage.html | 4 doc/src/sgml/html/infoschema-view-routine-usage.html | 4 doc/src/sgml/html/infoschema-view-table-usage.html | 4 doc/src/sgml/html/infoschema-views.html | 4 doc/src/sgml/html/install-binaries.html | 4 doc/src/sgml/html/install-getsource.html | 4 doc/src/sgml/html/install-post.html | 4 doc/src/sgml/html/install-procedure.html | 4 doc/src/sgml/html/install-requirements.html | 4 doc/src/sgml/html/install-short.html | 4 doc/src/sgml/html/install-windows-full.html | 4 doc/src/sgml/html/install-windows.html | 4 doc/src/sgml/html/installation-platform-notes.html | 4 doc/src/sgml/html/installation.html | 4 doc/src/sgml/html/intagg.html | 4 doc/src/sgml/html/intarray.html | 4 doc/src/sgml/html/internals.html | 4 doc/src/sgml/html/intro-whatis.html | 4 doc/src/sgml/html/isn.html | 4 doc/src/sgml/html/jit-configuration.html | 4 doc/src/sgml/html/jit-decision.html | 4 doc/src/sgml/html/jit-extensibility.html | 4 doc/src/sgml/html/jit-reason.html | 4 doc/src/sgml/html/jit.html | 4 doc/src/sgml/html/kernel-resources.html | 4 doc/src/sgml/html/largeobjects.html | 4 doc/src/sgml/html/libpq-async.html | 4 doc/src/sgml/html/libpq-build.html | 4 doc/src/sgml/html/libpq-cancel.html | 4 doc/src/sgml/html/libpq-connect.html | 4 doc/src/sgml/html/libpq-control.html | 4 doc/src/sgml/html/libpq-copy.html | 4 doc/src/sgml/html/libpq-envars.html | 4 doc/src/sgml/html/libpq-events.html | 4 doc/src/sgml/html/libpq-example.html | 4 doc/src/sgml/html/libpq-exec.html | 4 doc/src/sgml/html/libpq-fastpath.html | 13 doc/src/sgml/html/libpq-ldap.html | 4 doc/src/sgml/html/libpq-misc.html | 4 doc/src/sgml/html/libpq-notice-processing.html | 4 doc/src/sgml/html/libpq-notify.html | 4 doc/src/sgml/html/libpq-pgpass.html | 4 doc/src/sgml/html/libpq-pgservice.html | 4 doc/src/sgml/html/libpq-pipeline-mode.html | 4 doc/src/sgml/html/libpq-single-row-mode.html | 4 doc/src/sgml/html/libpq-ssl.html | 4 doc/src/sgml/html/libpq-status.html | 4 doc/src/sgml/html/libpq-threading.html | 4 doc/src/sgml/html/libpq.html | 4 doc/src/sgml/html/limits.html | 4 doc/src/sgml/html/lo-examplesect.html | 4 doc/src/sgml/html/lo-funcs.html | 4 doc/src/sgml/html/lo-implementation.html | 4 doc/src/sgml/html/lo-interfaces.html | 4 doc/src/sgml/html/lo-intro.html | 4 doc/src/sgml/html/lo.html | 4 doc/src/sgml/html/locale.html | 4 doc/src/sgml/html/locking-indexes.html | 4 doc/src/sgml/html/logfile-maintenance.html | 4 doc/src/sgml/html/logical-replication-architecture.html | 6 doc/src/sgml/html/logical-replication-col-lists.html | 4 doc/src/sgml/html/logical-replication-config.html | 4 doc/src/sgml/html/logical-replication-conflicts.html | 4 doc/src/sgml/html/logical-replication-monitoring.html | 4 doc/src/sgml/html/logical-replication-publication.html | 4 doc/src/sgml/html/logical-replication-quick-setup.html | 4 doc/src/sgml/html/logical-replication-restrictions.html | 4 doc/src/sgml/html/logical-replication-row-filter.html | 6 doc/src/sgml/html/logical-replication-security.html | 4 doc/src/sgml/html/logical-replication-subscription.html | 8 doc/src/sgml/html/logical-replication.html | 8 doc/src/sgml/html/logicaldecoding-catalogs.html | 4 doc/src/sgml/html/logicaldecoding-example.html | 4 doc/src/sgml/html/logicaldecoding-explanation.html | 4 doc/src/sgml/html/logicaldecoding-output-plugin.html | 4 doc/src/sgml/html/logicaldecoding-sql.html | 4 doc/src/sgml/html/logicaldecoding-streaming.html | 4 doc/src/sgml/html/logicaldecoding-synchronous.html | 4 doc/src/sgml/html/logicaldecoding-two-phase-commits.html | 4 doc/src/sgml/html/logicaldecoding-walsender.html | 4 doc/src/sgml/html/logicaldecoding-writer.html | 4 doc/src/sgml/html/logicaldecoding.html | 4 doc/src/sgml/html/ltree.html | 4 doc/src/sgml/html/maintenance.html | 4 doc/src/sgml/html/manage-ag-config.html | 4 doc/src/sgml/html/manage-ag-createdb.html | 4 doc/src/sgml/html/manage-ag-dropdb.html | 4 doc/src/sgml/html/manage-ag-overview.html | 4 doc/src/sgml/html/manage-ag-tablespaces.html | 4 doc/src/sgml/html/manage-ag-templatedbs.html | 4 doc/src/sgml/html/managing-databases.html | 4 doc/src/sgml/html/monitoring-locks.html | 4 doc/src/sgml/html/monitoring-ps.html | 4 doc/src/sgml/html/monitoring-stats.html | 4 doc/src/sgml/html/monitoring.html | 4 doc/src/sgml/html/multibyte.html | 4 doc/src/sgml/html/multivariate-statistics-examples.html | 4 doc/src/sgml/html/mvcc-caveats.html | 4 doc/src/sgml/html/mvcc-intro.html | 4 doc/src/sgml/html/mvcc-serialization-failure-handling.html | 4 doc/src/sgml/html/mvcc.html | 4 doc/src/sgml/html/nls-programmer.html | 4 doc/src/sgml/html/nls-translator.html | 4 doc/src/sgml/html/nls.html | 2 doc/src/sgml/html/non-durability.html | 4 doc/src/sgml/html/notation.html | 4 doc/src/sgml/html/oid2name.html | 4 doc/src/sgml/html/oldsnapshot.html | 4 doc/src/sgml/html/overview.html | 4 doc/src/sgml/html/pageinspect.html | 4 doc/src/sgml/html/parallel-plans.html | 4 doc/src/sgml/html/parallel-query.html | 4 doc/src/sgml/html/parallel-safety.html | 4 doc/src/sgml/html/parser-stage.html | 4 doc/src/sgml/html/passwordcheck.html | 4 doc/src/sgml/html/performance-tips.html | 4 doc/src/sgml/html/perm-functions.html | 4 doc/src/sgml/html/pgarchivecleanup.html | 4 doc/src/sgml/html/pgbench.html | 4 doc/src/sgml/html/pgbuffercache.html | 4 doc/src/sgml/html/pgcrypto.html | 4 doc/src/sgml/html/pgfreespacemap.html | 4 doc/src/sgml/html/pgprewarm.html | 4 doc/src/sgml/html/pgrowlocks.html | 4 doc/src/sgml/html/pgstatstatements.html | 4 doc/src/sgml/html/pgstattuple.html | 4 doc/src/sgml/html/pgsurgery.html | 4 doc/src/sgml/html/pgtestfsync.html | 4 doc/src/sgml/html/pgtesttiming.html | 4 doc/src/sgml/html/pgtrgm.html | 4 doc/src/sgml/html/pgupgrade.html | 4 doc/src/sgml/html/pgvisibility.html | 4 doc/src/sgml/html/pgwaldump.html | 4 doc/src/sgml/html/pgwalinspect.html | 4 doc/src/sgml/html/pgxlogdump.html | 6 doc/src/sgml/html/planner-optimizer.html | 4 doc/src/sgml/html/planner-stats-details.html | 4 doc/src/sgml/html/planner-stats-security.html | 4 doc/src/sgml/html/planner-stats.html | 4 doc/src/sgml/html/plhandler.html | 4 doc/src/sgml/html/plperl-builtins.html | 4 doc/src/sgml/html/plperl-data.html | 4 doc/src/sgml/html/plperl-event-triggers.html | 4 doc/src/sgml/html/plperl-funcs.html | 4 doc/src/sgml/html/plperl-global.html | 4 doc/src/sgml/html/plperl-triggers.html | 4 doc/src/sgml/html/plperl-trusted.html | 4 doc/src/sgml/html/plperl-under-the-hood.html | 4 doc/src/sgml/html/plperl.html | 4 doc/src/sgml/html/plpgsql-control-structures.html | 4 doc/src/sgml/html/plpgsql-cursors.html | 4 doc/src/sgml/html/plpgsql-declarations.html | 4 doc/src/sgml/html/plpgsql-development-tips.html | 4 doc/src/sgml/html/plpgsql-errors-and-messages.html | 4 doc/src/sgml/html/plpgsql-expressions.html | 4 doc/src/sgml/html/plpgsql-implementation.html | 4 doc/src/sgml/html/plpgsql-overview.html | 4 doc/src/sgml/html/plpgsql-porting.html | 4 doc/src/sgml/html/plpgsql-statements.html | 4 doc/src/sgml/html/plpgsql-structure.html | 4 doc/src/sgml/html/plpgsql-transactions.html | 4 doc/src/sgml/html/plpgsql-trigger.html | 4 doc/src/sgml/html/plpgsql.html | 2 doc/src/sgml/html/plpython-data.html | 4 doc/src/sgml/html/plpython-database.html | 4 doc/src/sgml/html/plpython-do.html | 4 doc/src/sgml/html/plpython-envar.html | 4 doc/src/sgml/html/plpython-funcs.html | 4 doc/src/sgml/html/plpython-python23.html | 4 doc/src/sgml/html/plpython-sharing.html | 4 doc/src/sgml/html/plpython-subtransaction.html | 4 doc/src/sgml/html/plpython-transactions.html | 4 doc/src/sgml/html/plpython-trigger.html | 4 doc/src/sgml/html/plpython-util.html | 4 doc/src/sgml/html/plpython.html | 4 doc/src/sgml/html/pltcl-config.html | 4 doc/src/sgml/html/pltcl-data.html | 4 doc/src/sgml/html/pltcl-dbaccess.html | 4 doc/src/sgml/html/pltcl-error-handling.html | 4 doc/src/sgml/html/pltcl-event-trigger.html | 4 doc/src/sgml/html/pltcl-functions.html | 4 doc/src/sgml/html/pltcl-global.html | 4 doc/src/sgml/html/pltcl-overview.html | 4 doc/src/sgml/html/pltcl-procnames.html | 4 doc/src/sgml/html/pltcl-subtransactions.html | 4 doc/src/sgml/html/pltcl-transactions.html | 4 doc/src/sgml/html/pltcl-trigger.html | 4 doc/src/sgml/html/pltcl.html | 4 doc/src/sgml/html/populate.html | 4 doc/src/sgml/html/postgres-fdw.html | 4 doc/src/sgml/html/postgres-user.html | 4 doc/src/sgml/html/predefined-roles.html | 4 doc/src/sgml/html/preface.html | 4 doc/src/sgml/html/preventing-server-spoofing.html | 4 doc/src/sgml/html/progress-reporting.html | 4 doc/src/sgml/html/protocol-changes.html | 4 doc/src/sgml/html/protocol-error-fields.html | 4 doc/src/sgml/html/protocol-flow.html | 4 doc/src/sgml/html/protocol-logical-replication.html | 4 doc/src/sgml/html/protocol-logicalrep-message-formats.html | 4 doc/src/sgml/html/protocol-message-formats.html | 4 doc/src/sgml/html/protocol-message-types.html | 4 doc/src/sgml/html/protocol-overview.html | 4 doc/src/sgml/html/protocol-replication.html | 4 doc/src/sgml/html/protocol.html | 4 doc/src/sgml/html/queries-limit.html | 4 doc/src/sgml/html/queries-order.html | 4 doc/src/sgml/html/queries-overview.html | 4 doc/src/sgml/html/queries-select-lists.html | 4 doc/src/sgml/html/queries-table-expressions.html | 4 doc/src/sgml/html/queries-union.html | 4 doc/src/sgml/html/queries-values.html | 4 doc/src/sgml/html/queries-with.html | 4 doc/src/sgml/html/queries.html | 4 doc/src/sgml/html/query-path.html | 4 doc/src/sgml/html/querytree.html | 4 doc/src/sgml/html/rangetypes.html | 4 doc/src/sgml/html/recovery-config.html | 6 doc/src/sgml/html/reference-client.html | 4 doc/src/sgml/html/reference-server.html | 4 doc/src/sgml/html/reference.html | 4 doc/src/sgml/html/regress-coverage.html | 4 doc/src/sgml/html/regress-evaluation.html | 4 doc/src/sgml/html/regress-run.html | 4 doc/src/sgml/html/regress-tap.html | 4 doc/src/sgml/html/regress-variant.html | 4 doc/src/sgml/html/regress.html | 4 doc/src/sgml/html/release-15-1.html | 10 doc/src/sgml/html/release-15-10.html | 12 doc/src/sgml/html/release-15-11.html | 12 doc/src/sgml/html/release-15-12.html | 12 doc/src/sgml/html/release-15-13.html | 12 doc/src/sgml/html/release-15-14.html | 12 doc/src/sgml/html/release-15-15.html | 12 doc/src/sgml/html/release-15-16.html | 12 doc/src/sgml/html/release-15-17.html | 12 doc/src/sgml/html/release-15-18.html | 459 +++ doc/src/sgml/html/release-15-2.html | 12 doc/src/sgml/html/release-15-3.html | 12 doc/src/sgml/html/release-15-4.html | 12 doc/src/sgml/html/release-15-5.html | 12 doc/src/sgml/html/release-15-6.html | 12 doc/src/sgml/html/release-15-7.html | 12 doc/src/sgml/html/release-15-8.html | 12 doc/src/sgml/html/release-15-9.html | 12 doc/src/sgml/html/release-15.html | 60 doc/src/sgml/html/release-prior.html | 4 doc/src/sgml/html/release.html | 4 doc/src/sgml/html/replication-origins.html | 4 doc/src/sgml/html/resources.html | 4 doc/src/sgml/html/role-attributes.html | 4 doc/src/sgml/html/role-membership.html | 4 doc/src/sgml/html/role-removal.html | 4 doc/src/sgml/html/routine-reindex.html | 4 doc/src/sgml/html/routine-vacuuming.html | 4 doc/src/sgml/html/row-estimation-examples.html | 4 doc/src/sgml/html/rowtypes.html | 4 doc/src/sgml/html/rule-system.html | 4 doc/src/sgml/html/rules-materializedviews.html | 4 doc/src/sgml/html/rules-privileges.html | 4 doc/src/sgml/html/rules-status.html | 4 doc/src/sgml/html/rules-triggers.html | 4 doc/src/sgml/html/rules-update.html | 4 doc/src/sgml/html/rules-views.html | 4 doc/src/sgml/html/rules.html | 4 doc/src/sgml/html/runtime-config-autovacuum.html | 4 doc/src/sgml/html/runtime-config-client.html | 4 doc/src/sgml/html/runtime-config-compatible.html | 4 doc/src/sgml/html/runtime-config-connection.html | 4 doc/src/sgml/html/runtime-config-custom.html | 4 doc/src/sgml/html/runtime-config-developer.html | 12 doc/src/sgml/html/runtime-config-error-handling.html | 4 doc/src/sgml/html/runtime-config-file-locations.html | 4 doc/src/sgml/html/runtime-config-locks.html | 4 doc/src/sgml/html/runtime-config-logging.html | 4 doc/src/sgml/html/runtime-config-preset.html | 4 doc/src/sgml/html/runtime-config-query.html | 4 doc/src/sgml/html/runtime-config-replication.html | 4 doc/src/sgml/html/runtime-config-resource.html | 4 doc/src/sgml/html/runtime-config-short.html | 4 doc/src/sgml/html/runtime-config-statistics.html | 4 doc/src/sgml/html/runtime-config-wal.html | 4 doc/src/sgml/html/runtime-config.html | 4 doc/src/sgml/html/runtime.html | 4 doc/src/sgml/html/sasl-authentication.html | 4 doc/src/sgml/html/seg.html | 4 doc/src/sgml/html/sepgsql.html | 4 doc/src/sgml/html/server-programming.html | 4 doc/src/sgml/html/server-shutdown.html | 4 doc/src/sgml/html/server-start.html | 4 doc/src/sgml/html/source-conventions.html | 4 doc/src/sgml/html/source-format.html | 4 doc/src/sgml/html/source.html | 2 doc/src/sgml/html/sourcerepo.html | 4 doc/src/sgml/html/spgist-builtin-opclasses.html | 4 doc/src/sgml/html/spgist-examples.html | 4 doc/src/sgml/html/spgist-extensibility.html | 4 doc/src/sgml/html/spgist-implementation.html | 4 doc/src/sgml/html/spgist-intro.html | 4 doc/src/sgml/html/spgist.html | 2 doc/src/sgml/html/spi-examples.html | 4 doc/src/sgml/html/spi-interface-support.html | 4 doc/src/sgml/html/spi-interface.html | 4 doc/src/sgml/html/spi-memory.html | 4 doc/src/sgml/html/spi-realloc.html | 4 doc/src/sgml/html/spi-spi-commit.html | 4 doc/src/sgml/html/spi-spi-connect.html | 4 doc/src/sgml/html/spi-spi-copytuple.html | 4 doc/src/sgml/html/spi-spi-cursor-close.html | 4 doc/src/sgml/html/spi-spi-cursor-fetch.html | 4 doc/src/sgml/html/spi-spi-cursor-find.html | 4 doc/src/sgml/html/spi-spi-cursor-move.html | 4 doc/src/sgml/html/spi-spi-cursor-open-with-args.html | 4 doc/src/sgml/html/spi-spi-cursor-open-with-paramlist.html | 4 doc/src/sgml/html/spi-spi-cursor-open.html | 4 doc/src/sgml/html/spi-spi-cursor-parse-open.html | 4 doc/src/sgml/html/spi-spi-exec.html | 4 doc/src/sgml/html/spi-spi-execp.html | 4 doc/src/sgml/html/spi-spi-execute-extended.html | 4 doc/src/sgml/html/spi-spi-execute-plan-extended.html | 4 doc/src/sgml/html/spi-spi-execute-plan-with-paramlist.html | 4 doc/src/sgml/html/spi-spi-execute-plan.html | 4 doc/src/sgml/html/spi-spi-execute-with-args.html | 4 doc/src/sgml/html/spi-spi-execute.html | 4 doc/src/sgml/html/spi-spi-finish.html | 4 doc/src/sgml/html/spi-spi-fname.html | 4 doc/src/sgml/html/spi-spi-fnumber.html | 4 doc/src/sgml/html/spi-spi-freeplan.html | 4 doc/src/sgml/html/spi-spi-freetuple.html | 4 doc/src/sgml/html/spi-spi-freetupletable.html | 4 doc/src/sgml/html/spi-spi-getargcount.html | 4 doc/src/sgml/html/spi-spi-getargtypeid.html | 4 doc/src/sgml/html/spi-spi-getbinval.html | 4 doc/src/sgml/html/spi-spi-getnspname.html | 4 doc/src/sgml/html/spi-spi-getrelname.html | 4 doc/src/sgml/html/spi-spi-gettype.html | 4 doc/src/sgml/html/spi-spi-gettypeid.html | 4 doc/src/sgml/html/spi-spi-getvalue.html | 4 doc/src/sgml/html/spi-spi-is-cursor-plan.html | 4 doc/src/sgml/html/spi-spi-keepplan.html | 4 doc/src/sgml/html/spi-spi-modifytuple.html | 4 doc/src/sgml/html/spi-spi-palloc.html | 4 doc/src/sgml/html/spi-spi-pfree.html | 4 doc/src/sgml/html/spi-spi-prepare-cursor.html | 4 doc/src/sgml/html/spi-spi-prepare-extended.html | 4 doc/src/sgml/html/spi-spi-prepare-params.html | 4 doc/src/sgml/html/spi-spi-prepare.html | 4 doc/src/sgml/html/spi-spi-register-relation.html | 4 doc/src/sgml/html/spi-spi-register-trigger-data.html | 4 doc/src/sgml/html/spi-spi-result-code-string.html | 4 doc/src/sgml/html/spi-spi-returntuple.html | 4 doc/src/sgml/html/spi-spi-rollback.html | 4 doc/src/sgml/html/spi-spi-saveplan.html | 4 doc/src/sgml/html/spi-spi-scroll-cursor-fetch.html | 4 doc/src/sgml/html/spi-spi-scroll-cursor-move.html | 4 doc/src/sgml/html/spi-spi-start-transaction.html | 4 doc/src/sgml/html/spi-spi-unregister-relation.html | 4 doc/src/sgml/html/spi-transaction.html | 4 doc/src/sgml/html/spi-visibility.html | 4 doc/src/sgml/html/spi.html | 4 doc/src/sgml/html/sql-abort.html | 4 doc/src/sgml/html/sql-alteraggregate.html | 4 doc/src/sgml/html/sql-altercollation.html | 4 doc/src/sgml/html/sql-alterconversion.html | 4 doc/src/sgml/html/sql-alterdatabase.html | 4 doc/src/sgml/html/sql-alterdefaultprivileges.html | 4 doc/src/sgml/html/sql-alterdomain.html | 4 doc/src/sgml/html/sql-altereventtrigger.html | 4 doc/src/sgml/html/sql-alterextension.html | 4 doc/src/sgml/html/sql-alterforeigndatawrapper.html | 4 doc/src/sgml/html/sql-alterforeigntable.html | 12 doc/src/sgml/html/sql-alterfunction.html | 4 doc/src/sgml/html/sql-altergroup.html | 4 doc/src/sgml/html/sql-alterindex.html | 8 doc/src/sgml/html/sql-alterlanguage.html | 4 doc/src/sgml/html/sql-alterlargeobject.html | 4 doc/src/sgml/html/sql-altermaterializedview.html | 4 doc/src/sgml/html/sql-alteropclass.html | 4 doc/src/sgml/html/sql-alteroperator.html | 4 doc/src/sgml/html/sql-alteropfamily.html | 4 doc/src/sgml/html/sql-alterpolicy.html | 4 doc/src/sgml/html/sql-alterprocedure.html | 4 doc/src/sgml/html/sql-alterpublication.html | 4 doc/src/sgml/html/sql-alterrole.html | 4 doc/src/sgml/html/sql-alterroutine.html | 4 doc/src/sgml/html/sql-alterrule.html | 4 doc/src/sgml/html/sql-alterschema.html | 4 doc/src/sgml/html/sql-altersequence.html | 4 doc/src/sgml/html/sql-alterserver.html | 4 doc/src/sgml/html/sql-alterstatistics.html | 4 doc/src/sgml/html/sql-altersubscription.html | 4 doc/src/sgml/html/sql-altersystem.html | 4 doc/src/sgml/html/sql-altertable.html | 8 doc/src/sgml/html/sql-altertablespace.html | 4 doc/src/sgml/html/sql-altertrigger.html | 4 doc/src/sgml/html/sql-altertsconfig.html | 4 doc/src/sgml/html/sql-altertsdictionary.html | 4 doc/src/sgml/html/sql-altertsparser.html | 4 doc/src/sgml/html/sql-altertstemplate.html | 4 doc/src/sgml/html/sql-altertype.html | 4 doc/src/sgml/html/sql-alteruser.html | 4 doc/src/sgml/html/sql-alterusermapping.html | 4 doc/src/sgml/html/sql-alterview.html | 4 doc/src/sgml/html/sql-analyze.html | 4 doc/src/sgml/html/sql-begin.html | 4 doc/src/sgml/html/sql-call.html | 4 doc/src/sgml/html/sql-checkpoint.html | 4 doc/src/sgml/html/sql-close.html | 4 doc/src/sgml/html/sql-cluster.html | 4 doc/src/sgml/html/sql-commands.html | 4 doc/src/sgml/html/sql-comment.html | 22 doc/src/sgml/html/sql-commit-prepared.html | 4 doc/src/sgml/html/sql-commit.html | 4 doc/src/sgml/html/sql-copy.html | 4 doc/src/sgml/html/sql-create-access-method.html | 4 doc/src/sgml/html/sql-createaggregate.html | 4 doc/src/sgml/html/sql-createcast.html | 4 doc/src/sgml/html/sql-createcollation.html | 4 doc/src/sgml/html/sql-createconversion.html | 4 doc/src/sgml/html/sql-createdatabase.html | 4 doc/src/sgml/html/sql-createdomain.html | 4 doc/src/sgml/html/sql-createeventtrigger.html | 4 doc/src/sgml/html/sql-createextension.html | 4 doc/src/sgml/html/sql-createforeigndatawrapper.html | 4 doc/src/sgml/html/sql-createforeigntable.html | 4 doc/src/sgml/html/sql-createfunction.html | 4 doc/src/sgml/html/sql-creategroup.html | 4 doc/src/sgml/html/sql-createindex.html | 4 doc/src/sgml/html/sql-createlanguage.html | 4 doc/src/sgml/html/sql-creatematerializedview.html | 4 doc/src/sgml/html/sql-createopclass.html | 4 doc/src/sgml/html/sql-createoperator.html | 4 doc/src/sgml/html/sql-createopfamily.html | 4 doc/src/sgml/html/sql-createpolicy.html | 4 doc/src/sgml/html/sql-createprocedure.html | 4 doc/src/sgml/html/sql-createpublication.html | 8 doc/src/sgml/html/sql-createrole.html | 4 doc/src/sgml/html/sql-createrule.html | 4 doc/src/sgml/html/sql-createschema.html | 4 doc/src/sgml/html/sql-createsequence.html | 4 doc/src/sgml/html/sql-createserver.html | 4 doc/src/sgml/html/sql-createstatistics.html | 4 doc/src/sgml/html/sql-createsubscription.html | 4 doc/src/sgml/html/sql-createtable.html | 9 doc/src/sgml/html/sql-createtableas.html | 4 doc/src/sgml/html/sql-createtablespace.html | 4 doc/src/sgml/html/sql-createtransform.html | 4 doc/src/sgml/html/sql-createtrigger.html | 4 doc/src/sgml/html/sql-createtsconfig.html | 4 doc/src/sgml/html/sql-createtsdictionary.html | 4 doc/src/sgml/html/sql-createtsparser.html | 4 doc/src/sgml/html/sql-createtstemplate.html | 4 doc/src/sgml/html/sql-createtype.html | 4 doc/src/sgml/html/sql-createuser.html | 4 doc/src/sgml/html/sql-createusermapping.html | 4 doc/src/sgml/html/sql-createview.html | 4 doc/src/sgml/html/sql-deallocate.html | 4 doc/src/sgml/html/sql-declare.html | 4 doc/src/sgml/html/sql-delete.html | 4 doc/src/sgml/html/sql-discard.html | 4 doc/src/sgml/html/sql-do.html | 4 doc/src/sgml/html/sql-drop-access-method.html | 4 doc/src/sgml/html/sql-drop-owned.html | 4 doc/src/sgml/html/sql-dropaggregate.html | 4 doc/src/sgml/html/sql-dropcast.html | 4 doc/src/sgml/html/sql-dropcollation.html | 4 doc/src/sgml/html/sql-dropconversion.html | 4 doc/src/sgml/html/sql-dropdatabase.html | 4 doc/src/sgml/html/sql-dropdomain.html | 4 doc/src/sgml/html/sql-dropeventtrigger.html | 4 doc/src/sgml/html/sql-dropextension.html | 4 doc/src/sgml/html/sql-dropforeigndatawrapper.html | 4 doc/src/sgml/html/sql-dropforeigntable.html | 4 doc/src/sgml/html/sql-dropfunction.html | 4 doc/src/sgml/html/sql-dropgroup.html | 4 doc/src/sgml/html/sql-dropindex.html | 4 doc/src/sgml/html/sql-droplanguage.html | 4 doc/src/sgml/html/sql-dropmaterializedview.html | 4 doc/src/sgml/html/sql-dropopclass.html | 4 doc/src/sgml/html/sql-dropoperator.html | 4 doc/src/sgml/html/sql-dropopfamily.html | 4 doc/src/sgml/html/sql-droppolicy.html | 4 doc/src/sgml/html/sql-dropprocedure.html | 4 doc/src/sgml/html/sql-droppublication.html | 4 doc/src/sgml/html/sql-droprole.html | 4 doc/src/sgml/html/sql-droproutine.html | 4 doc/src/sgml/html/sql-droprule.html | 4 doc/src/sgml/html/sql-dropschema.html | 4 doc/src/sgml/html/sql-dropsequence.html | 4 doc/src/sgml/html/sql-dropserver.html | 4 doc/src/sgml/html/sql-dropstatistics.html | 4 doc/src/sgml/html/sql-dropsubscription.html | 9 doc/src/sgml/html/sql-droptable.html | 4 doc/src/sgml/html/sql-droptablespace.html | 4 doc/src/sgml/html/sql-droptransform.html | 4 doc/src/sgml/html/sql-droptrigger.html | 4 doc/src/sgml/html/sql-droptsconfig.html | 4 doc/src/sgml/html/sql-droptsdictionary.html | 4 doc/src/sgml/html/sql-droptsparser.html | 4 doc/src/sgml/html/sql-droptstemplate.html | 4 doc/src/sgml/html/sql-droptype.html | 4 doc/src/sgml/html/sql-dropuser.html | 4 doc/src/sgml/html/sql-dropusermapping.html | 4 doc/src/sgml/html/sql-dropview.html | 4 doc/src/sgml/html/sql-end.html | 4 doc/src/sgml/html/sql-execute.html | 4 doc/src/sgml/html/sql-explain.html | 4 doc/src/sgml/html/sql-expressions.html | 4 doc/src/sgml/html/sql-fetch.html | 4 doc/src/sgml/html/sql-grant.html | 4 doc/src/sgml/html/sql-importforeignschema.html | 4 doc/src/sgml/html/sql-insert.html | 4 doc/src/sgml/html/sql-keywords-appendix.html | 6 doc/src/sgml/html/sql-listen.html | 4 doc/src/sgml/html/sql-load.html | 4 doc/src/sgml/html/sql-lock.html | 4 doc/src/sgml/html/sql-merge.html | 4 doc/src/sgml/html/sql-move.html | 4 doc/src/sgml/html/sql-notify.html | 4 doc/src/sgml/html/sql-prepare-transaction.html | 4 doc/src/sgml/html/sql-prepare.html | 4 doc/src/sgml/html/sql-reassign-owned.html | 4 doc/src/sgml/html/sql-refreshmaterializedview.html | 4 doc/src/sgml/html/sql-reindex.html | 4 doc/src/sgml/html/sql-release-savepoint.html | 4 doc/src/sgml/html/sql-reset.html | 4 doc/src/sgml/html/sql-revoke.html | 4 doc/src/sgml/html/sql-rollback-prepared.html | 4 doc/src/sgml/html/sql-rollback-to.html | 4 doc/src/sgml/html/sql-rollback.html | 4 doc/src/sgml/html/sql-savepoint.html | 4 doc/src/sgml/html/sql-security-label.html | 4 doc/src/sgml/html/sql-select.html | 4 doc/src/sgml/html/sql-selectinto.html | 4 doc/src/sgml/html/sql-set-constraints.html | 4 doc/src/sgml/html/sql-set-role.html | 4 doc/src/sgml/html/sql-set-session-authorization.html | 4 doc/src/sgml/html/sql-set-transaction.html | 4 doc/src/sgml/html/sql-set.html | 4 doc/src/sgml/html/sql-show.html | 4 doc/src/sgml/html/sql-start-transaction.html | 4 doc/src/sgml/html/sql-syntax-calling-funcs.html | 4 doc/src/sgml/html/sql-syntax-lexical.html | 4 doc/src/sgml/html/sql-syntax.html | 4 doc/src/sgml/html/sql-truncate.html | 4 doc/src/sgml/html/sql-unlisten.html | 4 doc/src/sgml/html/sql-update.html | 4 doc/src/sgml/html/sql-vacuum.html | 4 doc/src/sgml/html/sql-values.html | 4 doc/src/sgml/html/sql.html | 4 doc/src/sgml/html/ssh-tunnels.html | 4 doc/src/sgml/html/ssl-tcp.html | 4 doc/src/sgml/html/sslinfo.html | 4 doc/src/sgml/html/sspi-auth.html | 4 doc/src/sgml/html/storage-file-layout.html | 4 doc/src/sgml/html/storage-fsm.html | 4 doc/src/sgml/html/storage-hot.html | 4 doc/src/sgml/html/storage-init.html | 4 doc/src/sgml/html/storage-page-layout.html | 4 doc/src/sgml/html/storage-toast.html | 4 doc/src/sgml/html/storage-vm.html | 4 doc/src/sgml/html/storage.html | 4 doc/src/sgml/html/supported-platforms.html | 4 doc/src/sgml/html/system-catalog-declarations.html | 4 doc/src/sgml/html/system-catalog-initial-data.html | 4 doc/src/sgml/html/tableam.html | 4 doc/src/sgml/html/tablefunc.html | 4 doc/src/sgml/html/tablesample-method.html | 4 doc/src/sgml/html/tablesample-support-functions.html | 4 doc/src/sgml/html/tcn.html | 4 doc/src/sgml/html/test-decoding.html | 4 doc/src/sgml/html/textsearch-configuration.html | 4 doc/src/sgml/html/textsearch-controls.html | 4 doc/src/sgml/html/textsearch-debugging.html | 4 doc/src/sgml/html/textsearch-dictionaries.html | 4 doc/src/sgml/html/textsearch-features.html | 4 doc/src/sgml/html/textsearch-indexes.html | 4 doc/src/sgml/html/textsearch-intro.html | 4 doc/src/sgml/html/textsearch-limitations.html | 4 doc/src/sgml/html/textsearch-parsers.html | 4 doc/src/sgml/html/textsearch-psql.html | 4 doc/src/sgml/html/textsearch-tables.html | 4 doc/src/sgml/html/textsearch.html | 2 doc/src/sgml/html/transaction-iso.html | 4 doc/src/sgml/html/trigger-datachanges.html | 4 doc/src/sgml/html/trigger-definition.html | 4 doc/src/sgml/html/trigger-example.html | 4 doc/src/sgml/html/trigger-interface.html | 4 doc/src/sgml/html/triggers.html | 4 doc/src/sgml/html/tsm-system-rows.html | 4 doc/src/sgml/html/tsm-system-time.html | 4 doc/src/sgml/html/tutorial-accessdb.html | 8 doc/src/sgml/html/tutorial-advanced-intro.html | 4 doc/src/sgml/html/tutorial-advanced.html | 2 doc/src/sgml/html/tutorial-agg.html | 4 doc/src/sgml/html/tutorial-arch.html | 4 doc/src/sgml/html/tutorial-concepts.html | 4 doc/src/sgml/html/tutorial-conclusion.html | 4 doc/src/sgml/html/tutorial-createdb.html | 4 doc/src/sgml/html/tutorial-delete.html | 4 doc/src/sgml/html/tutorial-fk.html | 4 doc/src/sgml/html/tutorial-inheritance.html | 4 doc/src/sgml/html/tutorial-install.html | 4 doc/src/sgml/html/tutorial-join.html | 4 doc/src/sgml/html/tutorial-populate.html | 4 doc/src/sgml/html/tutorial-select.html | 4 doc/src/sgml/html/tutorial-sql-intro.html | 4 doc/src/sgml/html/tutorial-sql.html | 2 doc/src/sgml/html/tutorial-start.html | 2 doc/src/sgml/html/tutorial-table.html | 4 doc/src/sgml/html/tutorial-transactions.html | 4 doc/src/sgml/html/tutorial-update.html | 4 doc/src/sgml/html/tutorial-views.html | 4 doc/src/sgml/html/tutorial-window.html | 4 doc/src/sgml/html/tutorial.html | 4 doc/src/sgml/html/typeconv-func.html | 4 doc/src/sgml/html/typeconv-oper.html | 4 doc/src/sgml/html/typeconv-overview.html | 4 doc/src/sgml/html/typeconv-query.html | 4 doc/src/sgml/html/typeconv-select.html | 4 doc/src/sgml/html/typeconv-union-case.html | 4 doc/src/sgml/html/typeconv.html | 4 doc/src/sgml/html/unaccent.html | 4 doc/src/sgml/html/unsupported-features-sql-standard.html | 4 doc/src/sgml/html/upgrading.html | 6 doc/src/sgml/html/user-manag.html | 4 doc/src/sgml/html/using-explain.html | 4 doc/src/sgml/html/uuid-ossp.html | 4 doc/src/sgml/html/vacuumlo.html | 4 doc/src/sgml/html/view-pg-available-extension-versions.html | 4 doc/src/sgml/html/view-pg-available-extensions.html | 4 doc/src/sgml/html/view-pg-backend-memory-contexts.html | 4 doc/src/sgml/html/view-pg-config.html | 4 doc/src/sgml/html/view-pg-cursors.html | 4 doc/src/sgml/html/view-pg-file-settings.html | 4 doc/src/sgml/html/view-pg-group.html | 4 doc/src/sgml/html/view-pg-hba-file-rules.html | 4 doc/src/sgml/html/view-pg-ident-file-mappings.html | 4 doc/src/sgml/html/view-pg-indexes.html | 4 doc/src/sgml/html/view-pg-locks.html | 4 doc/src/sgml/html/view-pg-matviews.html | 4 doc/src/sgml/html/view-pg-policies.html | 4 doc/src/sgml/html/view-pg-prepared-statements.html | 4 doc/src/sgml/html/view-pg-prepared-xacts.html | 4 doc/src/sgml/html/view-pg-publication-tables.html | 4 doc/src/sgml/html/view-pg-replication-origin-status.html | 4 doc/src/sgml/html/view-pg-replication-slots.html | 4 doc/src/sgml/html/view-pg-roles.html | 4 doc/src/sgml/html/view-pg-rules.html | 4 doc/src/sgml/html/view-pg-seclabels.html | 4 doc/src/sgml/html/view-pg-sequences.html | 4 doc/src/sgml/html/view-pg-settings.html | 4 doc/src/sgml/html/view-pg-shadow.html | 4 doc/src/sgml/html/view-pg-shmem-allocations.html | 4 doc/src/sgml/html/view-pg-stats-ext-exprs.html | 4 doc/src/sgml/html/view-pg-stats-ext.html | 4 doc/src/sgml/html/view-pg-stats.html | 4 doc/src/sgml/html/view-pg-tables.html | 4 doc/src/sgml/html/view-pg-timezone-abbrevs.html | 4 doc/src/sgml/html/view-pg-timezone-names.html | 4 doc/src/sgml/html/view-pg-user-mappings.html | 4 doc/src/sgml/html/view-pg-user.html | 4 doc/src/sgml/html/view-pg-views.html | 4 doc/src/sgml/html/views-overview.html | 4 doc/src/sgml/html/views.html | 4 doc/src/sgml/html/wal-async-commit.html | 4 doc/src/sgml/html/wal-configuration.html | 4 doc/src/sgml/html/wal-internals.html | 4 doc/src/sgml/html/wal-intro.html | 4 doc/src/sgml/html/wal-reliability.html | 4 doc/src/sgml/html/wal.html | 4 doc/src/sgml/html/warm-standby-failover.html | 4 doc/src/sgml/html/warm-standby.html | 4 doc/src/sgml/html/when-can-parallel-query-be-used.html | 4 doc/src/sgml/html/xaggr.html | 4 doc/src/sgml/html/xfunc-c.html | 4 doc/src/sgml/html/xfunc-internal.html | 4 doc/src/sgml/html/xfunc-optimization.html | 4 doc/src/sgml/html/xfunc-overload.html | 4 doc/src/sgml/html/xfunc-pl.html | 4 doc/src/sgml/html/xfunc-sql.html | 4 doc/src/sgml/html/xfunc-volatility.html | 4 doc/src/sgml/html/xfunc.html | 4 doc/src/sgml/html/xindex.html | 4 doc/src/sgml/html/xml-limits-conformance.html | 4 doc/src/sgml/html/xml2.html | 4 doc/src/sgml/html/xoper-optimization.html | 6 doc/src/sgml/html/xoper.html | 4 doc/src/sgml/html/xplang-install.html | 4 doc/src/sgml/html/xplang.html | 4 doc/src/sgml/html/xproc.html | 4 doc/src/sgml/html/xtypes.html | 4 doc/src/sgml/libpq.sgml | 11 doc/src/sgml/logical-replication.sgml | 12 doc/src/sgml/man1/clusterdb.1 | 6 doc/src/sgml/man1/createdb.1 | 6 doc/src/sgml/man1/createuser.1 | 6 doc/src/sgml/man1/dropdb.1 | 6 doc/src/sgml/man1/dropuser.1 | 6 doc/src/sgml/man1/ecpg.1 | 6 doc/src/sgml/man1/initdb.1 | 6 doc/src/sgml/man1/oid2name.1 | 6 doc/src/sgml/man1/pg_amcheck.1 | 6 doc/src/sgml/man1/pg_archivecleanup.1 | 6 doc/src/sgml/man1/pg_basebackup.1 | 6 doc/src/sgml/man1/pg_checksums.1 | 6 doc/src/sgml/man1/pg_config.1 | 6 doc/src/sgml/man1/pg_controldata.1 | 6 doc/src/sgml/man1/pg_ctl.1 | 10 doc/src/sgml/man1/pg_dump.1 | 6 doc/src/sgml/man1/pg_dumpall.1 | 6 doc/src/sgml/man1/pg_isready.1 | 6 doc/src/sgml/man1/pg_receivewal.1 | 6 doc/src/sgml/man1/pg_recvlogical.1 | 6 doc/src/sgml/man1/pg_resetwal.1 | 6 doc/src/sgml/man1/pg_restore.1 | 6 doc/src/sgml/man1/pg_rewind.1 | 6 doc/src/sgml/man1/pg_test_fsync.1 | 6 doc/src/sgml/man1/pg_test_timing.1 | 6 doc/src/sgml/man1/pg_upgrade.1 | 6 doc/src/sgml/man1/pg_verifybackup.1 | 6 doc/src/sgml/man1/pg_waldump.1 | 6 doc/src/sgml/man1/pgbench.1 | 6 doc/src/sgml/man1/postgres.1 | 6 doc/src/sgml/man1/postmaster.1 | 6 doc/src/sgml/man1/psql.1 | 10 doc/src/sgml/man1/reindexdb.1 | 6 doc/src/sgml/man1/vacuumdb.1 | 6 doc/src/sgml/man1/vacuumlo.1 | 6 doc/src/sgml/man3/SPI_commit.3 | 6 doc/src/sgml/man3/SPI_connect.3 | 6 doc/src/sgml/man3/SPI_copytuple.3 | 6 doc/src/sgml/man3/SPI_cursor_close.3 | 6 doc/src/sgml/man3/SPI_cursor_fetch.3 | 6 doc/src/sgml/man3/SPI_cursor_find.3 | 6 doc/src/sgml/man3/SPI_cursor_move.3 | 6 doc/src/sgml/man3/SPI_cursor_open.3 | 6 doc/src/sgml/man3/SPI_cursor_open_with_args.3 | 6 doc/src/sgml/man3/SPI_cursor_open_with_paramlist.3 | 6 doc/src/sgml/man3/SPI_cursor_parse_open.3 | 6 doc/src/sgml/man3/SPI_exec.3 | 6 doc/src/sgml/man3/SPI_execp.3 | 6 doc/src/sgml/man3/SPI_execute.3 | 6 doc/src/sgml/man3/SPI_execute_extended.3 | 6 doc/src/sgml/man3/SPI_execute_plan.3 | 6 doc/src/sgml/man3/SPI_execute_plan_extended.3 | 6 doc/src/sgml/man3/SPI_execute_plan_with_paramlist.3 | 6 doc/src/sgml/man3/SPI_execute_with_args.3 | 6 doc/src/sgml/man3/SPI_finish.3 | 6 doc/src/sgml/man3/SPI_fname.3 | 6 doc/src/sgml/man3/SPI_fnumber.3 | 6 doc/src/sgml/man3/SPI_freeplan.3 | 6 doc/src/sgml/man3/SPI_freetuple.3 | 6 doc/src/sgml/man3/SPI_freetuptable.3 | 6 doc/src/sgml/man3/SPI_getargcount.3 | 6 doc/src/sgml/man3/SPI_getargtypeid.3 | 6 doc/src/sgml/man3/SPI_getbinval.3 | 6 doc/src/sgml/man3/SPI_getnspname.3 | 6 doc/src/sgml/man3/SPI_getrelname.3 | 6 doc/src/sgml/man3/SPI_gettype.3 | 6 doc/src/sgml/man3/SPI_gettypeid.3 | 6 doc/src/sgml/man3/SPI_getvalue.3 | 6 doc/src/sgml/man3/SPI_is_cursor_plan.3 | 6 doc/src/sgml/man3/SPI_keepplan.3 | 6 doc/src/sgml/man3/SPI_modifytuple.3 | 6 doc/src/sgml/man3/SPI_palloc.3 | 6 doc/src/sgml/man3/SPI_pfree.3 | 6 doc/src/sgml/man3/SPI_prepare.3 | 6 doc/src/sgml/man3/SPI_prepare_cursor.3 | 6 doc/src/sgml/man3/SPI_prepare_extended.3 | 6 doc/src/sgml/man3/SPI_prepare_params.3 | 6 doc/src/sgml/man3/SPI_register_relation.3 | 6 doc/src/sgml/man3/SPI_register_trigger_data.3 | 6 doc/src/sgml/man3/SPI_repalloc.3 | 6 doc/src/sgml/man3/SPI_result_code_string.3 | 6 doc/src/sgml/man3/SPI_returntuple.3 | 6 doc/src/sgml/man3/SPI_rollback.3 | 6 doc/src/sgml/man3/SPI_saveplan.3 | 6 doc/src/sgml/man3/SPI_scroll_cursor_fetch.3 | 6 doc/src/sgml/man3/SPI_scroll_cursor_move.3 | 6 doc/src/sgml/man3/SPI_start_transaction.3 | 6 doc/src/sgml/man3/SPI_unregister_relation.3 | 6 doc/src/sgml/man3/dblink.3 | 6 doc/src/sgml/man3/dblink_build_sql_delete.3 | 6 doc/src/sgml/man3/dblink_build_sql_insert.3 | 6 doc/src/sgml/man3/dblink_build_sql_update.3 | 6 doc/src/sgml/man3/dblink_cancel_query.3 | 6 doc/src/sgml/man3/dblink_close.3 | 6 doc/src/sgml/man3/dblink_connect.3 | 6 doc/src/sgml/man3/dblink_connect_u.3 | 6 doc/src/sgml/man3/dblink_disconnect.3 | 6 doc/src/sgml/man3/dblink_error_message.3 | 6 doc/src/sgml/man3/dblink_exec.3 | 6 doc/src/sgml/man3/dblink_fetch.3 | 6 doc/src/sgml/man3/dblink_get_connections.3 | 6 doc/src/sgml/man3/dblink_get_notify.3 | 6 doc/src/sgml/man3/dblink_get_pkey.3 | 6 doc/src/sgml/man3/dblink_get_result.3 | 6 doc/src/sgml/man3/dblink_is_busy.3 | 6 doc/src/sgml/man3/dblink_open.3 | 6 doc/src/sgml/man3/dblink_send_query.3 | 6 doc/src/sgml/man7/ABORT.7 | 6 doc/src/sgml/man7/ALTER_AGGREGATE.7 | 6 doc/src/sgml/man7/ALTER_COLLATION.7 | 6 doc/src/sgml/man7/ALTER_CONVERSION.7 | 6 doc/src/sgml/man7/ALTER_DATABASE.7 | 6 doc/src/sgml/man7/ALTER_DEFAULT_PRIVILEGES.7 | 6 doc/src/sgml/man7/ALTER_DOMAIN.7 | 6 doc/src/sgml/man7/ALTER_EVENT_TRIGGER.7 | 6 doc/src/sgml/man7/ALTER_EXTENSION.7 | 6 doc/src/sgml/man7/ALTER_FOREIGN_DATA_WRAPPER.7 | 6 doc/src/sgml/man7/ALTER_FOREIGN_TABLE.7 | 16 doc/src/sgml/man7/ALTER_FUNCTION.7 | 6 doc/src/sgml/man7/ALTER_GROUP.7 | 6 doc/src/sgml/man7/ALTER_INDEX.7 | 8 doc/src/sgml/man7/ALTER_LANGUAGE.7 | 6 doc/src/sgml/man7/ALTER_LARGE_OBJECT.7 | 6 doc/src/sgml/man7/ALTER_MATERIALIZED_VIEW.7 | 6 doc/src/sgml/man7/ALTER_OPERATOR.7 | 6 doc/src/sgml/man7/ALTER_OPERATOR_CLASS.7 | 6 doc/src/sgml/man7/ALTER_OPERATOR_FAMILY.7 | 6 doc/src/sgml/man7/ALTER_POLICY.7 | 6 doc/src/sgml/man7/ALTER_PROCEDURE.7 | 6 doc/src/sgml/man7/ALTER_PUBLICATION.7 | 6 doc/src/sgml/man7/ALTER_ROLE.7 | 6 doc/src/sgml/man7/ALTER_ROUTINE.7 | 6 doc/src/sgml/man7/ALTER_RULE.7 | 6 doc/src/sgml/man7/ALTER_SCHEMA.7 | 6 doc/src/sgml/man7/ALTER_SEQUENCE.7 | 6 doc/src/sgml/man7/ALTER_SERVER.7 | 6 doc/src/sgml/man7/ALTER_STATISTICS.7 | 6 doc/src/sgml/man7/ALTER_SUBSCRIPTION.7 | 6 doc/src/sgml/man7/ALTER_SYSTEM.7 | 6 doc/src/sgml/man7/ALTER_TABLE.7 | 10 doc/src/sgml/man7/ALTER_TABLESPACE.7 | 6 doc/src/sgml/man7/ALTER_TEXT_SEARCH_CONFIGURATION.7 | 6 doc/src/sgml/man7/ALTER_TEXT_SEARCH_DICTIONARY.7 | 6 doc/src/sgml/man7/ALTER_TEXT_SEARCH_PARSER.7 | 6 doc/src/sgml/man7/ALTER_TEXT_SEARCH_TEMPLATE.7 | 6 doc/src/sgml/man7/ALTER_TRIGGER.7 | 6 doc/src/sgml/man7/ALTER_TYPE.7 | 6 doc/src/sgml/man7/ALTER_USER.7 | 6 doc/src/sgml/man7/ALTER_USER_MAPPING.7 | 6 doc/src/sgml/man7/ALTER_VIEW.7 | 6 doc/src/sgml/man7/ANALYZE.7 | 6 doc/src/sgml/man7/BEGIN.7 | 6 doc/src/sgml/man7/CALL.7 | 6 doc/src/sgml/man7/CHECKPOINT.7 | 6 doc/src/sgml/man7/CLOSE.7 | 6 doc/src/sgml/man7/CLUSTER.7 | 6 doc/src/sgml/man7/COMMENT.7 | 19 doc/src/sgml/man7/COMMIT.7 | 6 doc/src/sgml/man7/COMMIT_PREPARED.7 | 6 doc/src/sgml/man7/COPY.7 | 6 doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 | 6 doc/src/sgml/man7/CREATE_AGGREGATE.7 | 6 doc/src/sgml/man7/CREATE_CAST.7 | 6 doc/src/sgml/man7/CREATE_COLLATION.7 | 6 doc/src/sgml/man7/CREATE_CONVERSION.7 | 6 doc/src/sgml/man7/CREATE_DATABASE.7 | 6 doc/src/sgml/man7/CREATE_DOMAIN.7 | 6 doc/src/sgml/man7/CREATE_EVENT_TRIGGER.7 | 6 doc/src/sgml/man7/CREATE_EXTENSION.7 | 6 doc/src/sgml/man7/CREATE_FOREIGN_DATA_WRAPPER.7 | 6 doc/src/sgml/man7/CREATE_FOREIGN_TABLE.7 | 6 doc/src/sgml/man7/CREATE_FUNCTION.7 | 6 doc/src/sgml/man7/CREATE_GROUP.7 | 6 doc/src/sgml/man7/CREATE_INDEX.7 | 6 doc/src/sgml/man7/CREATE_LANGUAGE.7 | 6 doc/src/sgml/man7/CREATE_MATERIALIZED_VIEW.7 | 6 doc/src/sgml/man7/CREATE_OPERATOR.7 | 6 doc/src/sgml/man7/CREATE_OPERATOR_CLASS.7 | 6 doc/src/sgml/man7/CREATE_OPERATOR_FAMILY.7 | 6 doc/src/sgml/man7/CREATE_POLICY.7 | 6 doc/src/sgml/man7/CREATE_PROCEDURE.7 | 6 doc/src/sgml/man7/CREATE_PUBLICATION.7 | 10 doc/src/sgml/man7/CREATE_ROLE.7 | 6 doc/src/sgml/man7/CREATE_RULE.7 | 6 doc/src/sgml/man7/CREATE_SCHEMA.7 | 6 doc/src/sgml/man7/CREATE_SEQUENCE.7 | 6 doc/src/sgml/man7/CREATE_SERVER.7 | 6 doc/src/sgml/man7/CREATE_STATISTICS.7 | 6 doc/src/sgml/man7/CREATE_SUBSCRIPTION.7 | 6 doc/src/sgml/man7/CREATE_TABLE.7 | 8 doc/src/sgml/man7/CREATE_TABLESPACE.7 | 6 doc/src/sgml/man7/CREATE_TABLE_AS.7 | 6 doc/src/sgml/man7/CREATE_TEXT_SEARCH_CONFIGURATION.7 | 6 doc/src/sgml/man7/CREATE_TEXT_SEARCH_DICTIONARY.7 | 6 doc/src/sgml/man7/CREATE_TEXT_SEARCH_PARSER.7 | 6 doc/src/sgml/man7/CREATE_TEXT_SEARCH_TEMPLATE.7 | 6 doc/src/sgml/man7/CREATE_TRANSFORM.7 | 6 doc/src/sgml/man7/CREATE_TRIGGER.7 | 6 doc/src/sgml/man7/CREATE_TYPE.7 | 6 doc/src/sgml/man7/CREATE_USER.7 | 6 doc/src/sgml/man7/CREATE_USER_MAPPING.7 | 6 doc/src/sgml/man7/CREATE_VIEW.7 | 6 doc/src/sgml/man7/DEALLOCATE.7 | 6 doc/src/sgml/man7/DECLARE.7 | 6 doc/src/sgml/man7/DELETE.7 | 6 doc/src/sgml/man7/DISCARD.7 | 6 doc/src/sgml/man7/DO.7 | 6 doc/src/sgml/man7/DROP_ACCESS_METHOD.7 | 6 doc/src/sgml/man7/DROP_AGGREGATE.7 | 6 doc/src/sgml/man7/DROP_CAST.7 | 6 doc/src/sgml/man7/DROP_COLLATION.7 | 6 doc/src/sgml/man7/DROP_CONVERSION.7 | 6 doc/src/sgml/man7/DROP_DATABASE.7 | 6 doc/src/sgml/man7/DROP_DOMAIN.7 | 6 doc/src/sgml/man7/DROP_EVENT_TRIGGER.7 | 6 doc/src/sgml/man7/DROP_EXTENSION.7 | 6 doc/src/sgml/man7/DROP_FOREIGN_DATA_WRAPPER.7 | 6 doc/src/sgml/man7/DROP_FOREIGN_TABLE.7 | 6 doc/src/sgml/man7/DROP_FUNCTION.7 | 6 doc/src/sgml/man7/DROP_GROUP.7 | 6 doc/src/sgml/man7/DROP_INDEX.7 | 6 doc/src/sgml/man7/DROP_LANGUAGE.7 | 6 doc/src/sgml/man7/DROP_MATERIALIZED_VIEW.7 | 6 doc/src/sgml/man7/DROP_OPERATOR.7 | 6 doc/src/sgml/man7/DROP_OPERATOR_CLASS.7 | 6 doc/src/sgml/man7/DROP_OPERATOR_FAMILY.7 | 6 doc/src/sgml/man7/DROP_OWNED.7 | 6 doc/src/sgml/man7/DROP_POLICY.7 | 6 doc/src/sgml/man7/DROP_PROCEDURE.7 | 6 doc/src/sgml/man7/DROP_PUBLICATION.7 | 6 doc/src/sgml/man7/DROP_ROLE.7 | 6 doc/src/sgml/man7/DROP_ROUTINE.7 | 6 doc/src/sgml/man7/DROP_RULE.7 | 6 doc/src/sgml/man7/DROP_SCHEMA.7 | 6 doc/src/sgml/man7/DROP_SEQUENCE.7 | 6 doc/src/sgml/man7/DROP_SERVER.7 | 6 doc/src/sgml/man7/DROP_STATISTICS.7 | 6 doc/src/sgml/man7/DROP_SUBSCRIPTION.7 | 11 doc/src/sgml/man7/DROP_TABLE.7 | 6 doc/src/sgml/man7/DROP_TABLESPACE.7 | 6 doc/src/sgml/man7/DROP_TEXT_SEARCH_CONFIGURATION.7 | 6 doc/src/sgml/man7/DROP_TEXT_SEARCH_DICTIONARY.7 | 6 doc/src/sgml/man7/DROP_TEXT_SEARCH_PARSER.7 | 6 doc/src/sgml/man7/DROP_TEXT_SEARCH_TEMPLATE.7 | 6 doc/src/sgml/man7/DROP_TRANSFORM.7 | 6 doc/src/sgml/man7/DROP_TRIGGER.7 | 6 doc/src/sgml/man7/DROP_TYPE.7 | 6 doc/src/sgml/man7/DROP_USER.7 | 6 doc/src/sgml/man7/DROP_USER_MAPPING.7 | 6 doc/src/sgml/man7/DROP_VIEW.7 | 6 doc/src/sgml/man7/END.7 | 6 doc/src/sgml/man7/EXECUTE.7 | 6 doc/src/sgml/man7/EXPLAIN.7 | 6 doc/src/sgml/man7/FETCH.7 | 6 doc/src/sgml/man7/GRANT.7 | 6 doc/src/sgml/man7/IMPORT_FOREIGN_SCHEMA.7 | 6 doc/src/sgml/man7/INSERT.7 | 6 doc/src/sgml/man7/LISTEN.7 | 6 doc/src/sgml/man7/LOAD.7 | 6 doc/src/sgml/man7/LOCK.7 | 6 doc/src/sgml/man7/MERGE.7 | 6 doc/src/sgml/man7/MOVE.7 | 6 doc/src/sgml/man7/NOTIFY.7 | 6 doc/src/sgml/man7/PREPARE.7 | 6 doc/src/sgml/man7/PREPARE_TRANSACTION.7 | 6 doc/src/sgml/man7/REASSIGN_OWNED.7 | 6 doc/src/sgml/man7/REFRESH_MATERIALIZED_VIEW.7 | 6 doc/src/sgml/man7/REINDEX.7 | 6 doc/src/sgml/man7/RELEASE_SAVEPOINT.7 | 6 doc/src/sgml/man7/RESET.7 | 6 doc/src/sgml/man7/REVOKE.7 | 6 doc/src/sgml/man7/ROLLBACK.7 | 6 doc/src/sgml/man7/ROLLBACK_PREPARED.7 | 6 doc/src/sgml/man7/ROLLBACK_TO_SAVEPOINT.7 | 6 doc/src/sgml/man7/SAVEPOINT.7 | 6 doc/src/sgml/man7/SECURITY_LABEL.7 | 6 doc/src/sgml/man7/SELECT.7 | 6 doc/src/sgml/man7/SELECT_INTO.7 | 6 doc/src/sgml/man7/SET.7 | 6 doc/src/sgml/man7/SET_CONSTRAINTS.7 | 6 doc/src/sgml/man7/SET_ROLE.7 | 6 doc/src/sgml/man7/SET_SESSION_AUTHORIZATION.7 | 6 doc/src/sgml/man7/SET_TRANSACTION.7 | 6 doc/src/sgml/man7/SHOW.7 | 6 doc/src/sgml/man7/START_TRANSACTION.7 | 6 doc/src/sgml/man7/TRUNCATE.7 | 6 doc/src/sgml/man7/UNLISTEN.7 | 6 doc/src/sgml/man7/UPDATE.7 | 6 doc/src/sgml/man7/VACUUM.7 | 6 doc/src/sgml/man7/VALUES.7 | 6 doc/src/sgml/ref/alter_foreign_table.sgml | 8 doc/src/sgml/ref/alter_index.sgml | 5 doc/src/sgml/ref/alter_table.sgml | 4 doc/src/sgml/ref/comment.sgml | 18 doc/src/sgml/ref/create_publication.sgml | 4 doc/src/sgml/ref/create_table.sgml | 5 doc/src/sgml/ref/drop_subscription.sgml | 10 doc/src/sgml/ref/pg_ctl-ref.sgml | 5 doc/src/sgml/release-15.sgml | 1258 ++++++++++ src/backend/access/gist/gistutil.c | 2 src/backend/access/transam/multixact.c | 83 src/backend/access/transam/xlog.c | 16 src/backend/catalog/heap.c | 20 src/backend/catalog/pg_type.c | 2 src/backend/commands/copy.c | 3 src/backend/commands/event_trigger.c | 7 src/backend/commands/foreigncmds.c | 5 src/backend/commands/tablecmds.c | 13 src/backend/commands/typecmds.c | 7 src/backend/executor/execExprInterp.c | 113 src/backend/executor/nodeAgg.c | 2 src/backend/executor/nodeIncrementalSort.c | 2 src/backend/executor/nodeMemoize.c | 2 src/backend/executor/nodeModifyTable.c | 5 src/backend/executor/nodeSort.c | 2 src/backend/executor/nodeWindowAgg.c | 62 src/backend/jit/llvm/Makefile | 2 src/backend/jit/llvm/SectionMemoryManager.cpp | 19 src/backend/jit/llvm/llvmjit.c | 5 src/backend/jit/llvm/llvmjit_expr.c | 11 src/backend/libpq/auth-scram.c | 8 src/backend/libpq/auth.c | 2 src/backend/libpq/crypt.c | 6 src/backend/optimizer/path/indxpath.c | 20 src/backend/optimizer/plan/analyzejoins.c | 182 + src/backend/parser/parse_utilcmd.c | 8 src/backend/po/es.po | 4 src/backend/po/ru.po | 1017 ++++---- src/backend/postmaster/postmaster.c | 69 src/backend/regex/regc_color.c | 17 src/backend/regex/regc_cvec.c | 3 src/backend/regex/regc_nfa.c | 10 src/backend/regex/regcomp.c | 5 src/backend/regex/rege_dfa.c | 23 src/backend/regex/regexec.c | 8 src/backend/replication/walsender.c | 47 src/backend/rewrite/rewriteHandler.c | 134 + src/backend/statistics/extended_stats.c | 20 src/backend/storage/freespace/freespace.c | 12 src/backend/storage/ipc/shmem.c | 36 src/backend/storage/lmgr/proc.c | 2 src/backend/tsearch/spell.c | 83 src/backend/tsearch/wparser_def.c | 24 src/backend/utils/activity/pgstat_database.c | 6 src/backend/utils/adt/arrayfuncs.c | 13 src/backend/utils/adt/datum.c | 50 src/backend/utils/adt/formatting.c | 74 src/backend/utils/adt/multirangetypes.c | 9 src/backend/utils/adt/pg_locale.c | 4 src/backend/utils/adt/selfuncs.c | 6 src/backend/utils/adt/timestamp.c | 14 src/backend/utils/adt/varlena.c | 14 src/backend/utils/adt/xid8funcs.c | 2 src/backend/utils/cache/lsyscache.c | 38 src/backend/utils/mmgr/dsa.c | 29 src/backend/utils/mmgr/mcxt.c | 196 + src/backend/utils/sort/tuplestore.c | 20 src/bin/pg_basebackup/bbstreamer_file.c | 16 src/bin/pg_basebackup/bbstreamer_gzip.c | 19 src/bin/pg_basebackup/bbstreamer_lz4.c | 41 src/bin/pg_basebackup/bbstreamer_tar.c | 7 src/bin/pg_basebackup/bbstreamer_zstd.c | 14 src/bin/pg_basebackup/po/ru.po | 24 src/bin/pg_rewind/file_ops.c | 23 src/bin/pg_test_fsync/po/ru.po | 4 src/bin/pg_test_timing/pg_test_timing.c | 2 src/bin/pg_test_timing/po/de.po | 6 src/bin/pg_test_timing/po/fr.po | 10 src/bin/pg_test_timing/po/ru.po | 10 src/bin/pg_upgrade/dump.c | 6 src/bin/pg_upgrade/pg_upgrade.h | 1 src/bin/pg_upgrade/po/ru.po | 52 src/bin/pg_upgrade/server.c | 2 src/bin/pg_upgrade/version.c | 31 src/bin/pg_verifybackup/po/ru.po | 2 src/bin/pg_waldump/pg_waldump.c | 2 src/bin/pgbench/pgbench.c | 2 src/bin/psql/sql_help.c | 2 src/common/encnames.c | 13 src/common/fe_memutils.c | 188 + src/common/pg_lzcompress.c | 27 src/common/protocol_openssl.c | 8 src/common/psprintf.c | 3 src/common/saslprep.c | 4 src/common/stringinfo.c | 3 src/common/unicode_norm.c | 19 src/include/access/slru.h | 4 src/include/access/xlog.h | 1 src/include/c.h | 10 src/include/common/fe_memutils.h | 40 src/include/common/int.h | 67 src/include/executor/execExpr.h | 4 src/include/jit/SectionMemoryManager.h | 2 src/include/jit/llvmjit_backport.h | 4 src/include/pg_config.h.in | 18 src/include/port.h | 5 src/include/regex/regcustom.h | 26 src/include/regex/regguts.h | 13 src/include/storage/shmem.h | 2 src/include/utils/lsyscache.h | 1 src/include/utils/memutils.h | 1 src/include/utils/palloc.h | 22 src/interfaces/ecpg/ecpglib/descriptor.c | 12 src/interfaces/ecpg/ecpglib/po/ru.po | 4 src/interfaces/ecpg/ecpglib/prepare.c | 32 src/interfaces/ecpg/pgtypeslib/datetime.c | 4 src/interfaces/ecpg/test/connect/.gitignore | 2 src/interfaces/ecpg/test/connect/Makefile | 3 src/interfaces/ecpg/test/connect/test6.pgc | 68 src/interfaces/ecpg/test/ecpg_schedule | 1 src/interfaces/ecpg/test/expected/connect-test6.c | 146 + src/interfaces/ecpg/test/expected/connect-test6.stderr | 50 src/interfaces/ecpg/test/expected/connect-test6.stdout | 9 src/interfaces/libpq/fe-auth-scram.c | 5 src/interfaces/libpq/fe-exec.c | 60 src/interfaces/libpq/fe-lobj.c | 12 src/interfaces/libpq/fe-print.c | 36 src/interfaces/libpq/fe-protocol3.c | 41 src/interfaces/libpq/libpq-int.h | 6 src/interfaces/libpq/po/fr.po | 379 +-- src/pl/plperl/GNUmakefile | 2 src/pl/plperl/expected/plperl_elog.out | 13 src/pl/plperl/expected/plperl_elog_1.out | 13 src/pl/plperl/expected/plperl_unicode.out | 18 src/pl/plperl/expected/plperl_unicode_1.out | 10 src/pl/plperl/sql/plperl_elog.sql | 15 src/pl/plperl/sql/plperl_unicode.sql | 19 src/pl/plpgsql/src/expected/plpgsql_trap.out | 8 src/pl/plpgsql/src/sql/plpgsql_trap.sql | 6 src/pl/plpython/expected/plpython_unicode.out | 13 src/pl/plpython/expected/plpython_unicode_1.out | 12 src/pl/plpython/sql/plpython_unicode.sql | 13 src/pl/tcl/expected/pltcl_unicode.out | 13 src/pl/tcl/expected/pltcl_unicode_1.out | 12 src/pl/tcl/sql/pltcl_unicode.sql | 13 src/port/getopt.c | 2 src/port/getopt_long.c | 2 src/port/path.c | 17 src/port/timingsafe_bcmp.c | 43 src/port/win32setlocale.c | 8 src/test/Makefile | 2 src/test/isolation/expected/insert-conflict-do-update-4.out | 8 src/test/isolation/expected/merge-update.out | 25 src/test/isolation/specs/insert-conflict-do-update-4.spec | 2 src/test/isolation/specs/merge-update.spec | 2 src/test/modules/Makefile | 1 src/test/modules/test_custom_types/.gitignore | 4 src/test/modules/test_custom_types/Makefile | 20 src/test/modules/test_custom_types/README | 9 src/test/modules/test_custom_types/expected/test_custom_types.out | 174 + src/test/modules/test_custom_types/meson.build | 33 src/test/modules/test_custom_types/sql/test_custom_types.sql | 104 src/test/modules/test_custom_types/test_custom_types--1.0.sql | 164 + src/test/modules/test_custom_types/test_custom_types.c | 184 + src/test/modules/test_custom_types/test_custom_types.control | 5 src/test/modules/test_ddl_deparse/Makefile | 1 src/test/modules/test_ddl_deparse/expected/textsearch.out | 5 src/test/modules/test_ddl_deparse/sql/textsearch.sql | 3 src/test/modules/test_ginpostinglist/test_ginpostinglist.c | 8 src/test/perl/PostgreSQL/Test/Cluster.pm | 76 src/test/postmaster/.gitignore | 2 src/test/postmaster/Makefile | 23 src/test/postmaster/README | 27 src/test/postmaster/t/004_negotiate.pl | 81 src/test/recovery/t/004_timeline_switch.pl | 9 src/test/recovery/t/009_twophase.pl | 2 src/test/regress/expected/alter_table.out | 10 src/test/regress/expected/collate.icu.utf8.out | 304 ++ src/test/regress/expected/compression_pglz.out | 65 src/test/regress/expected/create_index.out | 14 src/test/regress/expected/create_role.out | 28 src/test/regress/expected/create_table_like.out | 31 src/test/regress/expected/expressions.out | 209 + src/test/regress/expected/foreign_data.out | 20 src/test/regress/expected/generated.out | 34 src/test/regress/expected/indexing.out | 105 src/test/regress/expected/multirangetypes.out | 19 src/test/regress/expected/prepared_xacts.out | 7 src/test/regress/expected/prepared_xacts_1.out | 269 -- src/test/regress/expected/stats.out | 18 src/test/regress/expected/tsearch.out | 10 src/test/regress/expected/window.out | 91 src/test/regress/parallel_schedule | 7 src/test/regress/pg_regress.c | 2 src/test/regress/regress.c | 66 src/test/regress/sql/alter_table.sql | 8 src/test/regress/sql/collate.icu.utf8.sql | 103 src/test/regress/sql/compression_pglz.sql | 53 src/test/regress/sql/create_index.sql | 4 src/test/regress/sql/create_role.sql | 8 src/test/regress/sql/create_table_like.sql | 26 src/test/regress/sql/expressions.sql | 112 src/test/regress/sql/foreign_data.sql | 12 src/test/regress/sql/generated.sql | 24 src/test/regress/sql/indexing.sql | 59 src/test/regress/sql/multirangetypes.sql | 19 src/test/regress/sql/prepared_xacts.sql | 7 src/test/regress/sql/stats.sql | 8 src/test/regress/sql/tsearch.sql | 8 src/test/regress/sql/window.sql | 26 src/timezone/data/tzdata.zi | 14 src/timezone/strftime.c | 11 src/timezone/zic.c | 2 src/tools/make_ctags | 80 src/tools/msvc/Mkvcbuild.pm | 2 src/tools/msvc/Solution.pm | 5 src/tools/pgindent/typedefs.list | 1 1699 files changed, 11434 insertions(+), 5287 deletions(-) dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpwl1c61vl/postgresql-15_15.17-0+deb12u1.dsc: no acceptable signature found dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpwl1c61vl/postgresql-15_15.18-0+deb12u1.dsc: no acceptable signature found diff -Nru postgresql-15-15.17/.gitrevision postgresql-15-15.18/.gitrevision --- postgresql-15-15.17/.gitrevision 2026-02-23 22:13:46.000000000 +0000 +++ postgresql-15-15.18/.gitrevision 2026-05-11 20:01:58.000000000 +0000 @@ -1 +1 @@ -3eb6f61958ac5027a18791a828a0c7a47accf211 +005c1971a2926fbb9caf5a1ad634cd17a42bfd3c diff -Nru postgresql-15-15.17/config/c-compiler.m4 postgresql-15-15.18/config/c-compiler.m4 --- postgresql-15-15.17/config/c-compiler.m4 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/config/c-compiler.m4 2026-05-11 19:49:58.000000000 +0000 @@ -7,10 +7,10 @@ # Select the format archetype to be used by gcc to check printf-type functions. # We prefer "gnu_printf", as that most closely matches the features supported # by src/port/snprintf.c (particularly the %m conversion spec). However, -# on some NetBSD versions, that doesn't work while "__syslog__" does. -# If all else fails, use "printf". +# on clang and on some NetBSD versions, that doesn't work while "__syslog__" +# does. If all else fails, use "printf". AC_DEFUN([PGAC_PRINTF_ARCHETYPE], -[AC_CACHE_CHECK([for printf format archetype], pgac_cv_printf_archetype, +[AC_CACHE_CHECK([for C printf format archetype], pgac_cv_printf_archetype, [pgac_cv_printf_archetype=gnu_printf PGAC_TEST_PRINTF_ARCHETYPE if [[ "$ac_archetype_ok" = no ]]; then @@ -20,8 +20,8 @@ pgac_cv_printf_archetype=printf fi fi]) -AC_DEFINE_UNQUOTED([PG_PRINTF_ATTRIBUTE], [$pgac_cv_printf_archetype], -[Define to best printf format archetype, usually gnu_printf if available.]) +AC_DEFINE_UNQUOTED([PG_C_PRINTF_ATTRIBUTE], [$pgac_cv_printf_archetype], +[Define to best C printf format archetype, usually gnu_printf if available.]) ])# PGAC_PRINTF_ARCHETYPE # Subroutine: test $pgac_cv_printf_archetype, set $ac_archetype_ok to yes or no @@ -92,6 +92,42 @@ ])# PGAC_TYPE_64BIT_INT +# PGAC_CXX_PRINTF_ARCHETYPE +# ------------------------- +# Because we support using gcc as C compiler with clang as C++ compiler, +# we have to be prepared to use different printf archetypes in C++ code. +# So, do the above test all over in C++. +AC_DEFUN([PGAC_CXX_PRINTF_ARCHETYPE], +[AC_CACHE_CHECK([for C++ printf format archetype], pgac_cv_cxx_printf_archetype, +[pgac_cv_cxx_printf_archetype=gnu_printf +PGAC_TEST_CXX_PRINTF_ARCHETYPE +if [[ "$ac_archetype_ok" = no ]]; then + pgac_cv_cxx_printf_archetype=__syslog__ + PGAC_TEST_CXX_PRINTF_ARCHETYPE + if [[ "$ac_archetype_ok" = no ]]; then + pgac_cv_cxx_printf_archetype=printf + fi +fi]) +AC_DEFINE_UNQUOTED([PG_CXX_PRINTF_ATTRIBUTE], [$pgac_cv_cxx_printf_archetype], +[Define to best C++ printf format archetype, usually gnu_printf if available.]) +])# PGAC_CXX_PRINTF_ARCHETYPE + +# Subroutine: test $pgac_cv_cxx_printf_archetype, set $ac_archetype_ok to yes or no +AC_DEFUN([PGAC_TEST_CXX_PRINTF_ARCHETYPE], +[ac_save_cxx_werror_flag=$ac_cxx_werror_flag +ac_cxx_werror_flag=yes +AC_LANG_PUSH(C++) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM( +[extern void pgac_write(int ignore, const char *fmt,...) +__attribute__((format($pgac_cv_cxx_printf_archetype, 2, 3)));], +[pgac_write(0, "error %s: %m", "foo");])], + [ac_archetype_ok=yes], + [ac_archetype_ok=no]) +AC_LANG_POP([]) +ac_cxx_werror_flag=$ac_save_cxx_werror_flag +])# PGAC_TEST_CXX_PRINTF_ARCHETYPE + + # PGAC_TYPE_128BIT_INT # -------------------- # Check if __int128 is a working 128 bit integer type, and if so diff -Nru postgresql-15-15.17/configure postgresql-15-15.18/configure --- postgresql-15-15.17/configure 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/configure 2026-05-11 19:49:58.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for PostgreSQL 15.17. +# Generated by GNU Autoconf 2.69 for PostgreSQL 15.18. # # Report bugs to . # @@ -582,8 +582,8 @@ # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='15.17' -PACKAGE_STRING='PostgreSQL 15.17' +PACKAGE_VERSION='15.18' +PACKAGE_STRING='PostgreSQL 15.18' PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org' PACKAGE_URL='https://www.postgresql.org/' @@ -1452,7 +1452,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures PostgreSQL 15.17 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 15.18 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1517,7 +1517,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 15.17:";; + short | recursive ) echo "Configuration of PostgreSQL 15.18:";; esac cat <<\_ACEOF @@ -1691,7 +1691,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PostgreSQL configure 15.17 +PostgreSQL configure 15.18 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2444,7 +2444,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by PostgreSQL $as_me 15.17, which was +It was created by PostgreSQL $as_me 15.18, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -15145,8 +15145,8 @@ ;; esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for printf format archetype" >&5 -$as_echo_n "checking for printf format archetype... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C printf format archetype" >&5 +$as_echo_n "checking for C printf format archetype... " >&6; } if ${pgac_cv_printf_archetype+:} false; then : $as_echo_n "(cached) " >&6 else @@ -15206,7 +15206,97 @@ $as_echo "$pgac_cv_printf_archetype" >&6; } cat >>confdefs.h <<_ACEOF -#define PG_PRINTF_ATTRIBUTE $pgac_cv_printf_archetype +#define PG_C_PRINTF_ATTRIBUTE $pgac_cv_printf_archetype +_ACEOF + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ printf format archetype" >&5 +$as_echo_n "checking for C++ printf format archetype... " >&6; } +if ${pgac_cv_cxx_printf_archetype+:} false; then : + $as_echo_n "(cached) " >&6 +else + pgac_cv_cxx_printf_archetype=gnu_printf +ac_save_cxx_werror_flag=$ac_cxx_werror_flag +ac_cxx_werror_flag=yes +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern void pgac_write(int ignore, const char *fmt,...) +__attribute__((format($pgac_cv_cxx_printf_archetype, 2, 3))); +int +main () +{ +pgac_write(0, "error %s: %m", "foo"); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_archetype_ok=yes +else + ac_archetype_ok=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_cxx_werror_flag=$ac_save_cxx_werror_flag + +if [ "$ac_archetype_ok" = no ]; then + pgac_cv_cxx_printf_archetype=__syslog__ + ac_save_cxx_werror_flag=$ac_cxx_werror_flag +ac_cxx_werror_flag=yes +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern void pgac_write(int ignore, const char *fmt,...) +__attribute__((format($pgac_cv_cxx_printf_archetype, 2, 3))); +int +main () +{ +pgac_write(0, "error %s: %m", "foo"); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_archetype_ok=yes +else + ac_archetype_ok=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_cxx_werror_flag=$ac_save_cxx_werror_flag + + if [ "$ac_archetype_ok" = no ]; then + pgac_cv_cxx_printf_archetype=printf + fi +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pgac_cv_cxx_printf_archetype" >&5 +$as_echo "$pgac_cv_cxx_printf_archetype" >&6; } + +cat >>confdefs.h <<_ACEOF +#define PG_CXX_PRINTF_ATTRIBUTE $pgac_cv_cxx_printf_archetype _ACEOF @@ -16884,6 +16974,16 @@ cat >>confdefs.h <<_ACEOF #define HAVE_DECL_STRNLEN $ac_have_decl _ACEOF +ac_fn_c_check_decl "$LINENO" "timingsafe_bcmp" "ac_cv_have_decl_timingsafe_bcmp" "$ac_includes_default" +if test "x$ac_cv_have_decl_timingsafe_bcmp" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_TIMINGSAFE_BCMP $ac_have_decl +_ACEOF # We can't use AC_REPLACE_FUNCS to replace these functions, because it @@ -17236,6 +17336,19 @@ fi +ac_fn_c_check_func "$LINENO" "timingsafe_bcmp" "ac_cv_func_timingsafe_bcmp" +if test "x$ac_cv_func_timingsafe_bcmp" = xyes; then : + $as_echo "#define HAVE_TIMINGSAFE_BCMP 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" timingsafe_bcmp.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS timingsafe_bcmp.$ac_objext" + ;; +esac + +fi + if test "$enable_thread_safety" = yes; then @@ -20932,7 +21045,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by PostgreSQL $as_me 15.17, which was +This file was extended by PostgreSQL $as_me 15.18, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -21003,7 +21116,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -PostgreSQL config.status 15.17 +PostgreSQL config.status 15.18 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru postgresql-15-15.17/configure.ac postgresql-15-15.18/configure.ac --- postgresql-15-15.17/configure.ac 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/configure.ac 2026-05-11 19:49:58.000000000 +0000 @@ -17,7 +17,7 @@ dnl m4_pattern_forbid(^PGAC_)dnl to catch undefined macros -AC_INIT([PostgreSQL], [15.17], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) +AC_INIT([PostgreSQL], [15.18], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. Untested combinations of 'autoconf' and PostgreSQL versions are not @@ -1681,6 +1681,7 @@ AC_C_BIGENDIAN AC_C_INLINE PGAC_PRINTF_ARCHETYPE +PGAC_CXX_PRINTF_ARCHETYPE PGAC_C_FUNCNAME_SUPPORT PGAC_C_STATIC_ASSERT PGAC_C_TYPEOF @@ -1916,7 +1917,7 @@ ]) # fi AC_CHECK_DECLS(fdatasync, [], [], [#include ]) -AC_CHECK_DECLS([strlcat, strlcpy, strnlen]) +AC_CHECK_DECLS([strlcat, strlcpy, strnlen, timingsafe_bcmp]) # We can't use AC_REPLACE_FUNCS to replace these functions, because it # won't handle deployment target restrictions on macOS @@ -1966,6 +1967,7 @@ strlcpy strnlen strtof + timingsafe_bcmp ])) if test "$enable_thread_safety" = yes; then diff -Nru postgresql-15-15.17/contrib/basic_archive/basic_archive.c postgresql-15-15.18/contrib/basic_archive/basic_archive.c --- postgresql-15-15.17/contrib/basic_archive/basic_archive.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/basic_archive/basic_archive.c 2026-05-11 19:49:58.000000000 +0000 @@ -93,13 +93,11 @@ /* * check_archive_directory * - * Checks that the provided archive directory exists. + * Checks that the provided archive directory path isn't too long. */ static bool check_archive_directory(char **newval, void **extra, GucSource source) { - struct stat st; - /* * The default value is an empty string, so we have to accept that value. * Our check_configured callback also checks for this and prevents @@ -118,17 +116,6 @@ return false; } - /* - * Do a basic sanity check that the specified archive directory exists. It - * could be removed at some point in the future, so we still need to be - * prepared for it not to exist in the actual archiving logic. - */ - if (stat(*newval, &st) != 0 || !S_ISDIR(st.st_mode)) - { - GUC_check_errdetail("Specified archive directory does not exist."); - return false; - } - return true; } diff -Nru postgresql-15-15.17/contrib/hstore_plperl/hstore_plperl.c postgresql-15-15.18/contrib/hstore_plperl/hstore_plperl.c --- postgresql-15-15.17/contrib/hstore_plperl/hstore_plperl.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/hstore_plperl/hstore_plperl.c 2026-05-11 19:49:58.000000000 +0000 @@ -121,7 +121,7 @@ pcount = hv_iterinit(hv); - pairs = palloc(pcount * sizeof(Pairs)); + pairs = palloc_array(Pairs, pcount); i = 0; while ((he = hv_iternext(hv))) diff -Nru postgresql-15-15.17/contrib/hstore_plpython/hstore_plpython.c postgresql-15-15.18/contrib/hstore_plpython/hstore_plpython.c --- postgresql-15-15.17/contrib/hstore_plpython/hstore_plpython.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/hstore_plpython/hstore_plpython.c 2026-05-11 19:49:58.000000000 +0000 @@ -149,7 +149,7 @@ Py_ssize_t i; Pairs *pairs; - pairs = palloc(pcount * sizeof(*pairs)); + pairs = palloc_array(Pairs, pcount); for (i = 0; i < pcount; i++) { diff -Nru postgresql-15-15.17/contrib/intarray/_int_bool.c postgresql-15-15.18/contrib/intarray/_int_bool.c --- postgresql-15-15.17/contrib/intarray/_int_bool.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/intarray/_int_bool.c 2026-05-11 19:49:58.000000000 +0000 @@ -435,35 +435,66 @@ PG_RETURN_BOOL(result); } +/* + * Recursively fill the "left" fields of an ITEM array that represents + * a valid postfix tree. + * + * ptr: starting element of array + * pos: in/out argument, the array index this call is responsible to fill + * + * At exit, *pos has been decremented to point before the sub-tree whose + * top is the entry-time value of *pos. + */ static void findoprnd(ITEM *ptr, int32 *pos) { + int32 mypos; + /* since this function recurses, it could be driven to stack overflow. */ check_stack_depth(); + /* get the position this call is supposed to update */ + mypos = *pos; + Assert(mypos >= 0); + + /* in all cases, we should decrement *pos to advance over this item */ + (*pos)--; + #ifdef BS_DEBUG - elog(DEBUG3, (ptr[*pos].type == OPR) ? - "%d %c" : "%d %d", *pos, ptr[*pos].val); + elog(DEBUG3, (ptr[mypos].type == OPR) ? + "%d %c" : "%d %d", mypos, ptr[mypos].val); #endif - if (ptr[*pos].type == VAL) + + if (ptr[mypos].type == VAL) { - ptr[*pos].left = 0; - (*pos)--; + /* base case: a VAL has no operand, so just set its left to zero */ + ptr[mypos].left = 0; } - else if (ptr[*pos].val == (int32) '!') + else if (ptr[mypos].val == (int32) '!') { - ptr[*pos].left = -1; - (*pos)--; + /* unary operator, likewise easy: operand is just before it */ + ptr[mypos].left = -1; + /* recurse to scan operand */ findoprnd(ptr, pos); } else { - ITEM *curitem = &ptr[*pos]; - int32 tmp = *pos; + /* binary operator */ + int32 delta; - (*pos)--; + /* recurse to scan right operand */ findoprnd(ptr, pos); - curitem->left = *pos - tmp; + /* we must fill left with offset to left operand's top */ + /* abs(delta) < QUERYTYPEMAXITEMS, so it can't overflow ... */ + delta = *pos - mypos; + /* ... but it might be too large to fit in the 16-bit left field */ + Assert(delta < 0); + if (unlikely(delta < PG_INT16_MIN)) + ereport(ERROR, + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), + errmsg("query_int expression is too complex"))); + ptr[mypos].left = (int16) delta; + /* recurse to scan left operand */ findoprnd(ptr, pos); } } @@ -513,6 +544,7 @@ query->size = state.num; ptr = GETQUERY(query); + /* fill the query array from the data makepol constructed */ for (i = state.num - 1; i >= 0; i--) { ptr[i].type = state.str->type; @@ -522,8 +554,12 @@ state.str = tmp; } + /* now fill the "left" fields */ pos = query->size - 1; findoprnd(ptr, &pos); + /* if successful, findoprnd should have scanned the whole array */ + Assert(pos == -1); + #ifdef BS_DEBUG initStringInfo(&pbuf); for (i = 0; i < query->size; i++) diff -Nru postgresql-15-15.17/contrib/ltree/lquery_op.c postgresql-15-15.18/contrib/ltree/lquery_op.c --- postgresql-15-15.17/contrib/ltree/lquery_op.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/ltree/lquery_op.c 2026-05-11 19:49:58.000000000 +0000 @@ -41,8 +41,7 @@ } bool -compare_subnode(ltree_level *t, char *qn, int len, - ltree_prefix_eq_func prefix_eq, bool anyend) +compare_subnode(ltree_level *t, char *qn, int len, bool prefix, bool ci) { char *endt = t->name + t->len; char *endq = qn + len; @@ -57,10 +56,8 @@ isok = false; while ((tn = getlexeme(tn, endt, &lent)) != NULL) { - if ((lent == lenq || (lent > lenq && anyend)) && - (*prefix_eq) (qn, lenq, tn, lent)) + if (ltree_label_match(qn, lenq, tn, lent, prefix, ci)) { - isok = true; break; } @@ -76,31 +73,40 @@ } /* - * Check if 'a' is a prefix of 'b'. + * Check if the label matches the predicate string. If 'prefix' is true, then + * the predicate string is treated as a prefix. If 'ci' is true, then the + * predicate string is case-insensitive (and locale-aware). */ bool -ltree_prefix_eq(const char *a, size_t a_sz, const char *b, size_t b_sz) +ltree_label_match(const char *pred, size_t pred_len, const char *label, + size_t label_len, bool prefix, bool ci) { - if (a_sz > b_sz) - return false; - else - return (strncmp(a, b, a_sz) == 0); -} - -/* - * Case-insensitive check if 'a' is a prefix of 'b'. - */ -bool -ltree_prefix_eq_ci(const char *a, size_t a_sz, const char *b, size_t b_sz) -{ - char *al = str_tolower(a, a_sz, DEFAULT_COLLATION_OID); - char *bl = str_tolower(b, b_sz, DEFAULT_COLLATION_OID); + char *fpred; /* casefolded predicate */ + size_t fpred_len; + char *flabel; /* casefolded label */ + size_t flabel_len; bool res; - res = (strncmp(al, bl, a_sz) == 0); + /* fast path for binary match or binary prefix match */ + if ((pred_len == label_len || (prefix && pred_len < label_len)) && + strncmp(pred, label, pred_len) == 0) + return true; + else if (!ci) + return false; + + fpred = str_tolower(pred, pred_len, DEFAULT_COLLATION_OID); + fpred_len = strlen(fpred); + flabel = str_tolower(label, label_len, DEFAULT_COLLATION_OID); + flabel_len = strlen(flabel); + + if ((fpred_len == flabel_len || (prefix && fpred_len < flabel_len)) && + strncmp(fpred, flabel, fpred_len) == 0) + res = true; + else + res = false; - pfree(al); - pfree(bl); + pfree(fpred); + pfree(flabel); return res; } @@ -125,19 +131,16 @@ for (int i = 0; i < curq->numvar; i++) { - ltree_prefix_eq_func prefix_eq; - - prefix_eq = (curvar->flag & LVAR_INCASE) ? ltree_prefix_eq_ci : ltree_prefix_eq; + bool prefix = (curvar->flag & LVAR_ANYEND); + bool ci = (curvar->flag & LVAR_INCASE); if (curvar->flag & LVAR_SUBLEXEME) { - if (compare_subnode(curt, curvar->name, curvar->len, prefix_eq, - (curvar->flag & LVAR_ANYEND))) + if (compare_subnode(curt, curvar->name, curvar->len, prefix, ci)) return success; } - else if ((curvar->len == curt->len || - (curt->len > curvar->len && (curvar->flag & LVAR_ANYEND))) && - (*prefix_eq) (curvar->name, curvar->len, curt->name, curt->len)) + else if (ltree_label_match(curvar->name, curvar->len, curt->name, + curt->len, prefix, ci)) return success; curvar = LVAR_NEXT(curvar); diff -Nru postgresql-15-15.17/contrib/ltree/ltree.h postgresql-15-15.18/contrib/ltree/ltree.h --- postgresql-15-15.17/contrib/ltree/ltree.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/ltree/ltree.h 2026-05-11 19:49:58.000000000 +0000 @@ -157,8 +157,6 @@ char data[FLEXIBLE_ARRAY_MEMBER]; } ltxtquery; -typedef bool (*ltree_prefix_eq_func) (const char *, size_t, const char *, size_t); - #define HDRSIZEQT MAXALIGN(VARHDRSZ + sizeof(int32)) #define COMPUTESIZE(size,lenofoperand) ( HDRSIZEQT + (size) * sizeof(ITEM) + (lenofoperand) ) #define LTXTQUERY_TOO_BIG(size,lenofoperand) \ @@ -209,11 +207,11 @@ int ltree_compare(const ltree *a, const ltree *b); bool inner_isparent(const ltree *c, const ltree *p); -bool compare_subnode(ltree_level *t, char *qn, int len, - ltree_prefix_eq_func prefix_eq, bool anyend); +bool compare_subnode(ltree_level *t, char *qn, int len, bool prefix, bool ci); ltree *lca_inner(ltree **a, int len); -bool ltree_prefix_eq(const char *a, size_t a_sz, const char *b, size_t b_sz); -bool ltree_prefix_eq_ci(const char *a, size_t a_sz, const char *b, size_t b_sz); +bool ltree_label_match(const char *pred, size_t pred_len, + const char *label, size_t label_len, + bool prefix, bool ci); /* fmgr macros for ltree objects */ #define DatumGetLtreeP(X) ((ltree *) PG_DETOAST_DATUM(X)) diff -Nru postgresql-15-15.17/contrib/ltree/ltree_io.c postgresql-15-15.18/contrib/ltree/ltree_io.c --- postgresql-15-15.17/contrib/ltree/ltree_io.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/ltree/ltree_io.c 2026-05-11 19:49:58.000000000 +0000 @@ -7,6 +7,7 @@ #include +#include "common/int.h" #include "crc32.h" #include "libpq/pqformat.h" #include "ltree.h" @@ -338,7 +339,12 @@ lptr++; lptr->start = ptr; state = LQPRS_WAITDELIM; - curqlevel->numvar++; + if (pg_add_u16_overflow(curqlevel->numvar, 1, &curqlevel->numvar)) + ereport(ERROR, + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), + errmsg("lquery level has too many variants"), + errdetail("Number of variants exceeds the maximum allowed (%d).", + PG_UINT16_MAX))); } else UNCHAR; @@ -530,7 +536,16 @@ lptr = GETVAR(curqlevel); while (lptr - GETVAR(curqlevel) < curqlevel->numvar) { - cur->totallen += MAXALIGN(LVAR_HDRSIZE + lptr->len); + int newlen = cur->totallen + MAXALIGN(LVAR_HDRSIZE + lptr->len); + + if (newlen > PG_UINT16_MAX) + ereport(ERROR, + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), + errmsg("lquery level is too large"), + errdetail("Total size of level exceeds the maximum allowed (%d bytes).", + PG_UINT16_MAX))); + cur->totallen = (uint16) newlen; + lrptr->len = lptr->len; lrptr->flag = lptr->flag; lrptr->val = ltree_crc32_sz(lptr->start, lptr->len); diff -Nru postgresql-15-15.17/contrib/ltree/ltxtquery_io.c postgresql-15-15.18/contrib/ltree/ltxtquery_io.c --- postgresql-15-15.17/contrib/ltree/ltxtquery_io.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/ltree/ltxtquery_io.c 2026-05-11 19:49:58.000000000 +0000 @@ -270,31 +270,60 @@ return END; } +/* + * Recursively fill the "left" fields of an ITEM array that represents + * a valid postfix tree. + * + * ptr: starting element of array + * pos: in/out argument, the array index this call is responsible to fill + * + * At exit, *pos has been incremented to point after the sub-tree whose + * top is the entry-time value of *pos. + */ static void findoprnd(ITEM *ptr, int32 *pos) { + int32 mypos; + /* since this function recurses, it could be driven to stack overflow. */ check_stack_depth(); - if (ptr[*pos].type == VAL || ptr[*pos].type == VALTRUE) + /* get the position this call is supposed to update */ + mypos = *pos; + + /* in all cases, we should increment *pos to advance over this item */ + (*pos)++; + + if (ptr[mypos].type == VAL || ptr[mypos].type == VALTRUE) { - ptr[*pos].left = 0; - (*pos)++; + /* base case: a VAL has no operand, so just set its left to zero */ + ptr[mypos].left = 0; } - else if (ptr[*pos].val == (int32) '!') + else if (ptr[mypos].val == (int32) '!') { - ptr[*pos].left = 1; - (*pos)++; + /* unary operator, likewise easy: operand is just after it */ + ptr[mypos].left = 1; + /* recurse to scan operand */ findoprnd(ptr, pos); } else { - ITEM *curitem = &ptr[*pos]; - int32 tmp = *pos; + /* binary operator */ + int32 delta; - (*pos)++; + /* recurse to scan right operand */ findoprnd(ptr, pos); - curitem->left = *pos - tmp; + /* we must fill left with offset to left operand's top */ + /* delta can't overflow, see LTXTQUERY_TOO_BIG ... */ + delta = *pos - mypos; + /* ... but it might be too large to fit in the 16-bit left field */ + Assert(delta > 0); + if (unlikely(delta > PG_INT16_MAX)) + ereport(ERROR, + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), + errmsg("ltxtquery is too large"))); + ptr[mypos].left = (int16) delta; + /* recurse to scan left operand */ findoprnd(ptr, pos); } } @@ -371,6 +400,8 @@ /* set left operand's position for every operator */ pos = 0; findoprnd(ptr, &pos); + /* if successful, findoprnd should have scanned the whole array */ + Assert(pos == state.num); return query; } diff -Nru postgresql-15-15.17/contrib/ltree/ltxtquery_op.c postgresql-15-15.18/contrib/ltree/ltxtquery_op.c --- postgresql-15-15.17/contrib/ltree/ltxtquery_op.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/ltree/ltxtquery_op.c 2026-05-11 19:49:58.000000000 +0000 @@ -58,19 +58,18 @@ ltree_level *level = LTREE_FIRST(((CHKVAL *) checkval)->node); int tlen = ((CHKVAL *) checkval)->node->numlevel; char *op = ((CHKVAL *) checkval)->operand + val->distance; - ltree_prefix_eq_func prefix_eq; + bool prefix = (val->flag & LVAR_ANYEND); + bool ci = (val->flag & LVAR_INCASE); - prefix_eq = (val->flag & LVAR_INCASE) ? ltree_prefix_eq_ci : ltree_prefix_eq; while (tlen > 0) { if (val->flag & LVAR_SUBLEXEME) { - if (compare_subnode(level, op, val->length, prefix_eq, (val->flag & LVAR_ANYEND))) + if (compare_subnode(level, op, val->length, prefix, ci)) return true; } - else if ((val->length == level->len || - (level->len > val->length && (val->flag & LVAR_ANYEND))) && - (*prefix_eq) (op, val->length, level->name, level->len)) + else if (ltree_label_match(op, val->length, level->name, level->len, + prefix, ci)) return true; tlen--; diff -Nru postgresql-15-15.17/contrib/pg_stat_statements/pg_stat_statements.c postgresql-15-15.18/contrib/pg_stat_statements/pg_stat_statements.c --- postgresql-15-15.17/contrib/pg_stat_statements/pg_stat_statements.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/pg_stat_statements/pg_stat_statements.c 2026-05-11 19:49:58.000000000 +0000 @@ -785,7 +785,7 @@ if (fwrite(&pgss->stats, sizeof(pgssGlobalStats), 1, file) != 1) goto error; - free(qbuffer); + pfree(qbuffer); qbuffer = NULL; if (FreeFile(file)) @@ -810,7 +810,7 @@ errmsg("could not write file \"%s\": %m", PGSS_DUMP_FILE ".tmp"))); if (qbuffer) - free(qbuffer); + pfree(qbuffer); if (file) FreeFile(file); unlink(PGSS_DUMP_FILE ".tmp"); @@ -1670,7 +1670,7 @@ pgss->gc_count != gc_count) { if (qbuffer) - free(qbuffer); + pfree(qbuffer); qbuffer = qtext_load_file(&qbuffer_size); } } @@ -1855,7 +1855,7 @@ LWLockRelease(pgss->lock); if (qbuffer) - free(qbuffer); + pfree(qbuffer); } /* Number of output arguments (columns) for pg_stat_statements_info */ @@ -2163,7 +2163,7 @@ } /* - * Read the external query text file into a malloc'd buffer. + * Read the external query text file into a palloc'd buffer. * * Returns NULL (without throwing an error) if unable to read, eg * file not there or insufficient memory. @@ -2205,7 +2205,7 @@ /* Allocate buffer; beware that off_t might be wider than size_t */ if (stat.st_size <= MaxAllocHugeSize) - buf = (char *) malloc(stat.st_size); + buf = (char *) palloc_extended(stat.st_size, MCXT_ALLOC_HUGE | MCXT_ALLOC_NO_OOM); else buf = NULL; if (buf == NULL) @@ -2244,7 +2244,7 @@ (errcode_for_file_access(), errmsg("could not read file \"%s\": %m", PGSS_TEXT_FILE))); - free(buf); + pfree(buf); CloseTransientFile(fd); return NULL; } @@ -2459,7 +2459,7 @@ else pgss->mean_query_len = ASSUMED_LENGTH_INIT; - free(qbuffer); + pfree(qbuffer); /* * OK, count a garbage collection cycle. (Note: even though we have @@ -2477,7 +2477,7 @@ if (qfile) FreeFile(qfile); if (qbuffer) - free(qbuffer); + pfree(qbuffer); /* * Since the contents of the external file are now uncertain, mark all diff -Nru postgresql-15-15.17/contrib/postgres_fdw/connection.c postgresql-15-15.18/contrib/postgres_fdw/connection.c --- postgresql-15-15.17/contrib/postgres_fdw/connection.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/postgres_fdw/connection.c 2026-05-11 19:49:58.000000000 +0000 @@ -535,8 +535,9 @@ } /* - * Return true if the password_required is defined and false for this user - * mapping, otherwise false. The mapping has been pre-validated. + * Check and return the value of password_required, if defined; otherwise, + * return true, which is the default value of it. The mapping has been + * pre-validated. */ static bool UserMappingPasswordRequired(UserMapping *user) @@ -1193,6 +1194,11 @@ * Such connections can't safely be further used. Re-establishing the * connection would change the snapshot and roll back any writes already * performed, so that's not an option, either. Thus, we must abort. + * + * Note: there might be open cursors that use the connection, so even if the + * connection cache entry is marked as such, we will retain it until abort + * cleanup of the main transaction, to ensure such open cursors can safely + * refer to the PGconn for the connection. */ static void pgfdw_reject_incomplete_xact_state_change(ConnCacheEntry *entry) @@ -1203,15 +1209,12 @@ if (entry->conn == NULL || !entry->changing_xact_state) return; - /* make sure this entry is inactive */ - disconnect_pg_server(entry); - /* find server name to be shown in the message below */ server = GetForeignServer(entry->serverid); ereport(ERROR, (errcode(ERRCODE_CONNECTION_EXCEPTION), - errmsg("connection to server \"%s\" was lost", + errmsg("connection to server \"%s\" cannot be used due to abort cleanup failure", server->servername))); } diff -Nru postgresql-15-15.17/contrib/postgres_fdw/expected/postgres_fdw.out postgresql-15-15.18/contrib/postgres_fdw/expected/postgres_fdw.out --- postgresql-15-15.17/contrib/postgres_fdw/expected/postgres_fdw.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/postgres_fdw/expected/postgres_fdw.out 2026-05-11 19:49:58.000000000 +0000 @@ -11838,3 +11838,79 @@ ALTER SERVER loopback OPTIONS (DROP parallel_commit); ALTER SERVER loopback2 OPTIONS (DROP parallel_commit); +-- =================================================================== +-- test cleanup of failed connections on abort +-- =================================================================== +CREATE VIEW my_backend_pid (pid) AS SELECT pg_backend_pid(); +CREATE FOREIGN TABLE remote_backend_pid (pid int) + SERVER loopback OPTIONS (table_name 'my_backend_pid'); +CREATE FUNCTION wait_for_backend_termination(int) RETURNS void AS $$ + BEGIN + WHILE (SELECT count(*) FROM pg_stat_activity WHERE pid = $1) > 0 + LOOP + PERFORM pg_stat_clear_snapshot(); + END LOOP; + END +$$ LANGUAGE plpgsql; +SET client_min_messages = 'ERROR'; +BEGIN; +DECLARE c CURSOR FOR SELECT * FROM ft1 ORDER BY c1; +SAVEPOINT s; +SELECT pid AS remote_pid FROM remote_backend_pid \gset +SELECT pg_terminate_backend(:remote_pid); + pg_terminate_backend +---------------------- + t +(1 row) + +SELECT wait_for_backend_termination(:remote_pid); + wait_for_backend_termination +------------------------------ + +(1 row) + +ROLLBACK TO SAVEPOINT s; +SELECT pid FROM remote_backend_pid; +ERROR: connection to server "loopback" cannot be used due to abort cleanup failure +ROLLBACK TO SAVEPOINT s; +RELEASE SAVEPOINT s; +FETCH c; +ERROR: no connection to the server +CONTEXT: remote SQL command: DECLARE c1 CURSOR FOR +SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" ORDER BY "C 1" ASC NULLS LAST +ABORT; +BEGIN; +DECLARE c CURSOR FOR SELECT * FROM ft1 ORDER BY c1; +FETCH c; + c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 +----+----+-------------------+------------------------------+--------------------------+----+------------+----- + 1 | 2 | 00001_trig_update | Fri Jan 02 00:00:00 1970 PST | Fri Jan 02 00:00:00 1970 | 1 | 1 | foo +(1 row) + +SAVEPOINT s; +SELECT pid AS remote_pid FROM remote_backend_pid \gset +SELECT pg_terminate_backend(:remote_pid); + pg_terminate_backend +---------------------- + t +(1 row) + +SELECT wait_for_backend_termination(:remote_pid); + wait_for_backend_termination +------------------------------ + +(1 row) + +ROLLBACK TO SAVEPOINT s; +SELECT pid FROM remote_backend_pid; +ERROR: connection to server "loopback" cannot be used due to abort cleanup failure +ROLLBACK TO SAVEPOINT s; +RELEASE SAVEPOINT s; +CLOSE c; +ERROR: no connection to the server +CONTEXT: remote SQL command: CLOSE c1 +ABORT; +RESET client_min_messages; +DROP FUNCTION wait_for_backend_termination(int); +DROP FOREIGN TABLE remote_backend_pid; +DROP VIEW my_backend_pid; diff -Nru postgresql-15-15.17/contrib/postgres_fdw/sql/postgres_fdw.sql postgresql-15-15.18/contrib/postgres_fdw/sql/postgres_fdw.sql --- postgresql-15-15.17/contrib/postgres_fdw/sql/postgres_fdw.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/postgres_fdw/sql/postgres_fdw.sql 2026-05-11 19:49:58.000000000 +0000 @@ -3931,3 +3931,54 @@ ALTER SERVER loopback OPTIONS (DROP parallel_commit); ALTER SERVER loopback2 OPTIONS (DROP parallel_commit); + +-- =================================================================== +-- test cleanup of failed connections on abort +-- =================================================================== + +CREATE VIEW my_backend_pid (pid) AS SELECT pg_backend_pid(); +CREATE FOREIGN TABLE remote_backend_pid (pid int) + SERVER loopback OPTIONS (table_name 'my_backend_pid'); +CREATE FUNCTION wait_for_backend_termination(int) RETURNS void AS $$ + BEGIN + WHILE (SELECT count(*) FROM pg_stat_activity WHERE pid = $1) > 0 + LOOP + PERFORM pg_stat_clear_snapshot(); + END LOOP; + END +$$ LANGUAGE plpgsql; + +SET client_min_messages = 'ERROR'; + +BEGIN; +DECLARE c CURSOR FOR SELECT * FROM ft1 ORDER BY c1; +SAVEPOINT s; +SELECT pid AS remote_pid FROM remote_backend_pid \gset +SELECT pg_terminate_backend(:remote_pid); +SELECT wait_for_backend_termination(:remote_pid); +ROLLBACK TO SAVEPOINT s; +SELECT pid FROM remote_backend_pid; +ROLLBACK TO SAVEPOINT s; +RELEASE SAVEPOINT s; +FETCH c; +ABORT; + +BEGIN; +DECLARE c CURSOR FOR SELECT * FROM ft1 ORDER BY c1; +FETCH c; +SAVEPOINT s; +SELECT pid AS remote_pid FROM remote_backend_pid \gset +SELECT pg_terminate_backend(:remote_pid); +SELECT wait_for_backend_termination(:remote_pid); +ROLLBACK TO SAVEPOINT s; +SELECT pid FROM remote_backend_pid; +ROLLBACK TO SAVEPOINT s; +RELEASE SAVEPOINT s; +CLOSE c; +ABORT; + +RESET client_min_messages; + +DROP FUNCTION wait_for_backend_termination(int); +DROP FOREIGN TABLE remote_backend_pid; +DROP VIEW my_backend_pid; diff -Nru postgresql-15-15.17/contrib/spi/refint.c postgresql-15-15.18/contrib/spi/refint.c --- postgresql-15-15.17/contrib/spi/refint.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/spi/refint.c 2026-05-11 19:49:58.000000000 +0000 @@ -166,21 +166,24 @@ if (plan->nplans <= 0) { SPIPlanPtr pplan; - char sql[8192]; + StringInfoData sql; + + initStringInfo(&sql); /* * Construct query: SELECT 1 FROM _referenced_relation_ WHERE Pkey1 = * $1 [AND Pkey2 = $2 [...]] */ - snprintf(sql, sizeof(sql), "select 1 from %s where ", relname); - for (i = 0; i < nkeys; i++) + appendStringInfo(&sql, "select 1 from %s where ", relname); + for (i = 1; i <= nkeys; i++) { - snprintf(sql + strlen(sql), sizeof(sql) - strlen(sql), "%s = $%d %s", - args[i + nkeys + 1], i + 1, (i < nkeys - 1) ? "and " : ""); + appendStringInfo(&sql, "%s = $%d ", args[i + nkeys], i); + if (i < nkeys) + appendStringInfoString(&sql, "and "); } /* Prepare plan for query */ - pplan = SPI_prepare(sql, nkeys, argtypes); + pplan = SPI_prepare(sql.data, nkeys, argtypes); if (pplan == NULL) /* internal error */ elog(ERROR, "check_primary_key: SPI_prepare returned %s", SPI_result_code_string(SPI_result)); @@ -196,6 +199,8 @@ sizeof(SPIPlanPtr)); *(plan->splan) = pplan; plan->nplans = 1; + + pfree(sql.data); } /* @@ -416,7 +421,6 @@ if (plan->nplans <= 0) { SPIPlanPtr pplan; - char sql[8192]; char **args2 = args; plan->splan = (SPIPlanPtr *) MemoryContextAlloc(TopMemoryContext, @@ -424,6 +428,10 @@ for (r = 0; r < nrefs; r++) { + StringInfoData sql; + + initStringInfo(&sql); + relname = args2[0]; /*--------- @@ -437,8 +445,7 @@ *--------- */ if (action == 'r') - - snprintf(sql, sizeof(sql), "select 1 from %s where ", relname); + appendStringInfo(&sql, "select 1 from %s where ", relname); /*--------- * For 'C'ascade action we construct DELETE query @@ -465,42 +472,23 @@ char *nv; int k; - snprintf(sql, sizeof(sql), "update %s set ", relname); + appendStringInfo(&sql, "update %s set ", relname); for (k = 1; k <= nkeys; k++) { - int is_char_type = 0; - char *type; - fn = SPI_fnumber(tupdesc, args_temp[k - 1]); Assert(fn > 0); /* already checked above */ nv = SPI_getvalue(newtuple, tupdesc, fn); - type = SPI_gettype(tupdesc, fn); - if (strcmp(type, "text") == 0 || - strcmp(type, "varchar") == 0 || - strcmp(type, "char") == 0 || - strcmp(type, "bpchar") == 0 || - strcmp(type, "date") == 0 || - strcmp(type, "timestamp") == 0) - is_char_type = 1; -#ifdef DEBUG_QUERY - elog(DEBUG4, "check_foreign_key Debug value %s type %s %d", - nv, type, is_char_type); -#endif - - /* - * is_char_type =1 i set ' ' for define a new value - */ - snprintf(sql + strlen(sql), sizeof(sql) - strlen(sql), - " %s = %s%s%s %s ", - args2[k], (is_char_type > 0) ? "'" : "", - nv, (is_char_type > 0) ? "'" : "", (k < nkeys) ? ", " : ""); + appendStringInfo(&sql, " %s = %s ", + args2[k], quote_literal_cstr(nv)); + if (k < nkeys) + appendStringInfoString(&sql, ", "); } - strcat(sql, " where "); + appendStringInfoString(&sql, " where "); } else /* DELETE */ - snprintf(sql, sizeof(sql), "delete from %s where ", relname); + appendStringInfo(&sql, "delete from %s where ", relname); } /* @@ -511,25 +499,26 @@ */ else if (action == 's') { - snprintf(sql, sizeof(sql), "update %s set ", relname); + appendStringInfo(&sql, "update %s set ", relname); for (i = 1; i <= nkeys; i++) { - snprintf(sql + strlen(sql), sizeof(sql) - strlen(sql), - "%s = null%s", - args2[i], (i < nkeys) ? ", " : ""); + appendStringInfo(&sql, "%s = null", args2[i]); + if (i < nkeys) + appendStringInfoString(&sql, ", "); } - strcat(sql, " where "); + appendStringInfoString(&sql, " where "); } /* Construct WHERE qual */ for (i = 1; i <= nkeys; i++) { - snprintf(sql + strlen(sql), sizeof(sql) - strlen(sql), "%s = $%d %s", - args2[i], i, (i < nkeys) ? "and " : ""); + appendStringInfo(&sql, "%s = $%d ", args2[i], i); + if (i < nkeys) + appendStringInfoString(&sql, "and "); } /* Prepare plan for query */ - pplan = SPI_prepare(sql, nkeys, argtypes); + pplan = SPI_prepare(sql.data, nkeys, argtypes); if (pplan == NULL) /* internal error */ elog(ERROR, "check_foreign_key: SPI_prepare returned %s", SPI_result_code_string(SPI_result)); @@ -545,11 +534,14 @@ plan->splan[r] = pplan; args2 += nkeys + 1; /* to the next relation */ + +#ifdef DEBUG_QUERY + elog(DEBUG4, "check_foreign_key Debug Query is : %s ", sql.data); +#endif + + pfree(sql.data); } plan->nplans = nrefs; -#ifdef DEBUG_QUERY - elog(DEBUG4, "check_foreign_key Debug Query is : %s ", sql); -#endif } /* diff -Nru postgresql-15-15.17/contrib/xml2/expected/xml2.out postgresql-15-15.18/contrib/xml2/expected/xml2.out --- postgresql-15-15.17/contrib/xml2/expected/xml2.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/xml2/expected/xml2.out 2026-05-11 19:49:58.000000000 +0000 @@ -222,3 +222,13 @@ $$); ERROR: failed to apply stylesheet +-- empty output +select xslt_process('', +$$ +$$); + xslt_process +-------------- + +(1 row) + diff -Nru postgresql-15-15.17/contrib/xml2/expected/xml2_1.out postgresql-15-15.18/contrib/xml2/expected/xml2_1.out --- postgresql-15-15.17/contrib/xml2/expected/xml2_1.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/xml2/expected/xml2_1.out 2026-05-11 19:49:58.000000000 +0000 @@ -166,3 +166,9 @@ $$); ERROR: xslt_process() is not available without libxslt +-- empty output +select xslt_process('', +$$ +$$); +ERROR: xslt_process() is not available without libxslt diff -Nru postgresql-15-15.17/contrib/xml2/sql/xml2.sql postgresql-15-15.18/contrib/xml2/sql/xml2.sql --- postgresql-15-15.17/contrib/xml2/sql/xml2.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/xml2/sql/xml2.sql 2026-05-11 19:49:58.000000000 +0000 @@ -137,3 +137,9 @@ $$); + +-- empty output +select xslt_process('', +$$ +$$); diff -Nru postgresql-15-15.17/contrib/xml2/xslt_proc.c postgresql-15-15.18/contrib/xml2/xslt_proc.c --- postgresql-15-15.17/contrib/xml2/xslt_proc.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/contrib/xml2/xslt_proc.c 2026-05-11 19:49:58.000000000 +0000 @@ -179,7 +179,14 @@ if (resstat < 0) PG_RETURN_NULL(); - result = cstring_to_text_with_len((char *) resstr, reslen); + /* + * If an empty string has been returned, resstr would be NULL. In + * this case, assume that the result is an empty string. + */ + if (reslen == 0) + result = cstring_to_text(""); + else + result = cstring_to_text_with_len((char *) resstr, reslen); if (resstr) xmlFree(resstr); diff -Nru postgresql-15-15.17/debian/changelog postgresql-15-15.18/debian/changelog --- postgresql-15-15.17/debian/changelog 2026-02-24 11:48:56.000000000 +0000 +++ postgresql-15-15.18/debian/changelog 2026-05-12 10:51:10.000000000 +0000 @@ -1,3 +1,124 @@ +postgresql-15 (15.18-0+deb12u1) bookworm-security; urgency=medium + + * New upstream version 15.18. + + + Prevent unbounded recursion while processing startup packets + (Michael Paquier) + + A malicious client could crash the connected backend by alternating + rejected SSL and GSS encryption requests indefinitely. + + The PostgreSQL Project thanks Calif.io (in collaboration with Claude and + Anthropic Research) for reporting this problem. (CVE-2026-6479) + + + Fix assorted integer overflows in memory-allocation calculations + (Tom Lane, Nathan Bossart, Heikki Linnakangas) + + Various places were incautious about the possibility of integer overflow + in calculations of how much memory to allocate. Overflow would lead to + allocating a too-small buffer which the caller would then write past the + end of. This would at least trigger server crashes, and probably could + be exploited for arbitrary code execution. In many but by no means all + cases, the hazard exists only in 32-bit builds. + + The PostgreSQL Project thanks Xint Code, Bruce Dang, Sven Klemm, and + Pavel Kohout for reporting these problems. (CVE-2026-6473) + + + Reject over-length options in ts_headline() (Michael Paquier) + + The StartSel, StopSel and FragmentDelimiter strings must not exceed 32Kb + in length, but this was not checked for. An over-length value would + typically crash the server. + + The PostgreSQL Project thanks Xint Code for reporting this problem. + (CVE-2026-6473) + + + Guard against malicious time zone names in timeofday() and pg_strftime() + (Tom Lane) + + A crafted time zone setting could pass % sequences to snprintf(), + potentially causing crashes or disclosure of server memory. Another + path to similar results was to overflow the limited-size output buffer + used by pg_strftime(). + + The PostgreSQL Project thanks Xint Code for reporting this problem. + (CVE-2026-6474) + + + When creating a multirange type, ensure the user has CREATE privilege on + the schema specified for the multirange type (Jelte Fennema-Nio) + + The multirange type can be put into a different schema than its parent + range type, but we neglected to apply the required privilege check when + doing so. + + The PostgreSQL Project thanks Jelte Fennema-Nio for reporting this + problem. (CVE-2026-6472) + + + Use timing-safe string comparisons in authentication code + (Michael Paquier) + + Use timingsafe_bcmp() instead of memcpy() or strcmp() when checking + passwords, hashes, etc. It is not known whether the data dependency of + those functions is usefully exploitable in any of these places, but in + the interests of safety, replace them. + + The PostgreSQL Project thanks Joe Conway for reporting this problem. + (CVE-2026-6478) + + + Mark PQfn() as unsafe, and avoid using it within libpq (Nathan Bossart) + + For a non-integral result type, PQfn() is not passed the size of the + output buffer, so it cannot check that the data returned by the server + will fit. A malicious server could therefore overwrite client memory. + This is unfixable without an API change, so mark the function as + deprecated. Internally to libpq, use a variant version that can apply + the missing check. + + The PostgreSQL Project thanks Yu Kunpeng and Martin Heistermann for + reporting this problem. (CVE-2026-6477) + + + Prevent path traversal in pg_basebackup and pg_rewind (Michael Paquier) + + These applications failed to validate output file paths read from their + input, so that a malicious source could overwrite any file writable by + these applications. Constrain where data can be written by rejecting + paths that are absolute or contain parent-directory references. + + The PostgreSQL Project thanks XlabAI Team of Tencent Xuanwu Lab and + Valery Gubanov for reporting this problem. (CVE-2026-6475) + + + Guard against field overflow within contrib/intarray's query_int type + and contrib/ltree's ltxtquery type (Tom Lane) + + Parsing of these query structures did not check for overflow of 16-bit + fields, so that construction of an invalid query tree was possible. + This can crash the server when executing the query. + + The PostgreSQL Project thanks Xint Code for reporting this problem. + (CVE-2026-6473) + + + Guard against overly long values of contrib/ltree's lquery type + (Michael Paquier) + + Values with more than 64K items caused internal overflows, potentially + resulting in stack smashes or wrong answers. + + The PostgreSQL Project thanks Vergissmeinnicht, A1ex, and Jihe Wang for + reporting this problem. (CVE-2026-6473) + + + Prevent SQL injection and buffer overruns in contrib/spi + (Nathan Bossart) + + check_foreign_key() was insufficiently careful about quoting key values, + and also used fixed-length buffers for constructing queries. While this + module is only meant as example code, it still shouldn't contain such + dangerous errors. + + The PostgreSQL Project thanks Nikolay Samokhvalov for reporting this + problem. (CVE-2026-6637) + + -- Christoph Berg Tue, 12 May 2026 12:51:10 +0200 + postgresql-15 (15.17-0+deb12u1) bookworm; urgency=medium * New upstream version 15.17. diff -Nru postgresql-15-15.17/doc/src/sgml/config.sgml postgresql-15-15.18/doc/src/sgml/config.sgml --- postgresql-15-15.17/doc/src/sgml/config.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/config.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -11444,7 +11444,9 @@ If LLVM has the required functionality, register generated functions with GDB. This makes debugging easier. The default setting is off. - This parameter can only be set at server start. + Only superusers and users with the appropriate SET + privilege can change this parameter at session start, + and it cannot be changed at all within a session. @@ -11495,7 +11497,9 @@ This writes out files to ~/.debug/jit/; the user is responsible for performing cleanup when desired. The default setting is off. - This parameter can only be set at server start. + Only superusers and users with the appropriate SET + privilege can change this parameter at session start, + and it cannot be changed at all within a session. diff -Nru postgresql-15-15.17/doc/src/sgml/html/acronyms.html postgresql-15-15.18/doc/src/sgml/html/acronyms.html --- postgresql-15-15.17/doc/src/sgml/html/acronyms.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/acronyms.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,5 +1,5 @@ -Appendix L. Acronyms

Appendix L. Acronyms

+Appendix L. Acronyms

Appendix L. Acronyms

This is a list of acronyms commonly used in the PostgreSQL documentation and in discussions about PostgreSQL. @@ -137,7 +137,7 @@ Pluggable Authentication Modules

PGSQL

- PostgreSQL + PostgreSQL

PGXS

PostgreSQL Extension System

PID

@@ -216,4 +216,4 @@ Extensible Markup Language

-

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/admin.html postgresql-15-15.18/doc/src/sgml/html/admin.html --- postgresql-15-15.17/doc/src/sgml/html/admin.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/admin.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -Part III. Server Administration

Part III. Server Administration

+Part III. Server Administration

Part III. Server Administration

This part covers topics that are of interest to a PostgreSQL database administrator. This includes installation of the software, set up and configuration of the @@ -23,4 +23,4 @@ the PostgreSQL database system. Readers are encouraged to look at Part I and Part II for additional information.

Table of Contents

16. Installation from Binaries
17. Installation from Source Code
17.1. Short Version
17.2. Requirements
17.3. Getting the Source
17.4. Installation Procedure
17.5. Post-Installation Setup
17.6. Supported Platforms
17.7. Platform-Specific Notes
18. Installation from Source Code on Windows
18.1. Building with Visual C++ or the - Microsoft Windows SDK
19. Server Setup and Operation
19.1. The PostgreSQL User Account
19.2. Creating a Database Cluster
19.3. Starting the Database Server
19.4. Managing Kernel Resources
19.5. Shutting Down the Server
19.6. Upgrading a PostgreSQL Cluster
19.7. Preventing Server Spoofing
19.8. Encryption Options
19.9. Secure TCP/IP Connections with SSL
19.10. Secure TCP/IP Connections with GSSAPI Encryption
19.11. Secure TCP/IP Connections with SSH Tunnels
19.12. Registering Event Log on Windows
20. Server Configuration
20.1. Setting Parameters
20.2. File Locations
20.3. Connections and Authentication
20.4. Resource Consumption
20.5. Write Ahead Log
20.6. Replication
20.7. Query Planning
20.8. Error Reporting and Logging
20.9. Run-time Statistics
20.10. Automatic Vacuuming
20.11. Client Connection Defaults
20.12. Lock Management
20.13. Version and Platform Compatibility
20.14. Error Handling
20.15. Preset Options
20.16. Customized Options
20.17. Developer Options
20.18. Short Options
21. Client Authentication
21.1. The pg_hba.conf File
21.2. User Name Maps
21.3. Authentication Methods
21.4. Trust Authentication
21.5. Password Authentication
21.6. GSSAPI Authentication
21.7. SSPI Authentication
21.8. Ident Authentication
21.9. Peer Authentication
21.10. LDAP Authentication
21.11. RADIUS Authentication
21.12. Certificate Authentication
21.13. PAM Authentication
21.14. BSD Authentication
21.15. Authentication Problems
22. Database Roles
22.1. Database Roles
22.2. Role Attributes
22.3. Role Membership
22.4. Dropping Roles
22.5. Predefined Roles
22.6. Function Security
23. Managing Databases
23.1. Overview
23.2. Creating a Database
23.3. Template Databases
23.4. Database Configuration
23.5. Destroying a Database
23.6. Tablespaces
24. Localization
24.1. Locale Support
24.2. Collation Support
24.3. Character Set Support
25. Routine Database Maintenance Tasks
25.1. Routine Vacuuming
25.2. Routine Reindexing
25.3. Log File Maintenance
26. Backup and Restore
26.1. SQL Dump
26.2. File System Level Backup
26.3. Continuous Archiving and Point-in-Time Recovery (PITR)
27. High Availability, Load Balancing, and Replication
27.1. Comparison of Different Solutions
27.2. Log-Shipping Standby Servers
27.3. Failover
27.4. Hot Standby
28. Monitoring Database Activity
28.1. Standard Unix Tools
28.2. The Cumulative Statistics System
28.3. Viewing Locks
28.4. Progress Reporting
28.5. Dynamic Tracing
29. Monitoring Disk Usage
29.1. Determining Disk Usage
29.2. Disk Full Failure
30. Reliability and the Write-Ahead Log
30.1. Reliability
30.2. Data Checksums
30.3. Write-Ahead Logging (WAL)
30.4. Asynchronous Commit
30.5. WAL Configuration
30.6. WAL Internals
31. Logical Replication
31.1. Publication
31.2. Subscription
31.3. Row Filters
31.4. Column Lists
31.5. Conflicts
31.6. Restrictions
31.7. Architecture
31.8. Monitoring
31.9. Security
31.10. Configuration Settings
31.11. Quick Setup
32. Just-in-Time Compilation (JIT)
32.1. What Is JIT compilation?
32.2. When to JIT?
32.3. Configuration
32.4. Extensibility
33. Regression Tests
33.1. Running the Tests
33.2. Test Evaluation
33.3. Variant Comparison Files
33.4. TAP Tests
33.5. Test Coverage Examination
\ No newline at end of file + Microsoft Windows SDK
19. Server Setup and Operation
19.1. The PostgreSQL User Account
19.2. Creating a Database Cluster
19.3. Starting the Database Server
19.4. Managing Kernel Resources
19.5. Shutting Down the Server
19.6. Upgrading a PostgreSQL Cluster
19.7. Preventing Server Spoofing
19.8. Encryption Options
19.9. Secure TCP/IP Connections with SSL
19.10. Secure TCP/IP Connections with GSSAPI Encryption
19.11. Secure TCP/IP Connections with SSH Tunnels
19.12. Registering Event Log on Windows
20. Server Configuration
20.1. Setting Parameters
20.2. File Locations
20.3. Connections and Authentication
20.4. Resource Consumption
20.5. Write Ahead Log
20.6. Replication
20.7. Query Planning
20.8. Error Reporting and Logging
20.9. Run-time Statistics
20.10. Automatic Vacuuming
20.11. Client Connection Defaults
20.12. Lock Management
20.13. Version and Platform Compatibility
20.14. Error Handling
20.15. Preset Options
20.16. Customized Options
20.17. Developer Options
20.18. Short Options
21. Client Authentication
21.1. The pg_hba.conf File
21.2. User Name Maps
21.3. Authentication Methods
21.4. Trust Authentication
21.5. Password Authentication
21.6. GSSAPI Authentication
21.7. SSPI Authentication
21.8. Ident Authentication
21.9. Peer Authentication
21.10. LDAP Authentication
21.11. RADIUS Authentication
21.12. Certificate Authentication
21.13. PAM Authentication
21.14. BSD Authentication
21.15. Authentication Problems
22. Database Roles
22.1. Database Roles
22.2. Role Attributes
22.3. Role Membership
22.4. Dropping Roles
22.5. Predefined Roles
22.6. Function Security
23. Managing Databases
23.1. Overview
23.2. Creating a Database
23.3. Template Databases
23.4. Database Configuration
23.5. Destroying a Database
23.6. Tablespaces
24. Localization
24.1. Locale Support
24.2. Collation Support
24.3. Character Set Support
25. Routine Database Maintenance Tasks
25.1. Routine Vacuuming
25.2. Routine Reindexing
25.3. Log File Maintenance
26. Backup and Restore
26.1. SQL Dump
26.2. File System Level Backup
26.3. Continuous Archiving and Point-in-Time Recovery (PITR)
27. High Availability, Load Balancing, and Replication
27.1. Comparison of Different Solutions
27.2. Log-Shipping Standby Servers
27.3. Failover
27.4. Hot Standby
28. Monitoring Database Activity
28.1. Standard Unix Tools
28.2. The Cumulative Statistics System
28.3. Viewing Locks
28.4. Progress Reporting
28.5. Dynamic Tracing
29. Monitoring Disk Usage
29.1. Determining Disk Usage
29.2. Disk Full Failure
30. Reliability and the Write-Ahead Log
30.1. Reliability
30.2. Data Checksums
30.3. Write-Ahead Logging (WAL)
30.4. Asynchronous Commit
30.5. WAL Configuration
30.6. WAL Internals
31. Logical Replication
31.1. Publication
31.2. Subscription
31.3. Row Filters
31.4. Column Lists
31.5. Conflicts
31.6. Restrictions
31.7. Architecture
31.8. Monitoring
31.9. Security
31.10. Configuration Settings
31.11. Quick Setup
32. Just-in-Time Compilation (JIT)
32.1. What Is JIT compilation?
32.2. When to JIT?
32.3. Configuration
32.4. Extensibility
33. Regression Tests
33.1. Running the Tests
33.2. Test Evaluation
33.3. Variant Comparison Files
33.4. TAP Tests
33.5. Test Coverage Examination
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/adminpack.html postgresql-15-15.18/doc/src/sgml/html/adminpack.html --- postgresql-15-15.17/doc/src/sgml/html/adminpack.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/adminpack.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.1. adminpack

F.1. adminpack

+F.1. adminpack

F.1. adminpack

adminpack provides a number of support functions which pgAdmin and other administration and management tools can use to provide additional functionality, such as remote management @@ -86,4 +86,4 @@ directory. The log_filename parameter must have its default setting (postgresql-%Y-%m-%d_%H%M%S.log) to use this function. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/amcheck.html postgresql-15-15.18/doc/src/sgml/html/amcheck.html --- postgresql-15-15.17/doc/src/sgml/html/amcheck.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/amcheck.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.2. amcheck

F.2. amcheck

+F.2. amcheck

F.2. amcheck

The amcheck module provides functions that allow you to verify the logical consistency of the structure of relations.

@@ -374,4 +374,4 @@ an invariant violation should be sought. pageinspect may play a useful role in diagnosing corruption that amcheck detects. A REINDEX may not be effective in repairing corruption. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-clusterdb.html postgresql-15-15.18/doc/src/sgml/html/app-clusterdb.html --- postgresql-15-15.17/doc/src/sgml/html/app-clusterdb.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-clusterdb.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -clusterdb

clusterdb

clusterdb — cluster a PostgreSQL database

Synopsis

clusterdb [connection-option...] [ --verbose | -v ] +clusterdb

clusterdb

clusterdb — cluster a PostgreSQL database

Synopsis

clusterdb [connection-option...] [ --verbose | -v ] [ --table | -t table @@ -118,4 +118,4 @@ xyzzy:

 $ clusterdb --table=foo xyzzy
-

See Also

CLUSTER
\ No newline at end of file +

See Also

CLUSTER
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-createdb.html postgresql-15-15.18/doc/src/sgml/html/app-createdb.html --- postgresql-15-15.17/doc/src/sgml/html/app-createdb.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-createdb.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -createdb

createdb

createdb — create a new PostgreSQL database

Synopsis

createdb [connection-option...] [option...] [dbname +createdb

createdb

createdb — create a new PostgreSQL database

Synopsis

createdb [connection-option...] [option...] [dbname [description]]

Description

createdb creates a new PostgreSQL database. @@ -146,4 +146,4 @@

 $ createdb -p 5000 -h eden -T template0 -e demo
 CREATE DATABASE demo TEMPLATE template0;
-
\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-createuser.html postgresql-15-15.18/doc/src/sgml/html/app-createuser.html --- postgresql-15-15.17/doc/src/sgml/html/app-createuser.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-createuser.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -createuser

createuser

createuser — define a new PostgreSQL user account

Synopsis

createuser [connection-option...] [option...] [username]

Description

+createuser

createuser

createuser — define a new PostgreSQL user account

Synopsis

createuser [connection-option...] [option...] [username]

Description

createuser creates a new PostgreSQL user (or more precisely, a role). Only superusers and users with CREATEROLE privilege can create @@ -187,4 +187,4 @@ In the above example, the new password isn't actually echoed when typed, but we show what was typed for clarity. As you see, the password is encrypted before it is sent to the client. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-dropdb.html postgresql-15-15.18/doc/src/sgml/html/app-dropdb.html --- postgresql-15-15.17/doc/src/sgml/html/app-dropdb.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-dropdb.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -dropdb

dropdb

dropdb — remove a PostgreSQL database

Synopsis

dropdb [connection-option...] [option...] dbname

Description

+dropdb

dropdb

dropdb — remove a PostgreSQL database

Synopsis

dropdb [connection-option...] [option...] dbname

Description

dropdb destroys an existing PostgreSQL database. The user who executes this command must be a database @@ -108,4 +108,4 @@ Database "demo" will be permanently deleted. Are you sure? (y/n) y DROP DATABASE demo; -

\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-dropuser.html postgresql-15-15.18/doc/src/sgml/html/app-dropuser.html --- postgresql-15-15.17/doc/src/sgml/html/app-dropuser.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-dropuser.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -dropuser

dropuser

dropuser — remove a PostgreSQL user account

Synopsis

dropuser [connection-option...] [option...] [username]

Description

+dropuser

dropuser

dropuser — remove a PostgreSQL user account

Synopsis

dropuser [connection-option...] [option...] [username]

Description

dropuser removes an existing PostgreSQL user. Only superusers and users with the CREATEROLE privilege can @@ -100,4 +100,4 @@ Role "joe" will be permanently removed. Are you sure? (y/n) y DROP ROLE joe; -

\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-ecpg.html postgresql-15-15.18/doc/src/sgml/html/app-ecpg.html --- postgresql-15-15.17/doc/src/sgml/html/app-ecpg.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-ecpg.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -ecpg

ecpg

ecpg — embedded SQL C preprocessor

Synopsis

ecpg [option...] file...

Description

+ecpg

ecpg

ecpg — embedded SQL C preprocessor

Synopsis

ecpg [option...] file...

Description

ecpg is the embedded SQL preprocessor for C programs. It converts C programs with embedded SQL statements to normal C code by replacing the SQL invocations with special @@ -105,4 +105,4 @@ ecpg prog1.pgc cc -I/usr/local/pgsql/include -c prog1.c cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg -

\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-initdb.html postgresql-15-15.18/doc/src/sgml/html/app-initdb.html --- postgresql-15-15.17/doc/src/sgml/html/app-initdb.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-initdb.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -initdb

initdb

initdb — create a new PostgreSQL database cluster

Synopsis

initdb [option...] [ --pgdata | -D ] directory

Description

+initdb

initdb

initdb — create a new PostgreSQL database cluster

Synopsis

initdb [option...] [ --pgdata | -D ] directory

Description

initdb creates a new PostgreSQL database cluster. A database cluster is a collection of databases that are managed by a single @@ -244,4 +244,4 @@

Notes

initdb can also be invoked via pg_ctl initdb. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pg-ctl.html postgresql-15-15.18/doc/src/sgml/html/app-pg-ctl.html --- postgresql-15-15.17/doc/src/sgml/html/app-pg-ctl.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pg-ctl.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -pg_ctl

pg_ctl

pg_ctl — initialize, start, stop, or control a PostgreSQL server

Synopsis

pg_ctl init[db] [-D datadir] [-s] [-o initdb-options]

pg_ctl start [-D datadir] [-l filename] [-W] [-t seconds] [-s] [-o options] [-p path] [-c]

pg_ctl stop [-D datadir] [-m +pg_ctl

pg_ctl

pg_ctl — initialize, start, stop, or control a PostgreSQL server

Synopsis

pg_ctl init[db] [-D datadir] [-s] [-o initdb-options]

pg_ctl start [-D datadir] [-l filename] [-W] [-t seconds] [-s] [-o options] [-p path] [-c]

pg_ctl stop [-D datadir] [-m s[mart] | f[ast] | i[mmediate] ] [-W] [-t seconds] [-s]

pg_ctl restart [-D datadir] [-m s[mart] | f[ast] | i[mmediate] @@ -111,8 +111,9 @@

-l filename
--log=filename

Append the server log output to filename. If the file does not - exist, it is created. The umask is set to 077, - so access to the log file is disallowed to other users by default. + exist, it is created. By default, only the cluster owner can + access the log file. If group access is enabled in the cluster, + users in the same group as the cluster owner can also read it.

-m mode
--mode=mode

Specifies the shutdown mode. mode can be smart, fast, or @@ -280,4 +281,4 @@ /usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" "-p" "5433" "-B" "128"

The second line is the command that would be invoked in restart mode. -

See Also

initdb, postgres
\ No newline at end of file +

See Also

initdb, postgres
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pg-dumpall.html postgresql-15-15.18/doc/src/sgml/html/app-pg-dumpall.html --- postgresql-15-15.17/doc/src/sgml/html/app-pg-dumpall.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pg-dumpall.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -pg_dumpall

pg_dumpall

pg_dumpall — extract a PostgreSQL database cluster into a script file

Synopsis

pg_dumpall [connection-option...] [option...]

Description

+pg_dumpall

pg_dumpall

pg_dumpall — extract a PostgreSQL database cluster into a script file

Synopsis

pg_dumpall [connection-option...] [option...]

Description

pg_dumpall is a utility for writing out (dumping) all PostgreSQL databases of a cluster into one script file. The script file contains @@ -388,4 +388,4 @@

See Also

Check pg_dump for details on possible error conditions. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pg-isready.html postgresql-15-15.18/doc/src/sgml/html/app-pg-isready.html --- postgresql-15-15.17/doc/src/sgml/html/app-pg-isready.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pg-isready.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -pg_isready

pg_isready

pg_isready — check the connection status of a PostgreSQL server

Synopsis

pg_isready [connection-option...] [option...]

Description

+pg_isready

pg_isready

pg_isready — check the connection status of a PostgreSQL server

Synopsis

pg_isready [connection-option...] [option...]

Description

pg_isready is a utility for checking the connection status of a PostgreSQL database server. The exit status specifies the result of the connection check. @@ -76,4 +76,4 @@ $ echo $? 2

-

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgamcheck.html postgresql-15-15.18/doc/src/sgml/html/app-pgamcheck.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgamcheck.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgamcheck.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -pg_amcheck

pg_amcheck

pg_amcheck — checks for corruption in one or more +pg_amcheck

pg_amcheck

pg_amcheck — checks for corruption in one or more PostgreSQL databases

Synopsis

pg_amcheck [option...] [dbname]

Description

pg_amcheck supports running amcheck's corruption checking functions against one or @@ -292,4 +292,4 @@

Notes

pg_amcheck is designed to work with PostgreSQL 14.0 and later. -

See Also

amcheck
\ No newline at end of file +

See Also

amcheck
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgbasebackup.html postgresql-15-15.18/doc/src/sgml/html/app-pgbasebackup.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgbasebackup.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgbasebackup.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -pg_basebackup

pg_basebackup

pg_basebackup — take a base backup of a PostgreSQL cluster

Synopsis

pg_basebackup [option...]

Description

+pg_basebackup

pg_basebackup

pg_basebackup — take a base backup of a PostgreSQL cluster

Synopsis

pg_basebackup [option...]

Description

pg_basebackup is used to take a base backup of a running PostgreSQL database cluster. The backup is taken without affecting other clients of the database, and can be used @@ -548,4 +548,4 @@ directory backup:

 $ pg_basebackup -D backup -Ft --compress=gzip:9
-
\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgchecksums.html postgresql-15-15.18/doc/src/sgml/html/app-pgchecksums.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgchecksums.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgchecksums.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -pg_checksums

pg_checksums

pg_checksums — enable, disable or check data checksums in a PostgreSQL database cluster

Synopsis

pg_checksums [option...] [[ -D | --pgdata ]datadir]

Description

+pg_checksums

pg_checksums

pg_checksums — enable, disable or check data checksums in a PostgreSQL database cluster

Synopsis

pg_checksums [option...] [[ -D | --pgdata ]datadir]

Description

pg_checksums checks, enables or disables data checksums in a PostgreSQL cluster. The server must be shut down cleanly before running @@ -72,4 +72,4 @@ enabling or disabling checksums, the cluster's data checksum configuration remains unchanged, and pg_checksums can be re-run to perform the same operation. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgconfig.html postgresql-15-15.18/doc/src/sgml/html/app-pgconfig.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgconfig.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgconfig.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -pg_config

pg_config

pg_config — retrieve information about the installed version of PostgreSQL

Synopsis

pg_config [option...]

Description

+pg_config

pg_config

pg_config — retrieve information about the installed version of PostgreSQL

Synopsis

pg_config [option...]

Description

The pg_config utility prints configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to be used by software packages that want to interface @@ -107,4 +107,4 @@ shell quotation marks so arguments with spaces are represented correctly. Therefore, using eval is required for proper results. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgcontroldata.html postgresql-15-15.18/doc/src/sgml/html/app-pgcontroldata.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgcontroldata.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgcontroldata.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -pg_controldata

pg_controldata

pg_controldata — display control information of a PostgreSQL database cluster

Synopsis

pg_controldata [option] [[ -D | --pgdata ]datadir]

Description

+pg_controldata

pg_controldata

pg_controldata — display control information of a PostgreSQL database cluster

Synopsis

pg_controldata [option] [[ -D | --pgdata ]datadir]

Description

pg_controldata prints information initialized during initdb, such as the catalog version. It also shows information about write-ahead logging and checkpoint @@ -20,4 +20,4 @@ Specifies whether to use color in diagnostic messages. Possible values are always, auto and never. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgdump.html postgresql-15-15.18/doc/src/sgml/html/app-pgdump.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgdump.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgdump.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -pg_dump

pg_dump

pg_dump — +pg_dump

pg_dump

pg_dump — extract a PostgreSQL database into a script file or other archive file

Synopsis

pg_dump [connection-option...] [option...] [dbname]

Description

pg_dump is a utility for backing up a @@ -854,4 +854,4 @@

 $ pg_dump -t "\"MixedCaseName\"" mydb > mytab.sql
-
\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgreceivewal.html postgresql-15-15.18/doc/src/sgml/html/app-pgreceivewal.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgreceivewal.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgreceivewal.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -pg_receivewal

pg_receivewal

pg_receivewal — stream write-ahead logs from a PostgreSQL server

Synopsis

pg_receivewal [option...]

Description

+pg_receivewal

pg_receivewal

pg_receivewal — stream write-ahead logs from a PostgreSQL server

Synopsis

pg_receivewal [option...]

Description

pg_receivewal is used to stream the write-ahead log from a running PostgreSQL cluster. The write-ahead log is streamed using the streaming replication protocol, and is written @@ -246,4 +246,4 @@ /usr/local/pgsql/archive:

 $ pg_receivewal -h mydbserver -D /usr/local/pgsql/archive
-
\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgreceivexlog.html postgresql-15-15.18/doc/src/sgml/html/app-pgreceivexlog.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgreceivexlog.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgreceivexlog.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,10 +1,10 @@ -O.5. pg_receivexlog renamed to pg_receivewal

O.5. pg_receivexlog renamed to pg_receivewal

+O.5. pg_receivexlog renamed to pg_receivewal

O.5. pg_receivexlog renamed to pg_receivewal

PostgreSQL 9.6 and below provided a command named pg_receivexlog to fetch write-ahead-log (WAL) files. This command was renamed to pg_receivewal, see pg_receivewal for documentation of pg_receivewal and see - the release notes for PostgreSQL 10 for details + the release notes for PostgreSQL 10 for details on this change. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgrecvlogical.html postgresql-15-15.18/doc/src/sgml/html/app-pgrecvlogical.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgrecvlogical.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgrecvlogical.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -pg_recvlogical

pg_recvlogical

pg_recvlogical — control PostgreSQL logical decoding streams

Synopsis

pg_recvlogical [option...]

Description

+pg_recvlogical

pg_recvlogical

pg_recvlogical — control PostgreSQL logical decoding streams

Synopsis

pg_recvlogical [option...]

Description

pg_recvlogical controls logical decoding replication slots and streams data from such replication slots.

@@ -182,4 +182,4 @@ cluster.

Examples

See Section 49.1 for an example. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgresetwal.html postgresql-15-15.18/doc/src/sgml/html/app-pgresetwal.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgresetwal.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgresetwal.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -pg_resetwal

pg_resetwal

pg_resetwal — reset the write-ahead log and other control information of a PostgreSQL database cluster

Synopsis

pg_resetwal [ -f | --force ] [ -n | --dry-run ] [option...] [ -D | --pgdata ]datadir

Description

+pg_resetwal

pg_resetwal

pg_resetwal — reset the write-ahead log and other control information of a PostgreSQL database cluster

Synopsis

pg_resetwal [ -f | --force ] [ -n | --dry-run ] [option...] [ -D | --pgdata ]datadir

Description

pg_resetwal clears the write-ahead log (WAL) and optionally resets some other control information stored in the pg_control file. This function is sometimes needed @@ -166,4 +166,4 @@

pg_resetwal works only with servers of the same major version. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgresetxlog.html postgresql-15-15.18/doc/src/sgml/html/app-pgresetxlog.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgresetxlog.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgresetxlog.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,10 +1,10 @@ -O.4. pg_resetxlog renamed to pg_resetwal

O.4. pg_resetxlog renamed to pg_resetwal

+O.4. pg_resetxlog renamed to pg_resetwal

O.4. pg_resetxlog renamed to pg_resetwal

PostgreSQL 9.6 and below provided a command named pg_resetxlog to reset the write-ahead-log (WAL) files. This command was renamed to pg_resetwal, see pg_resetwal for documentation of pg_resetwal and see - the release notes for PostgreSQL 10 for details + the release notes for PostgreSQL 10 for details on this change. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgrestore.html postgresql-15-15.18/doc/src/sgml/html/app-pgrestore.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgrestore.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgrestore.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -pg_restore

pg_restore

pg_restore — +pg_restore

pg_restore

pg_restore — restore a PostgreSQL database from an archive file created by pg_dump

Synopsis

pg_restore [connection-option...] [option...] [filename]

Description

@@ -523,4 +523,4 @@ items 10 and 6, in that order:

 $ pg_restore -L db.list db.dump
-
\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgrewind.html postgresql-15-15.18/doc/src/sgml/html/app-pgrewind.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgrewind.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgrewind.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -pg_rewind

pg_rewind

pg_rewind — synchronize a PostgreSQL data directory with another data directory that was forked from it

Synopsis

pg_rewind [option...] { -D | --target-pgdata } directory { --source-pgdata=directory | --source-server=connstr }

Description

+pg_rewind

pg_rewind

pg_rewind — synchronize a PostgreSQL data directory with another data directory that was forked from it

Synopsis

pg_rewind [option...] { -D | --target-pgdata } directory { --source-pgdata=directory | --source-server=connstr }

Description

pg_rewind is a tool for synchronizing a PostgreSQL cluster with another copy of the same cluster, after the clusters' timelines have diverged. A typical scenario is to bring an old primary server back online @@ -214,4 +214,4 @@ When starting the target, PostgreSQL replays all the required WAL, resulting in a data directory in a consistent state. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-pgverifybackup.html postgresql-15-15.18/doc/src/sgml/html/app-pgverifybackup.html --- postgresql-15-15.17/doc/src/sgml/html/app-pgverifybackup.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-pgverifybackup.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -pg_verifybackup

pg_verifybackup

pg_verifybackup — verify the integrity of a base backup of a +pg_verifybackup

pg_verifybackup

pg_verifybackup — verify the integrity of a base backup of a PostgreSQL cluster

Synopsis

pg_verifybackup [option...]

Description

pg_verifybackup is used to check the integrity of a database cluster backup taken using @@ -141,4 +141,4 @@ $ pg_basebackup -h mydbserver -D /usr/local/pgsql/data $ edit /usr/local/pgsql/data/note.to.self $ pg_verifybackup --ignore=note.to.self --skip-checksums /usr/local/pgsql/data -

\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-postgres.html postgresql-15-15.18/doc/src/sgml/html/app-postgres.html --- postgresql-15-15.17/doc/src/sgml/html/app-postgres.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-postgres.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -postgres

postgres

postgres — PostgreSQL database server

Synopsis

postgres [option...]

Description

+postgres

postgres

postgres — PostgreSQL database server

Synopsis

postgres [option...]

Description

postgres is the PostgreSQL database server. In order for a client application to access a database it connects (over a @@ -429,4 +429,4 @@

See Also

initdb, pg_ctl -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-postmaster.html postgresql-15-15.18/doc/src/sgml/html/app-postmaster.html --- postgresql-15-15.17/doc/src/sgml/html/app-postmaster.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-postmaster.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,6 +1,6 @@ -postmaster

postmaster

postmaster — PostgreSQL database server

Synopsis

postmaster [option...]

Description

+postmaster

postmaster

postmaster — PostgreSQL database server

Synopsis

postmaster [option...]

Description

postmaster is a deprecated alias of postgres.

See Also

postgres -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-psql.html postgresql-15-15.18/doc/src/sgml/html/app-psql.html --- postgresql-15-15.17/doc/src/sgml/html/app-psql.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-psql.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -psql

psql

psql — +psql

psql

psqlPostgreSQL interactive terminal

Synopsis

psql [option...] [dbname [username]]

Description

@@ -345,7 +345,7 @@ the string =>. For example:

 $ psql testdb
-psql (15.17)
+psql (15.18)
 Type "help" for help.
 
 testdb=>
@@ -2743,7 +2743,7 @@
      by appending a dash and the PostgreSQL
      major or minor release identifier to the file name,
      for example ~/.psqlrc-15 or
-     ~/.psqlrc-15.17.
+     ~/.psqlrc-15.18.
      The most specific version-matching file will be read in preference
      to a non-version-specific file.
      These version suffixes are added after determining the file path
@@ -2974,4 +2974,4 @@
  2 | 202 | 204 | 206 | 208
  1 | 101 | 102 | 103 | 104
 (4 rows)
-
\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-reindexdb.html postgresql-15-15.18/doc/src/sgml/html/app-reindexdb.html --- postgresql-15-15.17/doc/src/sgml/html/app-reindexdb.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-reindexdb.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -reindexdb

reindexdb

reindexdb — reindex a PostgreSQL database

Synopsis

reindexdb [connection-option...] [option...] +reindexdb

reindexdb

reindexdb — reindex a PostgreSQL database

Synopsis

reindexdb [connection-option...] [option...] [ -S | --schema schema @@ -160,4 +160,4 @@ bar in a database named abcd:

 $ reindexdb --table=foo --index=bar abcd
-

See Also

REINDEX
\ No newline at end of file +

See Also

REINDEX
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/app-vacuumdb.html postgresql-15-15.18/doc/src/sgml/html/app-vacuumdb.html --- postgresql-15-15.17/doc/src/sgml/html/app-vacuumdb.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/app-vacuumdb.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -vacuumdb

vacuumdb

vacuumdb — garbage-collect and analyze a PostgreSQL database

Synopsis

vacuumdb [connection-option...] [option...] +vacuumdb

vacuumdb

vacuumdb — garbage-collect and analyze a PostgreSQL database

Synopsis

vacuumdb [connection-option...] [option...] [ -t | --table table @@ -240,4 +240,4 @@ bar of the table for the optimizer:

 $ vacuumdb --analyze --verbose --table='foo(bar)' xyzzy
-

See Also

VACUUM
\ No newline at end of file +

See Also

VACUUM
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/appendix-obsolete.html postgresql-15-15.18/doc/src/sgml/html/appendix-obsolete.html --- postgresql-15-15.17/doc/src/sgml/html/appendix-obsolete.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/appendix-obsolete.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,8 +1,8 @@ -Appendix O. Obsolete or Renamed Features

Appendix O. Obsolete or Renamed Features

+Appendix O. Obsolete or Renamed Features

Appendix O. Obsolete or Renamed Features

Functionality is sometimes removed from PostgreSQL, feature, setting and file names sometimes change, or documentation moves to different places. This section directs users coming from old versions of the documentation or from external links to the appropriate new location for the information they need. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/appendixes.html postgresql-15-15.18/doc/src/sgml/html/appendixes.html --- postgresql-15-15.17/doc/src/sgml/html/appendixes.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/appendixes.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,2 +1,2 @@ -Part VIII. Appendixes

Part VIII. Appendixes

Table of Contents

A. PostgreSQL Error Codes
B. Date/Time Support
B.1. Date/Time Input Interpretation
B.2. Handling of Invalid or Ambiguous Timestamps
B.3. Date/Time Key Words
B.4. Date/Time Configuration Files
B.5. POSIX Time Zone Specifications
B.6. History of Units
B.7. Julian Dates
C. SQL Key Words
D. SQL Conformance
D.1. Supported Features
D.2. Unsupported Features
D.3. XML Limits and Conformance to SQL/XML
E. Release Notes
E.1. Release 15.17
E.2. Release 15.16
E.3. Release 15.15
E.4. Release 15.14
E.5. Release 15.13
E.6. Release 15.12
E.7. Release 15.11
E.8. Release 15.10
E.9. Release 15.9
E.10. Release 15.8
E.11. Release 15.7
E.12. Release 15.6
E.13. Release 15.5
E.14. Release 15.4
E.15. Release 15.3
E.16. Release 15.2
E.17. Release 15.1
E.18. Release 15
E.19. Prior Releases
F. Additional Supplied Modules
F.1. adminpack
F.2. amcheck
F.3. auth_delay
F.4. auto_explain
F.5. basebackup_to_shell
F.6. basic_archive
F.7. bloom
F.8. btree_gin
F.9. btree_gist
F.10. citext
F.11. cube
F.12. dblink
F.13. dict_int
F.14. dict_xsyn
F.15. earthdistance
F.16. file_fdw
F.17. fuzzystrmatch
F.18. hstore
F.19. intagg
F.20. intarray
F.21. isn
F.22. lo
F.23. ltree
F.24. old_snapshot
F.25. pageinspect
F.26. passwordcheck
F.27. pg_buffercache
F.28. pgcrypto
F.29. pg_freespacemap
F.30. pg_prewarm
F.31. pgrowlocks
F.32. pg_stat_statements
F.33. pgstattuple
F.34. pg_surgery
F.35. pg_trgm
F.36. pg_visibility
F.37. pg_walinspect
F.38. postgres_fdw
F.39. seg
F.40. sepgsql
F.41. spi
F.42. sslinfo
F.43. tablefunc
F.44. tcn
F.45. test_decoding
F.46. tsm_system_rows
F.47. tsm_system_time
F.48. unaccent
F.49. uuid-ossp
F.50. xml2
G. Additional Supplied Programs
G.1. Client Applications
G.2. Server Applications
H. External Projects
H.1. Client Interfaces
H.2. Administration Tools
H.3. Procedural Languages
H.4. Extensions
I. The Source Code Repository
I.1. Getting the Source via Git
J. Documentation
J.1. DocBook
J.2. Tool Sets
J.3. Building the Documentation
J.4. Documentation Authoring
J.5. Style Guide
K. PostgreSQL Limits
L. Acronyms
M. Glossary
N. Color Support
N.1. When Color is Used
N.2. Configuring the Colors
O. Obsolete or Renamed Features
O.1. recovery.conf file merged into postgresql.conf
O.2. Default Roles Renamed to Predefined Roles
O.3. pg_xlogdump renamed to pg_waldump
O.4. pg_resetxlog renamed to pg_resetwal
O.5. pg_receivexlog renamed to pg_receivewal
\ No newline at end of file +Part VIII. Appendixes

Part VIII. Appendixes

Table of Contents

A. PostgreSQL Error Codes
B. Date/Time Support
B.1. Date/Time Input Interpretation
B.2. Handling of Invalid or Ambiguous Timestamps
B.3. Date/Time Key Words
B.4. Date/Time Configuration Files
B.5. POSIX Time Zone Specifications
B.6. History of Units
B.7. Julian Dates
C. SQL Key Words
D. SQL Conformance
D.1. Supported Features
D.2. Unsupported Features
D.3. XML Limits and Conformance to SQL/XML
E. Release Notes
E.1. Release 15.18
E.2. Release 15.17
E.3. Release 15.16
E.4. Release 15.15
E.5. Release 15.14
E.6. Release 15.13
E.7. Release 15.12
E.8. Release 15.11
E.9. Release 15.10
E.10. Release 15.9
E.11. Release 15.8
E.12. Release 15.7
E.13. Release 15.6
E.14. Release 15.5
E.15. Release 15.4
E.16. Release 15.3
E.17. Release 15.2
E.18. Release 15.1
E.19. Release 15
E.20. Prior Releases
F. Additional Supplied Modules
F.1. adminpack
F.2. amcheck
F.3. auth_delay
F.4. auto_explain
F.5. basebackup_to_shell
F.6. basic_archive
F.7. bloom
F.8. btree_gin
F.9. btree_gist
F.10. citext
F.11. cube
F.12. dblink
F.13. dict_int
F.14. dict_xsyn
F.15. earthdistance
F.16. file_fdw
F.17. fuzzystrmatch
F.18. hstore
F.19. intagg
F.20. intarray
F.21. isn
F.22. lo
F.23. ltree
F.24. old_snapshot
F.25. pageinspect
F.26. passwordcheck
F.27. pg_buffercache
F.28. pgcrypto
F.29. pg_freespacemap
F.30. pg_prewarm
F.31. pgrowlocks
F.32. pg_stat_statements
F.33. pgstattuple
F.34. pg_surgery
F.35. pg_trgm
F.36. pg_visibility
F.37. pg_walinspect
F.38. postgres_fdw
F.39. seg
F.40. sepgsql
F.41. spi
F.42. sslinfo
F.43. tablefunc
F.44. tcn
F.45. test_decoding
F.46. tsm_system_rows
F.47. tsm_system_time
F.48. unaccent
F.49. uuid-ossp
F.50. xml2
G. Additional Supplied Programs
G.1. Client Applications
G.2. Server Applications
H. External Projects
H.1. Client Interfaces
H.2. Administration Tools
H.3. Procedural Languages
H.4. Extensions
I. The Source Code Repository
I.1. Getting the Source via Git
J. Documentation
J.1. DocBook
J.2. Tool Sets
J.3. Building the Documentation
J.4. Documentation Authoring
J.5. Style Guide
K. PostgreSQL Limits
L. Acronyms
M. Glossary
N. Color Support
N.1. When Color is Used
N.2. Configuring the Colors
O. Obsolete or Renamed Features
O.1. recovery.conf file merged into postgresql.conf
O.2. Default Roles Renamed to Predefined Roles
O.3. pg_xlogdump renamed to pg_waldump
O.4. pg_resetxlog renamed to pg_resetwal
O.5. pg_receivexlog renamed to pg_receivewal
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/applevel-consistency.html postgresql-15-15.18/doc/src/sgml/html/applevel-consistency.html --- postgresql-15-15.17/doc/src/sgml/html/applevel-consistency.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/applevel-consistency.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -13.4. Data Consistency Checks at the Application Level

13.4. Data Consistency Checks at the Application Level

+13.4. Data Consistency Checks at the Application Level

13.4. Data Consistency Checks at the Application Level

It is very difficult to enforce business rules regarding data integrity using Read Committed transactions because the view of the data is shifting with each statement, and even a single statement may not @@ -111,4 +111,4 @@ UPDATE, DELETE, or MERGE), so it is possible to obtain locks explicitly before the snapshot is frozen. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/archive-module-callbacks.html postgresql-15-15.18/doc/src/sgml/html/archive-module-callbacks.html --- postgresql-15-15.17/doc/src/sgml/html/archive-module-callbacks.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/archive-module-callbacks.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -51.2. Archive Module Callbacks

51.2. Archive Module Callbacks

+51.2. Archive Module Callbacks

51.2. Archive Module Callbacks

The archive callbacks define the actual archiving behavior of the module. The server will call them as required to process each individual WAL file.

51.2.1. Check Callback

@@ -47,4 +47,4 @@

 typedef void (*ArchiveShutdownCB) (void);
 

-

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/archive-module-init.html postgresql-15-15.18/doc/src/sgml/html/archive-module-init.html --- postgresql-15-15.17/doc/src/sgml/html/archive-module-init.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/archive-module-init.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -51.1. Initialization Functions

51.1. Initialization Functions

+51.1. Initialization Functions

51.1. Initialization Functions

An archive library is loaded by dynamically loading a shared library with the archive_library's name as the library base name. The normal library search path is used to locate the library. To provide the @@ -21,4 +21,4 @@ Only the archive_file_cb callback is required. The others are optional. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/archive-modules.html postgresql-15-15.18/doc/src/sgml/html/archive-modules.html --- postgresql-15-15.17/doc/src/sgml/html/archive-modules.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/archive-modules.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 51. Archive Modules

Chapter 51. Archive Modules

+Chapter 51. Archive Modules

Chapter 51. Archive Modules

PostgreSQL provides infrastructure to create custom modules for continuous archiving (see Section 26.3). While archiving via a shell command (i.e., archive_command) is much @@ -21,4 +21,4 @@

The contrib/basic_archive module contains a working example, which demonstrates some useful techniques. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/arrays.html postgresql-15-15.18/doc/src/sgml/html/arrays.html --- postgresql-15-15.17/doc/src/sgml/html/arrays.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/arrays.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.15. Arrays

8.15. Arrays

+8.15. Arrays

8.15. Arrays

PostgreSQL allows columns of a table to be defined as variable-length multidimensional arrays. Arrays of any built-in or user-defined base type, enum type, composite type, range type, @@ -644,4 +644,4 @@ with than the array-literal syntax when writing array values in SQL commands. In ARRAY, individual element values are written the same way they would be written when not members of an array. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-bsd.html postgresql-15-15.18/doc/src/sgml/html/auth-bsd.html --- postgresql-15-15.17/doc/src/sgml/html/auth-bsd.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-bsd.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.14. BSD Authentication

21.14. BSD Authentication

+21.14. BSD Authentication

21.14. BSD Authentication

This authentication method operates similarly to password except that it uses BSD Authentication to verify the password. BSD Authentication is used only @@ -18,4 +18,4 @@ operating system user running the server) must first be added to the auth group. The auth group exists by default on OpenBSD systems. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-cert.html postgresql-15-15.18/doc/src/sgml/html/auth-cert.html --- postgresql-15-15.17/doc/src/sgml/html/auth-cert.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-cert.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.12. Certificate Authentication

21.12. Certificate Authentication

+21.12. Certificate Authentication

21.12. Certificate Authentication

This authentication method uses SSL client certificates to perform authentication. It is therefore only available for SSL connections; see Section 19.9.2 for SSL configuration instructions. @@ -22,4 +22,4 @@ cert authentication because cert authentication is effectively trust authentication with clientcert=verify-full. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-delay.html postgresql-15-15.18/doc/src/sgml/html/auth-delay.html --- postgresql-15-15.17/doc/src/sgml/html/auth-delay.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-delay.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.3. auth_delay

F.3. auth_delay

+F.3. auth_delay

F.3. auth_delay

auth_delay causes the server to pause briefly before reporting authentication failure, to make brute-force attacks on database passwords more difficult. Note that it does nothing to prevent @@ -25,4 +25,4 @@ auth_delay.milliseconds = '500'

F.3.2. Author

KaiGai Kohei -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-ident.html postgresql-15-15.18/doc/src/sgml/html/auth-ident.html --- postgresql-15-15.17/doc/src/sgml/html/auth-ident.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-ident.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.8. Ident Authentication

21.8. Ident Authentication

+21.8. Ident Authentication

21.8. Ident Authentication

The ident authentication method works by obtaining the client's operating system user name from an ident server and using it as the allowed database user name (with an optional user name mapping). @@ -49,4 +49,4 @@ used when using the ident server with PostgreSQL, since PostgreSQL does not have any way to decrypt the returned string to determine the actual user name. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-ldap.html postgresql-15-15.18/doc/src/sgml/html/auth-ldap.html --- postgresql-15-15.17/doc/src/sgml/html/auth-ldap.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-ldap.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.10. LDAP Authentication

21.10. LDAP Authentication

+21.10. LDAP Authentication

21.10. LDAP Authentication

This authentication method operates similarly to password except that it uses LDAP as the password verification method. LDAP is used only to validate @@ -187,4 +187,4 @@ Since LDAP often uses commas and spaces to separate the different parts of a DN, it is often necessary to use double-quoted parameter values when configuring LDAP options, as shown in the examples. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-methods.html postgresql-15-15.18/doc/src/sgml/html/auth-methods.html --- postgresql-15-15.17/doc/src/sgml/html/auth-methods.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-methods.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.3. Authentication Methods

21.3. Authentication Methods

+21.3. Authentication Methods

21.3. Authentication Methods

PostgreSQL provides various methods for authenticating users: @@ -56,4 +56,4 @@

The following sections describe each of these authentication methods in more detail. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-pam.html postgresql-15-15.18/doc/src/sgml/html/auth-pam.html --- postgresql-15-15.17/doc/src/sgml/html/auth-pam.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-pam.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.13. PAM Authentication

21.13. PAM Authentication

+21.13. PAM Authentication

21.13. PAM Authentication

This authentication method operates similarly to password except that it uses PAM (Pluggable Authentication Modules) as the authentication mechanism. The @@ -28,4 +28,4 @@ will fail because the PostgreSQL server is started by a non-root user. However, this is not an issue when PAM is configured to use LDAP or other authentication methods. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-password.html postgresql-15-15.18/doc/src/sgml/html/auth-password.html --- postgresql-15-15.17/doc/src/sgml/html/auth-password.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-password.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.5. Password Authentication

21.5. Password Authentication

+21.5. Password Authentication

21.5. Password Authentication

There are several password-based authentication methods. These methods operate similarly but differ in how the users' passwords are stored on the server and how the password provided by a client is sent across the @@ -77,4 +77,4 @@ in postgresql.conf, make all users set new passwords, and change the authentication method specifications in pg_hba.conf to scram-sha-256. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-peer.html postgresql-15-15.18/doc/src/sgml/html/auth-peer.html --- postgresql-15-15.17/doc/src/sgml/html/auth-peer.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-peer.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.9. Peer Authentication

21.9. Peer Authentication

+21.9. Peer Authentication

21.9. Peer Authentication

The peer authentication method works by obtaining the client's operating system user name from the kernel and using it as the allowed database user name (with optional user name mapping). This @@ -18,4 +18,4 @@ most flavors of BSD including macOS, and Solaris. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-pg-hba-conf.html postgresql-15-15.18/doc/src/sgml/html/auth-pg-hba-conf.html --- postgresql-15-15.17/doc/src/sgml/html/auth-pg-hba-conf.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-pg-hba-conf.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.1. The pg_hba.conf File

21.1. The pg_hba.conf File

+21.1. The pg_hba.conf File

21.1. The pg_hba.conf File

Client authentication is controlled by a configuration file, which traditionally is named pg_hba.conf and is stored in the database @@ -489,4 +489,4 @@ # The database column can also use lists and file names: local db1,db2,@demodbs all md5 -


\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-radius.html postgresql-15-15.18/doc/src/sgml/html/auth-radius.html --- postgresql-15-15.17/doc/src/sgml/html/auth-radius.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-radius.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.11. RADIUS Authentication

21.11. RADIUS Authentication

+21.11. RADIUS Authentication

21.11. RADIUS Authentication

This authentication method operates similarly to password except that it uses RADIUS as the password verification method. RADIUS is used only to validate @@ -62,4 +62,4 @@

 host ... radius radiusservers="server1,server2" radiussecrets="""secret one"",""secret two"""
 

-

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-trust.html postgresql-15-15.18/doc/src/sgml/html/auth-trust.html --- postgresql-15-15.17/doc/src/sgml/html/auth-trust.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-trust.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.4. Trust Authentication

21.4. Trust Authentication

+21.4. Trust Authentication

21.4. Trust Authentication

When trust authentication is specified, PostgreSQL assumes that anyone who can connect to the server is authorized to access the database with @@ -34,4 +34,4 @@ to the server by the pg_hba.conf lines that specify trust. It is seldom reasonable to use trust for any TCP/IP connections other than those from localhost (127.0.0.1). -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auth-username-maps.html postgresql-15-15.18/doc/src/sgml/html/auth-username-maps.html --- postgresql-15-15.17/doc/src/sgml/html/auth-username-maps.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auth-username-maps.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.2. User Name Maps

21.2. User Name Maps

+21.2. User Name Maps

21.2. User Name Maps

When using an external authentication system such as Ident or GSSAPI, the name of the operating system user that initiated the connection might not be the same as the database user (role) that is to be used. @@ -100,4 +100,4 @@ omicron robert bob # bryanh can also connect as guest1 omicron bryanh guest1 -


\ No newline at end of file +
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/auto-explain.html postgresql-15-15.18/doc/src/sgml/html/auto-explain.html --- postgresql-15-15.17/doc/src/sgml/html/auto-explain.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/auto-explain.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.4. auto_explain

F.4. auto_explain

+F.4. auto_explain

F.4. auto_explain

The auto_explain module provides a means for logging execution plans of slow statements automatically, without having to run EXPLAIN @@ -186,4 +186,4 @@ Filter: indisunique

F.4.3. Author

Takahiro Itagaki -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/backup-dump.html postgresql-15-15.18/doc/src/sgml/html/backup-dump.html --- postgresql-15-15.17/doc/src/sgml/html/backup-dump.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/backup-dump.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -26.1. SQL Dump

26.1. SQL Dump

+26.1. SQL Dump

26.1. SQL Dump

The idea behind this dump method is to generate a file with SQL commands that, when fed back to the server, will recreate the database in the same state as it was at the time of the dump. @@ -248,4 +248,4 @@ You can use pg_restore -j to restore a dump in parallel. This will work for any archive of either the "custom" or the "directory" archive mode, whether or not it has been created with pg_dump -j. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/backup-file.html postgresql-15-15.18/doc/src/sgml/html/backup-file.html --- postgresql-15-15.17/doc/src/sgml/html/backup-file.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/backup-file.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -26.2. File System Level Backup

26.2. File System Level Backup

+26.2. File System Level Backup

26.2. File System Level Backup

An alternative backup strategy is to directly copy the files that PostgreSQL uses to store the data in the database; Section 19.2 explains where these files @@ -88,4 +88,4 @@ than an SQL dump. (pg_dump does not need to dump the contents of indexes for example, just the commands to recreate them.) However, taking a file system backup might be faster. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/backup-manifest-files.html postgresql-15-15.18/doc/src/sgml/html/backup-manifest-files.html --- postgresql-15-15.17/doc/src/sgml/html/backup-manifest-files.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/backup-manifest-files.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -76.2. Backup Manifest File Object

76.2. Backup Manifest File Object

+76.2. Backup Manifest File Object

76.2. Backup Manifest File Object

The object which describes a single file contains either a Path key or an Encoded-Path key. Normally, the Path key will be present. The @@ -36,4 +36,4 @@

Checksum

The checksum computed for this file, stored as a series of hexadecimal characters, two for each byte of the checksum. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/backup-manifest-format.html postgresql-15-15.18/doc/src/sgml/html/backup-manifest-format.html --- postgresql-15-15.17/doc/src/sgml/html/backup-manifest-format.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/backup-manifest-format.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 76. Backup Manifest Format

Chapter 76. Backup Manifest Format

+Chapter 76. Backup Manifest Format

Chapter 76. Backup Manifest Format

The backup manifest generated by pg_basebackup is primarily intended to permit the backup to be verified using pg_verifybackup. However, it is @@ -13,4 +13,4 @@ supported server encoding. There is no similar exception for backup manifests.) The JSON document is always an object; the keys that are present in this object are described in the next section. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/backup-manifest-toplevel.html postgresql-15-15.18/doc/src/sgml/html/backup-manifest-toplevel.html --- postgresql-15-15.17/doc/src/sgml/html/backup-manifest-toplevel.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/backup-manifest-toplevel.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -76.1. Backup Manifest Top-level Object

76.1. Backup Manifest Top-level Object

+76.1. Backup Manifest Top-level Object

76.1. Backup Manifest Top-level Object

The backup manifest JSON document contains the following keys.

PostgreSQL-Backup-Manifest-Version

The associated value is always the integer 1. @@ -22,4 +22,4 @@ is significantly more expensive than a CRC32C checksum, the manifest should normally be small enough that the extra computation won't matter very much. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/backup-manifest-wal-ranges.html postgresql-15-15.18/doc/src/sgml/html/backup-manifest-wal-ranges.html --- postgresql-15-15.17/doc/src/sgml/html/backup-manifest-wal-ranges.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/backup-manifest-wal-ranges.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -76.3. Backup Manifest WAL Range Object

76.3. Backup Manifest WAL Range Object

+76.3. Backup Manifest WAL Range Object

76.3. Backup Manifest WAL Range Object

The object which describes a WAL range always has three keys:

Timeline

The timeline for this range of WAL records, as an integer. @@ -19,4 +19,4 @@ upstream promotion, it is possible for multiple ranges to be present, each with a different timeline. There will never be multiple WAL ranges present for the same timeline. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/backup.html postgresql-15-15.18/doc/src/sgml/html/backup.html --- postgresql-15-15.17/doc/src/sgml/html/backup.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/backup.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 26. Backup and Restore

Chapter 26. Backup and Restore

+Chapter 26. Backup and Restore

Chapter 26. Backup and Restore

As with everything that contains valuable data, PostgreSQL databases should be backed up regularly. While the procedure is essentially simple, it is important to have a clear understanding of @@ -10,4 +10,4 @@

  • SQL dump

  • File system level backup

  • Continuous archiving

Each has its own strengths and weaknesses; each is discussed in turn in the following sections. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/basebackup-to-shell.html postgresql-15-15.18/doc/src/sgml/html/basebackup-to-shell.html --- postgresql-15-15.17/doc/src/sgml/html/basebackup-to-shell.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/basebackup-to-shell.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.5. basebackup_to_shell

F.5. basebackup_to_shell

+F.5. basebackup_to_shell

F.5. basebackup_to_shell

basebackup_to_shell adds a custom basebackup target called shell. This makes it possible to run pg_basebackup --target=shell or, depending on how this @@ -40,4 +40,4 @@ the shell backup target.

F.5.2. Author

Robert Haas -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/basic-archive.html postgresql-15-15.18/doc/src/sgml/html/basic-archive.html --- postgresql-15-15.17/doc/src/sgml/html/basic-archive.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/basic-archive.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.6. basic_archive

F.6. basic_archive

+F.6. basic_archive

F.6. basic_archive

basic_archive is an example of an archive module. This module copies completed WAL segment files to the specified directory. This may not be especially useful, but it can serve as a starting point for @@ -35,4 +35,4 @@ doing so.

F.6.3. Author

Nathan Bossart -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/bgworker.html postgresql-15-15.18/doc/src/sgml/html/bgworker.html --- postgresql-15-15.17/doc/src/sgml/html/bgworker.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/bgworker.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 48. Background Worker Processes

Chapter 48. Background Worker Processes

+Chapter 48. Background Worker Processes

Chapter 48. Background Worker Processes

PostgreSQL can be extended to run user-supplied code in separate processes. Such processes are started, stopped and monitored by postgres, which permits them to have a lifetime closely linked to the server's status. @@ -228,4 +228,4 @@

The maximum number of registered background workers is limited by max_worker_processes. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/biblio.html postgresql-15-15.18/doc/src/sgml/html/biblio.html --- postgresql-15-15.17/doc/src/sgml/html/biblio.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/biblio.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,5 +1,5 @@ -Bibliography

Bibliography

+Bibliography

Bibliography

Selected references and readings for SQL and PostgreSQL.

@@ -22,4 +22,4 @@ implementation of POSTGRES”. M. Stonebraker, L. A. Rowe, and M. Hirohama. Transactions on Knowledge and Data Engineering 2(1). IEEE. March 1990.

[ston90b] On Rules, Procedures, Caching and Views in Database Systems”. M. Stonebraker, A. Jhingran, J. Goh, and S. Potamianos. ACM-SIGMOD Conference on Management of Data, June 1990.

[ston92] An overview of the Sequoia 2000 project - ”. M. Stonebraker. Digest of Papers COMPCON Spring 1992. 1992. 383–388.

\ No newline at end of file + ”. M. Stonebraker. Digest of Papers COMPCON Spring 1992. 1992. 383–388.

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/bki-commands.html postgresql-15-15.18/doc/src/sgml/html/bki-commands.html --- postgresql-15-15.17/doc/src/sgml/html/bki-commands.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/bki-commands.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -74.4. BKI Commands

74.4. BKI Commands

+74.4. BKI Commands

74.4. BKI Commands

create tablename tableoid @@ -108,4 +108,4 @@ is postponed.

build indices

Fill in the indices that have previously been declared. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/bki-example.html postgresql-15-15.18/doc/src/sgml/html/bki-example.html --- postgresql-15-15.17/doc/src/sgml/html/bki-example.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/bki-example.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -74.6. BKI Example

74.6. BKI Example

+74.6. BKI Example

74.6. BKI Example

The following sequence of commands will create the table test_table with OID 420, having three columns oid, cola and colb @@ -12,4 +12,4 @@ insert ( 422 2 _null_ ) close test_table

-

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/bki-format.html postgresql-15-15.18/doc/src/sgml/html/bki-format.html --- postgresql-15-15.17/doc/src/sgml/html/bki-format.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/bki-format.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -74.3. BKI File Format

74.3. BKI File Format

+74.3. BKI File Format

74.3. BKI File Format

This section describes how the PostgreSQL backend interprets BKI files. This description will be easier to understand if the postgres.bki @@ -16,4 +16,4 @@ single-quoted strings. Everything is case sensitive.

Lines starting with # are ignored. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/bki-structure.html postgresql-15-15.18/doc/src/sgml/html/bki-structure.html --- postgresql-15-15.17/doc/src/sgml/html/bki-structure.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/bki-structure.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -74.5. Structure of the Bootstrap BKI File

74.5. Structure of the Bootstrap BKI File

+74.5. Structure of the Bootstrap BKI File

74.5. Structure of the Bootstrap BKI File

The open command cannot be used until the tables it uses exist and have entries for the table that is to be opened. (These minimum tables are pg_class, @@ -39,4 +39,4 @@

There are doubtless other, undocumented ordering dependencies. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/bki.html postgresql-15-15.18/doc/src/sgml/html/bki.html --- postgresql-15-15.17/doc/src/sgml/html/bki.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/bki.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 74. System Catalog Declarations and Initial Contents

Chapter 74. System Catalog Declarations and Initial Contents

+Chapter 74. System Catalog Declarations and Initial Contents

Chapter 74. System Catalog Declarations and Initial Contents

PostgreSQL uses many different system catalogs to keep track of the existence and properties of database objects, such as tables and functions. Physically there is no difference between a system @@ -53,4 +53,4 @@ and/or initial data files. The rest of this chapter gives some information about that, and for completeness describes the BKI file format. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/bloom.html postgresql-15-15.18/doc/src/sgml/html/bloom.html --- postgresql-15-15.17/doc/src/sgml/html/bloom.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/bloom.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.7. bloom

F.7. bloom

+F.7. bloom

F.7. bloom

bloom provides an index access method based on Bloom filters.

@@ -187,4 +187,4 @@

Oleg Bartunov , Postgres Professional, Moscow, Russia -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/bookindex.html postgresql-15-15.18/doc/src/sgml/html/bookindex.html --- postgresql-15-15.17/doc/src/sgml/html/bookindex.html 2026-02-23 22:14:48.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/bookindex.html 2026-05-11 20:02:59.000000000 +0000 @@ -1,5 +1,5 @@ -Index

Index

Index

A

abbrev, Network Address Functions and Operators
ABORT, ABORT
abs, Mathematical Functions and Operators
ACL, Privileges
aclcontains, System Information Functions and Operators
acldefault, System Information Functions and Operators
aclexplode, System Information Functions and Operators
aclitem, Privileges
aclitemeq, System Information Functions and Operators
acos, Mathematical Functions and Operators
acosd, Mathematical Functions and Operators
acosh, Mathematical Functions and Operators
administration tools
externally maintained, Administration Tools
adminpack, adminpack
advisory lock, Advisory Locks
age, Date/Time Functions and Operators, System Information Functions and Operators
aggregate function, Aggregate Functions, Aggregate Expressions, Aggregate Functions, User-Defined Aggregates
built-in, Aggregate Functions
invocation, Aggregate Expressions
moving aggregate, Moving-Aggregate Mode
ordered set, Ordered-Set Aggregates
partial aggregation, Partial Aggregation
polymorphic, Polymorphic and Variadic Aggregates
support functions for, Support Functions for Aggregates
user-defined, User-Defined Aggregates
variadic, Polymorphic and Variadic Aggregates
AIX, AIX
installation on, AIX
IPC configuration, Shared Memory and Semaphores
akeys, hstore Operators and Functions
alias, Table and Column Aliases, Column Labels
for table name in query, Joins Between Tables
in the FROM clause, Table and Column Aliases
in the select list, Column Labels
ALL, GROUPING SETS, CUBE, and ROLLUP, DISTINCT, Subquery Expressions, Row and Array Comparisons
GROUP BY ALL, GROUPING SETS, CUBE, and ROLLUP
SELECT ALL, DISTINCT
allow_in_place_tablespaces configuration parameter, Developer Options
allow_system_table_mods configuration parameter, Developer Options
ALTER AGGREGATE, ALTER AGGREGATE
ALTER COLLATION, ALTER COLLATION
ALTER CONVERSION, ALTER CONVERSION
ALTER DATABASE, ALTER DATABASE
ALTER DEFAULT PRIVILEGES, ALTER DEFAULT PRIVILEGES
ALTER DOMAIN, ALTER DOMAIN
ALTER EVENT TRIGGER, ALTER EVENT TRIGGER
ALTER EXTENSION, ALTER EXTENSION
ALTER FOREIGN DATA WRAPPER, ALTER FOREIGN DATA WRAPPER
ALTER FOREIGN TABLE, ALTER FOREIGN TABLE
ALTER FUNCTION, ALTER FUNCTION
ALTER GROUP, ALTER GROUP
ALTER INDEX, ALTER INDEX
ALTER LANGUAGE, ALTER LANGUAGE
ALTER LARGE OBJECT, ALTER LARGE OBJECT
ALTER MATERIALIZED VIEW, ALTER MATERIALIZED VIEW
ALTER OPERATOR, ALTER OPERATOR
ALTER OPERATOR CLASS, ALTER OPERATOR CLASS
ALTER OPERATOR FAMILY, ALTER OPERATOR FAMILY
ALTER POLICY, ALTER POLICY
ALTER PROCEDURE, ALTER PROCEDURE
ALTER PUBLICATION, ALTER PUBLICATION
ALTER ROLE, Role Attributes, ALTER ROLE
ALTER ROUTINE, ALTER ROUTINE
ALTER RULE, ALTER RULE
ALTER SCHEMA, ALTER SCHEMA
ALTER SEQUENCE, ALTER SEQUENCE
ALTER SERVER, ALTER SERVER
ALTER STATISTICS, ALTER STATISTICS
ALTER SUBSCRIPTION, ALTER SUBSCRIPTION
ALTER SYSTEM, ALTER SYSTEM
ALTER TABLE, ALTER TABLE
ALTER TABLESPACE, ALTER TABLESPACE
ALTER TEXT SEARCH CONFIGURATION, ALTER TEXT SEARCH CONFIGURATION
ALTER TEXT SEARCH DICTIONARY, ALTER TEXT SEARCH DICTIONARY
ALTER TEXT SEARCH PARSER, ALTER TEXT SEARCH PARSER
ALTER TEXT SEARCH TEMPLATE, ALTER TEXT SEARCH TEMPLATE
ALTER TRIGGER, ALTER TRIGGER
ALTER TYPE, ALTER TYPE
ALTER USER, ALTER USER
ALTER USER MAPPING, ALTER USER MAPPING
ALTER VIEW, ALTER VIEW
amcheck, amcheck
ANALYZE, Updating Planner Statistics, ANALYZE
AND (operator), Logical Operators
anonymous code blocks, DO
any, Pseudo-Types
ANY, Aggregate Functions, Subquery Expressions, Row and Array Comparisons
anyarray, Pseudo-Types
anycompatible, Pseudo-Types
anycompatiblearray, Pseudo-Types
anycompatiblemultirange, Pseudo-Types
anycompatiblenonarray, Pseudo-Types
anycompatiblerange, Pseudo-Types
anyelement, Pseudo-Types
anyenum, Pseudo-Types
anymultirange, Pseudo-Types
anynonarray, Pseudo-Types
anyrange, Pseudo-Types
applicable role, applicable_roles
application_name configuration parameter, What to Log
arbitrary precision numbers, Arbitrary Precision Numbers
Archive Modules, Archive Modules
archive_cleanup_command configuration parameter, Archive Recovery
archive_command configuration parameter, Archiving
archive_library configuration parameter, Archiving
archive_mode configuration parameter, Archiving
archive_timeout configuration parameter, Archiving
area, Geometric Functions and Operators
armor, armor(), dearmor()
array, Arrays
accessing, Accessing Arrays
constant, Array Value Input
constructor, Array Constructors
declaration, Declaration of Array Types
I/O, Array Input and Output Syntax
modifying, Modifying Arrays
of user-defined type, User-Defined Types
searching, Searching in Arrays
ARRAY, Array Constructors, UNION, CASE, and Related Constructs
determination of result type, UNION, CASE, and Related Constructs
array_agg, Aggregate Functions, Functions
array_append, Array Functions and Operators
array_cat, Array Functions and Operators
array_dims, Array Functions and Operators
array_fill, Array Functions and Operators
array_length, Array Functions and Operators
array_lower, Array Functions and Operators
array_ndims, Array Functions and Operators
array_nulls configuration parameter, Previous PostgreSQL Versions
array_position, Array Functions and Operators
array_positions, Array Functions and Operators
array_prepend, Array Functions and Operators
array_remove, Array Functions and Operators
array_replace, Array Functions and Operators
array_to_json, Processing and Creating JSON Data
array_to_string, Array Functions and Operators
array_to_tsvector, Text Search Functions and Operators
array_upper, Array Functions and Operators
ascii, String Functions and Operators
asin, Mathematical Functions and Operators
asind, Mathematical Functions and Operators
asinh, Mathematical Functions and Operators
ASSERT
in PL/pgSQL, Checking Assertions
assertions
in PL/pgSQL, Checking Assertions
asynchronous commit, Asynchronous Commit
AT TIME ZONE, AT TIME ZONE
atan, Mathematical Functions and Operators
atan2, Mathematical Functions and Operators
atan2d, Mathematical Functions and Operators
atand, Mathematical Functions and Operators
atanh, Mathematical Functions and Operators
authentication_timeout configuration parameter, Authentication
auth_delay, auth_delay
auth_delay.milliseconds configuration parameter, Configuration Parameters
auto-increment (see serial)
autocommit
bulk-loading data, Disable Autocommit
psql, Variables
autosummarize storage parameter, Index Storage Parameters
autovacuum
configuration parameters, Automatic Vacuuming
general information, The Autovacuum Daemon
autovacuum configuration parameter, Automatic Vacuuming
autovacuum_analyze_scale_factor
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_analyze_threshold
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_enabled storage parameter, Storage Parameters
autovacuum_freeze_max_age
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_freeze_min_age storage parameter, Storage Parameters
autovacuum_freeze_table_age storage parameter, Storage Parameters
autovacuum_max_workers configuration parameter, Automatic Vacuuming
autovacuum_multixact_freeze_max_age
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_multixact_freeze_min_age storage parameter, Storage Parameters
autovacuum_multixact_freeze_table_age storage parameter, Storage Parameters
autovacuum_naptime configuration parameter, Automatic Vacuuming
autovacuum_vacuum_cost_delay
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_vacuum_cost_limit
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_vacuum_insert_scale_factor
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_vacuum_insert_threshold
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_vacuum_scale_factor
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_vacuum_threshold
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_work_mem configuration parameter, Memory
auto_explain, auto_explain
auto_explain.log_analyze configuration parameter, Configuration Parameters
auto_explain.log_buffers configuration parameter, Configuration Parameters
auto_explain.log_format configuration parameter, Configuration Parameters
auto_explain.log_level configuration parameter, Configuration Parameters
auto_explain.log_min_duration configuration parameter, Configuration Parameters
auto_explain.log_nested_statements configuration parameter, Configuration Parameters
auto_explain.log_settings configuration parameter, Configuration Parameters
auto_explain.log_timing configuration parameter, Configuration Parameters
auto_explain.log_triggers configuration parameter, Configuration Parameters
auto_explain.log_verbose configuration parameter, Configuration Parameters
auto_explain.log_wal configuration parameter, Configuration Parameters
auto_explain.sample_rate configuration parameter, Configuration Parameters
avals, hstore Operators and Functions
average, Aggregate Functions
avg, Aggregate Functions

B

B-Tree (see index)
backend_flush_after configuration parameter, Asynchronous Behavior
Background workers, Background Worker Processes
backslash escapes, String Constants with C-Style Escapes
backslash_quote configuration parameter, Previous PostgreSQL Versions
backtrace_functions configuration parameter, Developer Options
backup, Backup Control Functions, Backup and Restore
Backup Manifest, Backup Manifest Format
base type, The PostgreSQL Type System
base64 format, Binary String Functions and Operators
basebackup_to_shell, basebackup_to_shell
basebackup_to_shell.command configuration parameter, Configuration Parameters
basebackup_to_shell.required_role configuration parameter, Configuration Parameters
BASE_BACKUP, Streaming Replication Protocol
basic_archive, basic_archive
basic_archive.archive_directory configuration parameter, Configuration Parameters
batch mode, Pipeline Mode
in libpq, Pipeline Mode
BEGIN, BEGIN
BETWEEN, Comparison Functions and Operators
BETWEEN SYMMETRIC, Comparison Functions and Operators
BGWORKER_BACKEND_​DATABASE_CONNECTION, Background Worker Processes
BGWORKER_SHMEM_ACCESS, Background Worker Processes
bgwriter_delay configuration parameter, Background Writer
bgwriter_flush_after configuration parameter, Background Writer
bgwriter_lru_maxpages configuration parameter, Background Writer
bgwriter_lru_multiplier configuration parameter, Background Writer
bigint, Numeric Constants, Integer Types
bigserial, Serial Types
binary data, Binary Data Types, Binary String Functions and Operators
functions, Binary String Functions and Operators
binary string
concatenation, Binary String Functions and Operators
converting to character string, Binary String Functions and Operators
length, Binary String Functions and Operators
bison, Requirements
bit string, Bit-String Constants, Bit String Types
constant, Bit-String Constants
data type, Bit String Types
length, Bit String Functions and Operators
bit strings, Bit String Functions and Operators
functions, Bit String Functions and Operators
bitmap scan, Combining Multiple Indexes, Planner Method Configuration
bit_and, Aggregate Functions
bit_count, Binary String Functions and Operators, Bit String Functions and Operators
bit_length, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators
bit_or, Aggregate Functions
bit_xor, Aggregate Functions
BLOB (see large object)
block_size configuration parameter, Preset Options
bloom, bloom
bonjour configuration parameter, Connection Settings
bonjour_name configuration parameter, Connection Settings
Boolean, Boolean Type
data type, Boolean Type
operators (see operators, logical)
bool_and, Aggregate Functions
bool_or, Aggregate Functions
booting
starting the server during, Starting the Database Server
bound_box, Geometric Functions and Operators
box, Geometric Functions and Operators
box (data type), Boxes
BRIN (see index)
brin_desummarize_range, Index Maintenance Functions
brin_metapage_info, BRIN Functions
brin_page_items, BRIN Functions
brin_page_type, BRIN Functions
brin_revmap_data, BRIN Functions
brin_summarize_new_values, Index Maintenance Functions
brin_summarize_range, Index Maintenance Functions
broadcast, Network Address Functions and Operators
BSD Authentication, BSD Authentication
btree_gin, btree_gin
btree_gist, btree_gist
btrim, String Functions and Operators, Binary String Functions and Operators
bt_index_check, Functions
bt_index_parent_check, Functions
bt_metap, B-Tree Functions
bt_page_items, B-Tree Functions
bt_page_stats, B-Tree Functions
buffering storage parameter, Index Storage Parameters
bytea, Binary Data Types
bytea_output configuration parameter, Statement Behavior

C

C, libpq — C Library, ECPG — Embedded SQL in C
C++, Using C++ for Extensibility
CALL, CALL
canceling, Canceling Queries in Progress
SQL command, Canceling Queries in Progress
cardinality, Array Functions and Operators
CASCADE, Dependency Tracking
with DROP, Dependency Tracking
foreign key action, Foreign Keys
Cascading Replication, High Availability, Load Balancing, and Replication
CASE, Conditional Expressions, UNION, CASE, and Related Constructs
determination of result type, UNION, CASE, and Related Constructs
case sensitivity
of SQL commands, Identifiers and Key Words
cast, CREATE CAST
I/O conversion, CREATE CAST
cbrt, Mathematical Functions and Operators
ceil, Mathematical Functions and Operators
ceiling, Mathematical Functions and Operators
center, Geometric Functions and Operators
Certificate, Certificate Authentication
chained transactions, Transaction Management, Parameters, Parameters
in PL/pgSQL, Transaction Management
char, Character Types
character, Character Types
character set, Locale and Formatting, Preset Options, Character Set Support
character string, String Constants, Character Types
concatenation, String Functions and Operators
constant, String Constants
converting to binary string, Binary String Functions and Operators
data types, Character Types
length, String Functions and Operators
prefix test, String Functions and Operators
character varying, Character Types
character_length, String Functions and Operators
char_length, String Functions and Operators
check constraint, Check Constraints
CHECK OPTION, CREATE VIEW
checkpoint, WAL Configuration
CHECKPOINT, CHECKPOINT
checkpoint_completion_target configuration parameter, Checkpoints
checkpoint_flush_after configuration parameter, Checkpoints
checkpoint_timeout configuration parameter, Checkpoints
checkpoint_warning configuration parameter, Checkpoints
checksums, Data Checksums
check_function_bodies configuration parameter, Statement Behavior
chr, String Functions and Operators
cid, Object Identifier Types
cidr, cidr
circle, Circles, Geometric Functions and Operators
citext, citext
client authentication, Client Authentication
timeout during, Authentication
client_connection_check_interval configuration parameter, Connection Settings
client_encoding configuration parameter, Locale and Formatting
client_min_messages configuration parameter, Statement Behavior
clock_timestamp, Date/Time Functions and Operators
CLOSE, CLOSE
cluster
of databases (see database cluster)
CLUSTER, CLUSTER
clusterdb, clusterdb
clustering, High Availability, Load Balancing, and Replication
cluster_name configuration parameter, Process Title
cmax, System Columns
cmin, System Columns
COALESCE, COALESCE
COLLATE, Collation Expressions
collation, Collation Support
in PL/pgSQL, Collation of PL/pgSQL Variables
in SQL functions, SQL Functions with Collations
COLLATION FOR, System Information Functions and Operators
color, Color Support
column, Concepts, Table Basics
adding, Adding a Column
removing, Removing a Column
renaming, Renaming a Column
system column, System Columns
column data type
changing, Changing a Column's Data Type
column reference, Column References
col_description, System Information Functions and Operators
comment, Comments
about database objects, System Information Functions and Operators
in SQL, Comments
COMMENT, COMMENT
COMMIT, COMMIT
COMMIT PREPARED, COMMIT PREPARED
commit_delay configuration parameter, Settings
commit_siblings configuration parameter, Settings
common table expression (see WITH)
comparison, Comparison Functions and Operators, Subquery Expressions
composite type, Row and Array Comparisons
operators, Comparison Functions and Operators
row constructor, Row and Array Comparisons
subquery result row, Subquery Expressions
compiling, Building libpq Programs
libpq applications, Building libpq Programs
composite type, Composite Types, The PostgreSQL Type System
comparison, Row and Array Comparisons
constant, Constructing Composite Values
constructor, Row Constructors
computed field, Using Composite Types in Queries
compute_query_id configuration parameter, Statistics Monitoring
concat, String Functions and Operators
concat_ws, String Functions and Operators
concurrency, Concurrency Control
conditional expression, Conditional Expressions
configuration
of recovery
general settings, Recovery
of a standby server, Archive Recovery
of the server, Server Configuration
of the server
functions, Configuration Settings Functions
configure, Installation Procedure
configure environment variables, configure Environment Variables
configure options, configure Options
config_file configuration parameter, File Locations
conjunction, Logical Operators
connectby, Functions Provided, connectby
connection service file, The Connection Service File
conninfo, Connection Strings
constant, Constants
constraint, Constraints
adding, Adding a Constraint
check, Check Constraints
exclusion, Exclusion Constraints
foreign key, Foreign Keys
name, Check Constraints
NOT NULL, Not-Null Constraints
primary key, Primary Keys
removing, Removing a Constraint
unique, Unique Constraints
constraint exclusion, Partitioning and Constraint Exclusion, Other Planner Options
constraint_exclusion configuration parameter, Other Planner Options
container type, The PostgreSQL Type System
CONTINUE
in PL/pgSQL, CONTINUE
continuous archiving, Backup and Restore
in standby, Continuous Archiving in Standby
control file, Extension Files
convert, Binary String Functions and Operators
convert_from, Binary String Functions and Operators
convert_to, Binary String Functions and Operators
COPY, Populating a Table With Rows, Functions Associated with the COPY Command, COPY
with libpq, Functions Associated with the COPY Command
corr, Aggregate Functions
correlation, Aggregate Functions
in the query planner, Extended Statistics
cos, Mathematical Functions and Operators
cosd, Mathematical Functions and Operators
cosh, Mathematical Functions and Operators
cot, Mathematical Functions and Operators
cotd, Mathematical Functions and Operators
count, Aggregate Functions
covariance
population, Aggregate Functions
sample, Aggregate Functions
covar_pop, Aggregate Functions
covar_samp, Aggregate Functions
covering index, Index-Only Scans and Covering Indexes
cpu_index_tuple_cost configuration parameter, Planner Cost Constants
cpu_operator_cost configuration parameter, Planner Cost Constants
cpu_tuple_cost configuration parameter, Planner Cost Constants
CREATE ACCESS METHOD, CREATE ACCESS METHOD
CREATE AGGREGATE, CREATE AGGREGATE
CREATE CAST, CREATE CAST
CREATE COLLATION, CREATE COLLATION
CREATE CONVERSION, CREATE CONVERSION
CREATE DATABASE, Creating a Database, CREATE DATABASE
CREATE DOMAIN, CREATE DOMAIN
CREATE EVENT TRIGGER, CREATE EVENT TRIGGER
CREATE EXTENSION, CREATE EXTENSION
CREATE FOREIGN DATA WRAPPER, CREATE FOREIGN DATA WRAPPER
CREATE FOREIGN TABLE, CREATE FOREIGN TABLE
CREATE FUNCTION, CREATE FUNCTION
CREATE GROUP, CREATE GROUP
CREATE INDEX, CREATE INDEX
CREATE LANGUAGE, CREATE LANGUAGE
CREATE MATERIALIZED VIEW, CREATE MATERIALIZED VIEW
CREATE OPERATOR, CREATE OPERATOR
CREATE OPERATOR CLASS, CREATE OPERATOR CLASS
CREATE OPERATOR FAMILY, CREATE OPERATOR FAMILY
CREATE POLICY, CREATE POLICY
CREATE PROCEDURE, CREATE PROCEDURE
CREATE PUBLICATION, CREATE PUBLICATION
CREATE ROLE, Database Roles, CREATE ROLE
CREATE RULE, CREATE RULE
CREATE SCHEMA, CREATE SCHEMA
CREATE SEQUENCE, CREATE SEQUENCE
CREATE SERVER, CREATE SERVER
CREATE STATISTICS, CREATE STATISTICS
CREATE SUBSCRIPTION, CREATE SUBSCRIPTION
CREATE TABLE, Creating a New Table, CREATE TABLE
CREATE TABLE AS, CREATE TABLE AS
CREATE TABLESPACE, Tablespaces, CREATE TABLESPACE
CREATE TEXT SEARCH CONFIGURATION, CREATE TEXT SEARCH CONFIGURATION
CREATE TEXT SEARCH DICTIONARY, CREATE TEXT SEARCH DICTIONARY
CREATE TEXT SEARCH PARSER, CREATE TEXT SEARCH PARSER
CREATE TEXT SEARCH TEMPLATE, CREATE TEXT SEARCH TEMPLATE
CREATE TRANSFORM, CREATE TRANSFORM
CREATE TRIGGER, CREATE TRIGGER
CREATE TYPE, CREATE TYPE
CREATE USER, CREATE USER
CREATE USER MAPPING, CREATE USER MAPPING
CREATE VIEW, CREATE VIEW
createdb, Creating a Database, Creating a Database, createdb
createuser, Database Roles, createuser
CREATE_REPLICATION_SLOT, Streaming Replication Protocol
cross compilation, Build Process Details
cross join, Joined Tables
crosstab, crosstab(text), crosstabN(text), crosstab(text, text)
crypt, crypt()
cstring, Pseudo-Types
CSV (Comma-Separated Values) format
in psql, Meta-Commands
ctid, System Columns
CTID, View Rules in Non-SELECT Statements
CUBE, GROUPING SETS, CUBE, and ROLLUP
cube (extension), cube
cume_dist, Window Functions
hypothetical, Aggregate Functions
current_catalog, System Information Functions and Operators
current_database, System Information Functions and Operators
current_date, Date/Time Functions and Operators
current_logfiles
and the log_destination configuration parameter, Where to Log
and the pg_current_logfile function, System Information Functions and Operators
current_query, System Information Functions and Operators
current_role, System Information Functions and Operators
current_schema, System Information Functions and Operators
current_schemas, System Information Functions and Operators
current_setting, Configuration Settings Functions
current_time, Date/Time Functions and Operators
current_timestamp, Date/Time Functions and Operators
current_user, System Information Functions and Operators
currval, Sequence Manipulation Functions
cursor, Cursors, CLOSE, DECLARE, EXPLAIN, FETCH, MOVE
CLOSE, CLOSE
DECLARE, DECLARE
FETCH, FETCH
in PL/pgSQL, Cursors
MOVE, MOVE
showing the query plan, EXPLAIN
cursor_tuple_fraction configuration parameter, Other Planner Options
custom scan provider, Writing a Custom Scan Provider
handler for, Writing a Custom Scan Provider
Cygwin, Cygwin
installation on, Cygwin

D

data area (see database cluster)
data partitioning, High Availability, Load Balancing, and Replication
data type, Data Types, Numeric Types, Enumerated Types, Domain Types, Type Conversion, The PostgreSQL Type System, The PostgreSQL Type System, The PostgreSQL Type System, Polymorphic Types, Base Types in C-Language Functions, User-Defined Types
base, The PostgreSQL Type System
category, Overview
composite, The PostgreSQL Type System
constant, Constants of Other Types
container, The PostgreSQL Type System
conversion, Type Conversion
domain, Domain Types
enumerated (enum), Enumerated Types
internal organization, Base Types in C-Language Functions
numeric, Numeric Types
polymorphic, Polymorphic Types
type cast, Type Casts
user-defined, User-Defined Types
database, Creating a Database, Managing Databases
creating, Creating a Database
privilege to create, Role Attributes
database activity, Monitoring Database Activity
monitoring, Monitoring Database Activity
database cluster, Concepts, Creating a Database Cluster
data_checksums configuration parameter, Preset Options
data_directory configuration parameter, File Locations
data_directory_mode configuration parameter, Preset Options
data_sync_retry configuration parameter, Error Handling
date, Date/Time Types, Dates
constants, Special Values
current, Current Date/Time
output format, Date/Time Output
(see also formatting)
DateStyle configuration parameter, Locale and Formatting
date_bin, date_bin
date_part, Date/Time Functions and Operators, EXTRACT, date_part
date_trunc, Date/Time Functions and Operators, date_trunc
dblink, dblink, dblink
dblink_build_sql_delete, dblink_build_sql_delete
dblink_build_sql_insert, dblink_build_sql_insert
dblink_build_sql_update, dblink_build_sql_update
dblink_cancel_query, dblink_cancel_query
dblink_close, dblink_close
dblink_connect, dblink_connect
dblink_connect_u, dblink_connect_u
dblink_disconnect, dblink_disconnect
dblink_error_message, dblink_error_message
dblink_exec, dblink_exec
dblink_fetch, dblink_fetch
dblink_get_connections, dblink_get_connections
dblink_get_notify, dblink_get_notify
dblink_get_pkey, dblink_get_pkey
dblink_get_result, dblink_get_result
dblink_is_busy, dblink_is_busy
dblink_open, dblink_open
dblink_send_query, dblink_send_query
db_user_namespace configuration parameter, Authentication
deadlock, Deadlocks
timeout during, Lock Management
deadlock_timeout configuration parameter, Lock Management
DEALLOCATE, DEALLOCATE
dearmor, armor(), dearmor()
debug_assertions configuration parameter, Preset Options
debug_deadlocks configuration parameter, Developer Options
debug_discard_caches configuration parameter, Developer Options
debug_pretty_print configuration parameter, What to Log
debug_print_parse configuration parameter, What to Log
debug_print_plan configuration parameter, What to Log
debug_print_rewritten configuration parameter, What to Log
decimal (see numeric)
DECLARE, DECLARE
decode, Binary String Functions and Operators
decode_bytea
in PL/Perl, Utility Functions in PL/Perl
decrypt, Raw Encryption Functions
decrypt_iv, Raw Encryption Functions
deduplicate_items storage parameter, Index Storage Parameters
default value, Default Values
changing, Changing a Column's Default Value
default-roles, Default Roles Renamed to Predefined Roles
default_statistics_target configuration parameter, Other Planner Options
default_tablespace configuration parameter, Statement Behavior
default_table_access_method configuration parameter, Statement Behavior
default_text_search_config configuration parameter, Locale and Formatting
default_toast_compression configuration parameter, Statement Behavior
default_transaction_deferrable configuration parameter, Statement Behavior
default_transaction_isolation configuration parameter, Statement Behavior
default_transaction_read_only configuration parameter, Statement Behavior
deferrable transaction, Statement Behavior
setting, SET TRANSACTION
setting default, Statement Behavior
defined, hstore Operators and Functions
degrees, Mathematical Functions and Operators
delay, Delaying Execution
DELETE, Deletions, Deleting Data, Returning Data from Modified Rows, DELETE
RETURNING, Returning Data from Modified Rows
delete, hstore Operators and Functions
deleting, Deleting Data
dense_rank, Window Functions
hypothetical, Aggregate Functions
diagonal, Geometric Functions and Operators
diameter, Geometric Functions and Operators
dict_int, dict_int
dict_xsyn, dict_xsyn
difference, Soundex
digest, digest()
dirty read, Transaction Isolation
DISCARD, DISCARD
disjunction, Logical Operators
disk drive, WAL Internals
disk space, Recovering Disk Space
disk usage, Determining Disk Usage
DISTINCT, Querying a Table, GROUPING SETS, CUBE, and ROLLUP, DISTINCT
GROUP BY DISTINCT, GROUPING SETS, CUBE, and ROLLUP
SELECT DISTINCT, DISTINCT
div, Mathematical Functions and Operators
dmetaphone, Double Metaphone
dmetaphone_alt, Double Metaphone
DO, DO
document, What Is a Document?
text search, What Is a Document?
dollar quoting, Dollar-Quoted String Constants
domain, Domain Types
double precision, Floating-Point Types
DROP ACCESS METHOD, DROP ACCESS METHOD
DROP AGGREGATE, DROP AGGREGATE
DROP CAST, DROP CAST
DROP COLLATION, DROP COLLATION
DROP CONVERSION, DROP CONVERSION
DROP DATABASE, Destroying a Database, DROP DATABASE
DROP DOMAIN, DROP DOMAIN
DROP EVENT TRIGGER, DROP EVENT TRIGGER
DROP EXTENSION, DROP EXTENSION
DROP FOREIGN DATA WRAPPER, DROP FOREIGN DATA WRAPPER
DROP FOREIGN TABLE, DROP FOREIGN TABLE
DROP FUNCTION, DROP FUNCTION
DROP GROUP, DROP GROUP
DROP INDEX, DROP INDEX
DROP LANGUAGE, DROP LANGUAGE
DROP MATERIALIZED VIEW, DROP MATERIALIZED VIEW
DROP OPERATOR, DROP OPERATOR
DROP OPERATOR CLASS, DROP OPERATOR CLASS
DROP OPERATOR FAMILY, DROP OPERATOR FAMILY
DROP OWNED, DROP OWNED
DROP POLICY, DROP POLICY
DROP PROCEDURE, DROP PROCEDURE
DROP PUBLICATION, DROP PUBLICATION
DROP ROLE, Database Roles, DROP ROLE
DROP ROUTINE, DROP ROUTINE
DROP RULE, DROP RULE
DROP SCHEMA, DROP SCHEMA
DROP SEQUENCE, DROP SEQUENCE
DROP SERVER, DROP SERVER
DROP STATISTICS, DROP STATISTICS
DROP SUBSCRIPTION, DROP SUBSCRIPTION
DROP TABLE, Creating a New Table, DROP TABLE
DROP TABLESPACE, DROP TABLESPACE
DROP TEXT SEARCH CONFIGURATION, DROP TEXT SEARCH CONFIGURATION
DROP TEXT SEARCH DICTIONARY, DROP TEXT SEARCH DICTIONARY
DROP TEXT SEARCH PARSER, DROP TEXT SEARCH PARSER
DROP TEXT SEARCH TEMPLATE, DROP TEXT SEARCH TEMPLATE
DROP TRANSFORM, DROP TRANSFORM
DROP TRIGGER, DROP TRIGGER
DROP TYPE, DROP TYPE
DROP USER, DROP USER
DROP USER MAPPING, DROP USER MAPPING
DROP VIEW, DROP VIEW
dropdb, Destroying a Database, dropdb
dropuser, Database Roles, dropuser
DROP_REPLICATION_SLOT, Streaming Replication Protocol
DTD, Creating XML Values
DTrace, Developer Options, Dynamic Tracing
duplicate, Querying a Table
duplicates, DISTINCT
dynamic loading, Other Defaults, Dynamic Loading
dynamic_library_path, Dynamic Loading
dynamic_library_path configuration parameter, Other Defaults
dynamic_shared_memory_type configuration parameter, Memory

E

each, hstore Operators and Functions
earth, Cube-Based Earth Distances
earthdistance, earthdistance
earth_box, Cube-Based Earth Distances
earth_distance, Cube-Based Earth Distances
ECPG, ECPG — Embedded SQL in C
ecpg, ecpg
effective_cache_size configuration parameter, Planner Cost Constants
effective_io_concurrency configuration parameter, Asynchronous Behavior
elog, Reporting Errors Within the Server
in PL/Perl, Utility Functions in PL/Perl
in PL/Python, Utility Functions
in PL/Tcl, Database Access from PL/Tcl
embedded SQL, ECPG — Embedded SQL in C
in C, ECPG — Embedded SQL in C
enabled role, enabled_roles
enable_async_append configuration parameter, Planner Method Configuration
enable_bitmapscan configuration parameter, Planner Method Configuration
enable_gathermerge configuration parameter, Planner Method Configuration
enable_hashagg configuration parameter, Planner Method Configuration
enable_hashjoin configuration parameter, Planner Method Configuration
enable_incremental_sort configuration parameter, Planner Method Configuration
enable_indexonlyscan configuration parameter, Planner Method Configuration
enable_indexscan configuration parameter, Planner Method Configuration
enable_material configuration parameter, Planner Method Configuration
enable_memoize configuration parameter, Planner Method Configuration
enable_mergejoin configuration parameter, Planner Method Configuration
enable_nestloop configuration parameter, Planner Method Configuration
enable_parallel_append configuration parameter, Planner Method Configuration
enable_parallel_hash configuration parameter, Planner Method Configuration
enable_partitionwise_aggregate configuration parameter, Planner Method Configuration
enable_partitionwise_join configuration parameter, Planner Method Configuration
enable_partition_pruning configuration parameter, Planner Method Configuration
enable_seqscan configuration parameter, Planner Method Configuration
enable_sort configuration parameter, Planner Method Configuration
enable_tidscan configuration parameter, Planner Method Configuration
encode, Binary String Functions and Operators
encode_array_constructor
in PL/Perl, Utility Functions in PL/Perl
encode_array_literal
in PL/Perl, Utility Functions in PL/Perl
encode_bytea
in PL/Perl, Utility Functions in PL/Perl
encode_typed_literal
in PL/Perl, Utility Functions in PL/Perl
encrypt, Raw Encryption Functions
encryption, Encryption Options, pgcrypto
for specific columns, pgcrypto
encrypt_iv, Raw Encryption Functions
END, END
enumerated types, Enumerated Types
enum_first, Enum Support Functions
enum_last, Enum Support Functions
enum_range, Enum Support Functions
environment variable, Environment Variables
ephemeral named relation
registering with SPI, SPI_register_relation, SPI_register_trigger_data
unregistering from SPI, SPI_unregister_relation
ereport, Reporting Errors Within the Server
error codes, PostgreSQL Error Codes
libpq, Main Functions
list of, PostgreSQL Error Codes
error message, Connection Status Functions
escape format, Binary String Functions and Operators
escape string syntax, String Constants with C-Style Escapes
escape_string_warning configuration parameter, Previous PostgreSQL Versions
escaping strings, Escaping Strings for Inclusion in SQL Commands
in libpq, Escaping Strings for Inclusion in SQL Commands
event log, Registering Event Log on Windows
event log, Registering Event Log on Windows
event trigger, Event Triggers, Writing Event Trigger Functions in C
in C, Writing Event Trigger Functions in C
in PL/Tcl, Event Trigger Functions in PL/Tcl
event_source configuration parameter, Where to Log
event_trigger, Pseudo-Types
every, Aggregate Functions
EXCEPT, Combining Queries (UNION, INTERSECT, EXCEPT)
exceptions
in PL/pgSQL, Trapping Errors
in PL/Tcl, Error Handling in PL/Tcl
exclusion constraint, Exclusion Constraints
EXECUTE, EXECUTE
exist, hstore Operators and Functions
EXISTS, Subquery Expressions
EXIT
in PL/pgSQL, EXIT
exit_on_error configuration parameter, Error Handling
exp, Mathematical Functions and Operators
EXPLAIN, Using EXPLAIN, EXPLAIN
expression, Value Expressions
order of evaluation, Expression Evaluation Rules
syntax, Value Expressions
extending SQL, Extending SQL
extension, Packaging Related Objects into an Extension
externally maintained, Extensions
external_pid_file configuration parameter, File Locations
extract, Date/Time Functions and Operators, EXTRACT, date_part
extra_float_digits configuration parameter, Locale and Formatting

F

factorial, Mathematical Functions and Operators
failover, High Availability, Load Balancing, and Replication
false, Boolean Type
family, Network Address Functions and Operators
fast path, The Fast-Path Interface
fastupdate storage parameter, Index Storage Parameters
fdw_handler, Pseudo-Types
FETCH, FETCH
field
computed, Using Composite Types in Queries
field selection, Field Selection
file system mount points, Use of Secondary File Systems
file_fdw, file_fdw
fillfactor storage parameter, Index Storage Parameters, Storage Parameters
FILTER, Aggregate Expressions
first_value, Window Functions
flex, Requirements
float4 (see real)
float8 (see double precision)
floating point, Floating-Point Types
floating-point
display, Locale and Formatting
floor, Mathematical Functions and Operators
force_parallel_mode configuration parameter, Developer Options
foreign data, Foreign Data
foreign data wrapper, Writing a Foreign Data Wrapper
handler for, Writing a Foreign Data Wrapper
foreign key, Foreign Keys, Foreign Keys
self-referential, Foreign Keys
foreign table, Foreign Data
format, String Functions and Operators, format
use in PL/pgSQL, Executing Dynamic Commands
formatting, Data Type Formatting Functions
format_type, System Information Functions and Operators
Free Space Map, Free Space Map
FreeBSD
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
start script, Starting the Database Server
from_collapse_limit configuration parameter, Other Planner Options
FSM (see Free Space Map)
fsm_page_contents, General Functions
fsync configuration parameter, Settings
full text search, Text Search Types, Text Search Types, Full Text Search
data types, Text Search Types
functions and operators, Text Search Types
full_page_writes configuration parameter, Settings
function, Table Functions, Functions and Operators, Statistics Information Functions, Functions, Polymorphic Types, User-Defined Functions, Query Language (SQL) Functions, Internal Functions, C-Language Functions
default values for arguments, SQL Functions with Default Values for Arguments
in the FROM clause, Table Functions
internal, Internal Functions
invocation, Function Calls
mixed notation, Using Mixed Notation
named argument, Arguments for SQL Functions
named notation, Using Named Notation
output parameter, SQL Functions with Output Parameters
polymorphic, Polymorphic Types
positional notation, Using Positional Notation
RETURNS TABLE, SQL Functions Returning TABLE
statistics, Statistics Information Functions
type resolution in an invocation, Functions
user-defined, User-Defined Functions, Query Language (SQL) Functions, C-Language Functions
in C, C-Language Functions
in SQL, Query Language (SQL) Functions
variadic, SQL Functions with Variable Numbers of Arguments
with SETOF, SQL Functions Returning Sets
functional dependency, The GROUP BY and HAVING Clauses
fuzzystrmatch, fuzzystrmatch

G

gcd, Mathematical Functions and Operators
gc_to_sec, Cube-Based Earth Distances
generated column, Generated Columns, Parameters, Parameters
in - triggers, Overview of Trigger Behavior
generate_series, Set Returning Functions
generate_subscripts, Set Returning Functions
genetic query optimization, Genetic Query Optimizer
gen_random_bytes, Random-Data Functions
gen_random_uuid, UUID Functions, Random-Data Functions
gen_salt, gen_salt()
GEQO (see genetic query optimization)
geqo configuration parameter, Genetic Query Optimizer
geqo_effort configuration parameter, Genetic Query Optimizer
geqo_generations configuration parameter, Genetic Query Optimizer
geqo_pool_size configuration parameter, Genetic Query Optimizer
geqo_seed configuration parameter, Genetic Query Optimizer
geqo_selection_bias configuration parameter, Genetic Query Optimizer
geqo_threshold configuration parameter, Genetic Query Optimizer
get_bit, Binary String Functions and Operators, Bit String Functions and Operators
get_byte, Binary String Functions and Operators
get_current_ts_config, Text Search Functions and Operators
get_raw_page, General Functions
GIN (see index)
gin_clean_pending_list, Index Maintenance Functions
gin_fuzzy_search_limit configuration parameter, Other Defaults
gin_leafpage_items, GIN Functions
gin_metapage_info, GIN Functions
gin_page_opaque_info, GIN Functions
gin_pending_list_limit
configuration parameter, Statement Behavior
storage parameter, Index Storage Parameters
GiST (see index)
gist_page_items, GiST Functions
gist_page_items_bytea, GiST Functions
gist_page_opaque_info, GiST Functions
global data, Global Data in PL/Tcl
in PL/Python, Sharing Data
in PL/Tcl, Global Data in PL/Tcl
GRANT, Privileges, GRANT
GREATEST, GREATEST and LEAST, UNION, CASE, and Related Constructs
determination of result type, UNION, CASE, and Related Constructs
Gregorian calendar, History of Units
GROUP BY, Aggregate Functions, The GROUP BY and HAVING Clauses
grouping, The GROUP BY and HAVING Clauses
GROUPING, Aggregate Functions
GROUPING SETS, GROUPING SETS, CUBE, and ROLLUP
gssapi, Secure TCP/IP Connections with GSSAPI Encryption
GSSAPI, GSSAPI Authentication
with - libpq, Parameter Key Words
GUID, UUID Type

H

hash (see index)
hash_bitmap_info, Hash Functions
hash_mem_multiplier configuration parameter, Memory
hash_metapage_info, Hash Functions
hash_page_items, Hash Functions
hash_page_stats, Hash Functions
hash_page_type, Hash Functions
has_any_column_privilege, System Information Functions and Operators
has_column_privilege, System Information Functions and Operators
has_database_privilege, System Information Functions and Operators
has_foreign_data_wrapper_privilege, System Information Functions and Operators
has_function_privilege, System Information Functions and Operators
has_language_privilege, System Information Functions and Operators
has_parameter_privilege, System Information Functions and Operators
has_schema_privilege, System Information Functions and Operators
has_sequence_privilege, System Information Functions and Operators
has_server_privilege, System Information Functions and Operators
has_tablespace_privilege, System Information Functions and Operators
has_table_privilege, System Information Functions and Operators
has_type_privilege, System Information Functions and Operators
HAVING, Aggregate Functions, The GROUP BY and HAVING Clauses
hba_file configuration parameter, File Locations
heap_page_items, Heap Functions
heap_page_item_attrs, Heap Functions
heap_tuple_infomask_flags, Heap Functions
height, Geometric Functions and Operators
hex format, Binary String Functions and Operators
hierarchical database, Concepts
high availability, High Availability, Load Balancing, and Replication
history, A Brief History of PostgreSQL
of PostgreSQL, A Brief History of PostgreSQL
hmac, hmac()
host, Network Address Functions and Operators
host - name, Parameter Key Words
hostmask, Network Address Functions and Operators
hot standby, High Availability, Load Balancing, and Replication
hot_standby configuration parameter, Standby Servers
hot_standby_feedback configuration parameter, Standby Servers
HP-UX
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
hstore, hstore, hstore Operators and Functions
hstore_to_array, hstore Operators and Functions
hstore_to_json, hstore Operators and Functions
hstore_to_jsonb, hstore Operators and Functions
hstore_to_jsonb_loose, hstore Operators and Functions
hstore_to_json_loose, hstore Operators and Functions
hstore_to_matrix, hstore Operators and Functions
huge_pages configuration parameter, Memory
huge_page_size configuration parameter, Memory
hypothetical-set aggregate
built-in, Aggregate Functions

I

icount, intarray Functions and Operators
ICU, PostgreSQL Features, Locale Providers, Managing Collations, Parameters, Parameters
ident, Ident Authentication
identifier, Identifiers and Key Words
length, Identifiers and Key Words
syntax of, Identifiers and Key Words
IDENTIFY_SYSTEM, Streaming Replication Protocol
ident_file configuration parameter, File Locations
idle_in_transaction_session_timeout configuration parameter, Statement Behavior
idle_session_timeout configuration parameter, Statement Behavior
idx, intarray Functions and Operators
IFNULL, COALESCE
ignore_checksum_failure configuration parameter, Developer Options
ignore_invalid_pages configuration parameter, Developer Options
ignore_system_indexes configuration parameter, Developer Options
IMMUTABLE, Function Volatility Categories
IMPORT FOREIGN SCHEMA, IMPORT FOREIGN SCHEMA
IN, Subquery Expressions, Row and Array Comparisons
INCLUDE
in index definitions, Index-Only Scans and Covering Indexes
include
in configuration file, Managing Configuration File Contents
include_dir
in configuration file, Managing Configuration File Contents
include_if_exists
in configuration file, Managing Configuration File Contents
index, Indexes, Multicolumn Indexes, Indexes and ORDER BY, Combining Multiple Indexes, Unique Indexes, Indexes on Expressions, Partial Indexes, Index-Only Scans and Covering Indexes, Index-Only Scans and Covering Indexes, Examining Index Usage, Preferred Index Types for Text Search, Preferred Index Types for Text Search, Locking and Indexes, Interfacing Extensions to Indexes, Building Indexes Concurrently, Rebuilding Indexes Concurrently, Operators and Functions
and ORDER BY, Indexes and ORDER BY
B-Tree, B-Tree, B-Tree Indexes
BRIN, BRIN, BRIN Indexes
building concurrently, Building Indexes Concurrently
combining multiple indexes, Combining Multiple Indexes
covering, Index-Only Scans and Covering Indexes
examining usage, Examining Index Usage
on expressions, Indexes on Expressions
for user-defined data type, Interfacing Extensions to Indexes
GIN, GIN, Preferred Index Types for Text Search, GIN Indexes
text search, Preferred Index Types for Text Search
GiST, GiST, Preferred Index Types for Text Search, GiST Indexes
text search, Preferred Index Types for Text Search
hash, Hash
Hash, Hash Indexes
index-only scans, Index-Only Scans and Covering Indexes
locks, Locking and Indexes
multicolumn, Multicolumn Indexes
partial, Partial Indexes
rebuilding concurrently, Rebuilding Indexes Concurrently
SP-GiST, SP-GiST, SP-GiST Indexes
unique, Unique Indexes
Index Access Method, Index Access Method Interface Definition
index scan, Planner Method Configuration
index-only scan, Index-Only Scans and Covering Indexes
indexam
Index Access Method, Index Access Method Interface Definition
index_am_handler, Pseudo-Types
inet (data type), inet
inet_client_addr, System Information Functions and Operators
inet_client_port, System Information Functions and Operators
inet_merge, Network Address Functions and Operators
inet_same_family, Network Address Functions and Operators
inet_server_addr, System Information Functions and Operators
inet_server_port, System Information Functions and Operators
infinity
floating point, Floating-Point Types
numeric (data type), Arbitrary Precision Numbers
information schema, The Information Schema
inheritance, Inheritance, Inheritance
initcap, String Functions and Operators
initdb, Creating a Database Cluster, initdb
Initialization Fork, The Initialization Fork
input function, User-Defined Types
INSERT, Populating a Table With Rows, Inserting Data, Returning Data from Modified Rows, INSERT
RETURNING, Returning Data from Modified Rows
inserting, Inserting Data
installation, Installation from Source Code
binaries, Installation from Binaries
on Windows, Installation from Source Code on Windows
instr function, Appendix
int2 (see smallint)
int4 (see integer)
int8 (see bigint)
intagg, intagg
intarray, intarray
integer, Numeric Constants, Integer Types
integer_datetimes configuration parameter, Preset Options
interfaces
externally maintained, Client Interfaces
internal, Pseudo-Types
INTERSECT, Combining Queries (UNION, INTERSECT, EXCEPT)
interval, Date/Time Types, Interval Input
output format, Interval Output
(see also formatting)
IntervalStyle configuration parameter, Locale and Formatting
intset, intarray Functions and Operators
int_array_aggregate, Functions
int_array_enum, Functions
inverse distribution, Aggregate Functions
in_hot_standby configuration parameter, Preset Options
in_range support functions, B-Tree Support Functions
IS DISTINCT FROM, Comparison Functions and Operators, Row and Array Comparisons
IS DOCUMENT, IS DOCUMENT
IS FALSE, Comparison Functions and Operators
IS NOT DISTINCT FROM, Comparison Functions and Operators, Row and Array Comparisons
IS NOT DOCUMENT, IS NOT DOCUMENT
IS NOT FALSE, Comparison Functions and Operators
IS NOT NULL, Comparison Functions and Operators
IS NOT TRUE, Comparison Functions and Operators
IS NOT UNKNOWN, Comparison Functions and Operators
IS NULL, Comparison Functions and Operators, Platform and Client Compatibility
IS TRUE, Comparison Functions and Operators
IS UNKNOWN, Comparison Functions and Operators
isclosed, Geometric Functions and Operators
isempty, Range/Multirange Functions and Operators
isfinite, Date/Time Functions and Operators
isn, isn
ISNULL, Comparison Functions and Operators
isn_weak, Functions and Operators
isopen, Geometric Functions and Operators
is_array_ref
in PL/Perl, Utility Functions in PL/Perl
is_valid, Functions and Operators

J

JIT, Just-in-Time Compilation (JIT)
jit configuration parameter, Other Planner Options
jit_above_cost configuration parameter, Planner Cost Constants
jit_debugging_support configuration parameter, Developer Options
jit_dump_bitcode configuration parameter, Developer Options
jit_expressions configuration parameter, Developer Options
jit_inline_above_cost configuration parameter, Planner Cost Constants
jit_optimize_above_cost configuration parameter, Planner Cost Constants
jit_profiling_support configuration parameter, Developer Options
jit_provider configuration parameter, Shared Library Preloading
jit_tuple_deforming configuration parameter, Developer Options
join, Joins Between Tables, Joined Tables, Controlling the Planner with Explicit JOIN Clauses
controlling the order, Controlling the Planner with Explicit JOIN Clauses
cross, Joined Tables
left, Joined Tables
natural, Joined Tables
outer, Joins Between Tables, Joined Tables
right, Joined Tables
self, Joins Between Tables
join_collapse_limit configuration parameter, Other Planner Options
JSON, JSON Types, JSON Functions and Operators
functions and operators, JSON Functions and Operators
JSONB, JSON Types
jsonb
containment, jsonb Containment and Existence
existence, jsonb Containment and Existence
indexes on, jsonb Indexing
jsonb_agg, Aggregate Functions
jsonb_array_elements, Processing and Creating JSON Data
jsonb_array_elements_text, Processing and Creating JSON Data
jsonb_array_length, Processing and Creating JSON Data
jsonb_build_array, Processing and Creating JSON Data
jsonb_build_object, Processing and Creating JSON Data
jsonb_each, Processing and Creating JSON Data
jsonb_each_text, Processing and Creating JSON Data
jsonb_extract_path, Processing and Creating JSON Data
jsonb_extract_path_text, Processing and Creating JSON Data
jsonb_insert, Processing and Creating JSON Data
jsonb_object, Processing and Creating JSON Data
jsonb_object_agg, Aggregate Functions
jsonb_object_keys, Processing and Creating JSON Data
jsonb_path_exists, Processing and Creating JSON Data
jsonb_path_exists_tz, Processing and Creating JSON Data
jsonb_path_match, Processing and Creating JSON Data
jsonb_path_match_tz, Processing and Creating JSON Data
jsonb_path_query, Processing and Creating JSON Data
jsonb_path_query_array, Processing and Creating JSON Data
jsonb_path_query_array_tz, Processing and Creating JSON Data
jsonb_path_query_first, Processing and Creating JSON Data
jsonb_path_query_first_tz, Processing and Creating JSON Data
jsonb_path_query_tz, Processing and Creating JSON Data
jsonb_populate_record, Processing and Creating JSON Data
jsonb_populate_recordset, Processing and Creating JSON Data
jsonb_pretty, Processing and Creating JSON Data
jsonb_set, Processing and Creating JSON Data
jsonb_set_lax, Processing and Creating JSON Data
jsonb_strip_nulls, Processing and Creating JSON Data
jsonb_to_record, Processing and Creating JSON Data
jsonb_to_recordset, Processing and Creating JSON Data
jsonb_to_tsvector, Text Search Functions and Operators
jsonb_typeof, Processing and Creating JSON Data
jsonpath, jsonpath Type
json_agg, Aggregate Functions
json_array_elements, Processing and Creating JSON Data
json_array_elements_text, Processing and Creating JSON Data
json_array_length, Processing and Creating JSON Data
json_build_array, Processing and Creating JSON Data
json_build_object, Processing and Creating JSON Data
json_each, Processing and Creating JSON Data
json_each_text, Processing and Creating JSON Data
json_extract_path, Processing and Creating JSON Data
json_extract_path_text, Processing and Creating JSON Data
json_object, Processing and Creating JSON Data
json_object_agg, Aggregate Functions
json_object_keys, Processing and Creating JSON Data
json_populate_record, Processing and Creating JSON Data
json_populate_recordset, Processing and Creating JSON Data
json_strip_nulls, Processing and Creating JSON Data
json_to_record, Processing and Creating JSON Data
json_to_recordset, Processing and Creating JSON Data
json_to_tsvector, Text Search Functions and Operators
json_typeof, Processing and Creating JSON Data
Julian date, Julian Dates
Just-In-Time compilation (see JIT)
justify_days, Date/Time Functions and Operators
justify_hours, Date/Time Functions and Operators
justify_interval, Date/Time Functions and Operators

K

key word, Identifiers and Key Words, SQL Key Words
list of, SQL Key Words
syntax of, Identifiers and Key Words
krb_caseins_users configuration parameter, Authentication
krb_server_keyfile configuration parameter, Authentication

L

label (see alias)
lag, Window Functions
language_handler, Pseudo-Types
large object, Large Objects
lastval, Sequence Manipulation Functions
last_value, Window Functions
LATERAL, LATERAL Subqueries
in the FROM clause, LATERAL Subqueries
latitude, Cube-Based Earth Distances
lca, Operators and Functions
lcm, Mathematical Functions and Operators
lc_collate configuration parameter, Preset Options
lc_ctype configuration parameter, Preset Options
lc_messages configuration parameter, Locale and Formatting
lc_monetary configuration parameter, Locale and Formatting
lc_numeric configuration parameter, Locale and Formatting
lc_time configuration parameter, Locale and Formatting
LDAP, PostgreSQL Features, LDAP Authentication
LDAP connection parameter lookup, LDAP Lookup of Connection Parameters
ldconfig, Shared Libraries
lead, Window Functions
LEAST, GREATEST and LEAST, UNION, CASE, and Related Constructs
determination of result type, UNION, CASE, and Related Constructs
left, String Functions and Operators
left join, Joined Tables
length, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators, Geometric Functions and Operators, Text Search Functions and Operators
of a binary string (see binary strings, length)
of a character string (see character string, length)
length(tsvector), Manipulating Documents
levenshtein, Levenshtein
levenshtein_less_equal, Levenshtein
lex, Requirements
libedit, Requirements
in psql, Command-Line Editing
libperl, Requirements
libpq, libpq — C Library, Pipeline Mode, Retrieving Query Results Row-by-Row
pipeline mode, Pipeline Mode
single-row mode, Retrieving Query Results Row-by-Row
libpq-fe.h, libpq — C Library, Connection Status Functions
libpq-int.h, Connection Status Functions
libpython, Requirements
library initialization function, Dynamic Loading
LIKE, LIKE
and locales, Behavior
LIKE_REGEX, Differences from SQL Standard and XQuery, SQL/JSON Regular Expressions
in SQL/JSON, SQL/JSON Regular Expressions
LIMIT, LIMIT and OFFSET
line, Lines, Geometric Functions and Operators
line segment, Line Segments
linear regression, Aggregate Functions
Linux
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
start script, Starting the Database Server
LISTEN, LISTEN
listen_addresses configuration parameter, Connection Settings
llvm-config, PostgreSQL Features
ll_to_earth, Cube-Based Earth Distances
ln, Mathematical Functions and Operators
lo, lo
LOAD, LOAD
load balancing, High Availability, Load Balancing, and Replication
locale, Creating a Database Cluster, Locale Support
localtime, Date/Time Functions and Operators
localtimestamp, Date/Time Functions and Operators
local_preload_libraries configuration parameter, Shared Library Preloading
lock, Explicit Locking, Advisory Locks, Viewing Locks
advisory, Advisory Locks
monitoring, Viewing Locks
LOCK, Table-Level Locks, LOCK
lock_timeout configuration parameter, Statement Behavior
log, Mathematical Functions and Operators
log shipping, High Availability, Load Balancing, and Replication
log10, Mathematical Functions and Operators
Logging
current_logfiles file and the pg_current_logfile - function, System Information Functions and Operators
pg_current_logfile function, System Information Functions and Operators
logging_collector configuration parameter, Where to Log
Logical Decoding, Logical Decoding, Logical Decoding
logical_decoding_work_mem configuration parameter, Memory
login privilege, Role Attributes
log_autovacuum_min_duration
configuration parameter, What to Log
storage parameter, Storage Parameters
log_btree_build_stats configuration parameter, Developer Options
log_checkpoints configuration parameter, What to Log
log_connections configuration parameter, What to Log
log_destination configuration parameter, Where to Log
log_directory configuration parameter, Where to Log
log_disconnections configuration parameter, What to Log
log_duration configuration parameter, What to Log
log_error_verbosity configuration parameter, What to Log
log_executor_stats configuration parameter, Statistics Monitoring
log_filename configuration parameter, Where to Log
log_file_mode configuration parameter, Where to Log
log_hostname configuration parameter, What to Log
log_line_prefix configuration parameter, What to Log
log_lock_waits configuration parameter, What to Log
log_min_duration_sample configuration parameter, When to Log
log_min_duration_statement configuration parameter, When to Log
log_min_error_statement configuration parameter, When to Log
log_min_messages configuration parameter, When to Log
log_parameter_max_length configuration parameter, What to Log
log_parameter_max_length_on_error configuration parameter, What to Log
log_parser_stats configuration parameter, Statistics Monitoring
log_planner_stats configuration parameter, Statistics Monitoring
log_recovery_conflict_waits configuration parameter, What to Log
log_replication_commands configuration parameter, What to Log
log_rotation_age configuration parameter, Where to Log
log_rotation_size configuration parameter, Where to Log
log_startup_progress_interval configuration parameter, When to Log
log_statement configuration parameter, What to Log
log_statement_sample_rate configuration parameter, When to Log
log_statement_stats configuration parameter, Statistics Monitoring
log_temp_files configuration parameter, What to Log
log_timezone configuration parameter, What to Log
log_transaction_sample_rate configuration parameter, When to Log
log_truncate_on_rotation configuration parameter, Where to Log
longitude, Cube-Based Earth Distances
looks_like_number
in PL/Perl, Utility Functions in PL/Perl
loop, Simple Loops
in PL/pgSQL, Simple Loops
lower, String Functions and Operators, Range/Multirange Functions and Operators
and locales, Behavior
lower_inc, Range/Multirange Functions and Operators
lower_inf, Range/Multirange Functions and Operators
lo_close, Closing a Large Object Descriptor
lo_compat_privileges configuration parameter, Previous PostgreSQL Versions
lo_creat, Creating a Large Object, Server-Side Functions
lo_create, Creating a Large Object
lo_export, Exporting a Large Object, Server-Side Functions
lo_from_bytea, Server-Side Functions
lo_get, Server-Side Functions
lo_import, Importing a Large Object, Server-Side Functions
lo_import_with_oid, Importing a Large Object
lo_lseek, Seeking in a Large Object
lo_lseek64, Seeking in a Large Object
lo_open, Opening an Existing Large Object
lo_put, Server-Side Functions
lo_read, Reading Data from a Large Object
lo_tell, Obtaining the Seek Position of a Large Object
lo_tell64, Obtaining the Seek Position of a Large Object
lo_truncate, Truncating a Large Object
lo_truncate64, Truncating a Large Object
lo_unlink, Removing a Large Object, Server-Side Functions
lo_write, Writing Data to a Large Object
lpad, String Functions and Operators
lseg, Line Segments, Geometric Functions and Operators
LSN, WAL Internals
ltree, ltree
ltree2text, Operators and Functions
ltrim, String Functions and Operators, Binary String Functions and Operators

M

MAC address (see macaddr)
MAC address (EUI-64 format) (see macaddr)
macaddr (data type), macaddr
macaddr8 (data type), macaddr8
macaddr8_set7bit, Network Address Functions and Operators
macOS, macOS
installation on, macOS
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
magic block, Dynamic Loading
maintenance, Routine Database Maintenance Tasks
maintenance_io_concurrency configuration parameter, Asynchronous Behavior
maintenance_work_mem configuration parameter, Memory
make, Requirements
makeaclitem, System Information Functions and Operators
make_date, Date/Time Functions and Operators
make_interval, Date/Time Functions and Operators
make_time, Date/Time Functions and Operators
make_timestamp, Date/Time Functions and Operators
make_timestamptz, Date/Time Functions and Operators
make_valid, Functions and Operators
MANPATH, Environment Variables
masklen, Network Address Functions and Operators
materialized view, Materialized Views
implementation through rules, Materialized Views
materialized views, pg_matviews
max, Aggregate Functions
max_connections configuration parameter, Connection Settings
max_files_per_process configuration parameter, Kernel Resource Usage
max_function_args configuration parameter, Preset Options
max_identifier_length configuration parameter, Preset Options
max_index_keys configuration parameter, Preset Options
max_locks_per_transaction configuration parameter, Lock Management
max_logical_replication_workers configuration parameter, Subscribers
max_parallel_maintenance_workers configuration parameter, Asynchronous Behavior
max_parallel_workers configuration parameter, Asynchronous Behavior
max_parallel_workers_per_gather configuration parameter, Asynchronous Behavior
max_pred_locks_per_page configuration parameter, Lock Management
max_pred_locks_per_relation configuration parameter, Lock Management
max_pred_locks_per_transaction configuration parameter, Lock Management
max_prepared_transactions configuration parameter, Memory
max_replication_slots configuration parameter, Sending Servers
max_slot_wal_keep_size configuration parameter, Sending Servers
max_stack_depth configuration parameter, Memory
max_standby_archive_delay configuration parameter, Standby Servers
max_standby_streaming_delay configuration parameter, Standby Servers
max_sync_workers_per_subscription configuration parameter, Subscribers
max_wal_senders configuration parameter, Sending Servers
max_wal_size configuration parameter, Checkpoints
max_worker_processes configuration parameter, Asynchronous Behavior
md5, String Functions and Operators, Binary String Functions and Operators
MD5, Password Authentication
median, Aggregate Expressions
(see also percentile)
memory context
in SPI, Memory Management
memory overcommit, Linux Memory Overcommit
MERGE, MERGE
metaphone, Metaphone
min, Aggregate Functions
MinGW, MinGW/Native Windows
installation on, MinGW/Native Windows
min_dynamic_shared_memory configuration parameter, Memory
min_parallel_index_scan_size configuration parameter, Planner Cost Constants
min_parallel_table_scan_size configuration parameter, Planner Cost Constants
min_scale, Mathematical Functions and Operators
min_wal_size configuration parameter, Checkpoints
mod, Mathematical Functions and Operators
mode
statistical, Aggregate Functions
monitoring, Monitoring Database Activity
database activity, Monitoring Database Activity
MOVE, MOVE
moving-aggregate mode, Moving-Aggregate Mode
multirange (function), Range/Multirange Functions and Operators
multirange type, Range Types
Multiversion Concurrency Control, Introduction
MultiXactId, Multixacts and Wraparound
MVCC, Introduction
mxid_age, System Information Functions and Operators

N

name, Identifiers and Key Words
qualified, Creating a Schema
syntax of, Identifiers and Key Words
unqualified, The Schema Search Path
NaN (see not a number)
natural join, Joined Tables
negation, Logical Operators
NetBSD
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
start script, Starting the Database Server
netmask, Network Address Functions and Operators
network, Network Address Types, Network Address Functions and Operators
data types, Network Address Types
nextval, Sequence Manipulation Functions
NFS, NFS
nlevel, Operators and Functions
non-durable, Non-Durable Settings
nonblocking connection, Database Connection Control Functions, Asynchronous Command Processing
nonrepeatable read, Transaction Isolation
normalize, String Functions and Operators
normalized, String Functions and Operators
normal_rand, normal_rand
NOT (operator), Logical Operators
not a number
floating point, Floating-Point Types
numeric (data type), Arbitrary Precision Numbers
NOT IN, Subquery Expressions, Row and Array Comparisons
not-null constraint, Not-Null Constraints
notation, Calling Functions
functions, Calling Functions
notice processing, Notice Processing
in libpq, Notice Processing
notice processor, Notice Processing
notice receiver, Notice Processing
NOTIFY, Asynchronous Notification, NOTIFY
in libpq, Asynchronous Notification
NOTNULL, Comparison Functions and Operators
now, Date/Time Functions and Operators
npoints, Geometric Functions and Operators
nth_value, Window Functions
ntile, Window Functions
null value
with check constraints, Check Constraints
comparing, Comparison Functions and Operators
default value, Default Values
in DISTINCT, DISTINCT
in libpq, Retrieving Query Result Information
in PL/Perl, PL/Perl Functions and Arguments
in PL/Python, Null, None
with unique constraints, Unique Constraints
NULLIF, NULLIF
number
constant, Numeric Constants
numeric, Numeric Constants
numeric (data type), Arbitrary Precision Numbers
numnode, Text Search Functions and Operators, Manipulating Queries
num_nonnulls, Comparison Functions and Operators
num_nulls, Comparison Functions and Operators
NVL, COALESCE

O

object identifier, Object Identifier Types
data type, Object Identifier Types
object-oriented database, Concepts
obj_description, System Information Functions and Operators
OCCURRENCES_REGEX, Differences from SQL Standard and XQuery
octet_length, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators
OFFSET, LIMIT and OFFSET
oid, Object Identifier Types
OID
in libpq, Retrieving Other Result Information
oid2name, oid2name
old_snapshot, old_snapshot
old_snapshot_threshold configuration parameter, Asynchronous Behavior
ON CONFLICT, INSERT
ONLY, The FROM Clause
OOM, Linux Memory Overcommit
OpenBSD
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
start script, Starting the Database Server
OpenSSL, PostgreSQL Features
(see also SSL)
operator, Operators, Operator Precedence, Functions and Operators, Logical Operators, Operators, User-Defined Operators
invocation, Operator Invocations
logical, Logical Operators
precedence, Operator Precedence
syntax, Operators
type resolution in an invocation, Operators
user-defined, User-Defined Operators
operator class, Operator Classes and Operator Families, Index Methods and Operator Classes
operator family, Operator Classes and Operator Families, Operator Classes and Operator Families
optimization information, Function Optimization Information, Operator Optimization Information
for functions, Function Optimization Information
for operators, Operator Optimization Information
OR (operator), Logical Operators
Oracle, Porting from Oracle PL/SQL
porting from PL/SQL to PL/pgSQL, Porting from Oracle PL/SQL
ORDER BY, Querying a Table, Sorting Rows (ORDER BY)
and locales, Behavior
ordered-set aggregate, Aggregate Expressions
built-in, Aggregate Functions
ordering operator, System Dependencies on Operator Classes
ordinality, Set Returning Functions
outer join, Joined Tables
output function, User-Defined Types
OVER clause, Window Function Calls
overcommit, Linux Memory Overcommit
OVERLAPS, Date/Time Functions and Operators
overlay, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators
overloading, Function Overloading
functions, Function Overloading
operators, User-Defined Operators
owner, Privileges

P

pageinspect, pageinspect
pages_per_range storage parameter, Index Storage Parameters
page_checksum, General Functions
page_header, General Functions
palloc, Writing Code
PAM, PostgreSQL Features, PAM Authentication
parallel query, Parallel Query
parallel_leader_participation configuration parameter, Asynchronous Behavior
parallel_setup_cost configuration parameter, Planner Cost Constants
parallel_tuple_cost configuration parameter, Planner Cost Constants
parallel_workers storage parameter, Storage Parameters
parameter
syntax, Positional Parameters
parenthesis, Value Expressions
parse_ident, String Functions and Operators
partition pruning, Partition Pruning
partitioned table, Table Partitioning
partitioning, Table Partitioning
password, Role Attributes
authentication, Password Authentication
of the superuser, Creating a Database Cluster
password file, The Password File
passwordcheck, passwordcheck
password_encryption configuration parameter, Authentication
path, Geometric Functions and Operators
for schemas, Statement Behavior
PATH, Environment Variables
path (data type), Paths
pattern matching, Pattern Matching
patterns
in psql and pg_dump, Patterns
pclose, Geometric Functions and Operators
peer, Peer Authentication
percentile
continuous, Aggregate Functions
discrete, Aggregate Functions
percent_rank, Window Functions
hypothetical, Aggregate Functions
performance, Performance Tips
perl, Requirements
Perl, PL/Perl — Perl Procedural Language
permission (see privilege)
pfree, Writing Code
PGAPPNAME, Environment Variables
pgbench, pgbench
PGcancel, Canceling Queries in Progress
PGCHANNELBINDING, Environment Variables
PGCLIENTENCODING, Environment Variables
PGconn, Database Connection Control Functions
PGCONNECT_TIMEOUT, Environment Variables
pgcrypto, pgcrypto
PGDATA, Creating a Database Cluster
PGDATABASE, Environment Variables
PGDATESTYLE, Environment Variables
PGEventProc, Event Callback Procedure
PGGEQO, Environment Variables
PGGSSENCMODE, Environment Variables
PGGSSLIB, Environment Variables
PGHOST, Environment Variables
PGHOSTADDR, Environment Variables
PGKRBSRVNAME, Environment Variables
PGLOCALEDIR, Environment Variables
PGOPTIONS, Environment Variables
PGPASSFILE, Environment Variables
PGPASSWORD, Environment Variables
PGPORT, Environment Variables
pgp_armor_headers, pgp_armor_headers
pgp_key_id, pgp_key_id()
pgp_pub_decrypt, pgp_pub_decrypt()
pgp_pub_decrypt_bytea, pgp_pub_decrypt()
pgp_pub_encrypt, pgp_pub_encrypt()
pgp_pub_encrypt_bytea, pgp_pub_encrypt()
pgp_sym_decrypt, pgp_sym_decrypt()
pgp_sym_decrypt_bytea, pgp_sym_decrypt()
pgp_sym_encrypt, pgp_sym_encrypt()
pgp_sym_encrypt_bytea, pgp_sym_encrypt()
PGREQUIREPEER, Environment Variables
PGREQUIRESSL, Environment Variables
PGresult, Main Functions
pgrowlocks, pgrowlocks, Overview
PGSERVICE, Environment Variables
PGSERVICEFILE, Environment Variables
PGSSLCERT, Environment Variables
PGSSLCOMPRESSION, Environment Variables
PGSSLCRL, Environment Variables
PGSSLCRLDIR, Environment Variables
PGSSLKEY, Environment Variables
PGSSLMAXPROTOCOLVERSION, Environment Variables
PGSSLMINPROTOCOLVERSION, Environment Variables
PGSSLMODE, Environment Variables
PGSSLROOTCERT, Environment Variables
PGSSLSNI, Environment Variables
pgstatginindex, Functions
pgstathashindex, Functions
pgstatindex, Functions
pgstattuple, pgstattuple, Functions
pgstattuple_approx, Functions
PGSYSCONFDIR, Environment Variables
PGTARGETSESSIONATTRS, Environment Variables
PGTZ, Environment Variables
PGUSER, Environment Variables
pgxs, Extension Building Infrastructure
pg_advisory_lock, Advisory Lock Functions
pg_advisory_lock_shared, Advisory Lock Functions
pg_advisory_unlock, Advisory Lock Functions
pg_advisory_unlock_all, Advisory Lock Functions
pg_advisory_unlock_shared, Advisory Lock Functions
pg_advisory_xact_lock, Advisory Lock Functions
pg_advisory_xact_lock_shared, Advisory Lock Functions
pg_aggregate, pg_aggregate
pg_am, pg_am
pg_amcheck, pg_amcheck
pg_amop, pg_amop
pg_amproc, pg_amproc
pg_archivecleanup, pg_archivecleanup
pg_attrdef, pg_attrdef
pg_attribute, pg_attribute
pg_authid, pg_authid
pg_auth_members, pg_auth_members
pg_available_extensions, pg_available_extensions
pg_available_extension_versions, pg_available_extension_versions
pg_backend_memory_contexts, pg_backend_memory_contexts
pg_backend_pid, System Information Functions and Operators
pg_backup_start, Backup Control Functions
pg_backup_stop, Backup Control Functions
pg_basebackup, pg_basebackup
pg_blocking_pids, System Information Functions and Operators
pg_buffercache, pg_buffercache
pg_buffercache_pages, pg_buffercache
pg_cancel_backend, Server Signaling Functions
pg_cast, pg_cast
pg_char_to_encoding, System Information Functions and Operators
pg_checksums, pg_checksums
pg_class, pg_class
pg_client_encoding, String Functions and Operators
pg_collation, pg_collation
pg_collation_actual_version, Database Object Management Functions
pg_collation_is_visible, System Information Functions and Operators
PG_COLOR, When Color is Used
PG_COLORS, Configuring the Colors
pg_column_compression, Database Object Management Functions
pg_column_size, Database Object Management Functions
pg_config, pg_config, pg_config
with - ecpg, Processing Embedded SQL Programs
with libpq, Building libpq Programs
with user-defined C functions, Writing Code
pg_conf_load_time, System Information Functions and Operators
pg_constraint, pg_constraint
pg_controldata, pg_controldata
pg_control_checkpoint, System Information Functions and Operators
pg_control_init, System Information Functions and Operators
pg_control_recovery, System Information Functions and Operators
pg_control_system, System Information Functions and Operators
pg_conversion, pg_conversion
pg_conversion_is_visible, System Information Functions and Operators
pg_copy_logical_replication_slot, Replication Management Functions
pg_copy_physical_replication_slot, Replication Management Functions
pg_create_logical_replication_slot, Replication Management Functions
pg_create_physical_replication_slot, Replication Management Functions
pg_create_restore_point, Backup Control Functions
pg_ctl, Creating a Database Cluster, Starting the Database Server, pg_ctl
pg_current_logfile, System Information Functions and Operators
pg_current_snapshot, System Information Functions and Operators
pg_current_wal_flush_lsn, Backup Control Functions
pg_current_wal_insert_lsn, Backup Control Functions
pg_current_wal_lsn, Backup Control Functions
pg_current_xact_id, System Information Functions and Operators
pg_current_xact_id_if_assigned, System Information Functions and Operators
pg_cursors, pg_cursors
pg_database, Template Databases, pg_database
pg_database_collation_actual_version, Database Object Management Functions
pg_database_size, Database Object Management Functions
pg_db_role_setting, pg_db_role_setting
pg_ddl_command, Pseudo-Types
pg_default_acl, pg_default_acl
pg_depend, pg_depend
pg_describe_object, System Information Functions and Operators
pg_description, pg_description
pg_drop_replication_slot, Replication Management Functions
pg_dump, pg_dump
pg_dumpall, pg_dumpall
use during upgrade, Upgrading Data via pg_dumpall
pg_encoding_to_char, System Information Functions and Operators
pg_enum, pg_enum
pg_event_trigger, pg_event_trigger
pg_event_trigger_ddl_commands, Capturing Changes at Command End
pg_event_trigger_dropped_objects, Processing Objects Dropped by a DDL Command
pg_event_trigger_table_rewrite_oid, Handling a Table Rewrite Event
pg_event_trigger_table_rewrite_reason, Handling a Table Rewrite Event
pg_export_snapshot, Snapshot Synchronization Functions
pg_extension, pg_extension
pg_extension_config_dump, Extension Configuration Tables
pg_filenode_relation, Database Object Management Functions
pg_file_rename, adminpack
pg_file_settings, pg_file_settings
pg_file_sync, adminpack
pg_file_unlink, adminpack
pg_file_write, adminpack
pg_foreign_data_wrapper, pg_foreign_data_wrapper
pg_foreign_server, pg_foreign_server
pg_foreign_table, pg_foreign_table
pg_freespace, Functions
pg_freespacemap, pg_freespacemap
pg_function_is_visible, System Information Functions and Operators
pg_get_catalog_foreign_keys, System Information Functions and Operators
pg_get_constraintdef, System Information Functions and Operators
pg_get_expr, System Information Functions and Operators
pg_get_functiondef, System Information Functions and Operators
pg_get_function_arguments, System Information Functions and Operators
pg_get_function_identity_arguments, System Information Functions and Operators
pg_get_function_result, System Information Functions and Operators
pg_get_indexdef, System Information Functions and Operators
pg_get_keywords, System Information Functions and Operators
pg_get_multixact_members, System Information Functions and Operators
pg_get_object_address, System Information Functions and Operators
pg_get_partition_constraintdef, System Information Functions and Operators
pg_get_ruledef, System Information Functions and Operators
pg_get_serial_sequence, System Information Functions and Operators
pg_get_statisticsobjdef, System Information Functions and Operators
pg_get_triggerdef, System Information Functions and Operators
pg_get_userbyid, System Information Functions and Operators
pg_get_viewdef, System Information Functions and Operators
pg_get_wal_replay_pause_state, Recovery Control Functions
pg_get_wal_resource_managers, Recovery Control Functions
pg_group, pg_group
pg_has_role, System Information Functions and Operators
pg_hba.conf, The pg_hba.conf File
pg_hba_file_rules, pg_hba_file_rules
pg_ident.conf, User Name Maps
pg_identify_object, System Information Functions and Operators
pg_identify_object_as_address, System Information Functions and Operators
pg_ident_file_mappings, pg_ident_file_mappings
pg_import_system_collations, Database Object Management Functions
pg_index, pg_index
pg_indexam_has_property, System Information Functions and Operators
pg_indexes, pg_indexes
pg_indexes_size, Database Object Management Functions
pg_index_column_has_property, System Information Functions and Operators
pg_index_has_property, System Information Functions and Operators
pg_inherits, pg_inherits
pg_init_privs, pg_init_privs
pg_isready, pg_isready
pg_is_in_recovery, Recovery Control Functions
pg_is_other_temp_schema, System Information Functions and Operators
pg_is_wal_replay_paused, Recovery Control Functions
pg_jit_available, System Information Functions and Operators
pg_language, pg_language
pg_largeobject, pg_largeobject
pg_largeobject_metadata, pg_largeobject_metadata
pg_last_committed_xact, System Information Functions and Operators
pg_last_wal_receive_lsn, Recovery Control Functions
pg_last_wal_replay_lsn, Recovery Control Functions
pg_last_xact_replay_timestamp, Recovery Control Functions
pg_listening_channels, System Information Functions and Operators
pg_locks, pg_locks
pg_logdir_ls, adminpack
pg_logical_emit_message, Replication Management Functions
pg_logical_slot_get_binary_changes, Replication Management Functions
pg_logical_slot_get_changes, Replication Management Functions
pg_logical_slot_peek_binary_changes, Replication Management Functions
pg_logical_slot_peek_changes, Replication Management Functions
pg_log_backend_memory_contexts, Server Signaling Functions
pg_lsn, pg_lsn Type
pg_ls_archive_statusdir, Generic File Access Functions
pg_ls_dir, Generic File Access Functions
pg_ls_logdir, Generic File Access Functions
pg_ls_logicalmapdir, Generic File Access Functions
pg_ls_logicalsnapdir, Generic File Access Functions
pg_ls_replslotdir, Generic File Access Functions
pg_ls_tmpdir, Generic File Access Functions
pg_ls_waldir, Generic File Access Functions
pg_matviews, pg_matviews
pg_mcv_list_items, Inspecting MCV Lists
pg_my_temp_schema, System Information Functions and Operators
pg_namespace, pg_namespace
pg_notification_queue_usage, System Information Functions and Operators
pg_notify, pg_notify
pg_opclass, pg_opclass
pg_opclass_is_visible, System Information Functions and Operators
pg_operator, pg_operator
pg_operator_is_visible, System Information Functions and Operators
pg_opfamily, pg_opfamily
pg_opfamily_is_visible, System Information Functions and Operators
pg_options_to_table, System Information Functions and Operators
pg_parameter_acl, pg_parameter_acl
pg_partitioned_table, pg_partitioned_table
pg_partition_ancestors, Database Object Management Functions
pg_partition_root, Database Object Management Functions
pg_partition_tree, Database Object Management Functions
pg_policies, pg_policies
pg_policy, pg_policy
pg_postmaster_start_time, System Information Functions and Operators
pg_prepared_statements, pg_prepared_statements
pg_prepared_xacts, pg_prepared_xacts
pg_prewarm, pg_prewarm
pg_prewarm.autoprewarm configuration parameter, Configuration Parameters
pg_prewarm.autoprewarm_interval configuration parameter, Configuration Parameters
pg_proc, pg_proc
pg_promote, Recovery Control Functions
pg_publication, pg_publication
pg_publication_namespace, pg_publication_namespace
pg_publication_rel, pg_publication_rel
pg_publication_tables, pg_publication_tables
pg_range, pg_range
pg_read_binary_file, Generic File Access Functions
pg_read_file, Generic File Access Functions
pg_receivewal, pg_receivewal
pg_receivexlog, pg_receivexlog renamed to pg_receivewal (see pg_receivewal)
pg_recvlogical, pg_recvlogical
pg_relation_filenode, Database Object Management Functions
pg_relation_filepath, Database Object Management Functions
pg_relation_size, Database Object Management Functions
pg_reload_conf, Server Signaling Functions
pg_relpages, Functions
pg_replication_origin, pg_replication_origin
pg_replication_origin_advance, Replication Management Functions
pg_replication_origin_create, Replication Management Functions
pg_replication_origin_drop, Replication Management Functions
pg_replication_origin_oid, Replication Management Functions
pg_replication_origin_progress, Replication Management Functions
pg_replication_origin_session_is_setup, Replication Management Functions
pg_replication_origin_session_progress, Replication Management Functions
pg_replication_origin_session_reset, Replication Management Functions
pg_replication_origin_session_setup, Replication Management Functions
pg_replication_origin_status, pg_replication_origin_status
pg_replication_origin_xact_reset, Replication Management Functions
pg_replication_origin_xact_setup, Replication Management Functions
pg_replication_slots, pg_replication_slots
pg_replication_slot_advance, Replication Management Functions
pg_resetwal, pg_resetwal
pg_resetxlog, pg_resetxlog renamed to pg_resetwal (see pg_resetwal)
pg_restore, pg_restore
pg_rewind, pg_rewind
pg_rewrite, pg_rewrite
pg_roles, pg_roles
pg_rotate_logfile, Server Signaling Functions
pg_rules, pg_rules
pg_safe_snapshot_blocking_pids, System Information Functions and Operators
pg_seclabel, pg_seclabel
pg_seclabels, pg_seclabels
pg_sequence, pg_sequence
pg_sequences, pg_sequences
pg_service.conf, The Connection Service File
pg_settings, pg_settings
pg_settings_get_flags, System Information Functions and Operators
pg_shadow, pg_shadow
pg_shdepend, pg_shdepend
pg_shdescription, pg_shdescription
pg_shmem_allocations, pg_shmem_allocations
pg_shseclabel, pg_shseclabel
pg_size_bytes, Database Object Management Functions
pg_size_pretty, Database Object Management Functions
pg_sleep, Delaying Execution
pg_sleep_for, Delaying Execution
pg_sleep_until, Delaying Execution
pg_snapshot_xip, System Information Functions and Operators
pg_snapshot_xmax, System Information Functions and Operators
pg_snapshot_xmin, System Information Functions and Operators
pg_statio_all_indexes, Viewing Statistics, pg_statio_all_indexes
pg_statio_all_sequences, Viewing Statistics, pg_statio_all_sequences
pg_statio_all_tables, Viewing Statistics, pg_statio_all_tables
pg_statio_sys_indexes, Viewing Statistics
pg_statio_sys_sequences, Viewing Statistics
pg_statio_sys_tables, Viewing Statistics
pg_statio_user_indexes, Viewing Statistics
pg_statio_user_sequences, Viewing Statistics
pg_statio_user_tables, Viewing Statistics
pg_statistic, Single-Column Statistics, pg_statistic
pg_statistics_obj_is_visible, System Information Functions and Operators
pg_statistic_ext, Extended Statistics, pg_statistic_ext
pg_statistic_ext_data, Extended Statistics, pg_statistic_ext
pg_stats, Single-Column Statistics, pg_stats
pg_stats_ext, pg_stats_ext
pg_stats_ext_exprs, pg_stats_ext_exprs
pg_stat_activity, Viewing Statistics, pg_stat_activity
pg_stat_all_indexes, Viewing Statistics, pg_stat_all_indexes
pg_stat_all_tables, Viewing Statistics, pg_stat_all_tables
pg_stat_archiver, Viewing Statistics, pg_stat_archiver
pg_stat_bgwriter, Viewing Statistics, pg_stat_bgwriter
pg_stat_clear_snapshot, Statistics Functions
pg_stat_database, Viewing Statistics, pg_stat_database
pg_stat_database_conflicts, Viewing Statistics, pg_stat_database_conflicts
pg_stat_file, Generic File Access Functions
pg_stat_get_activity, Statistics Functions
pg_stat_get_backend_activity, Statistics Functions
pg_stat_get_backend_activity_start, Statistics Functions
pg_stat_get_backend_client_addr, Statistics Functions
pg_stat_get_backend_client_port, Statistics Functions
pg_stat_get_backend_dbid, Statistics Functions
pg_stat_get_backend_idset, Statistics Functions
pg_stat_get_backend_pid, Statistics Functions
pg_stat_get_backend_start, Statistics Functions
pg_stat_get_backend_userid, Statistics Functions
pg_stat_get_backend_wait_event, Statistics Functions
pg_stat_get_backend_wait_event_type, Statistics Functions
pg_stat_get_backend_xact_start, Statistics Functions
pg_stat_get_snapshot_timestamp, Statistics Functions
pg_stat_get_xact_blocks_fetched, Statistics Functions
pg_stat_get_xact_blocks_hit, Statistics Functions
pg_stat_gssapi, Viewing Statistics, pg_stat_gssapi
pg_stat_progress_analyze, Viewing Statistics, ANALYZE Progress Reporting
pg_stat_progress_basebackup, Viewing Statistics, Base Backup Progress Reporting
pg_stat_progress_cluster, Viewing Statistics, CLUSTER Progress Reporting
pg_stat_progress_copy, Viewing Statistics, COPY Progress Reporting
pg_stat_progress_create_index, Viewing Statistics, CREATE INDEX Progress Reporting
pg_stat_progress_vacuum, Viewing Statistics, VACUUM Progress Reporting
pg_stat_recovery_prefetch, Viewing Statistics, pg_stat_recovery_prefetch
pg_stat_replication, Viewing Statistics, pg_stat_replication
pg_stat_replication_slots, Viewing Statistics, pg_stat_replication_slots
pg_stat_reset, Statistics Functions
pg_stat_reset_replication_slot, Statistics Functions
pg_stat_reset_shared, Statistics Functions
pg_stat_reset_single_function_counters, Statistics Functions
pg_stat_reset_single_table_counters, Statistics Functions
pg_stat_reset_slru, Statistics Functions
pg_stat_reset_subscription_stats, Statistics Functions
pg_stat_slru, Viewing Statistics, pg_stat_slru
pg_stat_ssl, Viewing Statistics, pg_stat_ssl
pg_stat_statements, pg_stat_statements
function, Functions
pg_stat_statements.max configuration parameter, Configuration Parameters
pg_stat_statements.save configuration parameter, Configuration Parameters
pg_stat_statements.track configuration parameter, Configuration Parameters
pg_stat_statements.track_planning configuration parameter, Configuration Parameters
pg_stat_statements.track_utility configuration parameter, Configuration Parameters
pg_stat_statements_info, The pg_stat_statements_info View
pg_stat_statements_reset, Functions
pg_stat_subscription, Viewing Statistics, pg_stat_subscription
pg_stat_subscription_stats, Viewing Statistics, pg_stat_subscription_stats
pg_stat_sys_indexes, Viewing Statistics
pg_stat_sys_tables, Viewing Statistics
pg_stat_user_functions, Viewing Statistics, pg_stat_user_functions
pg_stat_user_indexes, Viewing Statistics
pg_stat_user_tables, Viewing Statistics
pg_stat_wal, Viewing Statistics, pg_stat_wal
pg_stat_wal_receiver, Viewing Statistics, pg_stat_wal_receiver
pg_stat_xact_all_tables, Viewing Statistics
pg_stat_xact_sys_tables, Viewing Statistics
pg_stat_xact_user_functions, Viewing Statistics
pg_stat_xact_user_tables, Viewing Statistics
pg_subscription, pg_subscription
pg_subscription_rel, pg_subscription_rel
pg_surgery, pg_surgery
pg_switch_wal, Backup Control Functions
pg_tables, pg_tables
pg_tablespace, pg_tablespace
pg_tablespace_databases, System Information Functions and Operators
pg_tablespace_location, System Information Functions and Operators
pg_tablespace_size, Database Object Management Functions
pg_table_is_visible, System Information Functions and Operators
pg_table_size, Database Object Management Functions
pg_temp, Statement Behavior
securing functions, Writing SECURITY DEFINER Functions Safely
pg_terminate_backend, Server Signaling Functions
pg_test_fsync, pg_test_fsync
pg_test_timing, pg_test_timing
pg_timezone_abbrevs, pg_timezone_abbrevs
pg_timezone_names, pg_timezone_names
pg_total_relation_size, Database Object Management Functions
pg_transform, pg_transform
pg_trgm, pg_trgm
pg_trgm.similarity_threshold configuration parameter, GUC Parameters
pg_trgm.strict_word_similarity_threshold configuration parameter, GUC Parameters
pg_trgm.word_similarity_threshold configuration parameter, GUC Parameters
pg_trigger, pg_trigger
pg_trigger_depth, System Information Functions and Operators
pg_try_advisory_lock, Advisory Lock Functions
pg_try_advisory_lock_shared, Advisory Lock Functions
pg_try_advisory_xact_lock, Advisory Lock Functions
pg_try_advisory_xact_lock_shared, Advisory Lock Functions
pg_ts_config, pg_ts_config
pg_ts_config_is_visible, System Information Functions and Operators
pg_ts_config_map, pg_ts_config_map
pg_ts_dict, pg_ts_dict
pg_ts_dict_is_visible, System Information Functions and Operators
pg_ts_parser, pg_ts_parser
pg_ts_parser_is_visible, System Information Functions and Operators
pg_ts_template, pg_ts_template
pg_ts_template_is_visible, System Information Functions and Operators
pg_type, pg_type
pg_typeof, System Information Functions and Operators
pg_type_is_visible, System Information Functions and Operators
pg_upgrade, pg_upgrade
pg_user, pg_user
pg_user_mapping, pg_user_mapping
pg_user_mappings, pg_user_mappings
pg_verifybackup, pg_verifybackup
pg_views, pg_views
pg_visibility, pg_visibility
pg_visible_in_snapshot, System Information Functions and Operators
pg_waldump, pg_waldump
pg_walfile_name, Backup Control Functions
pg_walfile_name_offset, Backup Control Functions
pg_walinspect, pg_walinspect
pg_wal_lsn_diff, Backup Control Functions
pg_wal_replay_pause, Recovery Control Functions
pg_wal_replay_resume, Recovery Control Functions
pg_xact_commit_timestamp, System Information Functions and Operators
pg_xact_commit_timestamp_origin, System Information Functions and Operators
pg_xact_status, System Information Functions and Operators
pg_xlogdump, pg_xlogdump renamed to pg_waldump (see pg_waldump)
phantom read, Transaction Isolation
phraseto_tsquery, Text Search Functions and Operators, Parsing Queries
pi, Mathematical Functions and Operators
PIC, Compiling and Linking Dynamically-Loaded Functions
PID
determining PID of server process
in libpq, Connection Status Functions
pipelining, Pipeline Mode, Pipelining
in libpq, Pipeline Mode
protocol specification, Pipelining
PITR, Backup and Restore
PITR standby, High Availability, Load Balancing, and Replication
pkg-config, PostgreSQL Features
with + Z

A

abbrev, Network Address Functions and Operators
ABORT, ABORT
abs, Mathematical Functions and Operators
ACL, Privileges
aclcontains, System Information Functions and Operators
acldefault, System Information Functions and Operators
aclexplode, System Information Functions and Operators
aclitem, Privileges
aclitemeq, System Information Functions and Operators
acos, Mathematical Functions and Operators
acosd, Mathematical Functions and Operators
acosh, Mathematical Functions and Operators
administration tools
externally maintained, Administration Tools
adminpack, adminpack
advisory lock, Advisory Locks
age, Date/Time Functions and Operators, System Information Functions and Operators
aggregate function, Aggregate Functions, Aggregate Expressions, Aggregate Functions, User-Defined Aggregates
built-in, Aggregate Functions
invocation, Aggregate Expressions
moving aggregate, Moving-Aggregate Mode
ordered set, Ordered-Set Aggregates
partial aggregation, Partial Aggregation
polymorphic, Polymorphic and Variadic Aggregates
support functions for, Support Functions for Aggregates
user-defined, User-Defined Aggregates
variadic, Polymorphic and Variadic Aggregates
AIX, AIX
installation on, AIX
IPC configuration, Shared Memory and Semaphores
akeys, hstore Operators and Functions
alias, Table and Column Aliases, Column Labels
for table name in query, Joins Between Tables
in the FROM clause, Table and Column Aliases
in the select list, Column Labels
ALL, GROUPING SETS, CUBE, and ROLLUP, DISTINCT, Subquery Expressions, Row and Array Comparisons
GROUP BY ALL, GROUPING SETS, CUBE, and ROLLUP
SELECT ALL, DISTINCT
allow_in_place_tablespaces configuration parameter, Developer Options
allow_system_table_mods configuration parameter, Developer Options
ALTER AGGREGATE, ALTER AGGREGATE
ALTER COLLATION, ALTER COLLATION
ALTER CONVERSION, ALTER CONVERSION
ALTER DATABASE, ALTER DATABASE
ALTER DEFAULT PRIVILEGES, ALTER DEFAULT PRIVILEGES
ALTER DOMAIN, ALTER DOMAIN
ALTER EVENT TRIGGER, ALTER EVENT TRIGGER
ALTER EXTENSION, ALTER EXTENSION
ALTER FOREIGN DATA WRAPPER, ALTER FOREIGN DATA WRAPPER
ALTER FOREIGN TABLE, ALTER FOREIGN TABLE
ALTER FUNCTION, ALTER FUNCTION
ALTER GROUP, ALTER GROUP
ALTER INDEX, ALTER INDEX
ALTER LANGUAGE, ALTER LANGUAGE
ALTER LARGE OBJECT, ALTER LARGE OBJECT
ALTER MATERIALIZED VIEW, ALTER MATERIALIZED VIEW
ALTER OPERATOR, ALTER OPERATOR
ALTER OPERATOR CLASS, ALTER OPERATOR CLASS
ALTER OPERATOR FAMILY, ALTER OPERATOR FAMILY
ALTER POLICY, ALTER POLICY
ALTER PROCEDURE, ALTER PROCEDURE
ALTER PUBLICATION, ALTER PUBLICATION
ALTER ROLE, Role Attributes, ALTER ROLE
ALTER ROUTINE, ALTER ROUTINE
ALTER RULE, ALTER RULE
ALTER SCHEMA, ALTER SCHEMA
ALTER SEQUENCE, ALTER SEQUENCE
ALTER SERVER, ALTER SERVER
ALTER STATISTICS, ALTER STATISTICS
ALTER SUBSCRIPTION, ALTER SUBSCRIPTION
ALTER SYSTEM, ALTER SYSTEM
ALTER TABLE, ALTER TABLE
ALTER TABLESPACE, ALTER TABLESPACE
ALTER TEXT SEARCH CONFIGURATION, ALTER TEXT SEARCH CONFIGURATION
ALTER TEXT SEARCH DICTIONARY, ALTER TEXT SEARCH DICTIONARY
ALTER TEXT SEARCH PARSER, ALTER TEXT SEARCH PARSER
ALTER TEXT SEARCH TEMPLATE, ALTER TEXT SEARCH TEMPLATE
ALTER TRIGGER, ALTER TRIGGER
ALTER TYPE, ALTER TYPE
ALTER USER, ALTER USER
ALTER USER MAPPING, ALTER USER MAPPING
ALTER VIEW, ALTER VIEW
amcheck, amcheck
ANALYZE, Updating Planner Statistics, ANALYZE
AND (operator), Logical Operators
anonymous code blocks, DO
any, Pseudo-Types
ANY, Aggregate Functions, Subquery Expressions, Row and Array Comparisons
anyarray, Pseudo-Types
anycompatible, Pseudo-Types
anycompatiblearray, Pseudo-Types
anycompatiblemultirange, Pseudo-Types
anycompatiblenonarray, Pseudo-Types
anycompatiblerange, Pseudo-Types
anyelement, Pseudo-Types
anyenum, Pseudo-Types
anymultirange, Pseudo-Types
anynonarray, Pseudo-Types
anyrange, Pseudo-Types
applicable role, applicable_roles
application_name configuration parameter, What to Log
arbitrary precision numbers, Arbitrary Precision Numbers
Archive Modules, Archive Modules
archive_cleanup_command configuration parameter, Archive Recovery
archive_command configuration parameter, Archiving
archive_library configuration parameter, Archiving
archive_mode configuration parameter, Archiving
archive_timeout configuration parameter, Archiving
area, Geometric Functions and Operators
armor, armor(), dearmor()
array, Arrays
accessing, Accessing Arrays
constant, Array Value Input
constructor, Array Constructors
declaration, Declaration of Array Types
I/O, Array Input and Output Syntax
modifying, Modifying Arrays
of user-defined type, User-Defined Types
searching, Searching in Arrays
ARRAY, Array Constructors, UNION, CASE, and Related Constructs
determination of result type, UNION, CASE, and Related Constructs
array_agg, Aggregate Functions, Functions
array_append, Array Functions and Operators
array_cat, Array Functions and Operators
array_dims, Array Functions and Operators
array_fill, Array Functions and Operators
array_length, Array Functions and Operators
array_lower, Array Functions and Operators
array_ndims, Array Functions and Operators
array_nulls configuration parameter, Previous PostgreSQL Versions
array_position, Array Functions and Operators
array_positions, Array Functions and Operators
array_prepend, Array Functions and Operators
array_remove, Array Functions and Operators
array_replace, Array Functions and Operators
array_to_json, Processing and Creating JSON Data
array_to_string, Array Functions and Operators
array_to_tsvector, Text Search Functions and Operators
array_upper, Array Functions and Operators
ascii, String Functions and Operators
asin, Mathematical Functions and Operators
asind, Mathematical Functions and Operators
asinh, Mathematical Functions and Operators
ASSERT
in PL/pgSQL, Checking Assertions
assertions
in PL/pgSQL, Checking Assertions
asynchronous commit, Asynchronous Commit
AT TIME ZONE, AT TIME ZONE
atan, Mathematical Functions and Operators
atan2, Mathematical Functions and Operators
atan2d, Mathematical Functions and Operators
atand, Mathematical Functions and Operators
atanh, Mathematical Functions and Operators
authentication_timeout configuration parameter, Authentication
auth_delay, auth_delay
auth_delay.milliseconds configuration parameter, Configuration Parameters
auto-increment (see serial)
autocommit
bulk-loading data, Disable Autocommit
psql, Variables
autosummarize storage parameter, Index Storage Parameters
autovacuum
configuration parameters, Automatic Vacuuming
general information, The Autovacuum Daemon
autovacuum configuration parameter, Automatic Vacuuming
autovacuum_analyze_scale_factor
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_analyze_threshold
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_enabled storage parameter, Storage Parameters
autovacuum_freeze_max_age
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_freeze_min_age storage parameter, Storage Parameters
autovacuum_freeze_table_age storage parameter, Storage Parameters
autovacuum_max_workers configuration parameter, Automatic Vacuuming
autovacuum_multixact_freeze_max_age
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_multixact_freeze_min_age storage parameter, Storage Parameters
autovacuum_multixact_freeze_table_age storage parameter, Storage Parameters
autovacuum_naptime configuration parameter, Automatic Vacuuming
autovacuum_vacuum_cost_delay
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_vacuum_cost_limit
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_vacuum_insert_scale_factor
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_vacuum_insert_threshold
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_vacuum_scale_factor
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_vacuum_threshold
configuration parameter, Automatic Vacuuming
storage parameter, Storage Parameters
autovacuum_work_mem configuration parameter, Memory
auto_explain, auto_explain
auto_explain.log_analyze configuration parameter, Configuration Parameters
auto_explain.log_buffers configuration parameter, Configuration Parameters
auto_explain.log_format configuration parameter, Configuration Parameters
auto_explain.log_level configuration parameter, Configuration Parameters
auto_explain.log_min_duration configuration parameter, Configuration Parameters
auto_explain.log_nested_statements configuration parameter, Configuration Parameters
auto_explain.log_settings configuration parameter, Configuration Parameters
auto_explain.log_timing configuration parameter, Configuration Parameters
auto_explain.log_triggers configuration parameter, Configuration Parameters
auto_explain.log_verbose configuration parameter, Configuration Parameters
auto_explain.log_wal configuration parameter, Configuration Parameters
auto_explain.sample_rate configuration parameter, Configuration Parameters
avals, hstore Operators and Functions
average, Aggregate Functions
avg, Aggregate Functions

B

B-Tree (see index)
backend_flush_after configuration parameter, Asynchronous Behavior
Background workers, Background Worker Processes
backslash escapes, String Constants with C-Style Escapes
backslash_quote configuration parameter, Previous PostgreSQL Versions
backtrace_functions configuration parameter, Developer Options
backup, Backup Control Functions, Backup and Restore
Backup Manifest, Backup Manifest Format
base type, The PostgreSQL Type System
base64 format, Binary String Functions and Operators
basebackup_to_shell, basebackup_to_shell
basebackup_to_shell.command configuration parameter, Configuration Parameters
basebackup_to_shell.required_role configuration parameter, Configuration Parameters
BASE_BACKUP, Streaming Replication Protocol
basic_archive, basic_archive
basic_archive.archive_directory configuration parameter, Configuration Parameters
batch mode, Pipeline Mode
in libpq, Pipeline Mode
BEGIN, BEGIN
BETWEEN, Comparison Functions and Operators
BETWEEN SYMMETRIC, Comparison Functions and Operators
BGWORKER_BACKEND_​DATABASE_CONNECTION, Background Worker Processes
BGWORKER_SHMEM_ACCESS, Background Worker Processes
bgwriter_delay configuration parameter, Background Writer
bgwriter_flush_after configuration parameter, Background Writer
bgwriter_lru_maxpages configuration parameter, Background Writer
bgwriter_lru_multiplier configuration parameter, Background Writer
bigint, Numeric Constants, Integer Types
bigserial, Serial Types
binary data, Binary Data Types, Binary String Functions and Operators
functions, Binary String Functions and Operators
binary string
concatenation, Binary String Functions and Operators
converting to character string, Binary String Functions and Operators
length, Binary String Functions and Operators
bison, Requirements
bit string, Bit-String Constants, Bit String Types
constant, Bit-String Constants
data type, Bit String Types
length, Bit String Functions and Operators
bit strings, Bit String Functions and Operators
functions, Bit String Functions and Operators
bitmap scan, Combining Multiple Indexes, Planner Method Configuration
bit_and, Aggregate Functions
bit_count, Binary String Functions and Operators, Bit String Functions and Operators
bit_length, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators
bit_or, Aggregate Functions
bit_xor, Aggregate Functions
BLOB (see large object)
block_size configuration parameter, Preset Options
bloom, bloom
bonjour configuration parameter, Connection Settings
bonjour_name configuration parameter, Connection Settings
Boolean, Boolean Type
data type, Boolean Type
operators (see operators, logical)
bool_and, Aggregate Functions
bool_or, Aggregate Functions
booting
starting the server during, Starting the Database Server
bound_box, Geometric Functions and Operators
box, Geometric Functions and Operators
box (data type), Boxes
BRIN (see index)
brin_desummarize_range, Index Maintenance Functions
brin_metapage_info, BRIN Functions
brin_page_items, BRIN Functions
brin_page_type, BRIN Functions
brin_revmap_data, BRIN Functions
brin_summarize_new_values, Index Maintenance Functions
brin_summarize_range, Index Maintenance Functions
broadcast, Network Address Functions and Operators
BSD Authentication, BSD Authentication
btree_gin, btree_gin
btree_gist, btree_gist
btrim, String Functions and Operators, Binary String Functions and Operators
bt_index_check, Functions
bt_index_parent_check, Functions
bt_metap, B-Tree Functions
bt_page_items, B-Tree Functions
bt_page_stats, B-Tree Functions
buffering storage parameter, Index Storage Parameters
bytea, Binary Data Types
bytea_output configuration parameter, Statement Behavior

C

C, libpq — C Library, ECPG — Embedded SQL in C
C++, Using C++ for Extensibility
CALL, CALL
canceling, Canceling Queries in Progress
SQL command, Canceling Queries in Progress
cardinality, Array Functions and Operators
CASCADE, Dependency Tracking
with DROP, Dependency Tracking
foreign key action, Foreign Keys
Cascading Replication, High Availability, Load Balancing, and Replication
CASE, Conditional Expressions, UNION, CASE, and Related Constructs
determination of result type, UNION, CASE, and Related Constructs
case sensitivity
of SQL commands, Identifiers and Key Words
cast, CREATE CAST
I/O conversion, CREATE CAST
cbrt, Mathematical Functions and Operators
ceil, Mathematical Functions and Operators
ceiling, Mathematical Functions and Operators
center, Geometric Functions and Operators
Certificate, Certificate Authentication
chained transactions, Transaction Management, Parameters, Parameters
in PL/pgSQL, Transaction Management
char, Character Types
character, Character Types
character set, Locale and Formatting, Preset Options, Character Set Support
character string, String Constants, Character Types
concatenation, String Functions and Operators
constant, String Constants
converting to binary string, Binary String Functions and Operators
data types, Character Types
length, String Functions and Operators
prefix test, String Functions and Operators
character varying, Character Types
character_length, String Functions and Operators
char_length, String Functions and Operators
check constraint, Check Constraints
CHECK OPTION, CREATE VIEW
checkpoint, WAL Configuration
CHECKPOINT, CHECKPOINT
checkpoint_completion_target configuration parameter, Checkpoints
checkpoint_flush_after configuration parameter, Checkpoints
checkpoint_timeout configuration parameter, Checkpoints
checkpoint_warning configuration parameter, Checkpoints
checksums, Data Checksums
check_function_bodies configuration parameter, Statement Behavior
chr, String Functions and Operators
cid, Object Identifier Types
cidr, cidr
circle, Circles, Geometric Functions and Operators
citext, citext
client authentication, Client Authentication
timeout during, Authentication
client_connection_check_interval configuration parameter, Connection Settings
client_encoding configuration parameter, Locale and Formatting
client_min_messages configuration parameter, Statement Behavior
clock_timestamp, Date/Time Functions and Operators
CLOSE, CLOSE
cluster
of databases (see database cluster)
CLUSTER, CLUSTER
clusterdb, clusterdb
clustering, High Availability, Load Balancing, and Replication
cluster_name configuration parameter, Process Title
cmax, System Columns
cmin, System Columns
COALESCE, COALESCE
COLLATE, Collation Expressions
collation, Collation Support
in PL/pgSQL, Collation of PL/pgSQL Variables
in SQL functions, SQL Functions with Collations
COLLATION FOR, System Information Functions and Operators
color, Color Support
column, Concepts, Table Basics
adding, Adding a Column
removing, Removing a Column
renaming, Renaming a Column
system column, System Columns
column data type
changing, Changing a Column's Data Type
column reference, Column References
col_description, System Information Functions and Operators
comment, Comments
about database objects, System Information Functions and Operators
in SQL, Comments
COMMENT, COMMENT
COMMIT, COMMIT
COMMIT PREPARED, COMMIT PREPARED
commit_delay configuration parameter, Settings
commit_siblings configuration parameter, Settings
common table expression (see WITH)
comparison, Comparison Functions and Operators, Subquery Expressions
composite type, Row and Array Comparisons
operators, Comparison Functions and Operators
row constructor, Row and Array Comparisons
subquery result row, Subquery Expressions
compiling, Building libpq Programs
libpq applications, Building libpq Programs
composite type, Composite Types, The PostgreSQL Type System
comparison, Row and Array Comparisons
constant, Constructing Composite Values
constructor, Row Constructors
computed field, Using Composite Types in Queries
compute_query_id configuration parameter, Statistics Monitoring
concat, String Functions and Operators
concat_ws, String Functions and Operators
concurrency, Concurrency Control
conditional expression, Conditional Expressions
configuration
of recovery
general settings, Recovery
of a standby server, Archive Recovery
of the server, Server Configuration
of the server
functions, Configuration Settings Functions
configure, Installation Procedure
configure environment variables, configure Environment Variables
configure options, configure Options
config_file configuration parameter, File Locations
conjunction, Logical Operators
connectby, Functions Provided, connectby
connection service file, The Connection Service File
conninfo, Connection Strings
constant, Constants
constraint, Constraints
adding, Adding a Constraint
check, Check Constraints
exclusion, Exclusion Constraints
foreign key, Foreign Keys
name, Check Constraints
NOT NULL, Not-Null Constraints
primary key, Primary Keys
removing, Removing a Constraint
unique, Unique Constraints
constraint exclusion, Partitioning and Constraint Exclusion, Other Planner Options
constraint_exclusion configuration parameter, Other Planner Options
container type, The PostgreSQL Type System
CONTINUE
in PL/pgSQL, CONTINUE
continuous archiving, Backup and Restore
in standby, Continuous Archiving in Standby
control file, Extension Files
convert, Binary String Functions and Operators
convert_from, Binary String Functions and Operators
convert_to, Binary String Functions and Operators
COPY, Populating a Table With Rows, Functions Associated with the COPY Command, COPY
with libpq, Functions Associated with the COPY Command
corr, Aggregate Functions
correlation, Aggregate Functions
in the query planner, Extended Statistics
cos, Mathematical Functions and Operators
cosd, Mathematical Functions and Operators
cosh, Mathematical Functions and Operators
cot, Mathematical Functions and Operators
cotd, Mathematical Functions and Operators
count, Aggregate Functions
covariance
population, Aggregate Functions
sample, Aggregate Functions
covar_pop, Aggregate Functions
covar_samp, Aggregate Functions
covering index, Index-Only Scans and Covering Indexes
cpu_index_tuple_cost configuration parameter, Planner Cost Constants
cpu_operator_cost configuration parameter, Planner Cost Constants
cpu_tuple_cost configuration parameter, Planner Cost Constants
CREATE ACCESS METHOD, CREATE ACCESS METHOD
CREATE AGGREGATE, CREATE AGGREGATE
CREATE CAST, CREATE CAST
CREATE COLLATION, CREATE COLLATION
CREATE CONVERSION, CREATE CONVERSION
CREATE DATABASE, Creating a Database, CREATE DATABASE
CREATE DOMAIN, CREATE DOMAIN
CREATE EVENT TRIGGER, CREATE EVENT TRIGGER
CREATE EXTENSION, CREATE EXTENSION
CREATE FOREIGN DATA WRAPPER, CREATE FOREIGN DATA WRAPPER
CREATE FOREIGN TABLE, CREATE FOREIGN TABLE
CREATE FUNCTION, CREATE FUNCTION
CREATE GROUP, CREATE GROUP
CREATE INDEX, CREATE INDEX
CREATE LANGUAGE, CREATE LANGUAGE
CREATE MATERIALIZED VIEW, CREATE MATERIALIZED VIEW
CREATE OPERATOR, CREATE OPERATOR
CREATE OPERATOR CLASS, CREATE OPERATOR CLASS
CREATE OPERATOR FAMILY, CREATE OPERATOR FAMILY
CREATE POLICY, CREATE POLICY
CREATE PROCEDURE, CREATE PROCEDURE
CREATE PUBLICATION, CREATE PUBLICATION
CREATE ROLE, Database Roles, CREATE ROLE
CREATE RULE, CREATE RULE
CREATE SCHEMA, CREATE SCHEMA
CREATE SEQUENCE, CREATE SEQUENCE
CREATE SERVER, CREATE SERVER
CREATE STATISTICS, CREATE STATISTICS
CREATE SUBSCRIPTION, CREATE SUBSCRIPTION
CREATE TABLE, Creating a New Table, CREATE TABLE
CREATE TABLE AS, CREATE TABLE AS
CREATE TABLESPACE, Tablespaces, CREATE TABLESPACE
CREATE TEXT SEARCH CONFIGURATION, CREATE TEXT SEARCH CONFIGURATION
CREATE TEXT SEARCH DICTIONARY, CREATE TEXT SEARCH DICTIONARY
CREATE TEXT SEARCH PARSER, CREATE TEXT SEARCH PARSER
CREATE TEXT SEARCH TEMPLATE, CREATE TEXT SEARCH TEMPLATE
CREATE TRANSFORM, CREATE TRANSFORM
CREATE TRIGGER, CREATE TRIGGER
CREATE TYPE, CREATE TYPE
CREATE USER, CREATE USER
CREATE USER MAPPING, CREATE USER MAPPING
CREATE VIEW, CREATE VIEW
createdb, Creating a Database, Creating a Database, createdb
createuser, Database Roles, createuser
CREATE_REPLICATION_SLOT, Streaming Replication Protocol
cross compilation, Build Process Details
cross join, Joined Tables
crosstab, crosstab(text), crosstabN(text), crosstab(text, text)
crypt, crypt()
cstring, Pseudo-Types
CSV (Comma-Separated Values) format
in psql, Meta-Commands
ctid, System Columns
CTID, View Rules in Non-SELECT Statements
CUBE, GROUPING SETS, CUBE, and ROLLUP
cube (extension), cube
cume_dist, Window Functions
hypothetical, Aggregate Functions
current_catalog, System Information Functions and Operators
current_database, System Information Functions and Operators
current_date, Date/Time Functions and Operators
current_logfiles
and the log_destination configuration parameter, Where to Log
and the pg_current_logfile function, System Information Functions and Operators
current_query, System Information Functions and Operators
current_role, System Information Functions and Operators
current_schema, System Information Functions and Operators
current_schemas, System Information Functions and Operators
current_setting, Configuration Settings Functions
current_time, Date/Time Functions and Operators
current_timestamp, Date/Time Functions and Operators
current_user, System Information Functions and Operators
currval, Sequence Manipulation Functions
cursor, Cursors, CLOSE, DECLARE, EXPLAIN, FETCH, MOVE
CLOSE, CLOSE
DECLARE, DECLARE
FETCH, FETCH
in PL/pgSQL, Cursors
MOVE, MOVE
showing the query plan, EXPLAIN
cursor_tuple_fraction configuration parameter, Other Planner Options
custom scan provider, Writing a Custom Scan Provider
handler for, Writing a Custom Scan Provider
Cygwin, Cygwin
installation on, Cygwin

D

data area (see database cluster)
data partitioning, High Availability, Load Balancing, and Replication
data type, Data Types, Numeric Types, Enumerated Types, Domain Types, Type Conversion, The PostgreSQL Type System, The PostgreSQL Type System, The PostgreSQL Type System, Polymorphic Types, Base Types in C-Language Functions, User-Defined Types
base, The PostgreSQL Type System
category, Overview
composite, The PostgreSQL Type System
constant, Constants of Other Types
container, The PostgreSQL Type System
conversion, Type Conversion
domain, Domain Types
enumerated (enum), Enumerated Types
internal organization, Base Types in C-Language Functions
numeric, Numeric Types
polymorphic, Polymorphic Types
type cast, Type Casts
user-defined, User-Defined Types
database, Creating a Database, Managing Databases
creating, Creating a Database
privilege to create, Role Attributes
database activity, Monitoring Database Activity
monitoring, Monitoring Database Activity
database cluster, Concepts, Creating a Database Cluster
data_checksums configuration parameter, Preset Options
data_directory configuration parameter, File Locations
data_directory_mode configuration parameter, Preset Options
data_sync_retry configuration parameter, Error Handling
date, Date/Time Types, Dates
constants, Special Values
current, Current Date/Time
output format, Date/Time Output
(see also formatting)
DateStyle configuration parameter, Locale and Formatting
date_bin, date_bin
date_part, Date/Time Functions and Operators, EXTRACT, date_part
date_trunc, Date/Time Functions and Operators, date_trunc
dblink, dblink, dblink
dblink_build_sql_delete, dblink_build_sql_delete
dblink_build_sql_insert, dblink_build_sql_insert
dblink_build_sql_update, dblink_build_sql_update
dblink_cancel_query, dblink_cancel_query
dblink_close, dblink_close
dblink_connect, dblink_connect
dblink_connect_u, dblink_connect_u
dblink_disconnect, dblink_disconnect
dblink_error_message, dblink_error_message
dblink_exec, dblink_exec
dblink_fetch, dblink_fetch
dblink_get_connections, dblink_get_connections
dblink_get_notify, dblink_get_notify
dblink_get_pkey, dblink_get_pkey
dblink_get_result, dblink_get_result
dblink_is_busy, dblink_is_busy
dblink_open, dblink_open
dblink_send_query, dblink_send_query
db_user_namespace configuration parameter, Authentication
deadlock, Deadlocks
timeout during, Lock Management
deadlock_timeout configuration parameter, Lock Management
DEALLOCATE, DEALLOCATE
dearmor, armor(), dearmor()
debug_assertions configuration parameter, Preset Options
debug_deadlocks configuration parameter, Developer Options
debug_discard_caches configuration parameter, Developer Options
debug_pretty_print configuration parameter, What to Log
debug_print_parse configuration parameter, What to Log
debug_print_plan configuration parameter, What to Log
debug_print_rewritten configuration parameter, What to Log
decimal (see numeric)
DECLARE, DECLARE
decode, Binary String Functions and Operators
decode_bytea
in PL/Perl, Utility Functions in PL/Perl
decrypt, Raw Encryption Functions
decrypt_iv, Raw Encryption Functions
deduplicate_items storage parameter, Index Storage Parameters
default value, Default Values
changing, Changing a Column's Default Value
default-roles, Default Roles Renamed to Predefined Roles
default_statistics_target configuration parameter, Other Planner Options
default_tablespace configuration parameter, Statement Behavior
default_table_access_method configuration parameter, Statement Behavior
default_text_search_config configuration parameter, Locale and Formatting
default_toast_compression configuration parameter, Statement Behavior
default_transaction_deferrable configuration parameter, Statement Behavior
default_transaction_isolation configuration parameter, Statement Behavior
default_transaction_read_only configuration parameter, Statement Behavior
deferrable transaction, Statement Behavior
setting, SET TRANSACTION
setting default, Statement Behavior
defined, hstore Operators and Functions
degrees, Mathematical Functions and Operators
delay, Delaying Execution
DELETE, Deletions, Deleting Data, Returning Data from Modified Rows, DELETE
RETURNING, Returning Data from Modified Rows
delete, hstore Operators and Functions
deleting, Deleting Data
dense_rank, Window Functions
hypothetical, Aggregate Functions
diagonal, Geometric Functions and Operators
diameter, Geometric Functions and Operators
dict_int, dict_int
dict_xsyn, dict_xsyn
difference, Soundex
digest, digest()
dirty read, Transaction Isolation
DISCARD, DISCARD
disjunction, Logical Operators
disk drive, WAL Internals
disk space, Recovering Disk Space
disk usage, Determining Disk Usage
DISTINCT, Querying a Table, GROUPING SETS, CUBE, and ROLLUP, DISTINCT
GROUP BY DISTINCT, GROUPING SETS, CUBE, and ROLLUP
SELECT DISTINCT, DISTINCT
div, Mathematical Functions and Operators
dmetaphone, Double Metaphone
dmetaphone_alt, Double Metaphone
DO, DO
document, What Is a Document?
text search, What Is a Document?
dollar quoting, Dollar-Quoted String Constants
domain, Domain Types
double precision, Floating-Point Types
DROP ACCESS METHOD, DROP ACCESS METHOD
DROP AGGREGATE, DROP AGGREGATE
DROP CAST, DROP CAST
DROP COLLATION, DROP COLLATION
DROP CONVERSION, DROP CONVERSION
DROP DATABASE, Destroying a Database, DROP DATABASE
DROP DOMAIN, DROP DOMAIN
DROP EVENT TRIGGER, DROP EVENT TRIGGER
DROP EXTENSION, DROP EXTENSION
DROP FOREIGN DATA WRAPPER, DROP FOREIGN DATA WRAPPER
DROP FOREIGN TABLE, DROP FOREIGN TABLE
DROP FUNCTION, DROP FUNCTION
DROP GROUP, DROP GROUP
DROP INDEX, DROP INDEX
DROP LANGUAGE, DROP LANGUAGE
DROP MATERIALIZED VIEW, DROP MATERIALIZED VIEW
DROP OPERATOR, DROP OPERATOR
DROP OPERATOR CLASS, DROP OPERATOR CLASS
DROP OPERATOR FAMILY, DROP OPERATOR FAMILY
DROP OWNED, DROP OWNED
DROP POLICY, DROP POLICY
DROP PROCEDURE, DROP PROCEDURE
DROP PUBLICATION, DROP PUBLICATION
DROP ROLE, Database Roles, DROP ROLE
DROP ROUTINE, DROP ROUTINE
DROP RULE, DROP RULE
DROP SCHEMA, DROP SCHEMA
DROP SEQUENCE, DROP SEQUENCE
DROP SERVER, DROP SERVER
DROP STATISTICS, DROP STATISTICS
DROP SUBSCRIPTION, DROP SUBSCRIPTION
DROP TABLE, Creating a New Table, DROP TABLE
DROP TABLESPACE, DROP TABLESPACE
DROP TEXT SEARCH CONFIGURATION, DROP TEXT SEARCH CONFIGURATION
DROP TEXT SEARCH DICTIONARY, DROP TEXT SEARCH DICTIONARY
DROP TEXT SEARCH PARSER, DROP TEXT SEARCH PARSER
DROP TEXT SEARCH TEMPLATE, DROP TEXT SEARCH TEMPLATE
DROP TRANSFORM, DROP TRANSFORM
DROP TRIGGER, DROP TRIGGER
DROP TYPE, DROP TYPE
DROP USER, DROP USER
DROP USER MAPPING, DROP USER MAPPING
DROP VIEW, DROP VIEW
dropdb, Destroying a Database, dropdb
dropuser, Database Roles, dropuser
DROP_REPLICATION_SLOT, Streaming Replication Protocol
DTD, Creating XML Values
DTrace, Developer Options, Dynamic Tracing
duplicate, Querying a Table
duplicates, DISTINCT
dynamic loading, Other Defaults, Dynamic Loading
dynamic_library_path, Dynamic Loading
dynamic_library_path configuration parameter, Other Defaults
dynamic_shared_memory_type configuration parameter, Memory

E

each, hstore Operators and Functions
earth, Cube-Based Earth Distances
earthdistance, earthdistance
earth_box, Cube-Based Earth Distances
earth_distance, Cube-Based Earth Distances
ECPG, ECPG — Embedded SQL in C
ecpg, ecpg
effective_cache_size configuration parameter, Planner Cost Constants
effective_io_concurrency configuration parameter, Asynchronous Behavior
elog, Reporting Errors Within the Server
in PL/Perl, Utility Functions in PL/Perl
in PL/Python, Utility Functions
in PL/Tcl, Database Access from PL/Tcl
embedded SQL, ECPG — Embedded SQL in C
in C, ECPG — Embedded SQL in C
enabled role, enabled_roles
enable_async_append configuration parameter, Planner Method Configuration
enable_bitmapscan configuration parameter, Planner Method Configuration
enable_gathermerge configuration parameter, Planner Method Configuration
enable_hashagg configuration parameter, Planner Method Configuration
enable_hashjoin configuration parameter, Planner Method Configuration
enable_incremental_sort configuration parameter, Planner Method Configuration
enable_indexonlyscan configuration parameter, Planner Method Configuration
enable_indexscan configuration parameter, Planner Method Configuration
enable_material configuration parameter, Planner Method Configuration
enable_memoize configuration parameter, Planner Method Configuration
enable_mergejoin configuration parameter, Planner Method Configuration
enable_nestloop configuration parameter, Planner Method Configuration
enable_parallel_append configuration parameter, Planner Method Configuration
enable_parallel_hash configuration parameter, Planner Method Configuration
enable_partitionwise_aggregate configuration parameter, Planner Method Configuration
enable_partitionwise_join configuration parameter, Planner Method Configuration
enable_partition_pruning configuration parameter, Planner Method Configuration
enable_seqscan configuration parameter, Planner Method Configuration
enable_sort configuration parameter, Planner Method Configuration
enable_tidscan configuration parameter, Planner Method Configuration
encode, Binary String Functions and Operators
encode_array_constructor
in PL/Perl, Utility Functions in PL/Perl
encode_array_literal
in PL/Perl, Utility Functions in PL/Perl
encode_bytea
in PL/Perl, Utility Functions in PL/Perl
encode_typed_literal
in PL/Perl, Utility Functions in PL/Perl
encrypt, Raw Encryption Functions
encryption, Encryption Options, pgcrypto
for specific columns, pgcrypto
encrypt_iv, Raw Encryption Functions
END, END
enumerated types, Enumerated Types
enum_first, Enum Support Functions
enum_last, Enum Support Functions
enum_range, Enum Support Functions
environment variable, Environment Variables
ephemeral named relation
registering with SPI, SPI_register_relation, SPI_register_trigger_data
unregistering from SPI, SPI_unregister_relation
ereport, Reporting Errors Within the Server
error codes, PostgreSQL Error Codes
libpq, Main Functions
list of, PostgreSQL Error Codes
error message, Connection Status Functions
escape format, Binary String Functions and Operators
escape string syntax, String Constants with C-Style Escapes
escape_string_warning configuration parameter, Previous PostgreSQL Versions
escaping strings, Escaping Strings for Inclusion in SQL Commands
in libpq, Escaping Strings for Inclusion in SQL Commands
event log, Registering Event Log on Windows
event log, Registering Event Log on Windows
event trigger, Event Triggers, Writing Event Trigger Functions in C
in C, Writing Event Trigger Functions in C
in PL/Tcl, Event Trigger Functions in PL/Tcl
event_source configuration parameter, Where to Log
event_trigger, Pseudo-Types
every, Aggregate Functions
EXCEPT, Combining Queries (UNION, INTERSECT, EXCEPT)
exceptions
in PL/pgSQL, Trapping Errors
in PL/Tcl, Error Handling in PL/Tcl
exclusion constraint, Exclusion Constraints
EXECUTE, EXECUTE
exist, hstore Operators and Functions
EXISTS, Subquery Expressions
EXIT
in PL/pgSQL, EXIT
exit_on_error configuration parameter, Error Handling
exp, Mathematical Functions and Operators
EXPLAIN, Using EXPLAIN, EXPLAIN
expression, Value Expressions
order of evaluation, Expression Evaluation Rules
syntax, Value Expressions
extending SQL, Extending SQL
extension, Packaging Related Objects into an Extension
externally maintained, Extensions
external_pid_file configuration parameter, File Locations
extract, Date/Time Functions and Operators, EXTRACT, date_part
extra_float_digits configuration parameter, Locale and Formatting

F

factorial, Mathematical Functions and Operators
failover, High Availability, Load Balancing, and Replication
false, Boolean Type
family, Network Address Functions and Operators
fast path, The Fast-Path Interface
fastupdate storage parameter, Index Storage Parameters
fdw_handler, Pseudo-Types
FETCH, FETCH
field
computed, Using Composite Types in Queries
field selection, Field Selection
file system mount points, Use of Secondary File Systems
file_fdw, file_fdw
fillfactor storage parameter, Index Storage Parameters, Storage Parameters
FILTER, Aggregate Expressions
first_value, Window Functions
flex, Requirements
float4 (see real)
float8 (see double precision)
floating point, Floating-Point Types
floating-point
display, Locale and Formatting
floor, Mathematical Functions and Operators
force_parallel_mode configuration parameter, Developer Options
foreign data, Foreign Data
foreign data wrapper, Writing a Foreign Data Wrapper
handler for, Writing a Foreign Data Wrapper
foreign key, Foreign Keys, Foreign Keys
self-referential, Foreign Keys
foreign table, Foreign Data
format, String Functions and Operators, format
use in PL/pgSQL, Executing Dynamic Commands
formatting, Data Type Formatting Functions
format_type, System Information Functions and Operators
Free Space Map, Free Space Map
FreeBSD
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
start script, Starting the Database Server
from_collapse_limit configuration parameter, Other Planner Options
FSM (see Free Space Map)
fsm_page_contents, General Functions
fsync configuration parameter, Settings
full text search, Text Search Types, Text Search Types, Full Text Search
data types, Text Search Types
functions and operators, Text Search Types
full_page_writes configuration parameter, Settings
function, Table Functions, Functions and Operators, Statistics Information Functions, Functions, Polymorphic Types, User-Defined Functions, Query Language (SQL) Functions, Internal Functions, C-Language Functions
default values for arguments, SQL Functions with Default Values for Arguments
in the FROM clause, Table Functions
internal, Internal Functions
invocation, Function Calls
mixed notation, Using Mixed Notation
named argument, Arguments for SQL Functions
named notation, Using Named Notation
output parameter, SQL Functions with Output Parameters
polymorphic, Polymorphic Types
positional notation, Using Positional Notation
RETURNS TABLE, SQL Functions Returning TABLE
statistics, Statistics Information Functions
type resolution in an invocation, Functions
user-defined, User-Defined Functions, Query Language (SQL) Functions, C-Language Functions
in C, C-Language Functions
in SQL, Query Language (SQL) Functions
variadic, SQL Functions with Variable Numbers of Arguments
with SETOF, SQL Functions Returning Sets
functional dependency, The GROUP BY and HAVING Clauses
fuzzystrmatch, fuzzystrmatch

G

gcd, Mathematical Functions and Operators
gc_to_sec, Cube-Based Earth Distances
generated column, Generated Columns, Parameters, Parameters
in + triggers, Overview of Trigger Behavior
generate_series, Set Returning Functions
generate_subscripts, Set Returning Functions
genetic query optimization, Genetic Query Optimizer
gen_random_bytes, Random-Data Functions
gen_random_uuid, UUID Functions, Random-Data Functions
gen_salt, gen_salt()
GEQO (see genetic query optimization)
geqo configuration parameter, Genetic Query Optimizer
geqo_effort configuration parameter, Genetic Query Optimizer
geqo_generations configuration parameter, Genetic Query Optimizer
geqo_pool_size configuration parameter, Genetic Query Optimizer
geqo_seed configuration parameter, Genetic Query Optimizer
geqo_selection_bias configuration parameter, Genetic Query Optimizer
geqo_threshold configuration parameter, Genetic Query Optimizer
get_bit, Binary String Functions and Operators, Bit String Functions and Operators
get_byte, Binary String Functions and Operators
get_current_ts_config, Text Search Functions and Operators
get_raw_page, General Functions
GIN (see index)
gin_clean_pending_list, Index Maintenance Functions
gin_fuzzy_search_limit configuration parameter, Other Defaults
gin_leafpage_items, GIN Functions
gin_metapage_info, GIN Functions
gin_page_opaque_info, GIN Functions
gin_pending_list_limit
configuration parameter, Statement Behavior
storage parameter, Index Storage Parameters
GiST (see index)
gist_page_items, GiST Functions
gist_page_items_bytea, GiST Functions
gist_page_opaque_info, GiST Functions
global data, Global Data in PL/Tcl
in PL/Python, Sharing Data
in PL/Tcl, Global Data in PL/Tcl
GRANT, Privileges, GRANT
GREATEST, GREATEST and LEAST, UNION, CASE, and Related Constructs
determination of result type, UNION, CASE, and Related Constructs
Gregorian calendar, History of Units
GROUP BY, Aggregate Functions, The GROUP BY and HAVING Clauses
grouping, The GROUP BY and HAVING Clauses
GROUPING, Aggregate Functions
GROUPING SETS, GROUPING SETS, CUBE, and ROLLUP
gssapi, Secure TCP/IP Connections with GSSAPI Encryption
GSSAPI, GSSAPI Authentication
with + libpq, Parameter Key Words
GUID, UUID Type

H

hash (see index)
hash_bitmap_info, Hash Functions
hash_mem_multiplier configuration parameter, Memory
hash_metapage_info, Hash Functions
hash_page_items, Hash Functions
hash_page_stats, Hash Functions
hash_page_type, Hash Functions
has_any_column_privilege, System Information Functions and Operators
has_column_privilege, System Information Functions and Operators
has_database_privilege, System Information Functions and Operators
has_foreign_data_wrapper_privilege, System Information Functions and Operators
has_function_privilege, System Information Functions and Operators
has_language_privilege, System Information Functions and Operators
has_parameter_privilege, System Information Functions and Operators
has_schema_privilege, System Information Functions and Operators
has_sequence_privilege, System Information Functions and Operators
has_server_privilege, System Information Functions and Operators
has_tablespace_privilege, System Information Functions and Operators
has_table_privilege, System Information Functions and Operators
has_type_privilege, System Information Functions and Operators
HAVING, Aggregate Functions, The GROUP BY and HAVING Clauses
hba_file configuration parameter, File Locations
heap_page_items, Heap Functions
heap_page_item_attrs, Heap Functions
heap_tuple_infomask_flags, Heap Functions
height, Geometric Functions and Operators
hex format, Binary String Functions and Operators
hierarchical database, Concepts
high availability, High Availability, Load Balancing, and Replication
history, A Brief History of PostgreSQL
of PostgreSQL, A Brief History of PostgreSQL
hmac, hmac()
host, Network Address Functions and Operators
host + name, Parameter Key Words
hostmask, Network Address Functions and Operators
hot standby, High Availability, Load Balancing, and Replication
hot_standby configuration parameter, Standby Servers
hot_standby_feedback configuration parameter, Standby Servers
HP-UX
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
hstore, hstore, hstore Operators and Functions
hstore_to_array, hstore Operators and Functions
hstore_to_json, hstore Operators and Functions
hstore_to_jsonb, hstore Operators and Functions
hstore_to_jsonb_loose, hstore Operators and Functions
hstore_to_json_loose, hstore Operators and Functions
hstore_to_matrix, hstore Operators and Functions
huge_pages configuration parameter, Memory
huge_page_size configuration parameter, Memory
hypothetical-set aggregate
built-in, Aggregate Functions

I

icount, intarray Functions and Operators
ICU, PostgreSQL Features, Locale Providers, Managing Collations, Parameters, Parameters
ident, Ident Authentication
identifier, Identifiers and Key Words
length, Identifiers and Key Words
syntax of, Identifiers and Key Words
IDENTIFY_SYSTEM, Streaming Replication Protocol
ident_file configuration parameter, File Locations
idle_in_transaction_session_timeout configuration parameter, Statement Behavior
idle_session_timeout configuration parameter, Statement Behavior
idx, intarray Functions and Operators
IFNULL, COALESCE
ignore_checksum_failure configuration parameter, Developer Options
ignore_invalid_pages configuration parameter, Developer Options
ignore_system_indexes configuration parameter, Developer Options
IMMUTABLE, Function Volatility Categories
IMPORT FOREIGN SCHEMA, IMPORT FOREIGN SCHEMA
IN, Subquery Expressions, Row and Array Comparisons
INCLUDE
in index definitions, Index-Only Scans and Covering Indexes
include
in configuration file, Managing Configuration File Contents
include_dir
in configuration file, Managing Configuration File Contents
include_if_exists
in configuration file, Managing Configuration File Contents
index, Indexes, Multicolumn Indexes, Indexes and ORDER BY, Combining Multiple Indexes, Unique Indexes, Indexes on Expressions, Partial Indexes, Index-Only Scans and Covering Indexes, Index-Only Scans and Covering Indexes, Examining Index Usage, Preferred Index Types for Text Search, Preferred Index Types for Text Search, Locking and Indexes, Interfacing Extensions to Indexes, Building Indexes Concurrently, Rebuilding Indexes Concurrently, Operators and Functions
and ORDER BY, Indexes and ORDER BY
B-Tree, B-Tree, B-Tree Indexes
BRIN, BRIN, BRIN Indexes
building concurrently, Building Indexes Concurrently
combining multiple indexes, Combining Multiple Indexes
covering, Index-Only Scans and Covering Indexes
examining usage, Examining Index Usage
on expressions, Indexes on Expressions
for user-defined data type, Interfacing Extensions to Indexes
GIN, GIN, Preferred Index Types for Text Search, GIN Indexes
text search, Preferred Index Types for Text Search
GiST, GiST, Preferred Index Types for Text Search, GiST Indexes
text search, Preferred Index Types for Text Search
hash, Hash
Hash, Hash Indexes
index-only scans, Index-Only Scans and Covering Indexes
locks, Locking and Indexes
multicolumn, Multicolumn Indexes
partial, Partial Indexes
rebuilding concurrently, Rebuilding Indexes Concurrently
SP-GiST, SP-GiST, SP-GiST Indexes
unique, Unique Indexes
Index Access Method, Index Access Method Interface Definition
index scan, Planner Method Configuration
index-only scan, Index-Only Scans and Covering Indexes
indexam
Index Access Method, Index Access Method Interface Definition
index_am_handler, Pseudo-Types
inet (data type), inet
inet_client_addr, System Information Functions and Operators
inet_client_port, System Information Functions and Operators
inet_merge, Network Address Functions and Operators
inet_same_family, Network Address Functions and Operators
inet_server_addr, System Information Functions and Operators
inet_server_port, System Information Functions and Operators
infinity
floating point, Floating-Point Types
numeric (data type), Arbitrary Precision Numbers
information schema, The Information Schema
inheritance, Inheritance, Inheritance
initcap, String Functions and Operators
initdb, Creating a Database Cluster, initdb
Initialization Fork, The Initialization Fork
input function, User-Defined Types
INSERT, Populating a Table With Rows, Inserting Data, Returning Data from Modified Rows, INSERT
RETURNING, Returning Data from Modified Rows
inserting, Inserting Data
installation, Installation from Source Code
binaries, Installation from Binaries
on Windows, Installation from Source Code on Windows
instr function, Appendix
int2 (see smallint)
int4 (see integer)
int8 (see bigint)
intagg, intagg
intarray, intarray
integer, Numeric Constants, Integer Types
integer_datetimes configuration parameter, Preset Options
interfaces
externally maintained, Client Interfaces
internal, Pseudo-Types
INTERSECT, Combining Queries (UNION, INTERSECT, EXCEPT)
interval, Date/Time Types, Interval Input
output format, Interval Output
(see also formatting)
IntervalStyle configuration parameter, Locale and Formatting
intset, intarray Functions and Operators
int_array_aggregate, Functions
int_array_enum, Functions
inverse distribution, Aggregate Functions
in_hot_standby configuration parameter, Preset Options
in_range support functions, B-Tree Support Functions
IS DISTINCT FROM, Comparison Functions and Operators, Row and Array Comparisons
IS DOCUMENT, IS DOCUMENT
IS FALSE, Comparison Functions and Operators
IS NOT DISTINCT FROM, Comparison Functions and Operators, Row and Array Comparisons
IS NOT DOCUMENT, IS NOT DOCUMENT
IS NOT FALSE, Comparison Functions and Operators
IS NOT NULL, Comparison Functions and Operators
IS NOT TRUE, Comparison Functions and Operators
IS NOT UNKNOWN, Comparison Functions and Operators
IS NULL, Comparison Functions and Operators, Platform and Client Compatibility
IS TRUE, Comparison Functions and Operators
IS UNKNOWN, Comparison Functions and Operators
isclosed, Geometric Functions and Operators
isempty, Range/Multirange Functions and Operators
isfinite, Date/Time Functions and Operators
isn, isn
ISNULL, Comparison Functions and Operators
isn_weak, Functions and Operators
isopen, Geometric Functions and Operators
is_array_ref
in PL/Perl, Utility Functions in PL/Perl
is_valid, Functions and Operators

J

JIT, Just-in-Time Compilation (JIT)
jit configuration parameter, Other Planner Options
jit_above_cost configuration parameter, Planner Cost Constants
jit_debugging_support configuration parameter, Developer Options
jit_dump_bitcode configuration parameter, Developer Options
jit_expressions configuration parameter, Developer Options
jit_inline_above_cost configuration parameter, Planner Cost Constants
jit_optimize_above_cost configuration parameter, Planner Cost Constants
jit_profiling_support configuration parameter, Developer Options
jit_provider configuration parameter, Shared Library Preloading
jit_tuple_deforming configuration parameter, Developer Options
join, Joins Between Tables, Joined Tables, Controlling the Planner with Explicit JOIN Clauses
controlling the order, Controlling the Planner with Explicit JOIN Clauses
cross, Joined Tables
left, Joined Tables
natural, Joined Tables
outer, Joins Between Tables, Joined Tables
right, Joined Tables
self, Joins Between Tables
join_collapse_limit configuration parameter, Other Planner Options
JSON, JSON Types, JSON Functions and Operators
functions and operators, JSON Functions and Operators
JSONB, JSON Types
jsonb
containment, jsonb Containment and Existence
existence, jsonb Containment and Existence
indexes on, jsonb Indexing
jsonb_agg, Aggregate Functions
jsonb_array_elements, Processing and Creating JSON Data
jsonb_array_elements_text, Processing and Creating JSON Data
jsonb_array_length, Processing and Creating JSON Data
jsonb_build_array, Processing and Creating JSON Data
jsonb_build_object, Processing and Creating JSON Data
jsonb_each, Processing and Creating JSON Data
jsonb_each_text, Processing and Creating JSON Data
jsonb_extract_path, Processing and Creating JSON Data
jsonb_extract_path_text, Processing and Creating JSON Data
jsonb_insert, Processing and Creating JSON Data
jsonb_object, Processing and Creating JSON Data
jsonb_object_agg, Aggregate Functions
jsonb_object_keys, Processing and Creating JSON Data
jsonb_path_exists, Processing and Creating JSON Data
jsonb_path_exists_tz, Processing and Creating JSON Data
jsonb_path_match, Processing and Creating JSON Data
jsonb_path_match_tz, Processing and Creating JSON Data
jsonb_path_query, Processing and Creating JSON Data
jsonb_path_query_array, Processing and Creating JSON Data
jsonb_path_query_array_tz, Processing and Creating JSON Data
jsonb_path_query_first, Processing and Creating JSON Data
jsonb_path_query_first_tz, Processing and Creating JSON Data
jsonb_path_query_tz, Processing and Creating JSON Data
jsonb_populate_record, Processing and Creating JSON Data
jsonb_populate_recordset, Processing and Creating JSON Data
jsonb_pretty, Processing and Creating JSON Data
jsonb_set, Processing and Creating JSON Data
jsonb_set_lax, Processing and Creating JSON Data
jsonb_strip_nulls, Processing and Creating JSON Data
jsonb_to_record, Processing and Creating JSON Data
jsonb_to_recordset, Processing and Creating JSON Data
jsonb_to_tsvector, Text Search Functions and Operators
jsonb_typeof, Processing and Creating JSON Data
jsonpath, jsonpath Type
json_agg, Aggregate Functions
json_array_elements, Processing and Creating JSON Data
json_array_elements_text, Processing and Creating JSON Data
json_array_length, Processing and Creating JSON Data
json_build_array, Processing and Creating JSON Data
json_build_object, Processing and Creating JSON Data
json_each, Processing and Creating JSON Data
json_each_text, Processing and Creating JSON Data
json_extract_path, Processing and Creating JSON Data
json_extract_path_text, Processing and Creating JSON Data
json_object, Processing and Creating JSON Data
json_object_agg, Aggregate Functions
json_object_keys, Processing and Creating JSON Data
json_populate_record, Processing and Creating JSON Data
json_populate_recordset, Processing and Creating JSON Data
json_strip_nulls, Processing and Creating JSON Data
json_to_record, Processing and Creating JSON Data
json_to_recordset, Processing and Creating JSON Data
json_to_tsvector, Text Search Functions and Operators
json_typeof, Processing and Creating JSON Data
Julian date, Julian Dates
Just-In-Time compilation (see JIT)
justify_days, Date/Time Functions and Operators
justify_hours, Date/Time Functions and Operators
justify_interval, Date/Time Functions and Operators

K

key word, Identifiers and Key Words, SQL Key Words
list of, SQL Key Words
syntax of, Identifiers and Key Words
krb_caseins_users configuration parameter, Authentication
krb_server_keyfile configuration parameter, Authentication

L

label (see alias)
lag, Window Functions
language_handler, Pseudo-Types
large object, Large Objects
lastval, Sequence Manipulation Functions
last_value, Window Functions
LATERAL, LATERAL Subqueries
in the FROM clause, LATERAL Subqueries
latitude, Cube-Based Earth Distances
lca, Operators and Functions
lcm, Mathematical Functions and Operators
lc_collate configuration parameter, Preset Options
lc_ctype configuration parameter, Preset Options
lc_messages configuration parameter, Locale and Formatting
lc_monetary configuration parameter, Locale and Formatting
lc_numeric configuration parameter, Locale and Formatting
lc_time configuration parameter, Locale and Formatting
LDAP, PostgreSQL Features, LDAP Authentication
LDAP connection parameter lookup, LDAP Lookup of Connection Parameters
ldconfig, Shared Libraries
lead, Window Functions
LEAST, GREATEST and LEAST, UNION, CASE, and Related Constructs
determination of result type, UNION, CASE, and Related Constructs
left, String Functions and Operators
left join, Joined Tables
length, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators, Geometric Functions and Operators, Text Search Functions and Operators
of a binary string (see binary strings, length)
of a character string (see character string, length)
length(tsvector), Manipulating Documents
levenshtein, Levenshtein
levenshtein_less_equal, Levenshtein
lex, Requirements
libedit, Requirements
in psql, Command-Line Editing
libperl, Requirements
libpq, libpq — C Library, Pipeline Mode, Retrieving Query Results Row-by-Row
pipeline mode, Pipeline Mode
single-row mode, Retrieving Query Results Row-by-Row
libpq-fe.h, libpq — C Library, Connection Status Functions
libpq-int.h, Connection Status Functions
libpython, Requirements
library initialization function, Dynamic Loading
LIKE, LIKE
and locales, Behavior
LIKE_REGEX, Differences from SQL Standard and XQuery, SQL/JSON Regular Expressions
in SQL/JSON, SQL/JSON Regular Expressions
LIMIT, LIMIT and OFFSET
line, Lines, Geometric Functions and Operators
line segment, Line Segments
linear regression, Aggregate Functions
Linux
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
start script, Starting the Database Server
LISTEN, LISTEN
listen_addresses configuration parameter, Connection Settings
llvm-config, PostgreSQL Features
ll_to_earth, Cube-Based Earth Distances
ln, Mathematical Functions and Operators
lo, lo
LOAD, LOAD
load balancing, High Availability, Load Balancing, and Replication
locale, Creating a Database Cluster, Locale Support
localtime, Date/Time Functions and Operators
localtimestamp, Date/Time Functions and Operators
local_preload_libraries configuration parameter, Shared Library Preloading
lock, Explicit Locking, Advisory Locks, Viewing Locks
advisory, Advisory Locks
monitoring, Viewing Locks
LOCK, Table-Level Locks, LOCK
lock_timeout configuration parameter, Statement Behavior
log, Mathematical Functions and Operators
log shipping, High Availability, Load Balancing, and Replication
log10, Mathematical Functions and Operators
Logging
current_logfiles file and the pg_current_logfile + function, System Information Functions and Operators
pg_current_logfile function, System Information Functions and Operators
logging_collector configuration parameter, Where to Log
Logical Decoding, Logical Decoding, Logical Decoding
logical_decoding_work_mem configuration parameter, Memory
login privilege, Role Attributes
log_autovacuum_min_duration
configuration parameter, What to Log
storage parameter, Storage Parameters
log_btree_build_stats configuration parameter, Developer Options
log_checkpoints configuration parameter, What to Log
log_connections configuration parameter, What to Log
log_destination configuration parameter, Where to Log
log_directory configuration parameter, Where to Log
log_disconnections configuration parameter, What to Log
log_duration configuration parameter, What to Log
log_error_verbosity configuration parameter, What to Log
log_executor_stats configuration parameter, Statistics Monitoring
log_filename configuration parameter, Where to Log
log_file_mode configuration parameter, Where to Log
log_hostname configuration parameter, What to Log
log_line_prefix configuration parameter, What to Log
log_lock_waits configuration parameter, What to Log
log_min_duration_sample configuration parameter, When to Log
log_min_duration_statement configuration parameter, When to Log
log_min_error_statement configuration parameter, When to Log
log_min_messages configuration parameter, When to Log
log_parameter_max_length configuration parameter, What to Log
log_parameter_max_length_on_error configuration parameter, What to Log
log_parser_stats configuration parameter, Statistics Monitoring
log_planner_stats configuration parameter, Statistics Monitoring
log_recovery_conflict_waits configuration parameter, What to Log
log_replication_commands configuration parameter, What to Log
log_rotation_age configuration parameter, Where to Log
log_rotation_size configuration parameter, Where to Log
log_startup_progress_interval configuration parameter, When to Log
log_statement configuration parameter, What to Log
log_statement_sample_rate configuration parameter, When to Log
log_statement_stats configuration parameter, Statistics Monitoring
log_temp_files configuration parameter, What to Log
log_timezone configuration parameter, What to Log
log_transaction_sample_rate configuration parameter, When to Log
log_truncate_on_rotation configuration parameter, Where to Log
longitude, Cube-Based Earth Distances
looks_like_number
in PL/Perl, Utility Functions in PL/Perl
loop, Simple Loops
in PL/pgSQL, Simple Loops
lower, String Functions and Operators, Range/Multirange Functions and Operators
and locales, Behavior
lower_inc, Range/Multirange Functions and Operators
lower_inf, Range/Multirange Functions and Operators
lo_close, Closing a Large Object Descriptor
lo_compat_privileges configuration parameter, Previous PostgreSQL Versions
lo_creat, Creating a Large Object, Server-Side Functions
lo_create, Creating a Large Object
lo_export, Exporting a Large Object, Server-Side Functions
lo_from_bytea, Server-Side Functions
lo_get, Server-Side Functions
lo_import, Importing a Large Object, Server-Side Functions
lo_import_with_oid, Importing a Large Object
lo_lseek, Seeking in a Large Object
lo_lseek64, Seeking in a Large Object
lo_open, Opening an Existing Large Object
lo_put, Server-Side Functions
lo_read, Reading Data from a Large Object
lo_tell, Obtaining the Seek Position of a Large Object
lo_tell64, Obtaining the Seek Position of a Large Object
lo_truncate, Truncating a Large Object
lo_truncate64, Truncating a Large Object
lo_unlink, Removing a Large Object, Server-Side Functions
lo_write, Writing Data to a Large Object
lpad, String Functions and Operators
lseg, Line Segments, Geometric Functions and Operators
LSN, WAL Internals
ltree, ltree
ltree2text, Operators and Functions
ltrim, String Functions and Operators, Binary String Functions and Operators

M

MAC address (see macaddr)
MAC address (EUI-64 format) (see macaddr)
macaddr (data type), macaddr
macaddr8 (data type), macaddr8
macaddr8_set7bit, Network Address Functions and Operators
macOS, macOS
installation on, macOS
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
magic block, Dynamic Loading
maintenance, Routine Database Maintenance Tasks
maintenance_io_concurrency configuration parameter, Asynchronous Behavior
maintenance_work_mem configuration parameter, Memory
make, Requirements
makeaclitem, System Information Functions and Operators
make_date, Date/Time Functions and Operators
make_interval, Date/Time Functions and Operators
make_time, Date/Time Functions and Operators
make_timestamp, Date/Time Functions and Operators
make_timestamptz, Date/Time Functions and Operators
make_valid, Functions and Operators
MANPATH, Environment Variables
masklen, Network Address Functions and Operators
materialized view, Materialized Views
implementation through rules, Materialized Views
materialized views, pg_matviews
max, Aggregate Functions
max_connections configuration parameter, Connection Settings
max_files_per_process configuration parameter, Kernel Resource Usage
max_function_args configuration parameter, Preset Options
max_identifier_length configuration parameter, Preset Options
max_index_keys configuration parameter, Preset Options
max_locks_per_transaction configuration parameter, Lock Management
max_logical_replication_workers configuration parameter, Subscribers
max_parallel_maintenance_workers configuration parameter, Asynchronous Behavior
max_parallel_workers configuration parameter, Asynchronous Behavior
max_parallel_workers_per_gather configuration parameter, Asynchronous Behavior
max_pred_locks_per_page configuration parameter, Lock Management
max_pred_locks_per_relation configuration parameter, Lock Management
max_pred_locks_per_transaction configuration parameter, Lock Management
max_prepared_transactions configuration parameter, Memory
max_replication_slots configuration parameter, Sending Servers
max_slot_wal_keep_size configuration parameter, Sending Servers
max_stack_depth configuration parameter, Memory
max_standby_archive_delay configuration parameter, Standby Servers
max_standby_streaming_delay configuration parameter, Standby Servers
max_sync_workers_per_subscription configuration parameter, Subscribers
max_wal_senders configuration parameter, Sending Servers
max_wal_size configuration parameter, Checkpoints
max_worker_processes configuration parameter, Asynchronous Behavior
md5, String Functions and Operators, Binary String Functions and Operators
MD5, Password Authentication
median, Aggregate Expressions
(see also percentile)
memory context
in SPI, Memory Management
memory overcommit, Linux Memory Overcommit
MERGE, MERGE
metaphone, Metaphone
min, Aggregate Functions
MinGW, MinGW/Native Windows
installation on, MinGW/Native Windows
min_dynamic_shared_memory configuration parameter, Memory
min_parallel_index_scan_size configuration parameter, Planner Cost Constants
min_parallel_table_scan_size configuration parameter, Planner Cost Constants
min_scale, Mathematical Functions and Operators
min_wal_size configuration parameter, Checkpoints
mod, Mathematical Functions and Operators
mode
statistical, Aggregate Functions
monitoring, Monitoring Database Activity
database activity, Monitoring Database Activity
MOVE, MOVE
moving-aggregate mode, Moving-Aggregate Mode
multirange (function), Range/Multirange Functions and Operators
multirange type, Range Types
Multiversion Concurrency Control, Introduction
MultiXactId, Multixacts and Wraparound
MVCC, Introduction
mxid_age, System Information Functions and Operators

N

name, Identifiers and Key Words
qualified, Creating a Schema
syntax of, Identifiers and Key Words
unqualified, The Schema Search Path
NaN (see not a number)
natural join, Joined Tables
negation, Logical Operators
NetBSD
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
start script, Starting the Database Server
netmask, Network Address Functions and Operators
network, Network Address Types, Network Address Functions and Operators
data types, Network Address Types
nextval, Sequence Manipulation Functions
NFS, NFS
nlevel, Operators and Functions
non-durable, Non-Durable Settings
nonblocking connection, Database Connection Control Functions, Asynchronous Command Processing
nonrepeatable read, Transaction Isolation
normalize, String Functions and Operators
normalized, String Functions and Operators
normal_rand, normal_rand
NOT (operator), Logical Operators
not a number
floating point, Floating-Point Types
numeric (data type), Arbitrary Precision Numbers
NOT IN, Subquery Expressions, Row and Array Comparisons
not-null constraint, Not-Null Constraints
notation, Calling Functions
functions, Calling Functions
notice processing, Notice Processing
in libpq, Notice Processing
notice processor, Notice Processing
notice receiver, Notice Processing
NOTIFY, Asynchronous Notification, NOTIFY
in libpq, Asynchronous Notification
NOTNULL, Comparison Functions and Operators
now, Date/Time Functions and Operators
npoints, Geometric Functions and Operators
nth_value, Window Functions
ntile, Window Functions
null value
with check constraints, Check Constraints
comparing, Comparison Functions and Operators
default value, Default Values
in DISTINCT, DISTINCT
in libpq, Retrieving Query Result Information
in PL/Perl, PL/Perl Functions and Arguments
in PL/Python, Null, None
with unique constraints, Unique Constraints
NULLIF, NULLIF
number
constant, Numeric Constants
numeric, Numeric Constants
numeric (data type), Arbitrary Precision Numbers
numnode, Text Search Functions and Operators, Manipulating Queries
num_nonnulls, Comparison Functions and Operators
num_nulls, Comparison Functions and Operators
NVL, COALESCE

O

object identifier, Object Identifier Types
data type, Object Identifier Types
object-oriented database, Concepts
obj_description, System Information Functions and Operators
OCCURRENCES_REGEX, Differences from SQL Standard and XQuery
octet_length, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators
OFFSET, LIMIT and OFFSET
oid, Object Identifier Types
OID
in libpq, Retrieving Other Result Information
oid2name, oid2name
old_snapshot, old_snapshot
old_snapshot_threshold configuration parameter, Asynchronous Behavior
ON CONFLICT, INSERT
ONLY, The FROM Clause
OOM, Linux Memory Overcommit
OpenBSD
IPC configuration, Shared Memory and Semaphores
shared library, Compiling and Linking Dynamically-Loaded Functions
start script, Starting the Database Server
OpenSSL, PostgreSQL Features
(see also SSL)
operator, Operators, Operator Precedence, Functions and Operators, Logical Operators, Operators, User-Defined Operators
invocation, Operator Invocations
logical, Logical Operators
precedence, Operator Precedence
syntax, Operators
type resolution in an invocation, Operators
user-defined, User-Defined Operators
operator class, Operator Classes and Operator Families, Index Methods and Operator Classes
operator family, Operator Classes and Operator Families, Operator Classes and Operator Families
optimization information, Function Optimization Information, Operator Optimization Information
for functions, Function Optimization Information
for operators, Operator Optimization Information
OR (operator), Logical Operators
Oracle, Porting from Oracle PL/SQL
porting from PL/SQL to PL/pgSQL, Porting from Oracle PL/SQL
ORDER BY, Querying a Table, Sorting Rows (ORDER BY)
and locales, Behavior
ordered-set aggregate, Aggregate Expressions
built-in, Aggregate Functions
ordering operator, System Dependencies on Operator Classes
ordinality, Set Returning Functions
outer join, Joined Tables
output function, User-Defined Types
OVER clause, Window Function Calls
overcommit, Linux Memory Overcommit
OVERLAPS, Date/Time Functions and Operators
overlay, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators
overloading, Function Overloading
functions, Function Overloading
operators, User-Defined Operators
owner, Privileges

P

pageinspect, pageinspect
pages_per_range storage parameter, Index Storage Parameters
page_checksum, General Functions
page_header, General Functions
palloc, Writing Code
PAM, PostgreSQL Features, PAM Authentication
parallel query, Parallel Query
parallel_leader_participation configuration parameter, Asynchronous Behavior
parallel_setup_cost configuration parameter, Planner Cost Constants
parallel_tuple_cost configuration parameter, Planner Cost Constants
parallel_workers storage parameter, Storage Parameters
parameter
syntax, Positional Parameters
parenthesis, Value Expressions
parse_ident, String Functions and Operators
partition pruning, Partition Pruning
partitioned table, Table Partitioning
partitioning, Table Partitioning
password, Role Attributes
authentication, Password Authentication
of the superuser, Creating a Database Cluster
password file, The Password File
passwordcheck, passwordcheck
password_encryption configuration parameter, Authentication
path, Geometric Functions and Operators
for schemas, Statement Behavior
PATH, Environment Variables
path (data type), Paths
pattern matching, Pattern Matching
patterns
in psql and pg_dump, Patterns
pclose, Geometric Functions and Operators
peer, Peer Authentication
percentile
continuous, Aggregate Functions
discrete, Aggregate Functions
percent_rank, Window Functions
hypothetical, Aggregate Functions
performance, Performance Tips
perl, Requirements
Perl, PL/Perl — Perl Procedural Language
permission (see privilege)
pfree, Writing Code
PGAPPNAME, Environment Variables
pgbench, pgbench
PGcancel, Canceling Queries in Progress
PGCHANNELBINDING, Environment Variables
PGCLIENTENCODING, Environment Variables
PGconn, Database Connection Control Functions
PGCONNECT_TIMEOUT, Environment Variables
pgcrypto, pgcrypto
PGDATA, Creating a Database Cluster
PGDATABASE, Environment Variables
PGDATESTYLE, Environment Variables
PGEventProc, Event Callback Procedure
PGGEQO, Environment Variables
PGGSSENCMODE, Environment Variables
PGGSSLIB, Environment Variables
PGHOST, Environment Variables
PGHOSTADDR, Environment Variables
PGKRBSRVNAME, Environment Variables
PGLOCALEDIR, Environment Variables
PGOPTIONS, Environment Variables
PGPASSFILE, Environment Variables
PGPASSWORD, Environment Variables
PGPORT, Environment Variables
pgp_armor_headers, pgp_armor_headers
pgp_key_id, pgp_key_id()
pgp_pub_decrypt, pgp_pub_decrypt()
pgp_pub_decrypt_bytea, pgp_pub_decrypt()
pgp_pub_encrypt, pgp_pub_encrypt()
pgp_pub_encrypt_bytea, pgp_pub_encrypt()
pgp_sym_decrypt, pgp_sym_decrypt()
pgp_sym_decrypt_bytea, pgp_sym_decrypt()
pgp_sym_encrypt, pgp_sym_encrypt()
pgp_sym_encrypt_bytea, pgp_sym_encrypt()
PGREQUIREPEER, Environment Variables
PGREQUIRESSL, Environment Variables
PGresult, Main Functions
pgrowlocks, pgrowlocks, Overview
PGSERVICE, Environment Variables
PGSERVICEFILE, Environment Variables
PGSSLCERT, Environment Variables
PGSSLCOMPRESSION, Environment Variables
PGSSLCRL, Environment Variables
PGSSLCRLDIR, Environment Variables
PGSSLKEY, Environment Variables
PGSSLMAXPROTOCOLVERSION, Environment Variables
PGSSLMINPROTOCOLVERSION, Environment Variables
PGSSLMODE, Environment Variables
PGSSLROOTCERT, Environment Variables
PGSSLSNI, Environment Variables
pgstatginindex, Functions
pgstathashindex, Functions
pgstatindex, Functions
pgstattuple, pgstattuple, Functions
pgstattuple_approx, Functions
PGSYSCONFDIR, Environment Variables
PGTARGETSESSIONATTRS, Environment Variables
PGTZ, Environment Variables
PGUSER, Environment Variables
pgxs, Extension Building Infrastructure
pg_advisory_lock, Advisory Lock Functions
pg_advisory_lock_shared, Advisory Lock Functions
pg_advisory_unlock, Advisory Lock Functions
pg_advisory_unlock_all, Advisory Lock Functions
pg_advisory_unlock_shared, Advisory Lock Functions
pg_advisory_xact_lock, Advisory Lock Functions
pg_advisory_xact_lock_shared, Advisory Lock Functions
pg_aggregate, pg_aggregate
pg_am, pg_am
pg_amcheck, pg_amcheck
pg_amop, pg_amop
pg_amproc, pg_amproc
pg_archivecleanup, pg_archivecleanup
pg_attrdef, pg_attrdef
pg_attribute, pg_attribute
pg_authid, pg_authid
pg_auth_members, pg_auth_members
pg_available_extensions, pg_available_extensions
pg_available_extension_versions, pg_available_extension_versions
pg_backend_memory_contexts, pg_backend_memory_contexts
pg_backend_pid, System Information Functions and Operators
pg_backup_start, Backup Control Functions
pg_backup_stop, Backup Control Functions
pg_basebackup, pg_basebackup
pg_blocking_pids, System Information Functions and Operators
pg_buffercache, pg_buffercache
pg_buffercache_pages, pg_buffercache
pg_cancel_backend, Server Signaling Functions
pg_cast, pg_cast
pg_char_to_encoding, System Information Functions and Operators
pg_checksums, pg_checksums
pg_class, pg_class
pg_client_encoding, String Functions and Operators
pg_collation, pg_collation
pg_collation_actual_version, Database Object Management Functions
pg_collation_is_visible, System Information Functions and Operators
PG_COLOR, When Color is Used
PG_COLORS, Configuring the Colors
pg_column_compression, Database Object Management Functions
pg_column_size, Database Object Management Functions
pg_config, pg_config, pg_config
with + ecpg, Processing Embedded SQL Programs
with libpq, Building libpq Programs
with user-defined C functions, Writing Code
pg_conf_load_time, System Information Functions and Operators
pg_constraint, pg_constraint
pg_controldata, pg_controldata
pg_control_checkpoint, System Information Functions and Operators
pg_control_init, System Information Functions and Operators
pg_control_recovery, System Information Functions and Operators
pg_control_system, System Information Functions and Operators
pg_conversion, pg_conversion
pg_conversion_is_visible, System Information Functions and Operators
pg_copy_logical_replication_slot, Replication Management Functions
pg_copy_physical_replication_slot, Replication Management Functions
pg_create_logical_replication_slot, Replication Management Functions
pg_create_physical_replication_slot, Replication Management Functions
pg_create_restore_point, Backup Control Functions
pg_ctl, Creating a Database Cluster, Starting the Database Server, pg_ctl
pg_current_logfile, System Information Functions and Operators
pg_current_snapshot, System Information Functions and Operators
pg_current_wal_flush_lsn, Backup Control Functions
pg_current_wal_insert_lsn, Backup Control Functions
pg_current_wal_lsn, Backup Control Functions
pg_current_xact_id, System Information Functions and Operators
pg_current_xact_id_if_assigned, System Information Functions and Operators
pg_cursors, pg_cursors
pg_database, Template Databases, pg_database
pg_database_collation_actual_version, Database Object Management Functions
pg_database_size, Database Object Management Functions
pg_db_role_setting, pg_db_role_setting
pg_ddl_command, Pseudo-Types
pg_default_acl, pg_default_acl
pg_depend, pg_depend
pg_describe_object, System Information Functions and Operators
pg_description, pg_description
pg_drop_replication_slot, Replication Management Functions
pg_dump, pg_dump
pg_dumpall, pg_dumpall
use during upgrade, Upgrading Data via pg_dumpall
pg_encoding_to_char, System Information Functions and Operators
pg_enum, pg_enum
pg_event_trigger, pg_event_trigger
pg_event_trigger_ddl_commands, Capturing Changes at Command End
pg_event_trigger_dropped_objects, Processing Objects Dropped by a DDL Command
pg_event_trigger_table_rewrite_oid, Handling a Table Rewrite Event
pg_event_trigger_table_rewrite_reason, Handling a Table Rewrite Event
pg_export_snapshot, Snapshot Synchronization Functions
pg_extension, pg_extension
pg_extension_config_dump, Extension Configuration Tables
pg_filenode_relation, Database Object Management Functions
pg_file_rename, adminpack
pg_file_settings, pg_file_settings
pg_file_sync, adminpack
pg_file_unlink, adminpack
pg_file_write, adminpack
pg_foreign_data_wrapper, pg_foreign_data_wrapper
pg_foreign_server, pg_foreign_server
pg_foreign_table, pg_foreign_table
pg_freespace, Functions
pg_freespacemap, pg_freespacemap
pg_function_is_visible, System Information Functions and Operators
pg_get_catalog_foreign_keys, System Information Functions and Operators
pg_get_constraintdef, System Information Functions and Operators
pg_get_expr, System Information Functions and Operators
pg_get_functiondef, System Information Functions and Operators
pg_get_function_arguments, System Information Functions and Operators
pg_get_function_identity_arguments, System Information Functions and Operators
pg_get_function_result, System Information Functions and Operators
pg_get_indexdef, System Information Functions and Operators
pg_get_keywords, System Information Functions and Operators
pg_get_multixact_members, System Information Functions and Operators
pg_get_object_address, System Information Functions and Operators
pg_get_partition_constraintdef, System Information Functions and Operators
pg_get_ruledef, System Information Functions and Operators
pg_get_serial_sequence, System Information Functions and Operators
pg_get_statisticsobjdef, System Information Functions and Operators
pg_get_triggerdef, System Information Functions and Operators
pg_get_userbyid, System Information Functions and Operators
pg_get_viewdef, System Information Functions and Operators
pg_get_wal_replay_pause_state, Recovery Control Functions
pg_get_wal_resource_managers, Recovery Control Functions
pg_group, pg_group
pg_has_role, System Information Functions and Operators
pg_hba.conf, The pg_hba.conf File
pg_hba_file_rules, pg_hba_file_rules
pg_ident.conf, User Name Maps
pg_identify_object, System Information Functions and Operators
pg_identify_object_as_address, System Information Functions and Operators
pg_ident_file_mappings, pg_ident_file_mappings
pg_import_system_collations, Database Object Management Functions
pg_index, pg_index
pg_indexam_has_property, System Information Functions and Operators
pg_indexes, pg_indexes
pg_indexes_size, Database Object Management Functions
pg_index_column_has_property, System Information Functions and Operators
pg_index_has_property, System Information Functions and Operators
pg_inherits, pg_inherits
pg_init_privs, pg_init_privs
pg_isready, pg_isready
pg_is_in_recovery, Recovery Control Functions
pg_is_other_temp_schema, System Information Functions and Operators
pg_is_wal_replay_paused, Recovery Control Functions
pg_jit_available, System Information Functions and Operators
pg_language, pg_language
pg_largeobject, pg_largeobject
pg_largeobject_metadata, pg_largeobject_metadata
pg_last_committed_xact, System Information Functions and Operators
pg_last_wal_receive_lsn, Recovery Control Functions
pg_last_wal_replay_lsn, Recovery Control Functions
pg_last_xact_replay_timestamp, Recovery Control Functions
pg_listening_channels, System Information Functions and Operators
pg_locks, pg_locks
pg_logdir_ls, adminpack
pg_logical_emit_message, Replication Management Functions
pg_logical_slot_get_binary_changes, Replication Management Functions
pg_logical_slot_get_changes, Replication Management Functions
pg_logical_slot_peek_binary_changes, Replication Management Functions
pg_logical_slot_peek_changes, Replication Management Functions
pg_log_backend_memory_contexts, Server Signaling Functions
pg_lsn, pg_lsn Type
pg_ls_archive_statusdir, Generic File Access Functions
pg_ls_dir, Generic File Access Functions
pg_ls_logdir, Generic File Access Functions
pg_ls_logicalmapdir, Generic File Access Functions
pg_ls_logicalsnapdir, Generic File Access Functions
pg_ls_replslotdir, Generic File Access Functions
pg_ls_tmpdir, Generic File Access Functions
pg_ls_waldir, Generic File Access Functions
pg_matviews, pg_matviews
pg_mcv_list_items, Inspecting MCV Lists
pg_my_temp_schema, System Information Functions and Operators
pg_namespace, pg_namespace
pg_notification_queue_usage, System Information Functions and Operators
pg_notify, pg_notify
pg_opclass, pg_opclass
pg_opclass_is_visible, System Information Functions and Operators
pg_operator, pg_operator
pg_operator_is_visible, System Information Functions and Operators
pg_opfamily, pg_opfamily
pg_opfamily_is_visible, System Information Functions and Operators
pg_options_to_table, System Information Functions and Operators
pg_parameter_acl, pg_parameter_acl
pg_partitioned_table, pg_partitioned_table
pg_partition_ancestors, Database Object Management Functions
pg_partition_root, Database Object Management Functions
pg_partition_tree, Database Object Management Functions
pg_policies, pg_policies
pg_policy, pg_policy
pg_postmaster_start_time, System Information Functions and Operators
pg_prepared_statements, pg_prepared_statements
pg_prepared_xacts, pg_prepared_xacts
pg_prewarm, pg_prewarm
pg_prewarm.autoprewarm configuration parameter, Configuration Parameters
pg_prewarm.autoprewarm_interval configuration parameter, Configuration Parameters
pg_proc, pg_proc
pg_promote, Recovery Control Functions
pg_publication, pg_publication
pg_publication_namespace, pg_publication_namespace
pg_publication_rel, pg_publication_rel
pg_publication_tables, pg_publication_tables
pg_range, pg_range
pg_read_binary_file, Generic File Access Functions
pg_read_file, Generic File Access Functions
pg_receivewal, pg_receivewal
pg_receivexlog, pg_receivexlog renamed to pg_receivewal (see pg_receivewal)
pg_recvlogical, pg_recvlogical
pg_relation_filenode, Database Object Management Functions
pg_relation_filepath, Database Object Management Functions
pg_relation_size, Database Object Management Functions
pg_reload_conf, Server Signaling Functions
pg_relpages, Functions
pg_replication_origin, pg_replication_origin
pg_replication_origin_advance, Replication Management Functions
pg_replication_origin_create, Replication Management Functions
pg_replication_origin_drop, Replication Management Functions
pg_replication_origin_oid, Replication Management Functions
pg_replication_origin_progress, Replication Management Functions
pg_replication_origin_session_is_setup, Replication Management Functions
pg_replication_origin_session_progress, Replication Management Functions
pg_replication_origin_session_reset, Replication Management Functions
pg_replication_origin_session_setup, Replication Management Functions
pg_replication_origin_status, pg_replication_origin_status
pg_replication_origin_xact_reset, Replication Management Functions
pg_replication_origin_xact_setup, Replication Management Functions
pg_replication_slots, pg_replication_slots
pg_replication_slot_advance, Replication Management Functions
pg_resetwal, pg_resetwal
pg_resetxlog, pg_resetxlog renamed to pg_resetwal (see pg_resetwal)
pg_restore, pg_restore
pg_rewind, pg_rewind
pg_rewrite, pg_rewrite
pg_roles, pg_roles
pg_rotate_logfile, Server Signaling Functions
pg_rules, pg_rules
pg_safe_snapshot_blocking_pids, System Information Functions and Operators
pg_seclabel, pg_seclabel
pg_seclabels, pg_seclabels
pg_sequence, pg_sequence
pg_sequences, pg_sequences
pg_service.conf, The Connection Service File
pg_settings, pg_settings
pg_settings_get_flags, System Information Functions and Operators
pg_shadow, pg_shadow
pg_shdepend, pg_shdepend
pg_shdescription, pg_shdescription
pg_shmem_allocations, pg_shmem_allocations
pg_shseclabel, pg_shseclabel
pg_size_bytes, Database Object Management Functions
pg_size_pretty, Database Object Management Functions
pg_sleep, Delaying Execution
pg_sleep_for, Delaying Execution
pg_sleep_until, Delaying Execution
pg_snapshot_xip, System Information Functions and Operators
pg_snapshot_xmax, System Information Functions and Operators
pg_snapshot_xmin, System Information Functions and Operators
pg_statio_all_indexes, Viewing Statistics, pg_statio_all_indexes
pg_statio_all_sequences, Viewing Statistics, pg_statio_all_sequences
pg_statio_all_tables, Viewing Statistics, pg_statio_all_tables
pg_statio_sys_indexes, Viewing Statistics
pg_statio_sys_sequences, Viewing Statistics
pg_statio_sys_tables, Viewing Statistics
pg_statio_user_indexes, Viewing Statistics
pg_statio_user_sequences, Viewing Statistics
pg_statio_user_tables, Viewing Statistics
pg_statistic, Single-Column Statistics, pg_statistic
pg_statistics_obj_is_visible, System Information Functions and Operators
pg_statistic_ext, Extended Statistics, pg_statistic_ext
pg_statistic_ext_data, Extended Statistics, pg_statistic_ext
pg_stats, Single-Column Statistics, pg_stats
pg_stats_ext, pg_stats_ext
pg_stats_ext_exprs, pg_stats_ext_exprs
pg_stat_activity, Viewing Statistics, pg_stat_activity
pg_stat_all_indexes, Viewing Statistics, pg_stat_all_indexes
pg_stat_all_tables, Viewing Statistics, pg_stat_all_tables
pg_stat_archiver, Viewing Statistics, pg_stat_archiver
pg_stat_bgwriter, Viewing Statistics, pg_stat_bgwriter
pg_stat_clear_snapshot, Statistics Functions
pg_stat_database, Viewing Statistics, pg_stat_database
pg_stat_database_conflicts, Viewing Statistics, pg_stat_database_conflicts
pg_stat_file, Generic File Access Functions
pg_stat_get_activity, Statistics Functions
pg_stat_get_backend_activity, Statistics Functions
pg_stat_get_backend_activity_start, Statistics Functions
pg_stat_get_backend_client_addr, Statistics Functions
pg_stat_get_backend_client_port, Statistics Functions
pg_stat_get_backend_dbid, Statistics Functions
pg_stat_get_backend_idset, Statistics Functions
pg_stat_get_backend_pid, Statistics Functions
pg_stat_get_backend_start, Statistics Functions
pg_stat_get_backend_userid, Statistics Functions
pg_stat_get_backend_wait_event, Statistics Functions
pg_stat_get_backend_wait_event_type, Statistics Functions
pg_stat_get_backend_xact_start, Statistics Functions
pg_stat_get_snapshot_timestamp, Statistics Functions
pg_stat_get_xact_blocks_fetched, Statistics Functions
pg_stat_get_xact_blocks_hit, Statistics Functions
pg_stat_gssapi, Viewing Statistics, pg_stat_gssapi
pg_stat_progress_analyze, Viewing Statistics, ANALYZE Progress Reporting
pg_stat_progress_basebackup, Viewing Statistics, Base Backup Progress Reporting
pg_stat_progress_cluster, Viewing Statistics, CLUSTER Progress Reporting
pg_stat_progress_copy, Viewing Statistics, COPY Progress Reporting
pg_stat_progress_create_index, Viewing Statistics, CREATE INDEX Progress Reporting
pg_stat_progress_vacuum, Viewing Statistics, VACUUM Progress Reporting
pg_stat_recovery_prefetch, Viewing Statistics, pg_stat_recovery_prefetch
pg_stat_replication, Viewing Statistics, pg_stat_replication
pg_stat_replication_slots, Viewing Statistics, pg_stat_replication_slots
pg_stat_reset, Statistics Functions
pg_stat_reset_replication_slot, Statistics Functions
pg_stat_reset_shared, Statistics Functions
pg_stat_reset_single_function_counters, Statistics Functions
pg_stat_reset_single_table_counters, Statistics Functions
pg_stat_reset_slru, Statistics Functions
pg_stat_reset_subscription_stats, Statistics Functions
pg_stat_slru, Viewing Statistics, pg_stat_slru
pg_stat_ssl, Viewing Statistics, pg_stat_ssl
pg_stat_statements, pg_stat_statements
function, Functions
pg_stat_statements.max configuration parameter, Configuration Parameters
pg_stat_statements.save configuration parameter, Configuration Parameters
pg_stat_statements.track configuration parameter, Configuration Parameters
pg_stat_statements.track_planning configuration parameter, Configuration Parameters
pg_stat_statements.track_utility configuration parameter, Configuration Parameters
pg_stat_statements_info, The pg_stat_statements_info View
pg_stat_statements_reset, Functions
pg_stat_subscription, Viewing Statistics, pg_stat_subscription
pg_stat_subscription_stats, Viewing Statistics, pg_stat_subscription_stats
pg_stat_sys_indexes, Viewing Statistics
pg_stat_sys_tables, Viewing Statistics
pg_stat_user_functions, Viewing Statistics, pg_stat_user_functions
pg_stat_user_indexes, Viewing Statistics
pg_stat_user_tables, Viewing Statistics
pg_stat_wal, Viewing Statistics, pg_stat_wal
pg_stat_wal_receiver, Viewing Statistics, pg_stat_wal_receiver
pg_stat_xact_all_tables, Viewing Statistics
pg_stat_xact_sys_tables, Viewing Statistics
pg_stat_xact_user_functions, Viewing Statistics
pg_stat_xact_user_tables, Viewing Statistics
pg_subscription, pg_subscription
pg_subscription_rel, pg_subscription_rel
pg_surgery, pg_surgery
pg_switch_wal, Backup Control Functions
pg_tables, pg_tables
pg_tablespace, pg_tablespace
pg_tablespace_databases, System Information Functions and Operators
pg_tablespace_location, System Information Functions and Operators
pg_tablespace_size, Database Object Management Functions
pg_table_is_visible, System Information Functions and Operators
pg_table_size, Database Object Management Functions
pg_temp, Statement Behavior
securing functions, Writing SECURITY DEFINER Functions Safely
pg_terminate_backend, Server Signaling Functions
pg_test_fsync, pg_test_fsync
pg_test_timing, pg_test_timing
pg_timezone_abbrevs, pg_timezone_abbrevs
pg_timezone_names, pg_timezone_names
pg_total_relation_size, Database Object Management Functions
pg_transform, pg_transform
pg_trgm, pg_trgm
pg_trgm.similarity_threshold configuration parameter, GUC Parameters
pg_trgm.strict_word_similarity_threshold configuration parameter, GUC Parameters
pg_trgm.word_similarity_threshold configuration parameter, GUC Parameters
pg_trigger, pg_trigger
pg_trigger_depth, System Information Functions and Operators
pg_try_advisory_lock, Advisory Lock Functions
pg_try_advisory_lock_shared, Advisory Lock Functions
pg_try_advisory_xact_lock, Advisory Lock Functions
pg_try_advisory_xact_lock_shared, Advisory Lock Functions
pg_ts_config, pg_ts_config
pg_ts_config_is_visible, System Information Functions and Operators
pg_ts_config_map, pg_ts_config_map
pg_ts_dict, pg_ts_dict
pg_ts_dict_is_visible, System Information Functions and Operators
pg_ts_parser, pg_ts_parser
pg_ts_parser_is_visible, System Information Functions and Operators
pg_ts_template, pg_ts_template
pg_ts_template_is_visible, System Information Functions and Operators
pg_type, pg_type
pg_typeof, System Information Functions and Operators
pg_type_is_visible, System Information Functions and Operators
pg_upgrade, pg_upgrade
pg_user, pg_user
pg_user_mapping, pg_user_mapping
pg_user_mappings, pg_user_mappings
pg_verifybackup, pg_verifybackup
pg_views, pg_views
pg_visibility, pg_visibility
pg_visible_in_snapshot, System Information Functions and Operators
pg_waldump, pg_waldump
pg_walfile_name, Backup Control Functions
pg_walfile_name_offset, Backup Control Functions
pg_walinspect, pg_walinspect
pg_wal_lsn_diff, Backup Control Functions
pg_wal_replay_pause, Recovery Control Functions
pg_wal_replay_resume, Recovery Control Functions
pg_xact_commit_timestamp, System Information Functions and Operators
pg_xact_commit_timestamp_origin, System Information Functions and Operators
pg_xact_status, System Information Functions and Operators
pg_xlogdump, pg_xlogdump renamed to pg_waldump (see pg_waldump)
phantom read, Transaction Isolation
phraseto_tsquery, Text Search Functions and Operators, Parsing Queries
pi, Mathematical Functions and Operators
PIC, Compiling and Linking Dynamically-Loaded Functions
PID
determining PID of server process
in libpq, Connection Status Functions
pipelining, Pipeline Mode, Pipelining
in libpq, Pipeline Mode
protocol specification, Pipelining
PITR, Backup and Restore
PITR standby, High Availability, Load Balancing, and Replication
pkg-config, PostgreSQL Features
with ecpg, Processing Embedded SQL Programs
with - libpq, Building libpq Programs
PL/Perl, PL/Perl — Perl Procedural Language
PL/PerlU, Trusted and Untrusted PL/Perl
PL/pgSQL, PL/pgSQL — SQL Procedural Language
PL/Python, PL/Python — Python Procedural Language
PL/SQL (Oracle), Porting from Oracle PL/SQL
porting to PL/pgSQL, Porting from Oracle PL/SQL
PL/Tcl, PL/Tcl — Tcl Procedural Language
plainto_tsquery, Text Search Functions and Operators, Parsing Queries
plan_cache_mode configuration parameter, Other Planner Options
plperl.on_init configuration parameter, Configuration
plperl.on_plperlu_init configuration parameter, Configuration
plperl.on_plperl_init configuration parameter, Configuration
plperl.use_strict configuration parameter, Configuration
plpgsql.check_asserts configuration parameter, Checking Assertions
plpgsql.variable_conflict configuration parameter, Variable Substitution
pltcl.start_proc configuration parameter, PL/Tcl Configuration
pltclu.start_proc configuration parameter, PL/Tcl Configuration
point, Points, Geometric Functions and Operators
point-in-time recovery, Backup and Restore
policy, Row Security Policies
polygon, Polygons, Geometric Functions and Operators
polymorphic function, Polymorphic Types
polymorphic type, Polymorphic Types
popcount (see bit_count)
popen, Geometric Functions and Operators
populate_record, hstore Operators and Functions
port, Parameter Key Words
port configuration parameter, Connection Settings
position, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators
POSITION_REGEX, Differences from SQL Standard and XQuery
POSTGRES, The Berkeley POSTGRES Project
postgres, Architectural Fundamentals, Starting the Database Server, Creating a Database, postgres
postgres user, The PostgreSQL User Account
Postgres95, Postgres95
postgresql.auto.conf, Parameter Interaction via the Configuration File
postgresql.conf, Parameter Interaction via the Configuration File
postgres_fdw, postgres_fdw
postgres_fdw.application_name configuration parameter, Configuration Parameters
postmaster, postmaster
post_auth_delay configuration parameter, Developer Options
power, Mathematical Functions and Operators
PQbackendPID, Connection Status Functions
PQbinaryTuples, Retrieving Query Result Information
with COPY, Functions Associated with the COPY Command
PQcancel, Canceling Queries in Progress
PQclear, Main Functions
PQclientEncoding, Control Functions
PQcmdStatus, Retrieving Other Result Information
PQcmdTuples, Retrieving Other Result Information
PQconndefaults, Database Connection Control Functions
PQconnectdb, Database Connection Control Functions
PQconnectdbParams, Database Connection Control Functions
PQconnectionNeedsPassword, Connection Status Functions
PQconnectionUsedPassword, Connection Status Functions
PQconnectPoll, Database Connection Control Functions
PQconnectStart, Database Connection Control Functions
PQconnectStartParams, Database Connection Control Functions
PQconninfo, Database Connection Control Functions
PQconninfoFree, Miscellaneous Functions
PQconninfoParse, Database Connection Control Functions
PQconsumeInput, Asynchronous Command Processing
PQcopyResult, Miscellaneous Functions
PQdb, Connection Status Functions
PQdescribePortal, Main Functions
PQdescribePrepared, Main Functions
PQencryptPassword, Miscellaneous Functions
PQencryptPasswordConn, Miscellaneous Functions
PQendcopy, Obsolete Functions for COPY
PQenterPipelineMode, Functions Associated with Pipeline Mode
PQerrorMessage, Connection Status Functions
PQescapeBytea, Escaping Strings for Inclusion in SQL Commands
PQescapeByteaConn, Escaping Strings for Inclusion in SQL Commands
PQescapeIdentifier, Escaping Strings for Inclusion in SQL Commands
PQescapeLiteral, Escaping Strings for Inclusion in SQL Commands
PQescapeString, Escaping Strings for Inclusion in SQL Commands
PQescapeStringConn, Escaping Strings for Inclusion in SQL Commands
PQexec, Main Functions
PQexecParams, Main Functions
PQexecPrepared, Main Functions
PQexitPipelineMode, Functions Associated with Pipeline Mode
PQfformat, Retrieving Query Result Information
with COPY, Functions Associated with the COPY Command
PQfinish, Database Connection Control Functions
PQfireResultCreateEvents, Miscellaneous Functions
PQflush, Asynchronous Command Processing
PQfmod, Retrieving Query Result Information
PQfn, The Fast-Path Interface
PQfname, Retrieving Query Result Information
PQfnumber, Retrieving Query Result Information
PQfreeCancel, Canceling Queries in Progress
PQfreemem, Miscellaneous Functions
PQfsize, Retrieving Query Result Information
PQftable, Retrieving Query Result Information
PQftablecol, Retrieving Query Result Information
PQftype, Retrieving Query Result Information
PQgetCancel, Canceling Queries in Progress
PQgetCopyData, Functions for Receiving COPY Data
PQgetisnull, Retrieving Query Result Information
PQgetlength, Retrieving Query Result Information
PQgetline, Obsolete Functions for COPY
PQgetlineAsync, Obsolete Functions for COPY
PQgetResult, Asynchronous Command Processing
PQgetssl, Connection Status Functions
PQgetSSLKeyPassHook_OpenSSL, Database Connection Control Functions
PQgetvalue, Retrieving Query Result Information
PQhost, Connection Status Functions
PQhostaddr, Connection Status Functions
PQinitOpenSSL, SSL Library Initialization
PQinitSSL, SSL Library Initialization
PQinstanceData, Event Support Functions
PQisBusy, Asynchronous Command Processing
PQisnonblocking, Asynchronous Command Processing
PQisthreadsafe, Behavior in Threaded Programs
PQlibVersion, Miscellaneous Functions
(see also PQserverVersion)
PQmakeEmptyPGresult, Miscellaneous Functions
PQnfields, Retrieving Query Result Information
with COPY, Functions Associated with the COPY Command
PQnotifies, Asynchronous Notification
PQnparams, Retrieving Query Result Information
PQntuples, Retrieving Query Result Information
PQoidStatus, Retrieving Other Result Information
PQoidValue, Retrieving Other Result Information
PQoptions, Connection Status Functions
PQparameterStatus, Connection Status Functions
PQparamtype, Retrieving Query Result Information
PQpass, Connection Status Functions
PQping, Database Connection Control Functions
PQpingParams, Database Connection Control Functions
PQpipelineStatus, Functions Associated with Pipeline Mode
PQpipelineSync, Functions Associated with Pipeline Mode
PQport, Connection Status Functions
PQprepare, Main Functions
PQprint, Retrieving Query Result Information
PQprotocolVersion, Connection Status Functions
PQputCopyData, Functions for Sending COPY Data
PQputCopyEnd, Functions for Sending COPY Data
PQputline, Obsolete Functions for COPY
PQputnbytes, Obsolete Functions for COPY
PQregisterEventProc, Event Support Functions
PQrequestCancel, Canceling Queries in Progress
PQreset, Database Connection Control Functions
PQresetPoll, Database Connection Control Functions
PQresetStart, Database Connection Control Functions
PQresStatus, Main Functions
PQresultAlloc, Miscellaneous Functions
PQresultErrorField, Main Functions
PQresultErrorMessage, Main Functions
PQresultInstanceData, Event Support Functions
PQresultMemorySize, Miscellaneous Functions
PQresultSetInstanceData, Event Support Functions
PQresultStatus, Main Functions
PQresultVerboseErrorMessage, Main Functions
PQsendDescribePortal, Asynchronous Command Processing
PQsendDescribePrepared, Asynchronous Command Processing
PQsendFlushRequest, Functions Associated with Pipeline Mode
PQsendPrepare, Asynchronous Command Processing
PQsendQuery, Asynchronous Command Processing
PQsendQueryParams, Asynchronous Command Processing
PQsendQueryPrepared, Asynchronous Command Processing
PQserverVersion, Connection Status Functions
PQsetClientEncoding, Control Functions
PQsetdb, Database Connection Control Functions
PQsetdbLogin, Database Connection Control Functions
PQsetErrorContextVisibility, Control Functions
PQsetErrorVerbosity, Control Functions
PQsetInstanceData, Event Support Functions
PQsetnonblocking, Asynchronous Command Processing
PQsetNoticeProcessor, Notice Processing
PQsetNoticeReceiver, Notice Processing
PQsetResultAttrs, Miscellaneous Functions
PQsetSingleRowMode, Retrieving Query Results Row-by-Row
PQsetSSLKeyPassHook_OpenSSL, Database Connection Control Functions
PQsetTraceFlags, Control Functions
PQsetvalue, Miscellaneous Functions
PQsocket, Connection Status Functions
PQsslAttribute, Connection Status Functions
PQsslAttributeNames, Connection Status Functions
PQsslInUse, Connection Status Functions
PQsslStruct, Connection Status Functions
PQstatus, Connection Status Functions
PQtrace, Control Functions
PQtransactionStatus, Connection Status Functions
PQtty, Connection Status Functions
PQunescapeBytea, Escaping Strings for Inclusion in SQL Commands
PQuntrace, Control Functions
PQuser, Connection Status Functions
predicate locking, Serializable Isolation Level
PREPARE, PREPARE
PREPARE TRANSACTION, PREPARE TRANSACTION
prepared statements, DEALLOCATE, EXECUTE, EXPLAIN, PREPARE
creating, PREPARE
executing, EXECUTE
removing, DEALLOCATE
showing the query plan, EXPLAIN
preparing a query
in PL/pgSQL, Plan Caching
in PL/Python, Database Access Functions
in PL/Tcl, Database Access from PL/Tcl
pre_auth_delay configuration parameter, Developer Options
primary key, Primary Keys
primary_conninfo configuration parameter, Standby Servers
primary_slot_name configuration parameter, Standby Servers
privilege, Privileges, Schemas and Privileges, Rules and Privileges, Rules and Privileges
querying, System Information Functions and Operators
with rules, Rules and Privileges
for schemas, Schemas and Privileges
with views, Rules and Privileges
procedural language, Procedural Languages, Writing a Procedural Language Handler
externally maintained, Procedural Languages
handler for, Writing a Procedural Language Handler
procedure, User-Defined Procedures
user-defined, User-Defined Procedures
procedures
output parameter, SQL Procedures with Output Parameters
promote_trigger_file configuration parameter, Standby Servers
protocol, Frontend/Backend Protocol
frontend-backend, Frontend/Backend Protocol
ps, Standard Unix Tools
to monitor activity, Standard Unix Tools
psql, Accessing a Database, psql
Python, PL/Python — Python Procedural Language

R

radians, Mathematical Functions and Operators
radius, Geometric Functions and Operators
RADIUS, RADIUS Authentication
RAISE
in PL/pgSQL, Reporting Errors and Messages
random, Mathematical Functions and Operators
random_page_cost configuration parameter, Planner Cost Constants
range table, The Query Tree
range type, Range Types
exclude, Constraints on Ranges
indexes on, Indexing
range_agg, Aggregate Functions
range_intersect_agg, Aggregate Functions
range_merge, Range/Multirange Functions and Operators
rank, Window Functions
hypothetical, Aggregate Functions
read committed, Read Committed Isolation Level
read-only transaction, Statement Behavior
setting, SET TRANSACTION
setting default, Statement Behavior
readline, Requirements
Readline
in psql, Command-Line Editing
READ_REPLICATION_SLOT, Streaming Replication Protocol
real, Floating-Point Types
REASSIGN OWNED, REASSIGN OWNED
record, Pseudo-Types
recovery.conf, recovery.conf file merged into postgresql.conf
recovery.signal, Archive Recovery
recovery_end_command configuration parameter, Archive Recovery
recovery_init_sync_method configuration parameter, Error Handling
recovery_min_apply_delay configuration parameter, Standby Servers
recovery_prefetch configuration parameter, Recovery
recovery_target configuration parameter, Recovery Target
recovery_target_action configuration parameter, Recovery Target
recovery_target_inclusive configuration parameter, Recovery Target
recovery_target_lsn configuration parameter, Recovery Target
recovery_target_name configuration parameter, Recovery Target
recovery_target_time configuration parameter, Recovery Target
recovery_target_timeline configuration parameter, Recovery Target
recovery_target_xid configuration parameter, Recovery Target
rectangle, Boxes
RECURSIVE, CREATE VIEW
in common table expressions, Recursive Queries
in views, CREATE VIEW
recursive_worktable_factor configuration parameter, Other Planner Options
referential integrity, Foreign Keys, Foreign Keys
REFRESH MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW
regclass, Object Identifier Types
regcollation, Object Identifier Types
regconfig, Object Identifier Types
regdictionary, Object Identifier Types
regexp_count, String Functions and Operators, POSIX Regular Expressions
regexp_instr, String Functions and Operators, POSIX Regular Expressions
regexp_like, String Functions and Operators, POSIX Regular Expressions
regexp_match, String Functions and Operators, POSIX Regular Expressions
regexp_matches, String Functions and Operators, POSIX Regular Expressions
regexp_replace, String Functions and Operators, POSIX Regular Expressions
regexp_split_to_array, String Functions and Operators, POSIX Regular Expressions
regexp_split_to_table, String Functions and Operators, POSIX Regular Expressions
regexp_substr, String Functions and Operators, POSIX Regular Expressions
regnamespace, Object Identifier Types
regoper, Object Identifier Types
regoperator, Object Identifier Types
regproc, Object Identifier Types
regprocedure, Object Identifier Types
regression intercept, Aggregate Functions
regression slope, Aggregate Functions
regression test, Installation Procedure
regression tests, Regression Tests
regrole, Object Identifier Types
regr_avgx, Aggregate Functions
regr_avgy, Aggregate Functions
regr_count, Aggregate Functions
regr_intercept, Aggregate Functions
regr_r2, Aggregate Functions
regr_slope, Aggregate Functions
regr_sxx, Aggregate Functions
regr_sxy, Aggregate Functions
regr_syy, Aggregate Functions
regtype, Object Identifier Types
regular expression, SIMILAR TO Regular Expressions, POSIX Regular Expressions
(see also pattern matching)
regular expressions
and locales, Behavior
reindex, Routine Reindexing
REINDEX, REINDEX
reindexdb, reindexdb
relation, Concepts
relational database, Concepts
RELEASE SAVEPOINT, RELEASE SAVEPOINT
remove_temp_files_after_crash configuration parameter, Developer Options
repeat, String Functions and Operators
repeatable read, Repeatable Read Isolation Level
replace, String Functions and Operators
replication, High Availability, Load Balancing, and Replication
Replication Origins, Replication Progress Tracking
Replication Progress Tracking, Replication Progress Tracking
replication slot
logical replication, Replication Slots
streaming replication, Replication Slots
reporting errors
in PL/pgSQL, Reporting Errors and Messages
RESET, RESET
restartpoint, WAL Configuration
restart_after_crash configuration parameter, Error Handling
restore_command configuration parameter, Archive Recovery
RESTRICT, Dependency Tracking
with DROP, Dependency Tracking
foreign key action, Foreign Keys
restrict_nonsystem_relation_kind
configuration parameter, Statement Behavior
retryable error, Serialization Failure Handling
RETURN NEXT
in PL/pgSQL, RETURN NEXT and RETURN QUERY
RETURN QUERY
in PL/pgSQL, RETURN NEXT and RETURN QUERY
RETURNING, Returning Data from Modified Rows
RETURNING INTO, Executing a Command with a Single-Row Result
in PL/pgSQL, Executing a Command with a Single-Row Result
reverse, String Functions and Operators
REVOKE, Privileges, REVOKE
right, String Functions and Operators
right join, Joined Tables
role, Database Roles, Role Membership, Predefined Roles
applicable, applicable_roles
enabled, enabled_roles
membership in, Role Membership
privilege to bypass, Role Attributes
privilege to create, Role Attributes
privilege to inherit, Role Attributes
privilege to initiate replication, Role Attributes
privilege to limit connection, Role Attributes
ROLLBACK, ROLLBACK
rollback
psql, Variables
ROLLBACK PREPARED, ROLLBACK PREPARED
ROLLBACK TO SAVEPOINT, ROLLBACK TO SAVEPOINT
ROLLUP, GROUPING SETS, CUBE, and ROLLUP
round, Mathematical Functions and Operators
routine, User-Defined Procedures
routine maintenance, Routine Database Maintenance Tasks
row, Concepts, Table Basics
ROW, Row Constructors
row estimation, Row Estimation Examples
multivariate, Multivariate Statistics Examples
planner, Row Estimation Examples
row type, Composite Types
constructor, Row Constructors
row-level security, Row Security Policies
row-wise comparison, Row and Array Comparisons
row_number, Window Functions
row_security configuration parameter, Statement Behavior
row_security_active, System Information Functions and Operators
row_to_json, Processing and Creating JSON Data
rpad, String Functions and Operators
rtrim, String Functions and Operators, Binary String Functions and Operators
rule, The Rule System, Views and the Rule System, How SELECT Rules Work, Materialized Views, Rules on INSERT, UPDATE, and DELETE, Rules on INSERT, UPDATE, and DELETE, Rules on INSERT, UPDATE, and DELETE, Rules Versus Triggers
and materialized views, Materialized Views
and views, Views and the Rule System
for DELETE, Rules on INSERT, UPDATE, and DELETE
for INSERT, Rules on INSERT, UPDATE, and DELETE
for SELECT, How SELECT Rules Work
compared with triggers, Rules Versus Triggers
for UPDATE, Rules on INSERT, UPDATE, and DELETE

S

SAVEPOINT, SAVEPOINT
savepoints, RELEASE SAVEPOINT, ROLLBACK TO SAVEPOINT, SAVEPOINT
defining, SAVEPOINT
releasing, RELEASE SAVEPOINT
rolling back, ROLLBACK TO SAVEPOINT
scalar (see expression)
scale, Mathematical Functions and Operators
schema, Schemas, Creating a Schema, The Public Schema, Overview
creating, Creating a Schema
current, The Schema Search Path, System Information Functions and Operators
public, The Public Schema
removing, Creating a Schema
SCRAM, Password Authentication
search path, The Schema Search Path
current, System Information Functions and Operators
object visibility, System Information Functions and Operators
search_path configuration parameter, The Schema Search Path, Statement Behavior
use in securing functions, Writing SECURITY DEFINER Functions Safely
SECURITY LABEL, SECURITY LABEL
sec_to_gc, Cube-Based Earth Distances
seg, seg
segment_size configuration parameter, Preset Options
SELECT, Querying a Table, Queries, SELECT Output Columns, SELECT
determination of result type, SELECT Output Columns
select list, Select Lists
SELECT INTO, Executing a Command with a Single-Row Result, SELECT INTO
in PL/pgSQL, Executing a Command with a Single-Row Result
semaphores, Shared Memory and Semaphores
sepgsql, sepgsql
sepgsql.debug_audit configuration parameter, GUC Parameters
sepgsql.permissive configuration parameter, GUC Parameters
sequence, Sequence Manipulation Functions
and serial type, Serial Types
sequential scan, Planner Method Configuration
seq_page_cost configuration parameter, Planner Cost Constants
serial, Serial Types
serial2, Serial Types
serial4, Serial Types
serial8, Serial Types
serializable, Serializable Isolation Level
Serializable Snapshot Isolation, Introduction
serialization anomaly, Transaction Isolation, Serializable Isolation Level
serialization failure, Serialization Failure Handling
server log, Error Reporting and Logging, Log File Maintenance
log file maintenance, Log File Maintenance
Server Name Indication, Parameter Key Words
server spoofing, Preventing Server Spoofing
server_encoding configuration parameter, Preset Options
server_version configuration parameter, Preset Options
server_version_num configuration parameter, Preset Options
session_preload_libraries configuration parameter, Shared Library Preloading
session_replication_role configuration parameter, Statement Behavior
session_user, System Information Functions and Operators
SET, Configuration Settings Functions, SET
SET CONSTRAINTS, SET CONSTRAINTS
set difference, Combining Queries (UNION, INTERSECT, EXCEPT)
set intersection, Combining Queries (UNION, INTERSECT, EXCEPT)
set operation, Combining Queries (UNION, INTERSECT, EXCEPT)
set returning functions, Set Returning Functions
functions, Set Returning Functions
SET ROLE, SET ROLE
SET SESSION AUTHORIZATION, SET SESSION AUTHORIZATION
SET TRANSACTION, SET TRANSACTION
set union, Combining Queries (UNION, INTERSECT, EXCEPT)
SET XML OPTION, Statement Behavior
setseed, Mathematical Functions and Operators
setval, Sequence Manipulation Functions
setweight, Text Search Functions and Operators, Manipulating Documents
setweight for specific lexeme(s), Text Search Functions and Operators
set_bit, Binary String Functions and Operators, Bit String Functions and Operators
set_byte, Binary String Functions and Operators
set_config, Configuration Settings Functions
set_limit, Functions and Operators
set_masklen, Network Address Functions and Operators
sha224, Binary String Functions and Operators
sha256, Binary String Functions and Operators
sha384, Binary String Functions and Operators
sha512, Binary String Functions and Operators
shared library, Shared Libraries, Compiling and Linking Dynamically-Loaded Functions
shared memory, Shared Memory and Semaphores
shared_buffers configuration parameter, Memory
shared_memory_size configuration parameter, Preset Options
shared_memory_size_in_huge_pages configuration parameter, Preset Options
shared_memory_type configuration parameter, Memory
shared_preload_libraries, Shared Memory and LWLocks
shared_preload_libraries configuration parameter, Shared Library Preloading
shobj_description, System Information Functions and Operators
SHOW, Configuration Settings Functions, SHOW, Streaming Replication Protocol
show_limit, Functions and Operators
show_trgm, Functions and Operators
shutdown, Shutting Down the Server
SIGHUP, Parameter Interaction via the Configuration File, The pg_hba.conf File, User Name Maps
SIGINT, Shutting Down the Server
sign, Mathematical Functions and Operators
signal
backend processes, Server Signaling Functions
significant digits, Locale and Formatting
SIGQUIT, Shutting Down the Server
SIGTERM, Shutting Down the Server
SIMILAR TO, SIMILAR TO Regular Expressions
similarity, Functions and Operators
sin, Mathematical Functions and Operators
sind, Mathematical Functions and Operators
single-user mode, Options for Single-User Mode
sinh, Mathematical Functions and Operators
skeys, hstore Operators and Functions
sleep, Delaying Execution
slice, hstore Operators and Functions
sliced bread (see TOAST)
slope, Geometric Functions and Operators
SLRU, pg_stat_slru
smallint, Integer Types
smallserial, Serial Types
Solaris, Solaris
installation on, Solaris
shared library, Compiling and Linking Dynamically-Loaded Functions
start script, Starting the Database Server
SOME, Aggregate Functions, Subquery Expressions, Row and Array Comparisons
sort, intarray Functions and Operators
sorting, Sorting Rows (ORDER BY)
sort_asc, intarray Functions and Operators
sort_desc, intarray Functions and Operators
soundex, Soundex
SP-GiST (see index)
SPI, Server Programming Interface, spi
examples, spi
spi_commit
in PL/Perl, Database Access from PL/Perl
SPI_commit, SPI_commit
SPI_commit_and_chain, SPI_commit
SPI_connect, SPI_connect
SPI_connect_ext, SPI_connect
SPI_copytuple, SPI_copytuple
spi_cursor_close
in PL/Perl, Database Access from PL/Perl
SPI_cursor_close, SPI_cursor_close
SPI_cursor_fetch, SPI_cursor_fetch
SPI_cursor_find, SPI_cursor_find
SPI_cursor_move, SPI_cursor_move
SPI_cursor_open, SPI_cursor_open
SPI_cursor_open_with_args, SPI_cursor_open_with_args
SPI_cursor_open_with_paramlist, SPI_cursor_open_with_paramlist
SPI_cursor_parse_open, SPI_cursor_parse_open
SPI_exec, SPI_exec
SPI_execp, SPI_execp
SPI_execute, SPI_execute
SPI_execute_extended, SPI_execute_extended
SPI_execute_plan, SPI_execute_plan
SPI_execute_plan_extended, SPI_execute_plan_extended
SPI_execute_plan_with_paramlist, SPI_execute_plan_with_paramlist
SPI_execute_with_args, SPI_execute_with_args
spi_exec_prepared
in PL/Perl, Database Access from PL/Perl
spi_exec_query
in PL/Perl, Database Access from PL/Perl
spi_fetchrow
in PL/Perl, Database Access from PL/Perl
SPI_finish, SPI_finish
SPI_fname, SPI_fname
SPI_fnumber, SPI_fnumber
spi_freeplan
in PL/Perl, Database Access from PL/Perl
SPI_freeplan, SPI_freeplan
SPI_freetuple, SPI_freetuple
SPI_freetuptable, SPI_freetuptable
SPI_getargcount, SPI_getargcount
SPI_getargtypeid, SPI_getargtypeid
SPI_getbinval, SPI_getbinval
SPI_getnspname, SPI_getnspname
SPI_getrelname, SPI_getrelname
SPI_gettype, SPI_gettype
SPI_gettypeid, SPI_gettypeid
SPI_getvalue, SPI_getvalue
SPI_is_cursor_plan, SPI_is_cursor_plan
SPI_keepplan, SPI_keepplan
SPI_modifytuple, SPI_modifytuple
SPI_palloc, SPI_palloc
SPI_pfree, SPI_pfree
spi_prepare
in PL/Perl, Database Access from PL/Perl
SPI_prepare, SPI_prepare
SPI_prepare_cursor, SPI_prepare_cursor
SPI_prepare_extended, SPI_prepare_extended
SPI_prepare_params, SPI_prepare_params
spi_query
in PL/Perl, Database Access from PL/Perl
spi_query_prepared
in PL/Perl, Database Access from PL/Perl
SPI_register_relation, SPI_register_relation
SPI_register_trigger_data, SPI_register_trigger_data
SPI_repalloc, SPI_repalloc
SPI_result_code_string, SPI_result_code_string
SPI_returntuple, SPI_returntuple
spi_rollback
in PL/Perl, Database Access from PL/Perl
SPI_rollback, SPI_rollback
SPI_rollback_and_chain, SPI_rollback
SPI_saveplan, SPI_saveplan
SPI_scroll_cursor_fetch, SPI_scroll_cursor_fetch
SPI_scroll_cursor_move, SPI_scroll_cursor_move
SPI_start_transaction, SPI_start_transaction
SPI_unregister_relation, SPI_unregister_relation
split_part, String Functions and Operators
SQL/CLI, SQL Conformance
SQL/Foundation, SQL Conformance
SQL/Framework, SQL Conformance
SQL/JRT, SQL Conformance
SQL/JSON path language, The SQL/JSON Path Language
SQL/MDA, SQL Conformance
SQL/MED, SQL Conformance
SQL/OLB, SQL Conformance
SQL/PSM, SQL Conformance
SQL/Schemata, SQL Conformance
SQL/XML, SQL Conformance
limits and conformance, XML Limits and Conformance to SQL/XML
sqrt, Mathematical Functions and Operators
ssh, Secure TCP/IP Connections with SSH Tunnels
SSI, Introduction
SSL, Secure TCP/IP Connections with SSL, SSL Support
in libpq, Connection Status Functions
with libpq, Parameter Key Words
TLS, Secure TCP/IP Connections with SSL, SSL Support
ssl configuration parameter, SSL
sslinfo, sslinfo
ssl_ca_file configuration parameter, SSL
ssl_cert_file configuration parameter, SSL
ssl_cipher, Functions Provided
ssl_ciphers configuration parameter, SSL
ssl_client_cert_present, Functions Provided
ssl_client_dn, Functions Provided
ssl_client_dn_field, Functions Provided
ssl_client_serial, Functions Provided
ssl_crl_dir configuration parameter, SSL
ssl_crl_file configuration parameter, SSL
ssl_dh_params_file configuration parameter, SSL
ssl_ecdh_curve configuration parameter, SSL
ssl_extension_info, Functions Provided
ssl_issuer_dn, Functions Provided
ssl_issuer_field, Functions Provided
ssl_is_used, Functions Provided
ssl_key_file configuration parameter, SSL
ssl_library configuration parameter, Preset Options
ssl_max_protocol_version configuration parameter, SSL
ssl_min_protocol_version configuration parameter, SSL
ssl_passphrase_command configuration parameter, SSL
ssl_passphrase_command_supports_reload configuration parameter, SSL
ssl_prefer_server_ciphers configuration parameter, SSL
ssl_version, Functions Provided
SSPI, SSPI Authentication
STABLE, Function Volatility Categories
standard deviation, Aggregate Functions
population, Aggregate Functions
sample, Aggregate Functions
standard_conforming_strings configuration parameter, Previous PostgreSQL Versions
standby server, High Availability, Load Balancing, and Replication
standby.signal, Archive Recovery, Standby Server Operation, Setting Up a Standby Server
for hot standby, Administrator's Overview
pg_basebackup --write-recovery-conf, Options
standby_mode (see standby.signal)
START TRANSACTION, START TRANSACTION
starts_with, String Functions and Operators
START_REPLICATION, Streaming Replication Protocol
statement_timeout configuration parameter, Statement Behavior
statement_timestamp, Date/Time Functions and Operators
statistics, Aggregate Functions, Statistics Used by the Planner, Extended Statistics, Updating Planner Statistics, The Cumulative Statistics System
of the planner, Statistics Used by the Planner, Extended Statistics, Updating Planner Statistics
stats_fetch_consistency configuration parameter, Cumulative Query and Index Statistics
stddev, Aggregate Functions
stddev_pop, Aggregate Functions
stddev_samp, Aggregate Functions
STONITH, High Availability, Load Balancing, and Replication
storage parameters, Storage Parameters
Streaming Replication, High Availability, Load Balancing, and Replication
strict_word_similarity, Functions and Operators
string (see character string)
strings
backslash quotes, Previous PostgreSQL Versions
escape warning, Previous PostgreSQL Versions
standard conforming, Previous PostgreSQL Versions
string_agg, Aggregate Functions
string_to_array, String Functions and Operators
string_to_table, String Functions and Operators
strip, Text Search Functions and Operators, Manipulating Documents
strpos, String Functions and Operators
subarray, intarray Functions and Operators
subltree, Operators and Functions
subpath, Operators and Functions
subquery, Aggregate Functions, Scalar Subqueries, Subqueries, Subquery Expressions
subscript, Subscripts
substr, String Functions and Operators, Binary String Functions and Operators
substring, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators, SIMILAR TO Regular Expressions, POSIX Regular Expressions
SUBSTRING_REGEX, Differences from SQL Standard and XQuery
subtransactions
in PL/Tcl, Explicit Subtransactions in PL/Tcl
sum, Aggregate Functions
superuser, Accessing a Database, Role Attributes
superuser_reserved_connections configuration parameter, Connection Settings
support functions
in_range, B-Tree Support Functions
suppress_redundant_updates_trigger, Trigger Functions
svals, hstore Operators and Functions
synchronize_seqscans configuration parameter, Previous PostgreSQL Versions
synchronous commit, Asynchronous Commit
Synchronous Replication, High Availability, Load Balancing, and Replication
synchronous_commit configuration parameter, Settings
synchronous_standby_names configuration parameter, Primary Server
syntax, SQL Syntax
SQL, SQL Syntax
syslog_facility configuration parameter, Where to Log
syslog_ident configuration parameter, Where to Log
syslog_sequence_numbers configuration parameter, Where to Log
syslog_split_messages configuration parameter, Where to Log
system catalog, The System Catalog Schema
schema, The System Catalog Schema
systemd, PostgreSQL Features, Starting the Database Server
RemoveIPC, systemd RemoveIPC

T

table, Concepts, Table Basics, Modifying Tables
creating, Table Basics
inheritance, Inheritance
modifying, Modifying Tables
partitioning, Table Partitioning
removing, Table Basics
renaming, Renaming a Table
Table Access Method, Table Access Method Interface Definition
TABLE command, SELECT
table expression, Table Expressions
table function, Table Functions, xmltable
XMLTABLE, xmltable
table sampling method, Writing a Table Sampling Method
tableam
Table Access Method, Table Access Method Interface Definition
tablefunc, tablefunc
tableoid, System Columns
TABLESAMPLE method, Writing a Table Sampling Method
tablespace, Tablespaces
default, Statement Behavior
temporary, Statement Behavior
table_am_handler, Pseudo-Types
tan, Mathematical Functions and Operators
tand, Mathematical Functions and Operators
tanh, Mathematical Functions and Operators
target list, The Query Tree
Tcl, PL/Tcl — Tcl Procedural Language
tcn, tcn
tcp_keepalives_count configuration parameter, Connection Settings
tcp_keepalives_idle configuration parameter, Connection Settings
tcp_keepalives_interval configuration parameter, Connection Settings
tcp_user_timeout configuration parameter, Connection Settings
template0, Creating a Database, Template Databases
template1, Creating a Database, Template Databases
temp_buffers configuration parameter, Memory
temp_file_limit configuration parameter, Disk
temp_tablespaces configuration parameter, Statement Behavior
test, Regression Tests
test_decoding, test_decoding
text, Character Types, Network Address Functions and Operators
text search, Text Search Types, Text Search Types, Full Text Search, Preferred Index Types for Text Search
data types, Text Search Types
functions and operators, Text Search Types
indexes, Preferred Index Types for Text Search
text2ltree, Operators and Functions
threads, Behavior in Threaded Programs
with libpq, Behavior in Threaded Programs
tid, Object Identifier Types
time, Date/Time Types, Times
constants, Special Values
current, Current Date/Time
output format, Date/Time Output
(see also formatting)
time span, Date/Time Types
time with time zone, Date/Time Types, Times
time without time zone, Date/Time Types, Times
time zone, Time Zones, Locale and Formatting, POSIX Time Zone Specifications
conversion, AT TIME ZONE
input abbreviations, Date/Time Configuration Files
POSIX-style specification, POSIX Time Zone Specifications
time zone data, Build Process Details
time zone names, Locale and Formatting
timelines, Backup and Restore
TIMELINE_HISTORY, Streaming Replication Protocol
timeofday, Date/Time Functions and Operators
timeout
client authentication, Authentication
deadlock, Lock Management
timestamp, Date/Time Types, Time Stamps
timestamp with time zone, Date/Time Types, Time Stamps
timestamp without time zone, Date/Time Types, Time Stamps
timestamptz, Date/Time Types
TimeZone configuration parameter, Locale and Formatting
timezone_abbreviations configuration parameter, Locale and Formatting
TOAST, TOAST
and user-defined types, TOAST Considerations
per-column storage settings, Description
per-type storage settings, Description
versus large objects, Introduction
toast_tuple_target storage parameter, Storage Parameters
token, Lexical Structure
to_ascii, String Functions and Operators
to_char, Data Type Formatting Functions
and locales, Behavior
to_date, Data Type Formatting Functions
to_hex, String Functions and Operators
to_json, Processing and Creating JSON Data
to_jsonb, Processing and Creating JSON Data
to_number, Data Type Formatting Functions
to_regclass, System Information Functions and Operators
to_regcollation, System Information Functions and Operators
to_regnamespace, System Information Functions and Operators
to_regoper, System Information Functions and Operators
to_regoperator, System Information Functions and Operators
to_regproc, System Information Functions and Operators
to_regprocedure, System Information Functions and Operators
to_regrole, System Information Functions and Operators
to_regtype, System Information Functions and Operators
to_timestamp, Data Type Formatting Functions, Date/Time Functions and Operators
to_tsquery, Text Search Functions and Operators, Parsing Queries
to_tsvector, Text Search Functions and Operators, Parsing Documents
trace_locks configuration parameter, Developer Options
trace_lock_oidmin configuration parameter, Developer Options
trace_lock_table configuration parameter, Developer Options
trace_lwlocks configuration parameter, Developer Options
trace_notify configuration parameter, Developer Options
trace_recovery_messages configuration parameter, Developer Options
trace_sort configuration parameter, Developer Options
trace_userlocks configuration parameter, Developer Options
track_activities configuration parameter, Cumulative Query and Index Statistics
track_activity_query_size configuration parameter, Cumulative Query and Index Statistics
track_commit_timestamp configuration parameter, Sending Servers
track_counts configuration parameter, Cumulative Query and Index Statistics
track_functions configuration parameter, Cumulative Query and Index Statistics
track_io_timing configuration parameter, Cumulative Query and Index Statistics
track_wal_io_timing configuration parameter, Cumulative Query and Index Statistics
transaction, Transactions
transaction ID, Preventing Transaction ID Wraparound Failures
wraparound, Preventing Transaction ID Wraparound Failures
transaction isolation, Transaction Isolation
transaction isolation level, Transaction Isolation, Statement Behavior
read committed, Read Committed Isolation Level
repeatable read, Repeatable Read Isolation Level
serializable, Serializable Isolation Level
setting, SET TRANSACTION
setting default, Statement Behavior
transaction log (see WAL)
transaction_deferrable configuration parameter, Statement Behavior
transaction_isolation configuration parameter, Statement Behavior
transaction_read_only configuration parameter, Statement Behavior
transaction_timestamp, Date/Time Functions and Operators
transform_null_equals configuration parameter, Platform and Client Compatibility
transition tables, CREATE TRIGGER
(see also ephemeral named relation)
implementation in PLs, SPI_register_trigger_data
referencing from C trigger, Writing Trigger Functions in C
translate, String Functions and Operators
TRANSLATE_REGEX, Differences from SQL Standard and XQuery
transparent - huge pages, Memory
trigger, Pseudo-Types, Triggers, Writing Trigger Functions in C, Rules Versus Triggers, Trigger Functions, Trigger Functions
arguments for trigger functions, Overview of Trigger Behavior
constraint trigger, Description
for updating a derived tsvector column, Triggers for Automatic Updates
in C, Writing Trigger Functions in C
in PL/pgSQL, Trigger Functions
in PL/Python, Trigger Functions
in PL/Tcl, Trigger Functions in PL/Tcl
compared with rules, Rules Versus Triggers
triggered_change_notification, tcn
trigger_file (see promote_trigger_file)
trim, String Functions and Operators, Binary String Functions and Operators
trim_array, Array Functions and Operators
trim_scale, Mathematical Functions and Operators
true, Boolean Type
trunc, Mathematical Functions and Operators, Network Address Functions and Operators
TRUNCATE, TRUNCATE
trusted, Trusted and Untrusted PL/Perl
PL/Perl, Trusted and Untrusted PL/Perl
tsm_handler, Pseudo-Types
tsm_system_rows, tsm_system_rows
tsm_system_time, tsm_system_time
tsquery (data type), tsquery
tsquery_phrase, Text Search Functions and Operators, Manipulating Queries
tsvector (data type), tsvector
tsvector concatenation, Manipulating Documents
tsvector_to_array, Text Search Functions and Operators
tsvector_update_trigger, Trigger Functions
tsvector_update_trigger_column, Trigger Functions
ts_debug, Text Search Functions and Operators, Configuration Testing
ts_delete, Text Search Functions and Operators
ts_filter, Text Search Functions and Operators
ts_headline, Text Search Functions and Operators, Highlighting Results
ts_lexize, Text Search Functions and Operators, Dictionary Testing
ts_parse, Text Search Functions and Operators, Parser Testing
ts_rank, Text Search Functions and Operators, Ranking Search Results
ts_rank_cd, Text Search Functions and Operators, Ranking Search Results
ts_rewrite, Text Search Functions and Operators, Query Rewriting
ts_stat, Text Search Functions and Operators, Gathering Document Statistics
ts_token_type, Text Search Functions and Operators, Parser Testing
tuple_data_split, Heap Functions
txid_current, System Information Functions and Operators
txid_current_if_assigned, System Information Functions and Operators
txid_current_snapshot, System Information Functions and Operators
txid_snapshot_xip, System Information Functions and Operators
txid_snapshot_xmax, System Information Functions and Operators
txid_snapshot_xmin, System Information Functions and Operators
txid_status, System Information Functions and Operators
txid_visible_in_snapshot, System Information Functions and Operators
type (see data type)
type cast, Numeric Constants, Type Casts

U

UESCAPE, Identifiers and Key Words, String Constants with Unicode Escapes
unaccent, unaccent, Functions
Unicode escape, String Constants with Unicode Escapes
in identifiers, Identifiers and Key Words
in string constants, String Constants with Unicode Escapes
Unicode normalization, String Functions and Operators
UNION, Combining Queries (UNION, INTERSECT, EXCEPT), UNION, CASE, and Related Constructs
determination of result type, UNION, CASE, and Related Constructs
uniq, intarray Functions and Operators
unique constraint, Unique Constraints
unistr, String Functions and Operators
Unix domain socket, Parameter Key Words
unix_socket_directories configuration parameter, Connection Settings
unix_socket_group configuration parameter, Connection Settings
unix_socket_permissions configuration parameter, Connection Settings
unknown, Pseudo-Types
UNLISTEN, UNLISTEN
unnest, Array Functions and Operators
for multirange, Range/Multirange Functions and Operators
for tsvector, Text Search Functions and Operators
unqualified name, The Schema Search Path
updatable views, Updatable Views
UPDATE, Updates, Updating Data, Returning Data from Modified Rows, UPDATE
RETURNING, Returning Data from Modified Rows
update_process_title configuration parameter, Process Title
updating, Updating Data
upgrading, Upgrading a PostgreSQL Cluster
upper, String Functions and Operators, Range/Multirange Functions and Operators
and locales, Behavior
upper_inc, Range/Multirange Functions and Operators
upper_inf, Range/Multirange Functions and Operators
UPSERT, INSERT
URI, Connection Strings
user, System Information Functions and Operators, Database Roles
current, System Information Functions and Operators
user mapping, Foreign Data
User name maps, User Name Maps
user_catalog_table storage parameter, Storage Parameters
UUID, UUID Type, UUID Functions, PostgreSQL Features
generating, UUID Functions
uuid-ossp, uuid-ossp
uuid_generate_v1, uuid-ossp Functions
uuid_generate_v1mc, uuid-ossp Functions
uuid_generate_v3, uuid-ossp Functions

V

vacuum, Routine Vacuuming
VACUUM, VACUUM
vacuumdb, vacuumdb
vacuumlo, vacuumlo
vacuum_cost_delay configuration parameter, Cost-based Vacuum Delay
vacuum_cost_limit configuration parameter, Cost-based Vacuum Delay
vacuum_cost_page_dirty configuration parameter, Cost-based Vacuum Delay
vacuum_cost_page_hit configuration parameter, Cost-based Vacuum Delay
vacuum_cost_page_miss configuration parameter, Cost-based Vacuum Delay
vacuum_defer_cleanup_age configuration parameter, Primary Server
vacuum_failsafe_age configuration parameter, Statement Behavior
vacuum_freeze_min_age configuration parameter, Statement Behavior
vacuum_freeze_table_age configuration parameter, Statement Behavior
vacuum_index_cleanup storage parameter, Storage Parameters
vacuum_multixact_failsafe_age configuration parameter, Statement Behavior
vacuum_multixact_freeze_min_age configuration parameter, Statement Behavior
vacuum_multixact_freeze_table_age configuration parameter, Statement Behavior
vacuum_truncate storage parameter, Storage Parameters
value expression, Value Expressions
VALUES, VALUES Lists, UNION, CASE, and Related Constructs, VALUES
determination of result type, UNION, CASE, and Related Constructs
varchar, Character Types
variadic function, SQL Functions with Variable Numbers of Arguments
variance, Aggregate Functions
population, Aggregate Functions
sample, Aggregate Functions
var_pop, Aggregate Functions
var_samp, Aggregate Functions
version, Accessing a Database, System Information Functions and Operators, Upgrading a PostgreSQL Cluster
compatibility, Upgrading a PostgreSQL Cluster
view, Views, Views and the Rule System, Materialized Views, Cooperation with Views
implementation through rules, Views and the Rule System
materialized, Materialized Views
updating, Cooperation with Views
Visibility Map, Visibility Map
VM (see Visibility Map)
void, Pseudo-Types
VOLATILE, Function Volatility Categories
volatility, Function Volatility Categories
functions, Function Volatility Categories
VPATH, Installation Procedure, Extension Building Infrastructure

W

WAL, Reliability and the Write-Ahead Log
wal_block_size configuration parameter, Preset Options
wal_buffers configuration parameter, Settings
wal_compression configuration parameter, Settings
wal_consistency_checking configuration parameter, Developer Options
wal_debug configuration parameter, Developer Options
wal_decode_buffer_size configuration parameter, Recovery
wal_init_zero configuration parameter, Settings
wal_keep_size configuration parameter, Sending Servers
wal_level configuration parameter, Settings
wal_log_hints configuration parameter, Settings
wal_receiver_create_temp_slot configuration parameter, Standby Servers
wal_receiver_status_interval configuration parameter, Standby Servers
wal_receiver_timeout configuration parameter, Standby Servers
wal_recycle configuration parameter, Settings
wal_retrieve_retry_interval configuration parameter, Standby Servers
wal_segment_size configuration parameter, Preset Options
wal_sender_timeout configuration parameter, Sending Servers
wal_skip_threshold configuration parameter, Settings
wal_sync_method configuration parameter, Settings
wal_writer_delay configuration parameter, Settings
wal_writer_flush_after configuration parameter, Settings
warm standby, High Availability, Load Balancing, and Replication
websearch_to_tsquery, Text Search Functions and Operators
WHERE, The WHERE Clause
where to log, Where to Log
WHILE
in PL/pgSQL, WHILE
width, Geometric Functions and Operators
width_bucket, Mathematical Functions and Operators
window function, Window Functions, Window Function Calls, Window Function Processing, Window Functions
built-in, Window Functions
invocation, Window Function Calls
order of execution, Window Function Processing
WITH, WITH Queries (Common Table Expressions), SELECT
in SELECT, WITH Queries (Common Table Expressions), SELECT
WITH CHECK OPTION, CREATE VIEW
WITHIN GROUP, Aggregate Expressions
witness server, High Availability, Load Balancing, and Replication
word_similarity, Functions and Operators
work_mem configuration parameter, Memory
wraparound
of multixact IDs, Multixacts and Wraparound
of transaction IDs, Preventing Transaction ID Wraparound Failures

X

xid, Object Identifier Types
xid8, Object Identifier Types
xmax, System Columns
xmin, System Columns
XML, XML Type
XML export, Mapping Tables to XML
XML Functions, XML Functions
XML option, Creating XML Values, Statement Behavior
xml2, xml2
xmlagg, xmlagg, Aggregate Functions
xmlbinary configuration parameter, Statement Behavior
xmlcomment, xmlcomment
xmlconcat, xmlconcat
xmlelement, xmlelement
XMLEXISTS, XMLEXISTS
xmlforest, xmlforest
xmloption configuration parameter, Statement Behavior
xmlparse, Creating XML Values
xmlpi, xmlpi
xmlroot, xmlroot
xmlserialize, Creating XML Values
xmltable, xmltable
xml_is_well_formed, xml_is_well_formed
xml_is_well_formed_content, xml_is_well_formed
xml_is_well_formed_document, xml_is_well_formed
XPath, xpath
xpath_exists, xpath_exists
xpath_table, xpath_table
XQuery regular expressions, Differences from SQL Standard and XQuery
xslt_process, xslt_process

Z

zero_damaged_pages configuration parameter, Developer Options
zlib, Requirements, Anti-Features
\ No newline at end of file + libpq, Building libpq Programs
PL/Perl, PL/Perl — Perl Procedural Language
PL/PerlU, Trusted and Untrusted PL/Perl
PL/pgSQL, PL/pgSQL — SQL Procedural Language
PL/Python, PL/Python — Python Procedural Language
PL/SQL (Oracle), Porting from Oracle PL/SQL
porting to PL/pgSQL, Porting from Oracle PL/SQL
PL/Tcl, PL/Tcl — Tcl Procedural Language
plainto_tsquery, Text Search Functions and Operators, Parsing Queries
plan_cache_mode configuration parameter, Other Planner Options
plperl.on_init configuration parameter, Configuration
plperl.on_plperlu_init configuration parameter, Configuration
plperl.on_plperl_init configuration parameter, Configuration
plperl.use_strict configuration parameter, Configuration
plpgsql.check_asserts configuration parameter, Checking Assertions
plpgsql.variable_conflict configuration parameter, Variable Substitution
pltcl.start_proc configuration parameter, PL/Tcl Configuration
pltclu.start_proc configuration parameter, PL/Tcl Configuration
point, Points, Geometric Functions and Operators
point-in-time recovery, Backup and Restore
policy, Row Security Policies
polygon, Polygons, Geometric Functions and Operators
polymorphic function, Polymorphic Types
polymorphic type, Polymorphic Types
popcount (see bit_count)
popen, Geometric Functions and Operators
populate_record, hstore Operators and Functions
port, Parameter Key Words
port configuration parameter, Connection Settings
position, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators
POSITION_REGEX, Differences from SQL Standard and XQuery
POSTGRES, The Berkeley POSTGRES Project
postgres, Architectural Fundamentals, Starting the Database Server, Creating a Database, postgres
postgres user, The PostgreSQL User Account
Postgres95, Postgres95
postgresql.auto.conf, Parameter Interaction via the Configuration File
postgresql.conf, Parameter Interaction via the Configuration File
postgres_fdw, postgres_fdw
postgres_fdw.application_name configuration parameter, Configuration Parameters
postmaster, postmaster
post_auth_delay configuration parameter, Developer Options
power, Mathematical Functions and Operators
PQbackendPID, Connection Status Functions
PQbinaryTuples, Retrieving Query Result Information
with COPY, Functions Associated with the COPY Command
PQcancel, Canceling Queries in Progress
PQclear, Main Functions
PQclientEncoding, Control Functions
PQcmdStatus, Retrieving Other Result Information
PQcmdTuples, Retrieving Other Result Information
PQconndefaults, Database Connection Control Functions
PQconnectdb, Database Connection Control Functions
PQconnectdbParams, Database Connection Control Functions
PQconnectionNeedsPassword, Connection Status Functions
PQconnectionUsedPassword, Connection Status Functions
PQconnectPoll, Database Connection Control Functions
PQconnectStart, Database Connection Control Functions
PQconnectStartParams, Database Connection Control Functions
PQconninfo, Database Connection Control Functions
PQconninfoFree, Miscellaneous Functions
PQconninfoParse, Database Connection Control Functions
PQconsumeInput, Asynchronous Command Processing
PQcopyResult, Miscellaneous Functions
PQdb, Connection Status Functions
PQdescribePortal, Main Functions
PQdescribePrepared, Main Functions
PQencryptPassword, Miscellaneous Functions
PQencryptPasswordConn, Miscellaneous Functions
PQendcopy, Obsolete Functions for COPY
PQenterPipelineMode, Functions Associated with Pipeline Mode
PQerrorMessage, Connection Status Functions
PQescapeBytea, Escaping Strings for Inclusion in SQL Commands
PQescapeByteaConn, Escaping Strings for Inclusion in SQL Commands
PQescapeIdentifier, Escaping Strings for Inclusion in SQL Commands
PQescapeLiteral, Escaping Strings for Inclusion in SQL Commands
PQescapeString, Escaping Strings for Inclusion in SQL Commands
PQescapeStringConn, Escaping Strings for Inclusion in SQL Commands
PQexec, Main Functions
PQexecParams, Main Functions
PQexecPrepared, Main Functions
PQexitPipelineMode, Functions Associated with Pipeline Mode
PQfformat, Retrieving Query Result Information
with COPY, Functions Associated with the COPY Command
PQfinish, Database Connection Control Functions
PQfireResultCreateEvents, Miscellaneous Functions
PQflush, Asynchronous Command Processing
PQfmod, Retrieving Query Result Information
PQfn, The Fast-Path Interface
PQfname, Retrieving Query Result Information
PQfnumber, Retrieving Query Result Information
PQfreeCancel, Canceling Queries in Progress
PQfreemem, Miscellaneous Functions
PQfsize, Retrieving Query Result Information
PQftable, Retrieving Query Result Information
PQftablecol, Retrieving Query Result Information
PQftype, Retrieving Query Result Information
PQgetCancel, Canceling Queries in Progress
PQgetCopyData, Functions for Receiving COPY Data
PQgetisnull, Retrieving Query Result Information
PQgetlength, Retrieving Query Result Information
PQgetline, Obsolete Functions for COPY
PQgetlineAsync, Obsolete Functions for COPY
PQgetResult, Asynchronous Command Processing
PQgetssl, Connection Status Functions
PQgetSSLKeyPassHook_OpenSSL, Database Connection Control Functions
PQgetvalue, Retrieving Query Result Information
PQhost, Connection Status Functions
PQhostaddr, Connection Status Functions
PQinitOpenSSL, SSL Library Initialization
PQinitSSL, SSL Library Initialization
PQinstanceData, Event Support Functions
PQisBusy, Asynchronous Command Processing
PQisnonblocking, Asynchronous Command Processing
PQisthreadsafe, Behavior in Threaded Programs
PQlibVersion, Miscellaneous Functions
(see also PQserverVersion)
PQmakeEmptyPGresult, Miscellaneous Functions
PQnfields, Retrieving Query Result Information
with COPY, Functions Associated with the COPY Command
PQnotifies, Asynchronous Notification
PQnparams, Retrieving Query Result Information
PQntuples, Retrieving Query Result Information
PQoidStatus, Retrieving Other Result Information
PQoidValue, Retrieving Other Result Information
PQoptions, Connection Status Functions
PQparameterStatus, Connection Status Functions
PQparamtype, Retrieving Query Result Information
PQpass, Connection Status Functions
PQping, Database Connection Control Functions
PQpingParams, Database Connection Control Functions
PQpipelineStatus, Functions Associated with Pipeline Mode
PQpipelineSync, Functions Associated with Pipeline Mode
PQport, Connection Status Functions
PQprepare, Main Functions
PQprint, Retrieving Query Result Information
PQprotocolVersion, Connection Status Functions
PQputCopyData, Functions for Sending COPY Data
PQputCopyEnd, Functions for Sending COPY Data
PQputline, Obsolete Functions for COPY
PQputnbytes, Obsolete Functions for COPY
PQregisterEventProc, Event Support Functions
PQrequestCancel, Canceling Queries in Progress
PQreset, Database Connection Control Functions
PQresetPoll, Database Connection Control Functions
PQresetStart, Database Connection Control Functions
PQresStatus, Main Functions
PQresultAlloc, Miscellaneous Functions
PQresultErrorField, Main Functions
PQresultErrorMessage, Main Functions
PQresultInstanceData, Event Support Functions
PQresultMemorySize, Miscellaneous Functions
PQresultSetInstanceData, Event Support Functions
PQresultStatus, Main Functions
PQresultVerboseErrorMessage, Main Functions
PQsendDescribePortal, Asynchronous Command Processing
PQsendDescribePrepared, Asynchronous Command Processing
PQsendFlushRequest, Functions Associated with Pipeline Mode
PQsendPrepare, Asynchronous Command Processing
PQsendQuery, Asynchronous Command Processing
PQsendQueryParams, Asynchronous Command Processing
PQsendQueryPrepared, Asynchronous Command Processing
PQserverVersion, Connection Status Functions
PQsetClientEncoding, Control Functions
PQsetdb, Database Connection Control Functions
PQsetdbLogin, Database Connection Control Functions
PQsetErrorContextVisibility, Control Functions
PQsetErrorVerbosity, Control Functions
PQsetInstanceData, Event Support Functions
PQsetnonblocking, Asynchronous Command Processing
PQsetNoticeProcessor, Notice Processing
PQsetNoticeReceiver, Notice Processing
PQsetResultAttrs, Miscellaneous Functions
PQsetSingleRowMode, Retrieving Query Results Row-by-Row
PQsetSSLKeyPassHook_OpenSSL, Database Connection Control Functions
PQsetTraceFlags, Control Functions
PQsetvalue, Miscellaneous Functions
PQsocket, Connection Status Functions
PQsslAttribute, Connection Status Functions
PQsslAttributeNames, Connection Status Functions
PQsslInUse, Connection Status Functions
PQsslStruct, Connection Status Functions
PQstatus, Connection Status Functions
PQtrace, Control Functions
PQtransactionStatus, Connection Status Functions
PQtty, Connection Status Functions
PQunescapeBytea, Escaping Strings for Inclusion in SQL Commands
PQuntrace, Control Functions
PQuser, Connection Status Functions
predicate locking, Serializable Isolation Level
PREPARE, PREPARE
PREPARE TRANSACTION, PREPARE TRANSACTION
prepared statements, DEALLOCATE, EXECUTE, EXPLAIN, PREPARE
creating, PREPARE
executing, EXECUTE
removing, DEALLOCATE
showing the query plan, EXPLAIN
preparing a query
in PL/pgSQL, Plan Caching
in PL/Python, Database Access Functions
in PL/Tcl, Database Access from PL/Tcl
pre_auth_delay configuration parameter, Developer Options
primary key, Primary Keys
primary_conninfo configuration parameter, Standby Servers
primary_slot_name configuration parameter, Standby Servers
privilege, Privileges, Schemas and Privileges, Rules and Privileges, Rules and Privileges
querying, System Information Functions and Operators
with rules, Rules and Privileges
for schemas, Schemas and Privileges
with views, Rules and Privileges
procedural language, Procedural Languages, Writing a Procedural Language Handler
externally maintained, Procedural Languages
handler for, Writing a Procedural Language Handler
procedure, User-Defined Procedures
user-defined, User-Defined Procedures
procedures
output parameter, SQL Procedures with Output Parameters
promote_trigger_file configuration parameter, Standby Servers
protocol, Frontend/Backend Protocol
frontend-backend, Frontend/Backend Protocol
ps, Standard Unix Tools
to monitor activity, Standard Unix Tools
psql, Accessing a Database, psql
Python, PL/Python — Python Procedural Language

R

radians, Mathematical Functions and Operators
radius, Geometric Functions and Operators
RADIUS, RADIUS Authentication
RAISE
in PL/pgSQL, Reporting Errors and Messages
random, Mathematical Functions and Operators
random_page_cost configuration parameter, Planner Cost Constants
range table, The Query Tree
range type, Range Types
exclude, Constraints on Ranges
indexes on, Indexing
range_agg, Aggregate Functions
range_intersect_agg, Aggregate Functions
range_merge, Range/Multirange Functions and Operators
rank, Window Functions
hypothetical, Aggregate Functions
read committed, Read Committed Isolation Level
read-only transaction, Statement Behavior
setting, SET TRANSACTION
setting default, Statement Behavior
readline, Requirements
Readline
in psql, Command-Line Editing
READ_REPLICATION_SLOT, Streaming Replication Protocol
real, Floating-Point Types
REASSIGN OWNED, REASSIGN OWNED
record, Pseudo-Types
recovery.conf, recovery.conf file merged into postgresql.conf
recovery.signal, Archive Recovery
recovery_end_command configuration parameter, Archive Recovery
recovery_init_sync_method configuration parameter, Error Handling
recovery_min_apply_delay configuration parameter, Standby Servers
recovery_prefetch configuration parameter, Recovery
recovery_target configuration parameter, Recovery Target
recovery_target_action configuration parameter, Recovery Target
recovery_target_inclusive configuration parameter, Recovery Target
recovery_target_lsn configuration parameter, Recovery Target
recovery_target_name configuration parameter, Recovery Target
recovery_target_time configuration parameter, Recovery Target
recovery_target_timeline configuration parameter, Recovery Target
recovery_target_xid configuration parameter, Recovery Target
rectangle, Boxes
RECURSIVE, CREATE VIEW
in common table expressions, Recursive Queries
in views, CREATE VIEW
recursive_worktable_factor configuration parameter, Other Planner Options
referential integrity, Foreign Keys, Foreign Keys
REFRESH MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW
regclass, Object Identifier Types
regcollation, Object Identifier Types
regconfig, Object Identifier Types
regdictionary, Object Identifier Types
regexp_count, String Functions and Operators, POSIX Regular Expressions
regexp_instr, String Functions and Operators, POSIX Regular Expressions
regexp_like, String Functions and Operators, POSIX Regular Expressions
regexp_match, String Functions and Operators, POSIX Regular Expressions
regexp_matches, String Functions and Operators, POSIX Regular Expressions
regexp_replace, String Functions and Operators, POSIX Regular Expressions
regexp_split_to_array, String Functions and Operators, POSIX Regular Expressions
regexp_split_to_table, String Functions and Operators, POSIX Regular Expressions
regexp_substr, String Functions and Operators, POSIX Regular Expressions
regnamespace, Object Identifier Types
regoper, Object Identifier Types
regoperator, Object Identifier Types
regproc, Object Identifier Types
regprocedure, Object Identifier Types
regression intercept, Aggregate Functions
regression slope, Aggregate Functions
regression test, Installation Procedure
regression tests, Regression Tests
regrole, Object Identifier Types
regr_avgx, Aggregate Functions
regr_avgy, Aggregate Functions
regr_count, Aggregate Functions
regr_intercept, Aggregate Functions
regr_r2, Aggregate Functions
regr_slope, Aggregate Functions
regr_sxx, Aggregate Functions
regr_sxy, Aggregate Functions
regr_syy, Aggregate Functions
regtype, Object Identifier Types
regular expression, SIMILAR TO Regular Expressions, POSIX Regular Expressions
(see also pattern matching)
regular expressions
and locales, Behavior
reindex, Routine Reindexing
REINDEX, REINDEX
reindexdb, reindexdb
relation, Concepts
relational database, Concepts
RELEASE SAVEPOINT, RELEASE SAVEPOINT
remove_temp_files_after_crash configuration parameter, Developer Options
repeat, String Functions and Operators
repeatable read, Repeatable Read Isolation Level
replace, String Functions and Operators
replication, High Availability, Load Balancing, and Replication
Replication Origins, Replication Progress Tracking
Replication Progress Tracking, Replication Progress Tracking
replication slot
logical replication, Replication Slots
streaming replication, Replication Slots
reporting errors
in PL/pgSQL, Reporting Errors and Messages
RESET, RESET
restartpoint, WAL Configuration
restart_after_crash configuration parameter, Error Handling
restore_command configuration parameter, Archive Recovery
RESTRICT, Dependency Tracking
with DROP, Dependency Tracking
foreign key action, Foreign Keys
restrict_nonsystem_relation_kind
configuration parameter, Statement Behavior
retryable error, Serialization Failure Handling
RETURN NEXT
in PL/pgSQL, RETURN NEXT and RETURN QUERY
RETURN QUERY
in PL/pgSQL, RETURN NEXT and RETURN QUERY
RETURNING, Returning Data from Modified Rows
RETURNING INTO, Executing a Command with a Single-Row Result
in PL/pgSQL, Executing a Command with a Single-Row Result
reverse, String Functions and Operators
REVOKE, Privileges, REVOKE
right, String Functions and Operators
right join, Joined Tables
role, Database Roles, Role Membership, Predefined Roles
applicable, applicable_roles
enabled, enabled_roles
membership in, Role Membership
privilege to bypass, Role Attributes
privilege to create, Role Attributes
privilege to inherit, Role Attributes
privilege to initiate replication, Role Attributes
privilege to limit connection, Role Attributes
ROLLBACK, ROLLBACK
rollback
psql, Variables
ROLLBACK PREPARED, ROLLBACK PREPARED
ROLLBACK TO SAVEPOINT, ROLLBACK TO SAVEPOINT
ROLLUP, GROUPING SETS, CUBE, and ROLLUP
round, Mathematical Functions and Operators
routine, User-Defined Procedures
routine maintenance, Routine Database Maintenance Tasks
row, Concepts, Table Basics
ROW, Row Constructors
row estimation, Row Estimation Examples
multivariate, Multivariate Statistics Examples
planner, Row Estimation Examples
row type, Composite Types
constructor, Row Constructors
row-level security, Row Security Policies
row-wise comparison, Row and Array Comparisons
row_number, Window Functions
row_security configuration parameter, Statement Behavior
row_security_active, System Information Functions and Operators
row_to_json, Processing and Creating JSON Data
rpad, String Functions and Operators
rtrim, String Functions and Operators, Binary String Functions and Operators
rule, The Rule System, Views and the Rule System, How SELECT Rules Work, Materialized Views, Rules on INSERT, UPDATE, and DELETE, Rules on INSERT, UPDATE, and DELETE, Rules on INSERT, UPDATE, and DELETE, Rules Versus Triggers
and materialized views, Materialized Views
and views, Views and the Rule System
for DELETE, Rules on INSERT, UPDATE, and DELETE
for INSERT, Rules on INSERT, UPDATE, and DELETE
for SELECT, How SELECT Rules Work
compared with triggers, Rules Versus Triggers
for UPDATE, Rules on INSERT, UPDATE, and DELETE

S

SAVEPOINT, SAVEPOINT
savepoints, RELEASE SAVEPOINT, ROLLBACK TO SAVEPOINT, SAVEPOINT
defining, SAVEPOINT
releasing, RELEASE SAVEPOINT
rolling back, ROLLBACK TO SAVEPOINT
scalar (see expression)
scale, Mathematical Functions and Operators
schema, Schemas, Creating a Schema, The Public Schema, Overview
creating, Creating a Schema
current, The Schema Search Path, System Information Functions and Operators
public, The Public Schema
removing, Creating a Schema
SCRAM, Password Authentication
search path, The Schema Search Path
current, System Information Functions and Operators
object visibility, System Information Functions and Operators
search_path configuration parameter, The Schema Search Path, Statement Behavior
use in securing functions, Writing SECURITY DEFINER Functions Safely
SECURITY LABEL, SECURITY LABEL
sec_to_gc, Cube-Based Earth Distances
seg, seg
segment_size configuration parameter, Preset Options
SELECT, Querying a Table, Queries, SELECT Output Columns, SELECT
determination of result type, SELECT Output Columns
select list, Select Lists
SELECT INTO, Executing a Command with a Single-Row Result, SELECT INTO
in PL/pgSQL, Executing a Command with a Single-Row Result
semaphores, Shared Memory and Semaphores
sepgsql, sepgsql
sepgsql.debug_audit configuration parameter, GUC Parameters
sepgsql.permissive configuration parameter, GUC Parameters
sequence, Sequence Manipulation Functions
and serial type, Serial Types
sequential scan, Planner Method Configuration
seq_page_cost configuration parameter, Planner Cost Constants
serial, Serial Types
serial2, Serial Types
serial4, Serial Types
serial8, Serial Types
serializable, Serializable Isolation Level
Serializable Snapshot Isolation, Introduction
serialization anomaly, Transaction Isolation, Serializable Isolation Level
serialization failure, Serialization Failure Handling
server log, Error Reporting and Logging, Log File Maintenance
log file maintenance, Log File Maintenance
Server Name Indication, Parameter Key Words
server spoofing, Preventing Server Spoofing
server_encoding configuration parameter, Preset Options
server_version configuration parameter, Preset Options
server_version_num configuration parameter, Preset Options
session_preload_libraries configuration parameter, Shared Library Preloading
session_replication_role configuration parameter, Statement Behavior
session_user, System Information Functions and Operators
SET, Configuration Settings Functions, SET
SET CONSTRAINTS, SET CONSTRAINTS
set difference, Combining Queries (UNION, INTERSECT, EXCEPT)
set intersection, Combining Queries (UNION, INTERSECT, EXCEPT)
set operation, Combining Queries (UNION, INTERSECT, EXCEPT)
set returning functions, Set Returning Functions
functions, Set Returning Functions
SET ROLE, SET ROLE
SET SESSION AUTHORIZATION, SET SESSION AUTHORIZATION
SET TRANSACTION, SET TRANSACTION
set union, Combining Queries (UNION, INTERSECT, EXCEPT)
SET XML OPTION, Statement Behavior
setseed, Mathematical Functions and Operators
setval, Sequence Manipulation Functions
setweight, Text Search Functions and Operators, Manipulating Documents
setweight for specific lexeme(s), Text Search Functions and Operators
set_bit, Binary String Functions and Operators, Bit String Functions and Operators
set_byte, Binary String Functions and Operators
set_config, Configuration Settings Functions
set_limit, Functions and Operators
set_masklen, Network Address Functions and Operators
sha224, Binary String Functions and Operators
sha256, Binary String Functions and Operators
sha384, Binary String Functions and Operators
sha512, Binary String Functions and Operators
shared library, Shared Libraries, Compiling and Linking Dynamically-Loaded Functions
shared memory, Shared Memory and Semaphores
shared_buffers configuration parameter, Memory
shared_memory_size configuration parameter, Preset Options
shared_memory_size_in_huge_pages configuration parameter, Preset Options
shared_memory_type configuration parameter, Memory
shared_preload_libraries, Shared Memory and LWLocks
shared_preload_libraries configuration parameter, Shared Library Preloading
shobj_description, System Information Functions and Operators
SHOW, Configuration Settings Functions, SHOW, Streaming Replication Protocol
show_limit, Functions and Operators
show_trgm, Functions and Operators
shutdown, Shutting Down the Server
SIGHUP, Parameter Interaction via the Configuration File, The pg_hba.conf File, User Name Maps
SIGINT, Shutting Down the Server
sign, Mathematical Functions and Operators
signal
backend processes, Server Signaling Functions
significant digits, Locale and Formatting
SIGQUIT, Shutting Down the Server
SIGTERM, Shutting Down the Server
SIMILAR TO, SIMILAR TO Regular Expressions
similarity, Functions and Operators
sin, Mathematical Functions and Operators
sind, Mathematical Functions and Operators
single-user mode, Options for Single-User Mode
sinh, Mathematical Functions and Operators
skeys, hstore Operators and Functions
sleep, Delaying Execution
slice, hstore Operators and Functions
sliced bread (see TOAST)
slope, Geometric Functions and Operators
SLRU, pg_stat_slru
smallint, Integer Types
smallserial, Serial Types
Solaris, Solaris
installation on, Solaris
shared library, Compiling and Linking Dynamically-Loaded Functions
start script, Starting the Database Server
SOME, Aggregate Functions, Subquery Expressions, Row and Array Comparisons
sort, intarray Functions and Operators
sorting, Sorting Rows (ORDER BY)
sort_asc, intarray Functions and Operators
sort_desc, intarray Functions and Operators
soundex, Soundex
SP-GiST (see index)
SPI, Server Programming Interface, spi
examples, spi
spi_commit
in PL/Perl, Database Access from PL/Perl
SPI_commit, SPI_commit
SPI_commit_and_chain, SPI_commit
SPI_connect, SPI_connect
SPI_connect_ext, SPI_connect
SPI_copytuple, SPI_copytuple
spi_cursor_close
in PL/Perl, Database Access from PL/Perl
SPI_cursor_close, SPI_cursor_close
SPI_cursor_fetch, SPI_cursor_fetch
SPI_cursor_find, SPI_cursor_find
SPI_cursor_move, SPI_cursor_move
SPI_cursor_open, SPI_cursor_open
SPI_cursor_open_with_args, SPI_cursor_open_with_args
SPI_cursor_open_with_paramlist, SPI_cursor_open_with_paramlist
SPI_cursor_parse_open, SPI_cursor_parse_open
SPI_exec, SPI_exec
SPI_execp, SPI_execp
SPI_execute, SPI_execute
SPI_execute_extended, SPI_execute_extended
SPI_execute_plan, SPI_execute_plan
SPI_execute_plan_extended, SPI_execute_plan_extended
SPI_execute_plan_with_paramlist, SPI_execute_plan_with_paramlist
SPI_execute_with_args, SPI_execute_with_args
spi_exec_prepared
in PL/Perl, Database Access from PL/Perl
spi_exec_query
in PL/Perl, Database Access from PL/Perl
spi_fetchrow
in PL/Perl, Database Access from PL/Perl
SPI_finish, SPI_finish
SPI_fname, SPI_fname
SPI_fnumber, SPI_fnumber
spi_freeplan
in PL/Perl, Database Access from PL/Perl
SPI_freeplan, SPI_freeplan
SPI_freetuple, SPI_freetuple
SPI_freetuptable, SPI_freetuptable
SPI_getargcount, SPI_getargcount
SPI_getargtypeid, SPI_getargtypeid
SPI_getbinval, SPI_getbinval
SPI_getnspname, SPI_getnspname
SPI_getrelname, SPI_getrelname
SPI_gettype, SPI_gettype
SPI_gettypeid, SPI_gettypeid
SPI_getvalue, SPI_getvalue
SPI_is_cursor_plan, SPI_is_cursor_plan
SPI_keepplan, SPI_keepplan
SPI_modifytuple, SPI_modifytuple
SPI_palloc, SPI_palloc
SPI_pfree, SPI_pfree
spi_prepare
in PL/Perl, Database Access from PL/Perl
SPI_prepare, SPI_prepare
SPI_prepare_cursor, SPI_prepare_cursor
SPI_prepare_extended, SPI_prepare_extended
SPI_prepare_params, SPI_prepare_params
spi_query
in PL/Perl, Database Access from PL/Perl
spi_query_prepared
in PL/Perl, Database Access from PL/Perl
SPI_register_relation, SPI_register_relation
SPI_register_trigger_data, SPI_register_trigger_data
SPI_repalloc, SPI_repalloc
SPI_result_code_string, SPI_result_code_string
SPI_returntuple, SPI_returntuple
spi_rollback
in PL/Perl, Database Access from PL/Perl
SPI_rollback, SPI_rollback
SPI_rollback_and_chain, SPI_rollback
SPI_saveplan, SPI_saveplan
SPI_scroll_cursor_fetch, SPI_scroll_cursor_fetch
SPI_scroll_cursor_move, SPI_scroll_cursor_move
SPI_start_transaction, SPI_start_transaction
SPI_unregister_relation, SPI_unregister_relation
split_part, String Functions and Operators
SQL/CLI, SQL Conformance
SQL/Foundation, SQL Conformance
SQL/Framework, SQL Conformance
SQL/JRT, SQL Conformance
SQL/JSON path language, The SQL/JSON Path Language
SQL/MDA, SQL Conformance
SQL/MED, SQL Conformance
SQL/OLB, SQL Conformance
SQL/PSM, SQL Conformance
SQL/Schemata, SQL Conformance
SQL/XML, SQL Conformance
limits and conformance, XML Limits and Conformance to SQL/XML
sqrt, Mathematical Functions and Operators
ssh, Secure TCP/IP Connections with SSH Tunnels
SSI, Introduction
SSL, Secure TCP/IP Connections with SSL, SSL Support
in libpq, Connection Status Functions
with libpq, Parameter Key Words
TLS, Secure TCP/IP Connections with SSL, SSL Support
ssl configuration parameter, SSL
sslinfo, sslinfo
ssl_ca_file configuration parameter, SSL
ssl_cert_file configuration parameter, SSL
ssl_cipher, Functions Provided
ssl_ciphers configuration parameter, SSL
ssl_client_cert_present, Functions Provided
ssl_client_dn, Functions Provided
ssl_client_dn_field, Functions Provided
ssl_client_serial, Functions Provided
ssl_crl_dir configuration parameter, SSL
ssl_crl_file configuration parameter, SSL
ssl_dh_params_file configuration parameter, SSL
ssl_ecdh_curve configuration parameter, SSL
ssl_extension_info, Functions Provided
ssl_issuer_dn, Functions Provided
ssl_issuer_field, Functions Provided
ssl_is_used, Functions Provided
ssl_key_file configuration parameter, SSL
ssl_library configuration parameter, Preset Options
ssl_max_protocol_version configuration parameter, SSL
ssl_min_protocol_version configuration parameter, SSL
ssl_passphrase_command configuration parameter, SSL
ssl_passphrase_command_supports_reload configuration parameter, SSL
ssl_prefer_server_ciphers configuration parameter, SSL
ssl_version, Functions Provided
SSPI, SSPI Authentication
STABLE, Function Volatility Categories
standard deviation, Aggregate Functions
population, Aggregate Functions
sample, Aggregate Functions
standard_conforming_strings configuration parameter, Previous PostgreSQL Versions
standby server, High Availability, Load Balancing, and Replication
standby.signal, Archive Recovery, Standby Server Operation, Setting Up a Standby Server
for hot standby, Administrator's Overview
pg_basebackup --write-recovery-conf, Options
standby_mode (see standby.signal)
START TRANSACTION, START TRANSACTION
starts_with, String Functions and Operators
START_REPLICATION, Streaming Replication Protocol
statement_timeout configuration parameter, Statement Behavior
statement_timestamp, Date/Time Functions and Operators
statistics, Aggregate Functions, Statistics Used by the Planner, Extended Statistics, Updating Planner Statistics, The Cumulative Statistics System
of the planner, Statistics Used by the Planner, Extended Statistics, Updating Planner Statistics
stats_fetch_consistency configuration parameter, Cumulative Query and Index Statistics
stddev, Aggregate Functions
stddev_pop, Aggregate Functions
stddev_samp, Aggregate Functions
STONITH, High Availability, Load Balancing, and Replication
storage parameters, Storage Parameters
Streaming Replication, High Availability, Load Balancing, and Replication
strict_word_similarity, Functions and Operators
string (see character string)
strings
backslash quotes, Previous PostgreSQL Versions
escape warning, Previous PostgreSQL Versions
standard conforming, Previous PostgreSQL Versions
string_agg, Aggregate Functions
string_to_array, String Functions and Operators
string_to_table, String Functions and Operators
strip, Text Search Functions and Operators, Manipulating Documents
strpos, String Functions and Operators
subarray, intarray Functions and Operators
subltree, Operators and Functions
subpath, Operators and Functions
subquery, Aggregate Functions, Scalar Subqueries, Subqueries, Subquery Expressions
subscript, Subscripts
substr, String Functions and Operators, Binary String Functions and Operators
substring, String Functions and Operators, Binary String Functions and Operators, Bit String Functions and Operators, SIMILAR TO Regular Expressions, POSIX Regular Expressions
SUBSTRING_REGEX, Differences from SQL Standard and XQuery
subtransactions
in PL/Tcl, Explicit Subtransactions in PL/Tcl
sum, Aggregate Functions
superuser, Accessing a Database, Role Attributes
superuser_reserved_connections configuration parameter, Connection Settings
support functions
in_range, B-Tree Support Functions
suppress_redundant_updates_trigger, Trigger Functions
svals, hstore Operators and Functions
synchronize_seqscans configuration parameter, Previous PostgreSQL Versions
synchronous commit, Asynchronous Commit
Synchronous Replication, High Availability, Load Balancing, and Replication
synchronous_commit configuration parameter, Settings
synchronous_standby_names configuration parameter, Primary Server
syntax, SQL Syntax
SQL, SQL Syntax
syslog_facility configuration parameter, Where to Log
syslog_ident configuration parameter, Where to Log
syslog_sequence_numbers configuration parameter, Where to Log
syslog_split_messages configuration parameter, Where to Log
system catalog, The System Catalog Schema
schema, The System Catalog Schema
systemd, PostgreSQL Features, Starting the Database Server
RemoveIPC, systemd RemoveIPC

T

table, Concepts, Table Basics, Modifying Tables
creating, Table Basics
inheritance, Inheritance
modifying, Modifying Tables
partitioning, Table Partitioning
removing, Table Basics
renaming, Renaming a Table
Table Access Method, Table Access Method Interface Definition
TABLE command, SELECT
table expression, Table Expressions
table function, Table Functions, xmltable
XMLTABLE, xmltable
table sampling method, Writing a Table Sampling Method
tableam
Table Access Method, Table Access Method Interface Definition
tablefunc, tablefunc
tableoid, System Columns
TABLESAMPLE method, Writing a Table Sampling Method
tablespace, Tablespaces
default, Statement Behavior
temporary, Statement Behavior
table_am_handler, Pseudo-Types
tan, Mathematical Functions and Operators
tand, Mathematical Functions and Operators
tanh, Mathematical Functions and Operators
target list, The Query Tree
Tcl, PL/Tcl — Tcl Procedural Language
tcn, tcn
tcp_keepalives_count configuration parameter, Connection Settings
tcp_keepalives_idle configuration parameter, Connection Settings
tcp_keepalives_interval configuration parameter, Connection Settings
tcp_user_timeout configuration parameter, Connection Settings
template0, Creating a Database, Template Databases
template1, Creating a Database, Template Databases
temp_buffers configuration parameter, Memory
temp_file_limit configuration parameter, Disk
temp_tablespaces configuration parameter, Statement Behavior
test, Regression Tests
test_decoding, test_decoding
text, Character Types, Network Address Functions and Operators
text search, Text Search Types, Text Search Types, Full Text Search, Preferred Index Types for Text Search
data types, Text Search Types
functions and operators, Text Search Types
indexes, Preferred Index Types for Text Search
text2ltree, Operators and Functions
threads, Behavior in Threaded Programs
with libpq, Behavior in Threaded Programs
tid, Object Identifier Types
time, Date/Time Types, Times
constants, Special Values
current, Current Date/Time
output format, Date/Time Output
(see also formatting)
time span, Date/Time Types
time with time zone, Date/Time Types, Times
time without time zone, Date/Time Types, Times
time zone, Time Zones, Locale and Formatting, POSIX Time Zone Specifications
conversion, AT TIME ZONE
input abbreviations, Date/Time Configuration Files
POSIX-style specification, POSIX Time Zone Specifications
time zone data, Build Process Details
time zone names, Locale and Formatting
timelines, Backup and Restore
TIMELINE_HISTORY, Streaming Replication Protocol
timeofday, Date/Time Functions and Operators
timeout
client authentication, Authentication
deadlock, Lock Management
timestamp, Date/Time Types, Time Stamps
timestamp with time zone, Date/Time Types, Time Stamps
timestamp without time zone, Date/Time Types, Time Stamps
timestamptz, Date/Time Types
TimeZone configuration parameter, Locale and Formatting
timezone_abbreviations configuration parameter, Locale and Formatting
TOAST, TOAST
and user-defined types, TOAST Considerations
per-column storage settings, Description
per-type storage settings, Description
versus large objects, Introduction
toast_tuple_target storage parameter, Storage Parameters
token, Lexical Structure
to_ascii, String Functions and Operators
to_char, Data Type Formatting Functions
and locales, Behavior
to_date, Data Type Formatting Functions
to_hex, String Functions and Operators
to_json, Processing and Creating JSON Data
to_jsonb, Processing and Creating JSON Data
to_number, Data Type Formatting Functions
to_regclass, System Information Functions and Operators
to_regcollation, System Information Functions and Operators
to_regnamespace, System Information Functions and Operators
to_regoper, System Information Functions and Operators
to_regoperator, System Information Functions and Operators
to_regproc, System Information Functions and Operators
to_regprocedure, System Information Functions and Operators
to_regrole, System Information Functions and Operators
to_regtype, System Information Functions and Operators
to_timestamp, Data Type Formatting Functions, Date/Time Functions and Operators
to_tsquery, Text Search Functions and Operators, Parsing Queries
to_tsvector, Text Search Functions and Operators, Parsing Documents
trace_locks configuration parameter, Developer Options
trace_lock_oidmin configuration parameter, Developer Options
trace_lock_table configuration parameter, Developer Options
trace_lwlocks configuration parameter, Developer Options
trace_notify configuration parameter, Developer Options
trace_recovery_messages configuration parameter, Developer Options
trace_sort configuration parameter, Developer Options
trace_userlocks configuration parameter, Developer Options
track_activities configuration parameter, Cumulative Query and Index Statistics
track_activity_query_size configuration parameter, Cumulative Query and Index Statistics
track_commit_timestamp configuration parameter, Sending Servers
track_counts configuration parameter, Cumulative Query and Index Statistics
track_functions configuration parameter, Cumulative Query and Index Statistics
track_io_timing configuration parameter, Cumulative Query and Index Statistics
track_wal_io_timing configuration parameter, Cumulative Query and Index Statistics
transaction, Transactions
transaction ID, Preventing Transaction ID Wraparound Failures
wraparound, Preventing Transaction ID Wraparound Failures
transaction isolation, Transaction Isolation
transaction isolation level, Transaction Isolation, Statement Behavior
read committed, Read Committed Isolation Level
repeatable read, Repeatable Read Isolation Level
serializable, Serializable Isolation Level
setting, SET TRANSACTION
setting default, Statement Behavior
transaction log (see WAL)
transaction_deferrable configuration parameter, Statement Behavior
transaction_isolation configuration parameter, Statement Behavior
transaction_read_only configuration parameter, Statement Behavior
transaction_timestamp, Date/Time Functions and Operators
transform_null_equals configuration parameter, Platform and Client Compatibility
transition tables, CREATE TRIGGER
(see also ephemeral named relation)
implementation in PLs, SPI_register_trigger_data
referencing from C trigger, Writing Trigger Functions in C
translate, String Functions and Operators
TRANSLATE_REGEX, Differences from SQL Standard and XQuery
transparent + huge pages, Memory
trigger, Pseudo-Types, Triggers, Writing Trigger Functions in C, Rules Versus Triggers, Trigger Functions, Trigger Functions
arguments for trigger functions, Overview of Trigger Behavior
constraint trigger, Description
for updating a derived tsvector column, Triggers for Automatic Updates
in C, Writing Trigger Functions in C
in PL/pgSQL, Trigger Functions
in PL/Python, Trigger Functions
in PL/Tcl, Trigger Functions in PL/Tcl
compared with rules, Rules Versus Triggers
triggered_change_notification, tcn
trigger_file (see promote_trigger_file)
trim, String Functions and Operators, Binary String Functions and Operators
trim_array, Array Functions and Operators
trim_scale, Mathematical Functions and Operators
true, Boolean Type
trunc, Mathematical Functions and Operators, Network Address Functions and Operators
TRUNCATE, TRUNCATE
trusted, Trusted and Untrusted PL/Perl
PL/Perl, Trusted and Untrusted PL/Perl
tsm_handler, Pseudo-Types
tsm_system_rows, tsm_system_rows
tsm_system_time, tsm_system_time
tsquery (data type), tsquery
tsquery_phrase, Text Search Functions and Operators, Manipulating Queries
tsvector (data type), tsvector
tsvector concatenation, Manipulating Documents
tsvector_to_array, Text Search Functions and Operators
tsvector_update_trigger, Trigger Functions
tsvector_update_trigger_column, Trigger Functions
ts_debug, Text Search Functions and Operators, Configuration Testing
ts_delete, Text Search Functions and Operators
ts_filter, Text Search Functions and Operators
ts_headline, Text Search Functions and Operators, Highlighting Results
ts_lexize, Text Search Functions and Operators, Dictionary Testing
ts_parse, Text Search Functions and Operators, Parser Testing
ts_rank, Text Search Functions and Operators, Ranking Search Results
ts_rank_cd, Text Search Functions and Operators, Ranking Search Results
ts_rewrite, Text Search Functions and Operators, Query Rewriting
ts_stat, Text Search Functions and Operators, Gathering Document Statistics
ts_token_type, Text Search Functions and Operators, Parser Testing
tuple_data_split, Heap Functions
txid_current, System Information Functions and Operators
txid_current_if_assigned, System Information Functions and Operators
txid_current_snapshot, System Information Functions and Operators
txid_snapshot_xip, System Information Functions and Operators
txid_snapshot_xmax, System Information Functions and Operators
txid_snapshot_xmin, System Information Functions and Operators
txid_status, System Information Functions and Operators
txid_visible_in_snapshot, System Information Functions and Operators
type (see data type)
type cast, Numeric Constants, Type Casts

U

UESCAPE, Identifiers and Key Words, String Constants with Unicode Escapes
unaccent, unaccent, Functions
Unicode escape, String Constants with Unicode Escapes
in identifiers, Identifiers and Key Words
in string constants, String Constants with Unicode Escapes
Unicode normalization, String Functions and Operators
UNION, Combining Queries (UNION, INTERSECT, EXCEPT), UNION, CASE, and Related Constructs
determination of result type, UNION, CASE, and Related Constructs
uniq, intarray Functions and Operators
unique constraint, Unique Constraints
unistr, String Functions and Operators
Unix domain socket, Parameter Key Words
unix_socket_directories configuration parameter, Connection Settings
unix_socket_group configuration parameter, Connection Settings
unix_socket_permissions configuration parameter, Connection Settings
unknown, Pseudo-Types
UNLISTEN, UNLISTEN
unnest, Array Functions and Operators
for multirange, Range/Multirange Functions and Operators
for tsvector, Text Search Functions and Operators
unqualified name, The Schema Search Path
updatable views, Updatable Views
UPDATE, Updates, Updating Data, Returning Data from Modified Rows, UPDATE
RETURNING, Returning Data from Modified Rows
update_process_title configuration parameter, Process Title
updating, Updating Data
upgrading, Upgrading a PostgreSQL Cluster
upper, String Functions and Operators, Range/Multirange Functions and Operators
and locales, Behavior
upper_inc, Range/Multirange Functions and Operators
upper_inf, Range/Multirange Functions and Operators
UPSERT, INSERT
URI, Connection Strings
user, System Information Functions and Operators, Database Roles
current, System Information Functions and Operators
user mapping, Foreign Data
User name maps, User Name Maps
user_catalog_table storage parameter, Storage Parameters
UUID, UUID Type, UUID Functions, PostgreSQL Features
generating, UUID Functions
uuid-ossp, uuid-ossp
uuid_generate_v1, uuid-ossp Functions
uuid_generate_v1mc, uuid-ossp Functions
uuid_generate_v3, uuid-ossp Functions

V

vacuum, Routine Vacuuming
VACUUM, VACUUM
vacuumdb, vacuumdb
vacuumlo, vacuumlo
vacuum_cost_delay configuration parameter, Cost-based Vacuum Delay
vacuum_cost_limit configuration parameter, Cost-based Vacuum Delay
vacuum_cost_page_dirty configuration parameter, Cost-based Vacuum Delay
vacuum_cost_page_hit configuration parameter, Cost-based Vacuum Delay
vacuum_cost_page_miss configuration parameter, Cost-based Vacuum Delay
vacuum_defer_cleanup_age configuration parameter, Primary Server
vacuum_failsafe_age configuration parameter, Statement Behavior
vacuum_freeze_min_age configuration parameter, Statement Behavior
vacuum_freeze_table_age configuration parameter, Statement Behavior
vacuum_index_cleanup storage parameter, Storage Parameters
vacuum_multixact_failsafe_age configuration parameter, Statement Behavior
vacuum_multixact_freeze_min_age configuration parameter, Statement Behavior
vacuum_multixact_freeze_table_age configuration parameter, Statement Behavior
vacuum_truncate storage parameter, Storage Parameters
value expression, Value Expressions
VALUES, VALUES Lists, UNION, CASE, and Related Constructs, VALUES
determination of result type, UNION, CASE, and Related Constructs
varchar, Character Types
variadic function, SQL Functions with Variable Numbers of Arguments
variance, Aggregate Functions
population, Aggregate Functions
sample, Aggregate Functions
var_pop, Aggregate Functions
var_samp, Aggregate Functions
version, Accessing a Database, System Information Functions and Operators, Upgrading a PostgreSQL Cluster
compatibility, Upgrading a PostgreSQL Cluster
view, Views, Views and the Rule System, Materialized Views, Cooperation with Views
implementation through rules, Views and the Rule System
materialized, Materialized Views
updating, Cooperation with Views
Visibility Map, Visibility Map
VM (see Visibility Map)
void, Pseudo-Types
VOLATILE, Function Volatility Categories
volatility, Function Volatility Categories
functions, Function Volatility Categories
VPATH, Installation Procedure, Extension Building Infrastructure

W

WAL, Reliability and the Write-Ahead Log
wal_block_size configuration parameter, Preset Options
wal_buffers configuration parameter, Settings
wal_compression configuration parameter, Settings
wal_consistency_checking configuration parameter, Developer Options
wal_debug configuration parameter, Developer Options
wal_decode_buffer_size configuration parameter, Recovery
wal_init_zero configuration parameter, Settings
wal_keep_size configuration parameter, Sending Servers
wal_level configuration parameter, Settings
wal_log_hints configuration parameter, Settings
wal_receiver_create_temp_slot configuration parameter, Standby Servers
wal_receiver_status_interval configuration parameter, Standby Servers
wal_receiver_timeout configuration parameter, Standby Servers
wal_recycle configuration parameter, Settings
wal_retrieve_retry_interval configuration parameter, Standby Servers
wal_segment_size configuration parameter, Preset Options
wal_sender_timeout configuration parameter, Sending Servers
wal_skip_threshold configuration parameter, Settings
wal_sync_method configuration parameter, Settings
wal_writer_delay configuration parameter, Settings
wal_writer_flush_after configuration parameter, Settings
warm standby, High Availability, Load Balancing, and Replication
websearch_to_tsquery, Text Search Functions and Operators
WHERE, The WHERE Clause
where to log, Where to Log
WHILE
in PL/pgSQL, WHILE
width, Geometric Functions and Operators
width_bucket, Mathematical Functions and Operators
window function, Window Functions, Window Function Calls, Window Function Processing, Window Functions
built-in, Window Functions
invocation, Window Function Calls
order of execution, Window Function Processing
WITH, WITH Queries (Common Table Expressions), SELECT
in SELECT, WITH Queries (Common Table Expressions), SELECT
WITH CHECK OPTION, CREATE VIEW
WITHIN GROUP, Aggregate Expressions
witness server, High Availability, Load Balancing, and Replication
word_similarity, Functions and Operators
work_mem configuration parameter, Memory
wraparound
of multixact IDs, Multixacts and Wraparound
of transaction IDs, Preventing Transaction ID Wraparound Failures

X

xid, Object Identifier Types
xid8, Object Identifier Types
xmax, System Columns
xmin, System Columns
XML, XML Type
XML export, Mapping Tables to XML
XML Functions, XML Functions
XML option, Creating XML Values, Statement Behavior
xml2, xml2
xmlagg, xmlagg, Aggregate Functions
xmlbinary configuration parameter, Statement Behavior
xmlcomment, xmlcomment
xmlconcat, xmlconcat
xmlelement, xmlelement
XMLEXISTS, XMLEXISTS
xmlforest, xmlforest
xmloption configuration parameter, Statement Behavior
xmlparse, Creating XML Values
xmlpi, xmlpi
xmlroot, xmlroot
xmlserialize, Creating XML Values
xmltable, xmltable
xml_is_well_formed, xml_is_well_formed
xml_is_well_formed_content, xml_is_well_formed
xml_is_well_formed_document, xml_is_well_formed
XPath, xpath
xpath_exists, xpath_exists
xpath_table, xpath_table
XQuery regular expressions, Differences from SQL Standard and XQuery
xslt_process, xslt_process

Z

zero_damaged_pages configuration parameter, Developer Options
zlib, Requirements, Anti-Features
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/brin-builtin-opclasses.html postgresql-15-15.18/doc/src/sgml/html/brin-builtin-opclasses.html --- postgresql-15-15.17/doc/src/sgml/html/brin-builtin-opclasses.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/brin-builtin-opclasses.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -71.2. Built-in Operator Classes

71.2. Built-in Operator Classes

+71.2. Built-in Operator Classes

71.2. Built-in Operator Classes

The core PostgreSQL distribution includes the BRIN operator classes shown in Table 71.1. @@ -43,4 +43,4 @@ minmax indexes to summarize a block range. Each value may represent either a point, or a boundary of an interval. Values must be between 8 and 256, and the default value is 32. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/brin-extensibility.html postgresql-15-15.18/doc/src/sgml/html/brin-extensibility.html --- postgresql-15-15.17/doc/src/sgml/html/brin-extensibility.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/brin-extensibility.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -71.3. Extensibility

71.3. Extensibility

+71.3. Extensibility

71.3. Extensibility

The BRIN interface has a high level of abstraction, requiring the access method implementer only to implement the semantics of the data type being accessed. The BRIN layer @@ -165,4 +165,4 @@ right-hand-side argument of the supported operator. See float4_minmax_ops as an example of minmax, and box_inclusion_ops as an example of inclusion. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/brin-intro.html postgresql-15-15.18/doc/src/sgml/html/brin-intro.html --- postgresql-15-15.17/doc/src/sgml/html/brin-intro.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/brin-intro.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -71.1. Introduction

71.1. Introduction

+71.1. Introduction

71.1. Introduction

BRIN stands for Block Range Index. BRIN is designed for handling very large tables in which certain columns have some natural correlation with their @@ -96,4 +96,4 @@ which is useful when the index tuple is no longer a very good representation because the existing values have changed. See Section 9.27.8 for details. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/brin.html postgresql-15-15.18/doc/src/sgml/html/brin.html --- postgresql-15-15.17/doc/src/sgml/html/brin.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/brin.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 71. BRIN Indexes \ No newline at end of file +Chapter 71. BRIN Indexes \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/btree-behavior.html postgresql-15-15.18/doc/src/sgml/html/btree-behavior.html --- postgresql-15-15.17/doc/src/sgml/html/btree-behavior.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/btree-behavior.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -67.2. Behavior of B-Tree Operator Classes

67.2. Behavior of B-Tree Operator Classes

+67.2. Behavior of B-Tree Operator Classes

67.2. Behavior of B-Tree Operator Classes

As shown in Table 38.3, a btree operator class must provide five comparison operators, <, @@ -115,4 +115,4 @@ data types. The extensions to three or more data types within a family are not strictly required by the btree index mechanism itself, but the planner relies on them for optimization purposes. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/btree-gin.html postgresql-15-15.18/doc/src/sgml/html/btree-gin.html --- postgresql-15-15.17/doc/src/sgml/html/btree-gin.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/btree-gin.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.8. btree_gin

F.8. btree_gin

+F.8. btree_gin

F.8. btree_gin

btree_gin provides sample GIN operator classes that implement B-tree equivalent behavior for the data types int2, int4, int8, float4, @@ -35,4 +35,4 @@ Oleg Bartunov (). See http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin for additional information. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/btree-gist.html postgresql-15-15.18/doc/src/sgml/html/btree-gist.html --- postgresql-15-15.17/doc/src/sgml/html/btree-gist.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/btree-gist.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.9. btree_gist

F.9. btree_gist

+F.9. btree_gist

F.9. btree_gist

btree_gist provides GiST index operator classes that implement B-tree equivalent behavior for the data types int2, int4, int8, float4, @@ -77,4 +77,4 @@ Paul Jungwirth (). See http://www.sai.msu.su/~megera/postgres/gist/ for additional information. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/btree-implementation.html postgresql-15-15.18/doc/src/sgml/html/btree-implementation.html --- postgresql-15-15.17/doc/src/sgml/html/btree-implementation.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/btree-implementation.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -67.4. Implementation

67.4. Implementation

+67.4. Implementation

67.4. Implementation

This section covers B-Tree index implementation details that may be of use to advanced users. See src/backend/access/nbtree/README in the source @@ -251,4 +251,4 @@

  • INCLUDE indexes can never use deduplication.

-

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/btree-intro.html postgresql-15-15.18/doc/src/sgml/html/btree-intro.html --- postgresql-15-15.17/doc/src/sgml/html/btree-intro.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/btree-intro.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -67.1. Introduction

67.1. Introduction

+67.1. Introduction

67.1. Introduction

PostgreSQL includes an implementation of the standard btree (multi-way balanced tree) index data structure. Any data type that can be sorted into a well-defined linear @@ -14,4 +14,4 @@ some features that go beyond what would be needed just to support btree indexes, and parts of the system that are quite distant from the btree AM make use of them. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/btree-support-funcs.html postgresql-15-15.18/doc/src/sgml/html/btree-support-funcs.html --- postgresql-15-15.17/doc/src/sgml/html/btree-support-funcs.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/btree-support-funcs.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -67.3. B-Tree Support Functions

67.3. B-Tree Support Functions

+67.3. B-Tree Support Functions

67.3. B-Tree Support Functions

As shown in Table 38.9, btree defines one required and four optional support functions. The five user-defined methods are: @@ -288,4 +288,4 @@ access method. Nevertheless, this support function was added to B-tree for uniformity, and will probably find uses during further evolution of B-tree in PostgreSQL. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/btree.html postgresql-15-15.18/doc/src/sgml/html/btree.html --- postgresql-15-15.17/doc/src/sgml/html/btree.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/btree.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 67. B-Tree Indexes \ No newline at end of file +Chapter 67. B-Tree Indexes \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/bug-reporting.html postgresql-15-15.18/doc/src/sgml/html/bug-reporting.html --- postgresql-15-15.17/doc/src/sgml/html/bug-reporting.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/bug-reporting.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -5. Bug Reporting Guidelines

5. Bug Reporting Guidelines

+5. Bug Reporting Guidelines

5. Bug Reporting Guidelines

When you find a bug in PostgreSQL we want to hear about it. Your bug reports play an important part in making PostgreSQL more reliable because even the utmost @@ -154,7 +154,7 @@ subversion the package might have. If you are talking about a Git snapshot, mention that, including the commit hash.

- If your version is older than 15.17 we will almost certainly + If your version is older than 15.18 we will almost certainly tell you to upgrade. There are many bug fixes and improvements in each new release, so it is quite possible that a bug you have encountered in an older release of PostgreSQL @@ -245,4 +245,4 @@ will be some delay before the email is delivered. If you wish to subscribe to the lists, please visit https://lists.postgresql.org/ for instructions. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-aggregate.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-aggregate.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-aggregate.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-aggregate.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.2. pg_aggregate

53.2. pg_aggregate

+53.2. pg_aggregate

53.2. pg_aggregate

The catalog pg_aggregate stores information about aggregate functions. An aggregate function is a function that operates on a set of values (typically one column from each row @@ -167,4 +167,4 @@ command. See Section 38.12 for more information about writing aggregate functions and the meaning of the transition functions, etc. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-am.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-am.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-am.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-am.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.3. pg_am

53.3. pg_am

+53.3. pg_am

53.3. pg_am

The catalog pg_am stores information about relation access methods. There is one row for each access method supported by the system. @@ -41,4 +41,4 @@ However, pg_index_column_has_property() and related functions have been added to allow SQL queries to inspect index access method properties; see Table 9.71. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-amop.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-amop.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-amop.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-amop.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.4. pg_amop

53.4. pg_amop

+53.4. pg_amop

53.4. pg_amop

The catalog pg_amop stores information about operators associated with access method operator families. There is one row for each operator that is a member of an operator family. A family @@ -101,4 +101,4 @@ amoplefttype and amoprighttype must match the oprleft and oprright fields of the referenced pg_operator entry. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-amproc.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-amproc.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-amproc.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-amproc.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.5. pg_amproc

53.5. pg_amproc

+53.5. pg_amproc

53.5. pg_amproc

The catalog pg_amproc stores information about support functions associated with access method operator families. There is one row for each support function belonging to an operator family. @@ -52,4 +52,4 @@ an index, which are those with amproclefttype and amprocrighttype both equal to the index operator class's opcintype. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-attrdef.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-attrdef.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-attrdef.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-attrdef.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.6. pg_attrdef

53.6. pg_attrdef

+53.6. pg_attrdef

53.6. pg_attrdef

The catalog pg_attrdef stores column default values. The main information about columns is stored in pg_attribute. @@ -34,4 +34,4 @@ The column default value, in nodeToString() representation. Use pg_get_expr(adbin, adrelid) to convert it to an SQL expression. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-attribute.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-attribute.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-attribute.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-attribute.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.7. pg_attribute

53.7. pg_attribute

+53.7. pg_attribute

53.7. pg_attribute

The catalog pg_attribute stores information about table columns. There will be exactly one pg_attribute row for every column in every @@ -208,4 +208,4 @@ later dropped, and so there is no pg_type row anymore. attlen and the other fields can be used to interpret the contents of a row of the table. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-auth-members.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-auth-members.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-auth-members.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-auth-members.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.9. pg_auth_members

53.9. pg_auth_members

+53.9. pg_auth_members

53.9. pg_auth_members

The catalog pg_auth_members shows the membership relations between roles. Any non-circular set of relationships is allowed.

@@ -37,4 +37,4 @@

True if member can grant membership in roleid to others -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-authid.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-authid.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-authid.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-authid.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.8. pg_authid

53.8. pg_authid

+53.8. pg_authid

53.8. pg_authid

The catalog pg_authid contains information about database authorization identifiers (roles). A role subsumes the concepts of users and groups. A user is essentially just a @@ -107,4 +107,4 @@ where salt, StoredKey and ServerKey are in Base64 encoded format. This format is the same as that specified by RFC 5803. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-cast.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-cast.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-cast.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-cast.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.10. pg_cast

53.10. pg_cast

+53.10. pg_cast

53.10. pg_cast

The catalog pg_cast stores data type conversion paths, both built-in and user-defined.

@@ -83,4 +83,4 @@ coercion in a single step. When no such entry is available, coercion to a type that uses a type modifier involves two steps, one to convert between data types and a second to apply the modifier. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-class.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-class.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-class.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-class.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.11. pg_class

53.11. pg_class

+53.11. pg_class

53.11. pg_class

The catalog pg_class describes tables and other objects that have columns or are otherwise similar to a table. This includes indexes (but see also pg_index), @@ -264,4 +264,4 @@ DROP INDEX. Instead, VACUUM clears relhasindex if it finds the table has no indexes. This arrangement avoids race conditions and improves concurrency. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-collation.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-collation.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-collation.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-collation.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.12. pg_collation

53.12. pg_collation

+53.12. pg_collation

53.12. pg_collation

The catalog pg_collation describes the available collations, which are essentially mappings from an SQL name to operating system locale categories. @@ -90,4 +90,4 @@ collations whose encoding does not match the database encoding, since they could match the encodings of databases later cloned from template0. This would currently have to be done manually. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-constraint.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-constraint.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-constraint.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-constraint.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.13. pg_constraint

53.13. pg_constraint

+53.13. pg_constraint

53.13. pg_constraint

The catalog pg_constraint stores check, primary key, unique, foreign key, and exclusion constraints on tables. (Column constraints are not treated specially. Every column constraint is @@ -203,4 +203,4 @@ pg_class.relchecks needs to agree with the number of check-constraint entries found in this table for each relation. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-conversion.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-conversion.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-conversion.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-conversion.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.14. pg_conversion

53.14. pg_conversion

+53.14. pg_conversion

53.14. pg_conversion

The catalog pg_conversion describes encoding conversion functions. See CREATE CONVERSION for more information. @@ -53,4 +53,4 @@

True if this is the default conversion -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-database.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-database.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-database.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-database.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.15. pg_database

53.15. pg_database

+53.15. pg_database

53.15. pg_database

The catalog pg_database stores information about the available databases. Databases are created with the CREATE DATABASE command. Consult Chapter 23 for details about the meaning @@ -121,4 +121,4 @@

Access privileges; see Section 5.7 for details -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-db-role-setting.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-db-role-setting.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-db-role-setting.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-db-role-setting.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.16. pg_db_role_setting

53.16. pg_db_role_setting

+53.16. pg_db_role_setting

53.16. pg_db_role_setting

The catalog pg_db_role_setting records the default values that have been set for run-time configuration variables, for each role and database combination. @@ -30,4 +30,4 @@

Defaults for run-time configuration variables -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-default-acl.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-default-acl.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-default-acl.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-default-acl.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.17. pg_default_acl

53.17. pg_default_acl

+53.17. pg_default_acl

53.17. pg_default_acl

The catalog pg_default_acl stores initial privileges to be assigned to newly created objects.

Table 53.17. pg_default_acl Columns

@@ -55,4 +55,4 @@ not whatever might be in pg_default_acl at the moment. pg_default_acl is only consulted during object creation. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-depend.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-depend.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-depend.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-depend.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.18. pg_depend

53.18. pg_depend

+53.18. pg_depend

53.18. pg_depend

The catalog pg_depend records the dependency relationships between database objects. This information allows DROP commands to find which other objects must be dropped @@ -172,4 +172,4 @@ a NORMAL dependency on the numeric data type, but no such entry actually appears in pg_depend. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-description.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-description.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-description.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-description.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.19. pg_description

53.19. pg_description

+53.19. pg_description

53.19. pg_description

The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with @@ -40,4 +40,4 @@

Arbitrary text that serves as the description of this object -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-enum.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-enum.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-enum.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-enum.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.20. pg_enum

53.20. pg_enum

+53.20. pg_enum

53.20. pg_enum

The pg_enum catalog contains entries showing the values and labels for each enum type. The internal representation of a given enum value is actually the OID @@ -46,4 +46,4 @@ negative or fractional values of enumsortorder. The only requirement on these values is that they be correctly ordered and unique within each enum type. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-event-trigger.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-event-trigger.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-event-trigger.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-event-trigger.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.21. pg_event_trigger

53.21. pg_event_trigger

+53.21. pg_event_trigger

53.21. pg_event_trigger

The catalog pg_event_trigger stores event triggers. See Chapter 40 for more information.

Table 53.21. pg_event_trigger Columns

@@ -50,4 +50,4 @@

Command tags for which this trigger will fire. If NULL, the firing of this trigger is not restricted on the basis of the command tag. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-extension.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-extension.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-extension.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-extension.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.22. pg_extension

53.22. pg_extension

+53.22. pg_extension

53.22. pg_extension

The catalog pg_extension stores information about the installed extensions. See Section 38.17 for details about extensions. @@ -62,4 +62,4 @@ objects. If extrelocatable is true, then this schema must in fact contain all schema-qualifiable objects belonging to the extension. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-foreign-data-wrapper.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-foreign-data-wrapper.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-foreign-data-wrapper.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-foreign-data-wrapper.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.23. pg_foreign_data_wrapper

53.23. pg_foreign_data_wrapper

+53.23. pg_foreign_data_wrapper

53.23. pg_foreign_data_wrapper

The catalog pg_foreign_data_wrapper stores foreign-data wrapper definitions. A foreign-data wrapper is the mechanism by which external data, residing on foreign servers, is @@ -53,4 +53,4 @@

Foreign-data wrapper specific options, as keyword=value strings -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-foreign-server.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-foreign-server.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-foreign-server.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-foreign-server.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.24. pg_foreign_server

53.24. pg_foreign_server

+53.24. pg_foreign_server

53.24. pg_foreign_server

The catalog pg_foreign_server stores foreign server definitions. A foreign server describes a source of external data, such as a remote server. Foreign @@ -51,4 +51,4 @@

Foreign server specific options, as keyword=value strings -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-foreign-table.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-foreign-table.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-foreign-table.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-foreign-table.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.25. pg_foreign_table

53.25. pg_foreign_table

+53.25. pg_foreign_table

53.25. pg_foreign_table

The catalog pg_foreign_table contains auxiliary information about foreign tables. A foreign table is primarily represented by a @@ -29,4 +29,4 @@

Foreign table options, as keyword=value strings -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-index.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-index.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-index.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-index.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.26. pg_index

53.26. pg_index

+53.26. pg_index

53.26. pg_index

The catalog pg_index contains part of the information about indexes. The rest is mostly in pg_class. @@ -160,4 +160,4 @@ Expression tree (in nodeToString() representation) for partial index predicate. Null if not a partial index. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-inherits.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-inherits.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-inherits.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-inherits.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.27. pg_inherits

53.27. pg_inherits

+53.27. pg_inherits

53.27. pg_inherits

The catalog pg_inherits records information about table and index inheritance hierarchies. There is one entry for each direct parent-child table or index relationship in the database. (Indirect @@ -38,4 +38,4 @@

true for a partition that is in the process of being detached; false otherwise. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-init-privs.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-init-privs.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-init-privs.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-init-privs.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.28. pg_init_privs

53.28. pg_init_privs

+53.28. pg_init_privs

53.28. pg_init_privs

The catalog pg_init_privs records information about the initial privileges of objects in the system. There is one entry for each object in the database which has a non-default (non-NULL) @@ -58,4 +58,4 @@

The initial access privileges; see Section 5.7 for details -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-language.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-language.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-language.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-language.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.29. pg_language

53.29. pg_language

+53.29. pg_language

53.29. pg_language

The catalog pg_language registers languages in which you can write functions or stored procedures. See CREATE LANGUAGE @@ -73,4 +73,4 @@

Access privileges; see Section 5.7 for details -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-largeobject-metadata.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-largeobject-metadata.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-largeobject-metadata.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-largeobject-metadata.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.31. pg_largeobject_metadata

53.31. pg_largeobject_metadata

+53.31. pg_largeobject_metadata

53.31. pg_largeobject_metadata

The catalog pg_largeobject_metadata holds metadata associated with large objects. The actual large object data is stored in @@ -25,4 +25,4 @@

Access privileges; see Section 5.7 for details -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-largeobject.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-largeobject.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-largeobject.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-largeobject.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.30. pg_largeobject

53.30. pg_largeobject

+53.30. pg_largeobject

53.30. pg_largeobject

The catalog pg_largeobject holds the data making up large objects. A large object is identified by an OID assigned when it is created. Each large object is broken into @@ -45,4 +45,4 @@ allows sparse storage: pages might be missing, and might be shorter than LOBLKSIZE bytes even if they are not the last page of the object. Missing regions within a large object read as zeroes. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-namespace.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-namespace.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-namespace.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-namespace.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.32. pg_namespace

53.32. pg_namespace

+53.32. pg_namespace

53.32. pg_namespace

The catalog pg_namespace stores namespaces. A namespace is the structure underlying SQL schemas: each namespace can have a separate collection of relations, types, etc. without name @@ -30,4 +30,4 @@

Access privileges; see Section 5.7 for details -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-opclass.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-opclass.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-opclass.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-opclass.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.33. pg_opclass

53.33. pg_opclass

+53.33. pg_opclass

53.33. pg_opclass

The catalog pg_opclass defines index access method operator classes. Each operator class defines semantics for index columns of a particular data type and a particular @@ -72,4 +72,4 @@ Also, there must be no more than one pg_opclass row having opcdefault true for any given combination of opcmethod and opcintype. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-operator.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-operator.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-operator.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-operator.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.34. pg_operator

53.34. pg_operator

+53.34. pg_operator

53.34. pg_operator

The catalog pg_operator stores information about operators. See CREATE OPERATOR and Section 38.14 for more information. @@ -98,4 +98,4 @@

Join selectivity estimation function for this operator (zero if none) -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-opfamily.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-opfamily.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-opfamily.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-opfamily.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.35. pg_opfamily

53.35. pg_opfamily

+53.35. pg_opfamily

53.35. pg_opfamily

The catalog pg_opfamily defines operator families. Each operator family is a collection of operators and associated support routines that implement the semantics specified for a particular @@ -50,4 +50,4 @@ pg_amproc, and pg_opclass. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-parameter-acl.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-parameter-acl.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-parameter-acl.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-parameter-acl.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.36. pg_parameter_acl

53.36. pg_parameter_acl

+53.36. pg_parameter_acl

53.36. pg_parameter_acl

The catalog pg_parameter_acl records configuration parameters for which privileges have been granted to one or more roles. No entry is made for parameters that have default privileges. @@ -28,4 +28,4 @@

Access privileges; see Section 5.7 for details -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-partitioned-table.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-partitioned-table.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-partitioned-table.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-partitioned-table.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.37. pg_partitioned_table

53.37. pg_partitioned_table

+53.37. pg_partitioned_table

53.37. pg_partitioned_table

The catalog pg_partitioned_table stores information about how tables are partitioned.

Table 53.37. pg_partitioned_table Columns

@@ -68,4 +68,4 @@ references. This is a list with one element for each zero entry in partattrs. Null if all partition key columns are simple references. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-policy.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-policy.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-policy.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-policy.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.38. pg_policy

53.38. pg_policy

+53.38. pg_policy

53.38. pg_policy

The catalog pg_policy stores row-level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it @@ -65,4 +65,4 @@ Policies stored in pg_policy are applied only when pg_class.relrowsecurity is set for their table. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-proc.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-proc.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-proc.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-proc.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.39. pg_proc

53.39. pg_proc

+53.39. pg_proc

53.39. pg_proc

The catalog pg_proc stores information about functions, procedures, aggregate functions, and window functions (collectively also known as routines). See CREATE FUNCTION, CREATE PROCEDURE, and @@ -253,4 +253,4 @@ text. probin is null except for dynamically-loaded C functions, for which it gives the name of the shared library file containing the function. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-publication-namespace.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-publication-namespace.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-publication-namespace.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-publication-namespace.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.41. pg_publication_namespace

53.41. pg_publication_namespace

+53.41. pg_publication_namespace

53.41. pg_publication_namespace

The catalog pg_publication_namespace contains the mapping between schemas and publications in the database. This is a many-to-many mapping. @@ -25,4 +25,4 @@

Reference to schema -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-publication-rel.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-publication-rel.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-publication-rel.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-publication-rel.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.42. pg_publication_rel

53.42. pg_publication_rel

+53.42. pg_publication_rel

53.42. pg_publication_rel

The catalog pg_publication_rel contains the mapping between relations and publications in the database. This is a many-to-many mapping. See also Section 54.17 @@ -40,4 +40,4 @@ part of the publication. For example, a value of 1 3 would mean that the first and the third table columns are published. A null value indicates that all columns are published. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-publication.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-publication.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-publication.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-publication.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.40. pg_publication

53.40. pg_publication

+53.40. pg_publication

53.40. pg_publication

The catalog pg_publication contains all publications created in the database. For more on publications see Section 31.1. @@ -61,4 +61,4 @@ If true, operations on a leaf partition are replicated using the identity and schema of its topmost partitioned ancestor mentioned in the publication instead of its own. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-range.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-range.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-range.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-range.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.43. pg_range

53.43. pg_range

+53.43. pg_range

53.43. pg_range

The catalog pg_range stores information about range types. This is in addition to the types' entries in pg_type. @@ -58,4 +58,4 @@ type. rngcanonical is used when the element type is discrete. rngsubdiff is optional but should be supplied to improve performance of GiST indexes on the range type. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-replication-origin.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-replication-origin.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-replication-origin.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-replication-origin.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.44. pg_replication_origin

53.44. pg_replication_origin

+53.44. pg_replication_origin

53.44. pg_replication_origin

The pg_replication_origin catalog contains all replication origins created. For more on replication origins see Chapter 50. @@ -25,4 +25,4 @@

The external, user defined, name of a replication origin. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-rewrite.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-rewrite.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-rewrite.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-rewrite.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.45. pg_rewrite

53.45. pg_rewrite

+53.45. pg_rewrite

53.45. pg_rewrite

The catalog pg_rewrite stores rewrite rules for tables and views.

Table 53.45. pg_rewrite Columns

Column Type @@ -61,4 +61,4 @@


Note

pg_class.relhasrules must be true if a table has any rules in this catalog. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-seclabel.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-seclabel.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-seclabel.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-seclabel.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.46. pg_seclabel

53.46. pg_seclabel

+53.46. pg_seclabel

53.46. pg_seclabel

The catalog pg_seclabel stores security labels on database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier @@ -43,4 +43,4 @@

The security label applied to this object. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-sequence.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-sequence.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-sequence.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-sequence.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.47. pg_sequence

53.47. pg_sequence

+53.47. pg_sequence

53.47. pg_sequence

The catalog pg_sequence contains information about sequences. Some of the information about sequences, such as the name and the schema, is in @@ -51,4 +51,4 @@

Whether the sequence cycles -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-shdepend.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-shdepend.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-shdepend.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-shdepend.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.48. pg_shdepend

53.48. pg_shdepend

+53.48. pg_shdepend

53.48. pg_shdepend

The catalog pg_shdepend records the dependency relationships between database objects and shared objects, such as roles. This information allows @@ -95,4 +95,4 @@ considered pinned. No entries are made in pg_shdepend that would have a pinned object as either referenced or dependent object. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-shdescription.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-shdescription.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-shdescription.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-shdescription.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.49. pg_shdescription

53.49. pg_shdescription

+53.49. pg_shdescription

53.49. pg_shdescription

The catalog pg_shdescription stores optional descriptions (comments) for shared database objects. Descriptions can be manipulated with the COMMENT command and viewed with @@ -35,4 +35,4 @@

Arbitrary text that serves as the description of this object -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-shseclabel.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-shseclabel.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-shseclabel.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-shseclabel.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.50. pg_shseclabel

53.50. pg_shseclabel

+53.50. pg_shseclabel

53.50. pg_shseclabel

The catalog pg_shseclabel stores security labels on shared database objects. Security labels can be manipulated with the SECURITY LABEL command. For an easier @@ -40,4 +40,4 @@

The security label applied to this object. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-statistic-ext-data.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-statistic-ext-data.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-statistic-ext-data.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-statistic-ext-data.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.53. pg_statistic_ext_data

53.53. pg_statistic_ext_data

+53.53. pg_statistic_ext_data

53.53. pg_statistic_ext_data

The catalog pg_statistic_ext_data holds data for extended planner statistics defined in pg_statistic_ext. @@ -67,4 +67,4 @@

Per-expression statistics, serialized as an array of pg_statistic type -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-statistic-ext.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-statistic-ext.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-statistic-ext.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-statistic-ext.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.52. pg_statistic_ext

53.52. pg_statistic_ext

+53.52. pg_statistic_ext

53.52. pg_statistic_ext

The catalog pg_statistic_ext holds definitions of extended planner statistics. Each row in this catalog corresponds to a statistics object @@ -85,4 +85,4 @@ and populate an entry in the pg_statistic_ext_data catalog. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-statistic.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-statistic.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-statistic.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-statistic.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.51. pg_statistic

53.51. pg_statistic

+53.51. pg_statistic

53.51. pg_statistic

The catalog pg_statistic stores statistical data about the contents of the database. Entries are created by ANALYZE @@ -131,4 +131,4 @@ values are actually of the specific column's data type, or a related type such as an array's element type, so there is no way to define these columns' type more specifically than anyarray. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-subscription-rel.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-subscription-rel.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-subscription-rel.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-subscription-rel.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.55. pg_subscription_rel

53.55. pg_subscription_rel

+53.55. pg_subscription_rel

53.55. pg_subscription_rel

The catalog pg_subscription_rel contains the state for each replicated relation in each subscription. This is a many-to-many mapping. @@ -42,4 +42,4 @@ Remote LSN of the state change used for synchronization coordination when in s or r states, otherwise null -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-subscription.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-subscription.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-subscription.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-subscription.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.54. pg_subscription

53.54. pg_subscription

+53.54. pg_subscription

53.54. pg_subscription

The catalog pg_subscription contains all existing logical replication subscriptions. For more information about logical replication see Chapter 31. @@ -100,4 +100,4 @@ Array of subscribed publication names. These reference publications defined in the upstream database. For more on publications see Section 31.1. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-tablespace.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-tablespace.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-tablespace.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-tablespace.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.56. pg_tablespace

53.56. pg_tablespace

+53.56. pg_tablespace

53.56. pg_tablespace

The catalog pg_tablespace stores information about the available tablespaces. Tables can be placed in particular tablespaces to aid administration of disk layout. @@ -39,4 +39,4 @@

Tablespace-level options, as keyword=value strings -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-transform.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-transform.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-transform.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-transform.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.57. pg_transform

53.57. pg_transform

+53.57. pg_transform

53.57. pg_transform

The catalog pg_transform stores information about transforms, which are a mechanism to adapt data types to procedural languages. See CREATE TRANSFORM for more information. @@ -41,4 +41,4 @@ The OID of the function to use when converting output from the procedural language (e.g., return values) to the data type. Zero is stored if the default behavior should be used. -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-trigger.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-trigger.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-trigger.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-trigger.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.58. pg_trigger

53.58. pg_trigger

+53.58. pg_trigger

53.58. pg_trigger

The catalog pg_trigger stores triggers on tables and views. See CREATE TRIGGER @@ -145,4 +145,4 @@

Note

pg_class.relhastriggers must be true if a relation has any triggers in this catalog. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-ts-config-map.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-ts-config-map.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-ts-config-map.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-ts-config-map.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.60. pg_ts_config_map

53.60. pg_ts_config_map

+53.60. pg_ts_config_map

53.60. pg_ts_config_map

The pg_ts_config_map catalog contains entries showing which text search dictionaries should be consulted, and in what order, for each output token type of each text search configuration's @@ -35,4 +35,4 @@

The OID of the text search dictionary to consult -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-ts-config.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-ts-config.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-ts-config.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-ts-config.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.59. pg_ts_config

53.59. pg_ts_config

+53.59. pg_ts_config

53.59. pg_ts_config

The pg_ts_config catalog contains entries representing text search configurations. A configuration specifies a particular text search parser and a list of dictionaries to use @@ -42,4 +42,4 @@

The OID of the text search parser for this configuration -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-ts-dict.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-ts-dict.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-ts-dict.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-ts-dict.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.61. pg_ts_dict

53.61. pg_ts_dict

+53.61. pg_ts_dict

53.61. pg_ts_dict

The pg_ts_dict catalog contains entries defining text search dictionaries. A dictionary depends on a text search template, which specifies all the implementation functions @@ -49,4 +49,4 @@

Initialization option string for the template -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-ts-parser.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-ts-parser.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-ts-parser.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-ts-parser.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.62. pg_ts_parser

53.62. pg_ts_parser

+53.62. pg_ts_parser

53.62. pg_ts_parser

The pg_ts_parser catalog contains entries defining text search parsers. A parser is responsible for splitting input text into lexemes and assigning a token type to each lexeme. @@ -59,4 +59,4 @@

OID of the parser's lextype function -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-ts-template.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-ts-template.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-ts-template.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-ts-template.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.63. pg_ts_template

53.63. pg_ts_template

+53.63. pg_ts_template

53.63. pg_ts_template

The pg_ts_template catalog contains entries defining text search templates. A template is the implementation skeleton for a class of text search dictionaries. @@ -41,4 +41,4 @@

OID of the template's lexize function -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-type.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-type.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-type.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-type.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.64. pg_type

53.64. pg_type

+53.64. pg_type

53.64. pg_type

The catalog pg_type stores information about data types. Base types and enum types (scalar types) are created with CREATE TYPE, and @@ -307,4 +307,4 @@ of typcategory. Any future additions to this list will also be upper-case ASCII letters. All other ASCII characters are reserved for user-defined categories. -

Table 53.65. typcategory Codes

CodeCategory
AArray types
BBoolean types
CComposite types
DDate/time types
EEnum types
GGeometric types
INetwork address types
NNumeric types
PPseudo-types
RRange types
SString types
TTimespan types
UUser-defined types
VBit-string types
Xunknown type
ZInternal-use types

\ No newline at end of file +

Table 53.65. typcategory Codes

CodeCategory
AArray types
BBoolean types
CComposite types
DDate/time types
EEnum types
GGeometric types
INetwork address types
NNumeric types
PPseudo-types
RRange types
SString types
TTimespan types
UUser-defined types
VBit-string types
Xunknown type
ZInternal-use types

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalog-pg-user-mapping.html postgresql-15-15.18/doc/src/sgml/html/catalog-pg-user-mapping.html --- postgresql-15-15.17/doc/src/sgml/html/catalog-pg-user-mapping.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalog-pg-user-mapping.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -53.65. pg_user_mapping

53.65. pg_user_mapping

+53.65. pg_user_mapping

53.65. pg_user_mapping

The catalog pg_user_mapping stores the mappings from local user to remote. Access to this catalog is restricted from normal users, use the view @@ -32,4 +32,4 @@

User mapping specific options, as keyword=value strings -


\ No newline at end of file +


\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalogs-overview.html postgresql-15-15.18/doc/src/sgml/html/catalogs-overview.html --- postgresql-15-15.17/doc/src/sgml/html/catalogs-overview.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalogs-overview.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -53.1. Overview

53.1. Overview

+53.1. Overview

53.1. Overview

Table 53.1 lists the system catalogs. More detailed documentation of each catalog follows below.

@@ -7,4 +7,4 @@ database creation and are thereafter database-specific. A few catalogs are physically shared across all databases in a cluster; these are noted in the descriptions of the individual catalogs. -

Table 53.1. System Catalogs

Catalog NamePurpose
pg_aggregateaggregate functions
pg_amrelation access methods
pg_amopaccess method operators
pg_amprocaccess method support functions
pg_attrdefcolumn default values
pg_attributetable columns (attributes)
pg_authidauthorization identifiers (roles)
pg_auth_membersauthorization identifier membership relationships
pg_castcasts (data type conversions)
pg_classtables, indexes, sequences, views (relations)
pg_collationcollations (locale information)
pg_constraintcheck constraints, unique constraints, primary key constraints, foreign key constraints
pg_conversionencoding conversion information
pg_databasedatabases within this database cluster
pg_db_role_settingper-role and per-database settings
pg_default_acldefault privileges for object types
pg_dependdependencies between database objects
pg_descriptiondescriptions or comments on database objects
pg_enumenum label and value definitions
pg_event_triggerevent triggers
pg_extensioninstalled extensions
pg_foreign_data_wrapperforeign-data wrapper definitions
pg_foreign_serverforeign server definitions
pg_foreign_tableadditional foreign table information
pg_indexadditional index information
pg_inheritstable inheritance hierarchy
pg_init_privsobject initial privileges
pg_languagelanguages for writing functions
pg_largeobjectdata pages for large objects
pg_largeobject_metadatametadata for large objects
pg_namespaceschemas
pg_opclassaccess method operator classes
pg_operatoroperators
pg_opfamilyaccess method operator families
pg_parameter_aclconfiguration parameters for which privileges have been granted
pg_partitioned_tableinformation about partition key of tables
pg_policyrow-security policies
pg_procfunctions and procedures
pg_publicationpublications for logical replication
pg_publication_namespaceschema to publication mapping
pg_publication_relrelation to publication mapping
pg_rangeinformation about range types
pg_replication_originregistered replication origins
pg_rewritequery rewrite rules
pg_seclabelsecurity labels on database objects
pg_sequenceinformation about sequences
pg_shdependdependencies on shared objects
pg_shdescriptioncomments on shared objects
pg_shseclabelsecurity labels on shared database objects
pg_statisticplanner statistics
pg_statistic_extextended planner statistics (definition)
pg_statistic_ext_dataextended planner statistics (built statistics)
pg_subscriptionlogical replication subscriptions
pg_subscription_relrelation state for subscriptions
pg_tablespacetablespaces within this database cluster
pg_transformtransforms (data type to procedural language conversions)
pg_triggertriggers
pg_ts_configtext search configurations
pg_ts_config_maptext search configurations' token mappings
pg_ts_dicttext search dictionaries
pg_ts_parsertext search parsers
pg_ts_templatetext search templates
pg_typedata types
pg_user_mappingmappings of users to foreign servers

\ No newline at end of file +

Table 53.1. System Catalogs

Catalog NamePurpose
pg_aggregateaggregate functions
pg_amrelation access methods
pg_amopaccess method operators
pg_amprocaccess method support functions
pg_attrdefcolumn default values
pg_attributetable columns (attributes)
pg_authidauthorization identifiers (roles)
pg_auth_membersauthorization identifier membership relationships
pg_castcasts (data type conversions)
pg_classtables, indexes, sequences, views (relations)
pg_collationcollations (locale information)
pg_constraintcheck constraints, unique constraints, primary key constraints, foreign key constraints
pg_conversionencoding conversion information
pg_databasedatabases within this database cluster
pg_db_role_settingper-role and per-database settings
pg_default_acldefault privileges for object types
pg_dependdependencies between database objects
pg_descriptiondescriptions or comments on database objects
pg_enumenum label and value definitions
pg_event_triggerevent triggers
pg_extensioninstalled extensions
pg_foreign_data_wrapperforeign-data wrapper definitions
pg_foreign_serverforeign server definitions
pg_foreign_tableadditional foreign table information
pg_indexadditional index information
pg_inheritstable inheritance hierarchy
pg_init_privsobject initial privileges
pg_languagelanguages for writing functions
pg_largeobjectdata pages for large objects
pg_largeobject_metadatametadata for large objects
pg_namespaceschemas
pg_opclassaccess method operator classes
pg_operatoroperators
pg_opfamilyaccess method operator families
pg_parameter_aclconfiguration parameters for which privileges have been granted
pg_partitioned_tableinformation about partition key of tables
pg_policyrow-security policies
pg_procfunctions and procedures
pg_publicationpublications for logical replication
pg_publication_namespaceschema to publication mapping
pg_publication_relrelation to publication mapping
pg_rangeinformation about range types
pg_replication_originregistered replication origins
pg_rewritequery rewrite rules
pg_seclabelsecurity labels on database objects
pg_sequenceinformation about sequences
pg_shdependdependencies on shared objects
pg_shdescriptioncomments on shared objects
pg_shseclabelsecurity labels on shared database objects
pg_statisticplanner statistics
pg_statistic_extextended planner statistics (definition)
pg_statistic_ext_dataextended planner statistics (built statistics)
pg_subscriptionlogical replication subscriptions
pg_subscription_relrelation state for subscriptions
pg_tablespacetablespaces within this database cluster
pg_transformtransforms (data type to procedural language conversions)
pg_triggertriggers
pg_ts_configtext search configurations
pg_ts_config_maptext search configurations' token mappings
pg_ts_dicttext search dictionaries
pg_ts_parsertext search parsers
pg_ts_templatetext search templates
pg_typedata types
pg_user_mappingmappings of users to foreign servers

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/catalogs.html postgresql-15-15.18/doc/src/sgml/html/catalogs.html --- postgresql-15-15.17/doc/src/sgml/html/catalogs.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/catalogs.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 53. System Catalogs

Chapter 53. System Catalogs

+Chapter 53. System Catalogs

Chapter 53. System Catalogs

The system catalogs are the place where a relational database management system stores schema metadata, such as information about tables and columns, and internal bookkeeping information. @@ -14,4 +14,4 @@ particularly esoteric operations, but many of those have been made available as SQL commands over time, and so the need for direct manipulation of the system catalogs is ever decreasing. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/charset.html postgresql-15-15.18/doc/src/sgml/html/charset.html --- postgresql-15-15.17/doc/src/sgml/html/charset.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/charset.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 24. Localization \ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/checksums.html postgresql-15-15.18/doc/src/sgml/html/checksums.html --- postgresql-15-15.17/doc/src/sgml/html/checksums.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/checksums.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -30.2. Data Checksums

30.2. Data Checksums

+30.2. Data Checksums

30.2. Data Checksums

By default, data pages are not protected by checksums, but this can optionally be enabled for a cluster. When enabled, each data page includes a checksum that is updated when the page is written and verified each time @@ -22,4 +22,4 @@ The pg_checksums application can be used to enable or disable data checksums, as well as verify checksums, on an offline cluster. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/citext.html postgresql-15-15.18/doc/src/sgml/html/citext.html --- postgresql-15-15.17/doc/src/sgml/html/citext.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/citext.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.10. citext

F.10. citext

+F.10. citext

F.10. citext

The citext module provides a case-insensitive character string type, citext. Essentially, it internally calls lower when comparing values. Otherwise, it behaves almost @@ -163,4 +163,4 @@ David E. Wheeler

Inspired by the original citext module by Donald Fraser. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/client-authentication-problems.html postgresql-15-15.18/doc/src/sgml/html/client-authentication-problems.html --- postgresql-15-15.17/doc/src/sgml/html/client-authentication-problems.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/client-authentication-problems.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.15. Authentication Problems

21.15. Authentication Problems

+21.15. Authentication Problems

21.15. Authentication Problems

Authentication failures and related problems generally manifest themselves through error messages like the following:

@@ -37,4 +37,4 @@ The server log might contain more information about an authentication failure than is reported to the client. If you are confused about the reason for a failure, check the server log. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/client-authentication.html postgresql-15-15.18/doc/src/sgml/html/client-authentication.html --- postgresql-15-15.17/doc/src/sgml/html/client-authentication.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/client-authentication.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 21. Client Authentication

Chapter 21. Client Authentication

+Chapter 21. Client Authentication

Chapter 21. Client Authentication

When a client application connects to the database server, it specifies which PostgreSQL database user name it wants to connect as, much the same way one logs into a Unix computer @@ -34,4 +34,4 @@ operating system account, and in such cases there need be no connection between database user names and OS user names. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/client-interfaces.html postgresql-15-15.18/doc/src/sgml/html/client-interfaces.html --- postgresql-15-15.17/doc/src/sgml/html/client-interfaces.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/client-interfaces.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -Part IV. Client Interfaces

Part IV. Client Interfaces

+Part IV. Client Interfaces

Part IV. Client Interfaces

This part describes the client programming interfaces distributed with PostgreSQL. Each of these chapters can be read independently. Note that there are many other programming @@ -9,4 +9,4 @@ familiar with using SQL commands to manipulate and query the database (see Part II) and of course with the programming language that the interface uses. -

Table of Contents

34. libpq — C Library
34.1. Database Connection Control Functions
34.2. Connection Status Functions
34.3. Command Execution Functions
34.4. Asynchronous Command Processing
34.5. Pipeline Mode
34.6. Retrieving Query Results Row-by-Row
34.7. Canceling Queries in Progress
34.8. The Fast-Path Interface
34.9. Asynchronous Notification
34.10. Functions Associated with the COPY Command
34.11. Control Functions
34.12. Miscellaneous Functions
34.13. Notice Processing
34.14. Event System
34.15. Environment Variables
34.16. The Password File
34.17. The Connection Service File
34.18. LDAP Lookup of Connection Parameters
34.19. SSL Support
34.20. Behavior in Threaded Programs
34.21. Building libpq Programs
34.22. Example Programs
35. Large Objects
35.1. Introduction
35.2. Implementation Features
35.3. Client Interfaces
35.4. Server-Side Functions
35.5. Example Program
36. ECPG — Embedded SQL in C
36.1. The Concept
36.2. Managing Database Connections
36.3. Running SQL Commands
36.4. Using Host Variables
36.5. Dynamic SQL
36.6. pgtypes Library
36.7. Using Descriptor Areas
36.8. Error Handling
36.9. Preprocessor Directives
36.10. Processing Embedded SQL Programs
36.11. Library Functions
36.12. Large Objects
36.13. C++ Applications
36.14. Embedded SQL Commands
36.15. Informix Compatibility Mode
36.16. Oracle Compatibility Mode
36.17. Internals
37. The Information Schema
37.1. The Schema
37.2. Data Types
37.3. information_schema_catalog_name
37.4. administrable_role_​authorizations
37.5. applicable_roles
37.6. attributes
37.7. character_sets
37.8. check_constraint_routine_usage
37.9. check_constraints
37.10. collations
37.11. collation_character_set_​applicability
37.12. column_column_usage
37.13. column_domain_usage
37.14. column_options
37.15. column_privileges
37.16. column_udt_usage
37.17. columns
37.18. constraint_column_usage
37.19. constraint_table_usage
37.20. data_type_privileges
37.21. domain_constraints
37.22. domain_udt_usage
37.23. domains
37.24. element_types
37.25. enabled_roles
37.26. foreign_data_wrapper_options
37.27. foreign_data_wrappers
37.28. foreign_server_options
37.29. foreign_servers
37.30. foreign_table_options
37.31. foreign_tables
37.32. key_column_usage
37.33. parameters
37.34. referential_constraints
37.35. role_column_grants
37.36. role_routine_grants
37.37. role_table_grants
37.38. role_udt_grants
37.39. role_usage_grants
37.40. routine_column_usage
37.41. routine_privileges
37.42. routine_routine_usage
37.43. routine_sequence_usage
37.44. routine_table_usage
37.45. routines
37.46. schemata
37.47. sequences
37.48. sql_features
37.49. sql_implementation_info
37.50. sql_parts
37.51. sql_sizing
37.52. table_constraints
37.53. table_privileges
37.54. tables
37.55. transforms
37.56. triggered_update_columns
37.57. triggers
37.58. udt_privileges
37.59. usage_privileges
37.60. user_defined_types
37.61. user_mapping_options
37.62. user_mappings
37.63. view_column_usage
37.64. view_routine_usage
37.65. view_table_usage
37.66. views
\ No newline at end of file +

Table of Contents

34. libpq — C Library
34.1. Database Connection Control Functions
34.2. Connection Status Functions
34.3. Command Execution Functions
34.4. Asynchronous Command Processing
34.5. Pipeline Mode
34.6. Retrieving Query Results Row-by-Row
34.7. Canceling Queries in Progress
34.8. The Fast-Path Interface
34.9. Asynchronous Notification
34.10. Functions Associated with the COPY Command
34.11. Control Functions
34.12. Miscellaneous Functions
34.13. Notice Processing
34.14. Event System
34.15. Environment Variables
34.16. The Password File
34.17. The Connection Service File
34.18. LDAP Lookup of Connection Parameters
34.19. SSL Support
34.20. Behavior in Threaded Programs
34.21. Building libpq Programs
34.22. Example Programs
35. Large Objects
35.1. Introduction
35.2. Implementation Features
35.3. Client Interfaces
35.4. Server-Side Functions
35.5. Example Program
36. ECPG — Embedded SQL in C
36.1. The Concept
36.2. Managing Database Connections
36.3. Running SQL Commands
36.4. Using Host Variables
36.5. Dynamic SQL
36.6. pgtypes Library
36.7. Using Descriptor Areas
36.8. Error Handling
36.9. Preprocessor Directives
36.10. Processing Embedded SQL Programs
36.11. Library Functions
36.12. Large Objects
36.13. C++ Applications
36.14. Embedded SQL Commands
36.15. Informix Compatibility Mode
36.16. Oracle Compatibility Mode
36.17. Internals
37. The Information Schema
37.1. The Schema
37.2. Data Types
37.3. information_schema_catalog_name
37.4. administrable_role_​authorizations
37.5. applicable_roles
37.6. attributes
37.7. character_sets
37.8. check_constraint_routine_usage
37.9. check_constraints
37.10. collations
37.11. collation_character_set_​applicability
37.12. column_column_usage
37.13. column_domain_usage
37.14. column_options
37.15. column_privileges
37.16. column_udt_usage
37.17. columns
37.18. constraint_column_usage
37.19. constraint_table_usage
37.20. data_type_privileges
37.21. domain_constraints
37.22. domain_udt_usage
37.23. domains
37.24. element_types
37.25. enabled_roles
37.26. foreign_data_wrapper_options
37.27. foreign_data_wrappers
37.28. foreign_server_options
37.29. foreign_servers
37.30. foreign_table_options
37.31. foreign_tables
37.32. key_column_usage
37.33. parameters
37.34. referential_constraints
37.35. role_column_grants
37.36. role_routine_grants
37.37. role_table_grants
37.38. role_udt_grants
37.39. role_usage_grants
37.40. routine_column_usage
37.41. routine_privileges
37.42. routine_routine_usage
37.43. routine_sequence_usage
37.44. routine_table_usage
37.45. routines
37.46. schemata
37.47. sequences
37.48. sql_features
37.49. sql_implementation_info
37.50. sql_parts
37.51. sql_sizing
37.52. table_constraints
37.53. table_privileges
37.54. tables
37.55. transforms
37.56. triggered_update_columns
37.57. triggers
37.58. udt_privileges
37.59. usage_privileges
37.60. user_defined_types
37.61. user_mapping_options
37.62. user_mappings
37.63. view_column_usage
37.64. view_routine_usage
37.65. view_table_usage
37.66. views
\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/collation.html postgresql-15-15.18/doc/src/sgml/html/collation.html --- postgresql-15-15.17/doc/src/sgml/html/collation.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/collation.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -24.2. Collation Support

24.2. Collation Support

+24.2. Collation Support

24.2. Collation Support

The collation feature allows specifying the sort order and character classification behavior of data per-column, or even per-operation. This alleviates the restriction that the @@ -414,4 +414,4 @@ normalize and is normalized to preprocess or check the strings, instead of using nondeterministic collations. There are different trade-offs for each approach. -

\ No newline at end of file +

\ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/color-when.html postgresql-15-15.18/doc/src/sgml/html/color-when.html --- postgresql-15-15.17/doc/src/sgml/html/color-when.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/color-when.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,5 +1,5 @@ -N.1. When Color is Used

N.1. When Color is Used

+N.1. When Color is Used

N.1. When Color is Used

To use colorized output, set the environment variable PG_COLOR as follows: @@ -12,4 +12,4 @@

  • Otherwise, color is not used.

  • -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/color-which.html postgresql-15-15.18/doc/src/sgml/html/color-which.html --- postgresql-15-15.17/doc/src/sgml/html/color-which.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/color-which.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,5 +1,5 @@ -N.2. Configuring the Colors

    N.2. Configuring the Colors

    +N.2. Configuring the Colors

    N.2. Configuring the Colors

    The actual colors to be used are configured using the environment variable PG_COLORS (note plural). The value is a colon-separated list of @@ -23,4 +23,4 @@ This color specification format is also used by other software packages such as GCC, GNU coreutils, and GNU grep. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/color.html postgresql-15-15.18/doc/src/sgml/html/color.html --- postgresql-15-15.17/doc/src/sgml/html/color.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/color.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,5 +1,5 @@ -Appendix N. Color Support

    Appendix N. Color Support

    +Appendix N. Color Support

    Appendix N. Color Support

    Most programs in the PostgreSQL package can produce colorized console output. This appendix describes how that is configured. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/config-setting.html postgresql-15-15.18/doc/src/sgml/html/config-setting.html --- postgresql-15-15.17/doc/src/sgml/html/config-setting.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/config-setting.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.1. Setting Parameters

    20.1. Setting Parameters

    20.1.1. Parameter Names and Values

    +20.1. Setting Parameters

    20.1. Setting Parameters

    20.1.1. Parameter Names and Values

    All parameter names are case-insensitive. Every parameter takes a value of one of five types: boolean, string, integer, floating point, or enumerated (enum). The type determines the syntax for setting the @@ -333,4 +333,4 @@ their configurations all stored in one place, such as in a version control repository. (Storing database configuration files under version control is another good practice to consider.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/connect-estab.html postgresql-15-15.18/doc/src/sgml/html/connect-estab.html --- postgresql-15-15.17/doc/src/sgml/html/connect-estab.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/connect-estab.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -52.2. How Connections Are Established

    52.2. How Connections Are Established

    +52.2. How Connections Are Established

    52.2. How Connections Are Established

    PostgreSQL implements a process per user client/server model. In this model, every @@ -33,4 +33,4 @@ process parses the query, creates an execution plan, executes the plan, and returns the retrieved rows to the client by transmitting them over the established connection. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/continuous-archiving.html postgresql-15-15.18/doc/src/sgml/html/continuous-archiving.html --- postgresql-15-15.17/doc/src/sgml/html/continuous-archiving.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/continuous-archiving.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -26.3. Continuous Archiving and Point-in-Time Recovery (PITR)

    26.3. Continuous Archiving and Point-in-Time Recovery (PITR)

    +26.3. Continuous Archiving and Point-in-Time Recovery (PITR)

    26.3. Continuous Archiving and Point-in-Time Recovery (PITR)

    At all times, PostgreSQL maintains a write ahead log (WAL) in the pg_wal/ subdirectory of the cluster's data directory. The log records @@ -754,4 +754,4 @@ on. In the meantime, administrators might wish to reduce the number of page snapshots included in WAL by increasing the checkpoint interval parameters as much as feasible. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-build-sql-delete.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-build-sql-delete.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-build-sql-delete.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-build-sql-delete.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_build_sql_delete \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-build-sql-insert.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-build-sql-insert.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-build-sql-insert.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-build-sql-insert.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_build_sql_insert \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-build-sql-update.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-build-sql-update.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-build-sql-update.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-build-sql-update.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_build_sql_update \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-cancel-query.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-cancel-query.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-cancel-query.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-cancel-query.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_cancel_query \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-close.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-close.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-close.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-close.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_close \ No newline at end of file + \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-connect-u.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-connect-u.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-connect-u.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-connect-u.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_connect_u \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-connect.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-connect.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-connect.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-connect.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_connect \ No newline at end of file + \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-disconnect.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-disconnect.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-disconnect.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-disconnect.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_disconnect \ No newline at end of file + \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-error-message.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-error-message.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-error-message.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-error-message.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_error_message \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-exec.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-exec.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-exec.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-exec.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_exec \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-fetch.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-fetch.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-fetch.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-fetch.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_fetch \ No newline at end of file + \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-function.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-function.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-function.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-function.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-get-connections.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-get-connections.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-get-connections.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-get-connections.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,9 +1,9 @@ -dblink_get_connections \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-get-notify.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-get-notify.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-get-notify.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-get-notify.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_get_notify \ No newline at end of file + \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-get-pkey.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-get-pkey.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-get-pkey.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-get-pkey.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_get_pkey \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-get-result.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-get-result.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-get-result.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-get-result.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_get_result \ No newline at end of file + \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-is-busy.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-is-busy.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-is-busy.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-is-busy.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_is_busy \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-open.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-open.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-open.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-open.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_open \ No newline at end of file + \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-send-query.html postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-send-query.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-dblink-send-query.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-dblink-send-query.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -dblink_send_query \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-prog-client.html postgresql-15-15.18/doc/src/sgml/html/contrib-prog-client.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-prog-client.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-prog-client.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,9 +1,9 @@ -G.1. Client Applications

    G.1. Client Applications

    oid2name — resolve OIDs and file nodes in a PostgreSQL data directory
    vacuumlo — remove orphaned large objects from a PostgreSQL database

    +G.1. Client Applications

    G.1. Client Applications

    oid2name — resolve OIDs and file nodes in a PostgreSQL data directory
    vacuumlo — remove orphaned large objects from a PostgreSQL database

    This section covers PostgreSQL client applications in contrib. They can be run from anywhere, independent of where the database server resides. See also PostgreSQL Client Applications for information about client applications that are part of the core PostgreSQL distribution. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-prog-server.html postgresql-15-15.18/doc/src/sgml/html/contrib-prog-server.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-prog-server.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-prog-server.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,7 +1,7 @@ -G.2. Server Applications

    G.2. Server Applications

    +G.2. Server Applications

    G.2. Server Applications

    Some applications run on the PostgreSQL server itself. Currently, no such applications are included in the contrib directory. See also PostgreSQL Server Applications for information about server applications that are part of the core PostgreSQL distribution. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-prog.html postgresql-15-15.18/doc/src/sgml/html/contrib-prog.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-prog.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-prog.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -Appendix G. Additional Supplied Programs

    Appendix G. Additional Supplied Programs

    Table of Contents

    G.1. Client Applications
    oid2name — resolve OIDs and file nodes in a PostgreSQL data directory
    vacuumlo — remove orphaned large objects from a PostgreSQL database
    G.2. Server Applications

    +Appendix G. Additional Supplied Programs

    Appendix G. Additional Supplied Programs

    Table of Contents

    G.1. Client Applications
    oid2name — resolve OIDs and file nodes in a PostgreSQL data directory
    vacuumlo — remove orphaned large objects from a PostgreSQL database
    G.2. Server Applications

    This appendix and the previous one contain information regarding the modules that can be found in the contrib directory of the PostgreSQL distribution. See Appendix F for @@ -12,4 +12,4 @@ the bin directory of the PostgreSQL installation and can be used like any other program. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib-spi.html postgresql-15-15.18/doc/src/sgml/html/contrib-spi.html --- postgresql-15-15.17/doc/src/sgml/html/contrib-spi.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib-spi.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.41. spi \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/contrib.html postgresql-15-15.18/doc/src/sgml/html/contrib.html --- postgresql-15-15.17/doc/src/sgml/html/contrib.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/contrib.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -Appendix F. Additional Supplied Modules

    Appendix F. Additional Supplied Modules

    Table of Contents

    F.1. adminpack
    F.2. amcheck
    F.2.1. Functions
    F.2.2. Optional heapallindexed Verification
    F.2.3. Using amcheck Effectively
    F.2.4. Repairing Corruption
    F.3. auth_delay
    F.3.1. Configuration Parameters
    F.3.2. Author
    F.4. auto_explain
    F.4.1. Configuration Parameters
    F.4.2. Example
    F.4.3. Author
    F.5. basebackup_to_shell
    F.5.1. Configuration Parameters
    F.5.2. Author
    F.6. basic_archive
    F.6.1. Configuration Parameters
    F.6.2. Notes
    F.6.3. Author
    F.7. bloom
    F.7.1. Parameters
    F.7.2. Examples
    F.7.3. Operator Class Interface
    F.7.4. Limitations
    F.7.5. Authors
    F.8. btree_gin
    F.8.1. Example Usage
    F.8.2. Authors
    F.9. btree_gist
    F.9.1. Example Usage
    F.9.2. Authors
    F.10. citext
    F.10.1. Rationale
    F.10.2. How to Use It
    F.10.3. String Comparison Behavior
    F.10.4. Limitations
    F.10.5. Author
    F.11. cube
    F.11.1. Syntax
    F.11.2. Precision
    F.11.3. Usage
    F.11.4. Defaults
    F.11.5. Notes
    F.11.6. Credits
    F.12. dblink
    dblink_connect — opens a persistent connection to a remote database
    dblink_connect_u — opens a persistent connection to a remote database, insecurely
    dblink_disconnect — closes a persistent connection to a remote database
    dblink — executes a query in a remote database
    dblink_exec — executes a command in a remote database
    dblink_open — opens a cursor in a remote database
    dblink_fetch — returns rows from an open cursor in a remote database
    dblink_close — closes a cursor in a remote database
    dblink_get_connections — returns the names of all open named dblink connections
    dblink_error_message — gets last error message on the named connection
    dblink_send_query — sends an async query to a remote database
    dblink_is_busy — checks if connection is busy with an async query
    dblink_get_notify — retrieve async notifications on a connection
    dblink_get_result — gets an async query result
    dblink_cancel_query — cancels any active query on the named connection
    dblink_get_pkey — returns the positions and field names of a relation's +Appendix F. Additional Supplied Modules

    Appendix F. Additional Supplied Modules

    Table of Contents

    F.1. adminpack
    F.2. amcheck
    F.2.1. Functions
    F.2.2. Optional heapallindexed Verification
    F.2.3. Using amcheck Effectively
    F.2.4. Repairing Corruption
    F.3. auth_delay
    F.3.1. Configuration Parameters
    F.3.2. Author
    F.4. auto_explain
    F.4.1. Configuration Parameters
    F.4.2. Example
    F.4.3. Author
    F.5. basebackup_to_shell
    F.5.1. Configuration Parameters
    F.5.2. Author
    F.6. basic_archive
    F.6.1. Configuration Parameters
    F.6.2. Notes
    F.6.3. Author
    F.7. bloom
    F.7.1. Parameters
    F.7.2. Examples
    F.7.3. Operator Class Interface
    F.7.4. Limitations
    F.7.5. Authors
    F.8. btree_gin
    F.8.1. Example Usage
    F.8.2. Authors
    F.9. btree_gist
    F.9.1. Example Usage
    F.9.2. Authors
    F.10. citext
    F.10.1. Rationale
    F.10.2. How to Use It
    F.10.3. String Comparison Behavior
    F.10.4. Limitations
    F.10.5. Author
    F.11. cube
    F.11.1. Syntax
    F.11.2. Precision
    F.11.3. Usage
    F.11.4. Defaults
    F.11.5. Notes
    F.11.6. Credits
    F.12. dblink
    dblink_connect — opens a persistent connection to a remote database
    dblink_connect_u — opens a persistent connection to a remote database, insecurely
    dblink_disconnect — closes a persistent connection to a remote database
    dblink — executes a query in a remote database
    dblink_exec — executes a command in a remote database
    dblink_open — opens a cursor in a remote database
    dblink_fetch — returns rows from an open cursor in a remote database
    dblink_close — closes a cursor in a remote database
    dblink_get_connections — returns the names of all open named dblink connections
    dblink_error_message — gets last error message on the named connection
    dblink_send_query — sends an async query to a remote database
    dblink_is_busy — checks if connection is busy with an async query
    dblink_get_notify — retrieve async notifications on a connection
    dblink_get_result — gets an async query result
    dblink_cancel_query — cancels any active query on the named connection
    dblink_get_pkey — returns the positions and field names of a relation's primary key fields
    dblink_build_sql_insert — builds an INSERT statement using a local tuple, replacing the @@ -84,4 +84,4 @@ by way of shared_preload_libraries. See the documentation of each module for details. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/creating-cluster.html postgresql-15-15.18/doc/src/sgml/html/creating-cluster.html --- postgresql-15-15.17/doc/src/sgml/html/creating-cluster.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/creating-cluster.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -19.2. Creating a Database Cluster

    19.2. Creating a Database Cluster

    +19.2. Creating a Database Cluster

    19.2. Creating a Database Cluster

    Before you can do anything, you must initialize a database storage area on disk. We call this a database cluster. (The SQL standard uses the term catalog cluster.) A @@ -200,4 +200,4 @@ it. That approach might relieve the DBA from having to deal with some of the idiosyncrasies of NFS, but of course the complexity of managing remote storage then happens at other levels. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/cube.html postgresql-15-15.18/doc/src/sgml/html/cube.html --- postgresql-15-15.17/doc/src/sgml/html/cube.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/cube.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.11. cube

    F.11. cube

    +F.11. cube

    F.11. cube

    This module implements a data type cube for representing multidimensional cubes.

    @@ -388,4 +388,4 @@ July 2006. These include cube(float8[], float8[]) and cleaning up the code to use the V1 call protocol instead of the deprecated V0 protocol. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/custom-rmgr.html postgresql-15-15.18/doc/src/sgml/html/custom-rmgr.html --- postgresql-15-15.17/doc/src/sgml/html/custom-rmgr.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/custom-rmgr.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 66. Custom WAL Resource Managers

    Chapter 66. Custom WAL Resource Managers

    +Chapter 66. Custom WAL Resource Managers

    Chapter 66. Custom WAL Resource Managers

    This chapter explains the interface between the core PostgreSQL system and custom WAL resource managers, which enable extensions to integrate directly with the WAL. @@ -78,4 +78,4 @@ custom WAL records may exist in the system. Otherwise PostgreSQL will not be able to apply or decode the custom WAL records, which may prevent the server from starting. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/custom-scan-execution.html postgresql-15-15.18/doc/src/sgml/html/custom-scan-execution.html --- postgresql-15-15.17/doc/src/sgml/html/custom-scan-execution.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/custom-scan-execution.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -61.3. Executing Custom Scans

    61.3. Executing Custom Scans

    +61.3. Executing Custom Scans

    61.3. Executing Custom Scans

    When a CustomScan is executed, its execution state is represented by a CustomScanState, which is declared as follows: @@ -136,4 +136,4 @@ ScanState, such as the target list and scan relation, will be shown even without this callback, but the callback allows the display of additional, private state. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/custom-scan-path.html postgresql-15-15.18/doc/src/sgml/html/custom-scan-path.html --- postgresql-15-15.17/doc/src/sgml/html/custom-scan-path.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/custom-scan-path.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -61.1. Creating Custom Scan Paths

    61.1. Creating Custom Scan Paths

    +61.1. Creating Custom Scan Paths

    61.1. Creating Custom Scan Paths

    A custom scan provider will typically add paths for a base relation by setting the following hook, which is called after the core code has generated all the access paths it can for the relation (except for @@ -98,4 +98,4 @@ reparameterize_path_by_child, adjust_appendrel_attrs or adjust_appendrel_attrs_multilevel as required. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/custom-scan-plan.html postgresql-15-15.18/doc/src/sgml/html/custom-scan-plan.html --- postgresql-15-15.17/doc/src/sgml/html/custom-scan-plan.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/custom-scan-plan.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -61.2. Creating Custom Scan Plans

    61.2. Creating Custom Scan Plans

    +61.2. Creating Custom Scan Plans

    61.2. Creating Custom Scan Plans

    A custom scan is represented in a finished plan tree using the following structure:

    @@ -64,4 +64,4 @@
         stage; after ExecInitCustomScan performs basic initialization,
         the BeginCustomScan callback will be invoked to give the
         custom scan provider a chance to do whatever else is needed.
    -   

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/custom-scan.html postgresql-15-15.18/doc/src/sgml/html/custom-scan.html --- postgresql-15-15.17/doc/src/sgml/html/custom-scan.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/custom-scan.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 61. Writing a Custom Scan Provider

    Chapter 61. Writing a Custom Scan Provider

    +Chapter 61. Writing a Custom Scan Provider

    Chapter 61. Writing a Custom Scan Provider

    PostgreSQL supports a set of experimental facilities which are intended to allow extension modules to add new scan types to the system. Unlike a foreign data wrapper, which is only @@ -18,4 +18,4 @@ Finally, it must be possible to execute the plan and generate the same results that would have been generated for any other access path targeting the same relation. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/database-roles.html postgresql-15-15.18/doc/src/sgml/html/database-roles.html --- postgresql-15-15.17/doc/src/sgml/html/database-roles.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/database-roles.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -22.1. Database Roles

    22.1. Database Roles

    +22.1. Database Roles

    22.1. Database Roles

    Database roles are conceptually completely separate from operating system users. In practice it might be convenient to maintain a correspondence, but this is not required. Database roles @@ -67,4 +67,4 @@ identity determines the set of privileges available to a connected client, it is important to carefully configure privileges when setting up a multiuser environment. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-binary.html postgresql-15-15.18/doc/src/sgml/html/datatype-binary.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-binary.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-binary.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.4. Binary Data Types

    8.4. Binary Data Types

    +8.4. Binary Data Types

    8.4. Binary Data Types

    The bytea data type allows storage of binary strings; see Table 8.6.

    Table 8.6. Binary Data Types

    NameStorage SizeDescription
    bytea1 or 4 bytes plus the actual binary stringvariable-length binary string

    @@ -129,4 +129,4 @@ unescaping bytea strings. For example, you might also have to escape line feeds and carriage returns if your interface automatically translates these. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-bit.html postgresql-15-15.18/doc/src/sgml/html/datatype-bit.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-bit.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-bit.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.10. Bit String Types

    8.10. Bit String Types

    +8.10. Bit String Types

    8.10. Bit String Types

    Bit strings are strings of 1's and 0's. They can be used to store or visualize bit masks. There are two SQL bit types: bit(n) and bit @@ -46,4 +46,4 @@ 5 or 8 bytes overhead depending on the length of the string (but long values may be compressed or moved out-of-line, as explained in Section 8.3 for character strings). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-boolean.html postgresql-15-15.18/doc/src/sgml/html/datatype-boolean.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-boolean.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-boolean.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.6. Boolean Type

    8.6. Boolean Type

    +8.6. Boolean Type

    8.6. Boolean Type

    PostgreSQL provides the standard SQL type boolean; see Table 8.19. @@ -55,4 +55,4 @@ example NULL::boolean. Conversely, the cast can be omitted from a string-literal Boolean value in contexts where the parser can deduce that the literal must be of type boolean. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-character.html postgresql-15-15.18/doc/src/sgml/html/datatype-character.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-character.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-character.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.3. Character Types

    8.3. Character Types

    Table 8.4. Character Types

    NameDescription
    character varying(n), varchar(n)variable-length with limit
    character(n), char(n)fixed-length, blank padded
    textvariable unlimited length

    +8.3. Character Types

    8.3. Character Types

    Table 8.4. Character Types

    NameDescription
    character varying(n), varchar(n)variable-length with limit
    character(n), char(n)fixed-length, blank padded
    textvariable unlimited length

    Table 8.4 shows the general-purpose character types available in PostgreSQL. @@ -139,4 +139,4 @@ only uses one byte of storage, and therefore can store only a single ASCII character. It is used in the system catalogs as a simplistic enumeration type. -

    Table 8.5. Special Character Types

    NameStorage SizeDescription
    "char"1 bytesingle-byte internal type
    name64 bytesinternal type for object names

    \ No newline at end of file +

    Table 8.5. Special Character Types

    NameStorage SizeDescription
    "char"1 bytesingle-byte internal type
    name64 bytesinternal type for object names

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-datetime.html postgresql-15-15.18/doc/src/sgml/html/datatype-datetime.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-datetime.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-datetime.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.5. Date/Time Types

    8.5. Date/Time Types

    +8.5. Date/Time Types

    8.5. Date/Time Types

    PostgreSQL supports the full set of SQL date and time types, shown in Table 8.9. The operations available on these data types are described in @@ -555,4 +555,4 @@ The output of the iso_8601 style matches the format with designators described in section 4.4.3.2 of the ISO 8601 standard. -

    Table 8.18. Interval Output Style Examples

    Style SpecificationYear-Month IntervalDay-Time IntervalMixed Interval
    sql_standard1-23 4:05:06-1-2 +3 -4:05:06
    postgres1 year 2 mons3 days 04:05:06-1 year -2 mons +3 days -04:05:06
    postgres_verbose@ 1 year 2 mons@ 3 days 4 hours 5 mins 6 secs@ 1 year 2 mons -3 days 4 hours 5 mins 6 secs ago
    iso_8601P1Y2MP3DT4H5M6SP-1Y-2M3D​T-4H-5M-6S

    \ No newline at end of file +

    Table 8.18. Interval Output Style Examples

    Style SpecificationYear-Month IntervalDay-Time IntervalMixed Interval
    sql_standard1-23 4:05:06-1-2 +3 -4:05:06
    postgres1 year 2 mons3 days 04:05:06-1 year -2 mons +3 days -04:05:06
    postgres_verbose@ 1 year 2 mons@ 3 days 4 hours 5 mins 6 secs@ 1 year 2 mons -3 days 4 hours 5 mins 6 secs ago
    iso_8601P1Y2MP3DT4H5M6SP-1Y-2M3D​T-4H-5M-6S

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-enum.html postgresql-15-15.18/doc/src/sgml/html/datatype-enum.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-enum.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-enum.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.7. Enumerated Types

    8.7. Enumerated Types

    +8.7. Enumerated Types

    8.7. Enumerated Types

    Enumerated (enum) types are data types that comprise a static, ordered set of values. They are equivalent to the enum @@ -112,4 +112,4 @@ kept in the system catalog pg_enum. Querying this catalog directly can be useful. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-geometric.html postgresql-15-15.18/doc/src/sgml/html/datatype-geometric.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-geometric.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-geometric.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.8. Geometric Types

    8.8. Geometric Types

    +8.8. Geometric Types

    8.8. Geometric Types

    Geometric data types represent two-dimensional spatial objects. Table 8.20 shows the geometric types available in PostgreSQL. @@ -158,4 +158,4 @@ circle.

    Circles are output using the first syntax. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-json.html postgresql-15-15.18/doc/src/sgml/html/datatype-json.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-json.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-json.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.14. JSON Types

    8.14. JSON Types

    +8.14. JSON Types

    8.14. JSON Types

    JSON data types are for storing JSON (JavaScript Object Notation) data, as specified in RFC 7159. Such data can also be stored as text, but @@ -727,4 +727,4 @@ For this purpose, the term value includes array elements, though JSON terminology sometimes considers array elements distinct from values within objects. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-money.html postgresql-15-15.18/doc/src/sgml/html/datatype-money.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-money.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-money.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.2. Monetary Types

    8.2. Monetary Types

    +8.2. Monetary Types

    8.2. Monetary Types

    The money type stores a currency amount with a fixed fractional precision; see Table 8.3. The fractional precision is determined by the database's lc_monetary setting. @@ -41,4 +41,4 @@ When a money value is divided by another money value, the result is double precision (i.e., a pure number, not money); the currency units cancel each other out in the division. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-net-types.html postgresql-15-15.18/doc/src/sgml/html/datatype-net-types.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-net-types.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-net-types.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.9. Network Address Types

    8.9. Network Address Types

    +8.9. Network Address Types

    8.9. Network Address Types

    PostgreSQL offers data types to store IPv4, IPv6, and MAC addresses, as shown in Table 8.21. It is better to use these types instead of plain text types to store @@ -129,4 +129,4 @@

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-numeric.html postgresql-15-15.18/doc/src/sgml/html/datatype-numeric.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-numeric.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-numeric.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.1. Numeric Types

    8.1. Numeric Types

    +8.1. Numeric Types

    8.1. Numeric Types

    Numeric types consist of two-, four-, and eight-byte integers, four- and eight-byte floating-point numbers, and selectable-precision decimals. Table 8.2 lists the @@ -367,4 +367,4 @@ automatically dropped when the owning column is dropped. You can drop the sequence without dropping the column, but this will force removal of the column default expression. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-oid.html postgresql-15-15.18/doc/src/sgml/html/datatype-oid.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-oid.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-oid.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.19. Object Identifier Types

    8.19. Object Identifier Types

    +8.19. Object Identifier Types

    8.19. Object Identifier Types

    Object identifiers (OIDs) are used internally by PostgreSQL as primary keys for various system tables. @@ -163,4 +163,4 @@ physical location of the row within its table.

    (The system columns are further explained in Section 5.5.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-pg-lsn.html postgresql-15-15.18/doc/src/sgml/html/datatype-pg-lsn.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-pg-lsn.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-pg-lsn.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.20. pg_lsn Type

    8.20. pg_lsn Type

    +8.20. pg_lsn Type

    8.20. pg_lsn Type

    The pg_lsn data type can be used to store LSN (Log Sequence Number) data which is a pointer to a location in the WAL. This type is a representation of XLogRecPtr and an internal system type of @@ -19,4 +19,4 @@ the calculated LSN should be in the range of pg_lsn type, i.e., between 0/0 and FFFFFFFF/FFFFFFFF. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-pseudo.html postgresql-15-15.18/doc/src/sgml/html/datatype-pseudo.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-pseudo.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-pseudo.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.21. Pseudo-Types

    8.21. Pseudo-Types

    +8.21. Pseudo-Types

    8.21. Pseudo-Types

    The PostgreSQL type system contains a number of special-purpose entries that are collectively called pseudo-types. A pseudo-type cannot be used as a @@ -56,4 +56,4 @@ follow this coding rule: do not create any function that is declared to return internal unless it has at least one internal argument. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-textsearch.html postgresql-15-15.18/doc/src/sgml/html/datatype-textsearch.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-textsearch.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-textsearch.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.11. Text Search Types

    8.11. Text Search Types

    +8.11. Text Search Types

    8.11. Text Search Types

    PostgreSQL provides two data types that are designed to support full text search, which is the activity of searching through a collection of natural-language documents @@ -193,4 +193,4 @@ 'postgradu':1 | 'postgr':*

    which will match the stemmed form of postgraduate. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-uuid.html postgresql-15-15.18/doc/src/sgml/html/datatype-uuid.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-uuid.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-uuid.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.12. UUID Type

    8.12. UUID Type

    +8.12. UUID Type

    8.12. UUID Type

    The data type uuid stores Universally Unique Identifiers (UUID) as defined by RFC 4122, ISO/IEC 9834-8:2005, and related standards. @@ -36,4 +36,4 @@

    See Section 9.14 for how to generate a UUID in PostgreSQL. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype-xml.html postgresql-15-15.18/doc/src/sgml/html/datatype-xml.html --- postgresql-15-15.17/doc/src/sgml/html/datatype-xml.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype-xml.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.13. XML Type

    8.13. XML Type

    +8.13. XML Type

    8.13. XML Type

    The xml data type can be used to store XML data. Its advantage over storing XML data in a text field is that it checks the input values for well-formedness, and there are support @@ -148,4 +148,4 @@ up full-document searches of XML data. The necessary preprocessing support is, however, not yet available in the PostgreSQL distribution. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datatype.html postgresql-15-15.18/doc/src/sgml/html/datatype.html --- postgresql-15-15.17/doc/src/sgml/html/datatype.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datatype.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 8. Data Types

    Chapter 8. Data Types

    Table of Contents

    8.1. Numeric Types
    8.1.1. Integer Types
    8.1.2. Arbitrary Precision Numbers
    8.1.3. Floating-Point Types
    8.1.4. Serial Types
    8.2. Monetary Types
    8.3. Character Types
    8.4. Binary Data Types
    8.4.1. bytea Hex Format
    8.4.2. bytea Escape Format
    8.5. Date/Time Types
    8.5.1. Date/Time Input
    8.5.2. Date/Time Output
    8.5.3. Time Zones
    8.5.4. Interval Input
    8.5.5. Interval Output
    8.6. Boolean Type
    8.7. Enumerated Types
    8.7.1. Declaration of Enumerated Types
    8.7.2. Ordering
    8.7.3. Type Safety
    8.7.4. Implementation Details
    8.8. Geometric Types
    8.8.1. Points
    8.8.2. Lines
    8.8.3. Line Segments
    8.8.4. Boxes
    8.8.5. Paths
    8.8.6. Polygons
    8.8.7. Circles
    8.9. Network Address Types
    8.9.1. inet
    8.9.2. cidr
    8.9.3. inet vs. cidr
    8.9.4. macaddr
    8.9.5. macaddr8
    8.10. Bit String Types
    8.11. Text Search Types
    8.11.1. tsvector
    8.11.2. tsquery
    8.12. UUID Type
    8.13. XML Type
    8.13.1. Creating XML Values
    8.13.2. Encoding Handling
    8.13.3. Accessing XML Values
    8.14. JSON Types
    8.14.1. JSON Input and Output Syntax
    8.14.2. Designing JSON Documents
    8.14.3. jsonb Containment and Existence
    8.14.4. jsonb Indexing
    8.14.5. jsonb Subscripting
    8.14.6. Transforms
    8.14.7. jsonpath Type
    8.15. Arrays
    8.15.1. Declaration of Array Types
    8.15.2. Array Value Input
    8.15.3. Accessing Arrays
    8.15.4. Modifying Arrays
    8.15.5. Searching in Arrays
    8.15.6. Array Input and Output Syntax
    8.16. Composite Types
    8.16.1. Declaration of Composite Types
    8.16.2. Constructing Composite Values
    8.16.3. Accessing Composite Types
    8.16.4. Modifying Composite Types
    8.16.5. Using Composite Types in Queries
    8.16.6. Composite Type Input and Output Syntax
    8.17. Range Types
    8.17.1. Built-in Range and Multirange Types
    8.17.2. Examples
    8.17.3. Inclusive and Exclusive Bounds
    8.17.4. Infinite (Unbounded) Ranges
    8.17.5. Range Input/Output
    8.17.6. Constructing Ranges and Multiranges
    8.17.7. Discrete Range Types
    8.17.8. Defining New Range Types
    8.17.9. Indexing
    8.17.10. Constraints on Ranges
    8.18. Domain Types
    8.19. Object Identifier Types
    8.20. pg_lsn Type
    8.21. Pseudo-Types

    +Chapter 8. Data Types

    Chapter 8. Data Types

    Table of Contents

    8.1. Numeric Types
    8.1.1. Integer Types
    8.1.2. Arbitrary Precision Numbers
    8.1.3. Floating-Point Types
    8.1.4. Serial Types
    8.2. Monetary Types
    8.3. Character Types
    8.4. Binary Data Types
    8.4.1. bytea Hex Format
    8.4.2. bytea Escape Format
    8.5. Date/Time Types
    8.5.1. Date/Time Input
    8.5.2. Date/Time Output
    8.5.3. Time Zones
    8.5.4. Interval Input
    8.5.5. Interval Output
    8.6. Boolean Type
    8.7. Enumerated Types
    8.7.1. Declaration of Enumerated Types
    8.7.2. Ordering
    8.7.3. Type Safety
    8.7.4. Implementation Details
    8.8. Geometric Types
    8.8.1. Points
    8.8.2. Lines
    8.8.3. Line Segments
    8.8.4. Boxes
    8.8.5. Paths
    8.8.6. Polygons
    8.8.7. Circles
    8.9. Network Address Types
    8.9.1. inet
    8.9.2. cidr
    8.9.3. inet vs. cidr
    8.9.4. macaddr
    8.9.5. macaddr8
    8.10. Bit String Types
    8.11. Text Search Types
    8.11.1. tsvector
    8.11.2. tsquery
    8.12. UUID Type
    8.13. XML Type
    8.13.1. Creating XML Values
    8.13.2. Encoding Handling
    8.13.3. Accessing XML Values
    8.14. JSON Types
    8.14.1. JSON Input and Output Syntax
    8.14.2. Designing JSON Documents
    8.14.3. jsonb Containment and Existence
    8.14.4. jsonb Indexing
    8.14.5. jsonb Subscripting
    8.14.6. Transforms
    8.14.7. jsonpath Type
    8.15. Arrays
    8.15.1. Declaration of Array Types
    8.15.2. Array Value Input
    8.15.3. Accessing Arrays
    8.15.4. Modifying Arrays
    8.15.5. Searching in Arrays
    8.15.6. Array Input and Output Syntax
    8.16. Composite Types
    8.16.1. Declaration of Composite Types
    8.16.2. Constructing Composite Values
    8.16.3. Accessing Composite Types
    8.16.4. Modifying Composite Types
    8.16.5. Using Composite Types in Queries
    8.16.6. Composite Type Input and Output Syntax
    8.17. Range Types
    8.17.1. Built-in Range and Multirange Types
    8.17.2. Examples
    8.17.3. Inclusive and Exclusive Bounds
    8.17.4. Infinite (Unbounded) Ranges
    8.17.5. Range Input/Output
    8.17.6. Constructing Ranges and Multiranges
    8.17.7. Discrete Range Types
    8.17.8. Defining New Range Types
    8.17.9. Indexing
    8.17.10. Constraints on Ranges
    8.18. Domain Types
    8.19. Object Identifier Types
    8.20. pg_lsn Type
    8.21. Pseudo-Types

    PostgreSQL has a rich set of native data types available to users. Users can add new types to PostgreSQL using the CREATE TYPE command. @@ -33,4 +33,4 @@ Some of the input and output functions are not invertible, i.e., the result of an output function might lose accuracy when compared to the original input. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datetime-appendix.html postgresql-15-15.18/doc/src/sgml/html/datetime-appendix.html --- postgresql-15-15.17/doc/src/sgml/html/datetime-appendix.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datetime-appendix.html 2026-05-11 20:02:54.000000000 +0000 @@ -1,5 +1,5 @@ -Appendix B. Date/Time Support

    Appendix B. Date/Time Support

    +Appendix B. Date/Time Support

    Appendix B. Date/Time Support

    PostgreSQL uses an internal heuristic parser for all date/time input support. Dates and times are input as strings, and are broken up into distinct fields with a preliminary @@ -12,4 +12,4 @@ This appendix includes information on the content of these lookup tables and describes the steps used by the parser to decode dates and times. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datetime-config-files.html postgresql-15-15.18/doc/src/sgml/html/datetime-config-files.html --- postgresql-15-15.17/doc/src/sgml/html/datetime-config-files.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datetime-config-files.html 2026-05-11 20:02:54.000000000 +0000 @@ -1,5 +1,5 @@ -B.4. Date/Time Configuration Files

    B.4. Date/Time Configuration Files

    +B.4. Date/Time Configuration Files

    B.4. Date/Time Configuration Files

    Since timezone abbreviations are not well standardized, PostgreSQL provides a means to customize the set of abbreviations accepted by the server. The @@ -95,4 +95,4 @@ If you modify files in .../share/timezonesets/, it is up to you to make backups — a normal database dump will not include this directory. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datetime-input-rules.html postgresql-15-15.18/doc/src/sgml/html/datetime-input-rules.html --- postgresql-15-15.17/doc/src/sgml/html/datetime-input-rules.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datetime-input-rules.html 2026-05-11 20:02:54.000000000 +0000 @@ -1,5 +1,5 @@ -B.1. Date/Time Input Interpretation

    B.1. Date/Time Input Interpretation

    +B.1. Date/Time Input Interpretation

    B.1. Date/Time Input Interpretation

    Date/time input strings are decoded using the following procedure.

    1. Break the input string into tokens and categorize each token as @@ -71,4 +71,4 @@ Gregorian years AD 1–99 can be entered by using 4 digits with leading zeros (e.g., 0099 is AD 99).

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datetime-invalid-input.html postgresql-15-15.18/doc/src/sgml/html/datetime-invalid-input.html --- postgresql-15-15.17/doc/src/sgml/html/datetime-invalid-input.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datetime-invalid-input.html 2026-05-11 20:02:54.000000000 +0000 @@ -1,5 +1,5 @@ -B.2. Handling of Invalid or Ambiguous Timestamps

    B.2. Handling of Invalid or Ambiguous Timestamps

    +B.2. Handling of Invalid or Ambiguous Timestamps

    B.2. Handling of Invalid or Ambiguous Timestamps

    Ordinarily, if a date/time string is syntactically valid but contains out-of-range field values, an error will be thrown. For example, input specifying the 31st of February will be rejected. @@ -59,4 +59,4 @@ abbreviation that corresponds to a fixed UTC offset. The rule just given applies only when it is necessary to infer a UTC offset for a time zone in which the offset varies. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datetime-julian-dates.html postgresql-15-15.18/doc/src/sgml/html/datetime-julian-dates.html --- postgresql-15-15.17/doc/src/sgml/html/datetime-julian-dates.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datetime-julian-dates.html 2026-05-11 20:02:54.000000000 +0000 @@ -1,5 +1,5 @@ -B.7. Julian Dates

    B.7. Julian Dates

    +B.7. Julian Dates

    B.7. Julian Dates

    The Julian Date system is a method for numbering days. It is unrelated to the Julian calendar, though it is confusingly @@ -45,4 +45,4 @@ 2459389 (1 row)

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datetime-keywords.html postgresql-15-15.18/doc/src/sgml/html/datetime-keywords.html --- postgresql-15-15.17/doc/src/sgml/html/datetime-keywords.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datetime-keywords.html 2026-05-11 20:02:54.000000000 +0000 @@ -1,5 +1,5 @@ -B.3. Date/Time Key Words

    B.3. Date/Time Key Words

    +B.3. Date/Time Key Words

    B.3. Date/Time Key Words

    Table B.1 shows the tokens that are recognized as names of months.

    Table B.1. Month Names

    MonthAbbreviations
    JanuaryJan
    FebruaryFeb
    MarchMar
    AprilApr
    May 
    JuneJun
    JulyJul
    AugustAug
    SeptemberSep, Sept
    OctoberOct
    NovemberNov
    DecemberDec

    @@ -8,4 +8,4 @@

    Table B.2. Day of the Week Names

    DayAbbreviations
    SundaySun
    MondayMon
    TuesdayTue, Tues
    WednesdayWed, Weds
    ThursdayThu, Thur, Thurs
    FridayFri
    SaturdaySat

    Table B.3 shows the tokens that serve various modifier purposes. -

    Table B.3. Date/Time Field Modifiers

    IdentifierDescription
    AMTime is before 12:00
    ATIgnored
    JULIAN, JD, JNext field is Julian Date
    ONIgnored
    PMTime is on or after 12:00
    TNext field is time

    \ No newline at end of file +

    Table B.3. Date/Time Field Modifiers

    IdentifierDescription
    AMTime is before 12:00
    ATIgnored
    JULIAN, JD, JNext field is Julian Date
    ONIgnored
    PMTime is on or after 12:00
    TNext field is time

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datetime-posix-timezone-specs.html postgresql-15-15.18/doc/src/sgml/html/datetime-posix-timezone-specs.html --- postgresql-15-15.17/doc/src/sgml/html/datetime-posix-timezone-specs.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datetime-posix-timezone-specs.html 2026-05-11 20:02:54.000000000 +0000 @@ -1,5 +1,5 @@ -B.5. POSIX Time Zone Specifications

    B.5. POSIX Time Zone Specifications

    +B.5. POSIX Time Zone Specifications

    B.5. POSIX Time Zone Specifications

    PostgreSQL can accept time zone specifications that are written according to the POSIX standard's rules for the TZ environment @@ -132,4 +132,4 @@ zone abbreviation(s). For example, SET TIMEZONE TO FOOBAR0 will work, leaving the system effectively using a rather peculiar abbreviation for UTC. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/datetime-units-history.html postgresql-15-15.18/doc/src/sgml/html/datetime-units-history.html --- postgresql-15-15.17/doc/src/sgml/html/datetime-units-history.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/datetime-units-history.html 2026-05-11 20:02:54.000000000 +0000 @@ -1,5 +1,5 @@ -B.6. History of Units

    B.6. History of Units

    +B.6. History of Units

    B.6. History of Units

    The SQL standard states that Within the definition of a datetime literal, the datetime values are constrained by the natural rules for dates and @@ -84,4 +84,4 @@ The People's Republic of China uses the Gregorian calendar for civil purposes. The Chinese calendar is used for determining festivals. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/dblink.html postgresql-15-15.18/doc/src/sgml/html/dblink.html --- postgresql-15-15.17/doc/src/sgml/html/dblink.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/dblink.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.12. dblink \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-basics.html postgresql-15-15.18/doc/src/sgml/html/ddl-basics.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-basics.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-basics.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -5.1. Table Basics

    5.1. Table Basics

    +5.1. Table Basics

    5.1. Table Basics

    A table in a relational database is much like a table on paper: It consists of rows and columns. The number and order of the columns is fixed, and each column has a name. The number of rows is @@ -98,4 +98,4 @@ security, or convenience. If you are eager to fill your tables with data now you can skip ahead to Chapter 6 and read the rest of this chapter later. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-constraints.html postgresql-15-15.18/doc/src/sgml/html/ddl-constraints.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-constraints.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-constraints.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -5.4. Constraints

    5.4. Constraints

    +5.4. Constraints

    5.4. Constraints

    Data types are a way to limit the kind of data that can be stored in a table. For many applications, however, the constraint they provide is too coarse. For example, a column containing a product @@ -604,4 +604,4 @@

    Adding an exclusion constraint will automatically create an index of the type specified in the constraint declaration. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-default.html postgresql-15-15.18/doc/src/sgml/html/ddl-default.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-default.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-default.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -5.2. Default Values

    5.2. Default Values

    +5.2. Default Values

    5.2. Default Values

    A column can be assigned a default value. When a new row is created and no values are specified for some of the columns, those columns will be filled with their respective default values. A @@ -46,4 +46,4 @@ );

    The SERIAL shorthand is discussed further in Section 8.1.4. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-depend.html postgresql-15-15.18/doc/src/sgml/html/ddl-depend.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-depend.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-depend.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -5.14. Dependency Tracking

    5.14. Dependency Tracking

    +5.14. Dependency Tracking

    5.14. Dependency Tracking

    When you create complex database structures involving many tables with foreign key constraints, views, triggers, functions, etc. you implicitly create a net of dependencies between the objects. @@ -96,4 +96,4 @@ then the function's dependency on the my_colors table will be known and enforced by DROP. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-foreign-data.html postgresql-15-15.18/doc/src/sgml/html/ddl-foreign-data.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-foreign-data.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-foreign-data.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -5.12. Foreign Data

    5.12. Foreign Data

    +5.12. Foreign Data

    5.12. Foreign Data

    PostgreSQL implements portions of the SQL/MED specification, allowing you to access data that resides outside PostgreSQL using regular SQL queries. Such data is referred to as @@ -38,4 +38,4 @@ CREATE USER MAPPING, CREATE FOREIGN TABLE, and IMPORT FOREIGN SCHEMA. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-generated-columns.html postgresql-15-15.18/doc/src/sgml/html/ddl-generated-columns.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-generated-columns.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-generated-columns.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -5.3. Generated Columns

    5.3. Generated Columns

    +5.3. Generated Columns

    5.3. Generated Columns

    A generated column is a special column that is always computed from other columns. Thus, it is for columns what a view is for tables. There are two kinds of generated columns: stored and virtual. A stored generated column @@ -85,4 +85,4 @@ Generated columns are skipped for logical replication and cannot be specified in a CREATE PUBLICATION column list.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-inherit.html postgresql-15-15.18/doc/src/sgml/html/ddl-inherit.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-inherit.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-inherit.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -5.10. Inheritance

    5.10. Inheritance

    +5.10. Inheritance

    5.10. Inheritance

    PostgreSQL implements table inheritance, which can be a useful tool for database designers. (SQL:1999 and later define a type inheritance feature, which differs in many @@ -286,4 +286,4 @@ implemented for declarative partitioning. Considerable care is needed in deciding whether partitioning with legacy inheritance is useful for your application. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-others.html postgresql-15-15.18/doc/src/sgml/html/ddl-others.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-others.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-others.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -5.13. Other Database Objects

    5.13. Other Database Objects

    +5.13. Other Database Objects

    5.13. Other Database Objects

    Tables are the central objects in a relational database structure, because they hold your data. But they are not the only objects that exist in a database. Many other kinds of objects can be @@ -17,4 +17,4 @@

    Detailed information on these topics appears in Part V. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-partitioning.html postgresql-15-15.18/doc/src/sgml/html/ddl-partitioning.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-partitioning.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-partitioning.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -5.11. Table Partitioning

    5.11. Table Partitioning

    +5.11. Table Partitioning

    5.11. Table Partitioning

    PostgreSQL supports basic table partitioning. This section describes why and how to implement partitioning as part of your database design. @@ -993,4 +993,4 @@ painfully slow. Simulations of the intended workload are often beneficial for optimizing the partitioning strategy. Never just assume that more partitions are better than fewer partitions, nor vice-versa. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-priv.html postgresql-15-15.18/doc/src/sgml/html/ddl-priv.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-priv.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-priv.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -5.7. Privileges

    5.7. Privileges

    +5.7. Privileges

    5.7. Privileges

    When an object is created, it is assigned an owner. The owner is normally the role that executed the creation statement. For most kinds of objects, the initial state is that only the owner @@ -313,4 +313,4 @@ Notice that the owner's implicit grant options are not marked in the access privileges display. A * will appear only when grant options have been explicitly granted to someone. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-rowsecurity.html postgresql-15-15.18/doc/src/sgml/html/ddl-rowsecurity.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-rowsecurity.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-rowsecurity.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -5.8. Row Security Policies

    5.8. Row Security Policies

    +5.8. Row Security Policies

    5.8. Row Security Policies

    In addition to the SQL-standard privilege system available through GRANT, tables can have row security policies that restrict, @@ -379,4 +379,4 @@

    For additional details see CREATE POLICY and ALTER TABLE. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-schemas.html postgresql-15-15.18/doc/src/sgml/html/ddl-schemas.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-schemas.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-schemas.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -5.9. Schemas

    5.9. Schemas

    +5.9. Schemas

    5.9. Schemas

    A PostgreSQL database cluster contains one or more named databases. Roles and a few other object types are shared across the entire cluster. A client connection to the server @@ -326,4 +326,4 @@ limited) cross-database access. If you need to work with those systems, then maximum portability would be achieved by not using schemas at all. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl-system-columns.html postgresql-15-15.18/doc/src/sgml/html/ddl-system-columns.html --- postgresql-15-15.17/doc/src/sgml/html/ddl-system-columns.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl-system-columns.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -5.5. System Columns

    5.5. System Columns

    +5.5. System Columns

    5.5. System Columns

    Every table has several system columns that are implicitly defined by the system. Therefore, these names cannot be used as names of user-defined columns. (Note that these @@ -55,4 +55,4 @@ SQL commands, not the number of rows processed. Also, only commands that actually modify the database contents will consume a command identifier. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ddl.html postgresql-15-15.18/doc/src/sgml/html/ddl.html --- postgresql-15-15.17/doc/src/sgml/html/ddl.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ddl.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 5. Data Definition

    Chapter 5. Data Definition

    +Chapter 5. Data Definition

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/default-roles.html postgresql-15-15.18/doc/src/sgml/html/default-roles.html --- postgresql-15-15.17/doc/src/sgml/html/default-roles.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/default-roles.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,9 +1,9 @@ -O.2. Default Roles Renamed to Predefined Roles

    O.2. Default Roles Renamed to Predefined Roles

    +O.2. Default Roles Renamed to Predefined Roles

    O.2. Default Roles Renamed to Predefined Roles

    PostgreSQL 13 and below used the term Default Roles. However, as these roles are not able to actually be changed and are installed as part of the system at initialization time, the more appropriate term to use is Predefined Roles. See Section 22.5 for current documentation regarding - Predefined Roles, and the release notes for + Predefined Roles, and the release notes for PostgreSQL 14 for details on this change. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/dict-int.html postgresql-15-15.18/doc/src/sgml/html/dict-int.html --- postgresql-15-15.17/doc/src/sgml/html/dict-int.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/dict-int.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -F.13. dict_int

    F.13. dict_int

    +F.13. dict_int

    F.13. dict_int

    dict_int is an example of an add-on dictionary template for full-text search. The motivation for this example dictionary is to control the indexing of integers (signed and unsigned), allowing such @@ -59,4 +59,4 @@ ALTER MAPPING FOR int, uint WITH intdict;

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/dict-xsyn.html postgresql-15-15.18/doc/src/sgml/html/dict-xsyn.html --- postgresql-15-15.17/doc/src/sgml/html/dict-xsyn.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/dict-xsyn.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.14. dict_xsyn

    F.14. dict_xsyn

    +F.14. dict_xsyn

    F.14. dict_xsyn

    dict_xsyn (Extended Synonym Dictionary) is an example of an add-on dictionary template for full-text search. This dictionary type replaces words with groups of their synonyms, and so makes it possible to @@ -94,4 +94,4 @@ ALTER MAPPING FOR word, asciiword WITH xsyn, english_stem;

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/different-replication-solutions.html postgresql-15-15.18/doc/src/sgml/html/different-replication-solutions.html --- postgresql-15-15.17/doc/src/sgml/html/different-replication-solutions.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/different-replication-solutions.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -27.1. Comparison of Different Solutions

    27.1. Comparison of Different Solutions

    Shared Disk Failover

    +27.1. Comparison of Different Solutions

    27.1. Comparison of Different Solutions

    Shared Disk Failover

    Shared disk failover avoids synchronization overhead by having only one copy of the database. It uses a single disk array that is shared by multiple servers. If the main database server fails, the standby server @@ -134,4 +134,4 @@ taken PostgreSQL and created commercial closed-source solutions with unique failover, replication, and load balancing capabilities. These are not discussed here. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/disk-full.html postgresql-15-15.18/doc/src/sgml/html/disk-full.html --- postgresql-15-15.17/doc/src/sgml/html/disk-full.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/disk-full.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -29.2. Disk Full Failure

    29.2. Disk Full Failure

    +29.2. Disk Full Failure

    29.2. Disk Full Failure

    The most important disk monitoring task of a database administrator is to make sure the disk doesn't become full. A filled data disk will not result in data corruption, but it might prevent useful activity @@ -17,4 +17,4 @@ will naturally be subject to whatever quota is placed on the user the server runs as. Exceeding the quota will have the same bad effects as running out of disk space entirely. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/disk-usage.html postgresql-15-15.18/doc/src/sgml/html/disk-usage.html --- postgresql-15-15.17/doc/src/sgml/html/disk-usage.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/disk-usage.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -29.1. Determining Disk Usage

    29.1. Determining Disk Usage

    +29.1. Determining Disk Usage

    29.1. Determining Disk Usage

    Each table has a primary heap disk file where most of the data is stored. If the table has any columns with potentially-wide values, there also might be a TOAST file associated with the table, @@ -80,4 +80,4 @@ bigtable | 3290 customer | 3144

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/diskusage.html postgresql-15-15.18/doc/src/sgml/html/diskusage.html --- postgresql-15-15.17/doc/src/sgml/html/diskusage.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/diskusage.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 29. Monitoring Disk Usage

    Chapter 29. Monitoring Disk Usage

    +Chapter 29. Monitoring Disk Usage

    Chapter 29. Monitoring Disk Usage

    This chapter discusses how to monitor the disk usage of a PostgreSQL database system. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/dml-delete.html postgresql-15-15.18/doc/src/sgml/html/dml-delete.html --- postgresql-15-15.17/doc/src/sgml/html/dml-delete.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/dml-delete.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -6.3. Deleting Data

    6.3. Deleting Data

    +6.3. Deleting Data

    6.3. Deleting Data

    So far we have explained how to add data to tables and how to change data. What remains is to discuss how to remove data that is no longer needed. Just as adding data is only possible in whole @@ -25,4 +25,4 @@ DELETE FROM products;

    then all rows in the table will be deleted! Caveat programmer. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/dml-insert.html postgresql-15-15.18/doc/src/sgml/html/dml-insert.html --- postgresql-15-15.17/doc/src/sgml/html/dml-insert.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/dml-insert.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -6.1. Inserting Data

    6.1. Inserting Data

    +6.1. Inserting Data

    6.1. Inserting Data

    When a table is created, it contains no data. The first thing to do before a database can be of much use is to insert data. Data is inserted one row at a time. You can also insert more than one row @@ -78,4 +78,4 @@ command, but is more efficient. Refer to Section 14.4 for more information on improving bulk loading performance. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/dml-returning.html postgresql-15-15.18/doc/src/sgml/html/dml-returning.html --- postgresql-15-15.17/doc/src/sgml/html/dml-returning.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/dml-returning.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -6.4. Returning Data from Modified Rows

    6.4. Returning Data from Modified Rows

    +6.4. Returning Data from Modified Rows

    6.4. Returning Data from Modified Rows

    Sometimes it is useful to obtain data from modified rows while they are being manipulated. The INSERT, UPDATE, and DELETE commands all have an @@ -50,4 +50,4 @@ the data available to RETURNING is the row as modified by the triggers. Thus, inspecting columns computed by triggers is another common use-case for RETURNING. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/dml-update.html postgresql-15-15.18/doc/src/sgml/html/dml-update.html --- postgresql-15-15.17/doc/src/sgml/html/dml-update.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/dml-update.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -6.2. Updating Data

    6.2. Updating Data

    +6.2. Updating Data

    6.2. Updating Data

    The modification of data that is already in the database is referred to as updating. You can update individual rows, all the rows in a table, or a subset of all rows. Each column can be @@ -58,4 +58,4 @@

     UPDATE mytable SET a = 5, b = 3, c = 1 WHERE a > 0;
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/dml.html postgresql-15-15.18/doc/src/sgml/html/dml.html --- postgresql-15-15.17/doc/src/sgml/html/dml.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/dml.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,9 +1,9 @@ -Chapter 6. Data Manipulation

    Chapter 6. Data Manipulation

    +Chapter 6. Data Manipulation

    Chapter 6. Data Manipulation

    The previous chapter discussed how to create tables and other structures to hold your data. Now it is time to fill the tables with data. This chapter covers how to insert, update, and delete table data. The chapter after this will finally explain how to extract your long-lost data from the database. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/docguide-authoring.html postgresql-15-15.18/doc/src/sgml/html/docguide-authoring.html --- postgresql-15-15.17/doc/src/sgml/html/docguide-authoring.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/docguide-authoring.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -J.4. Documentation Authoring

    J.4. Documentation Authoring

    +J.4. Documentation Authoring

    J.4. Documentation Authoring

    The documentation sources are most conveniently modified with an editor that has a mode for editing XML, and even more so if it has some awareness of XML schema languages so that it can know about @@ -20,4 +20,4 @@

    src/tools/editors/emacs.samples contains recommended settings for this mode. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/docguide-build.html postgresql-15-15.18/doc/src/sgml/html/docguide-build.html --- postgresql-15-15.17/doc/src/sgml/html/docguide-build.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/docguide-build.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -J.3. Building the Documentation

    J.3. Building the Documentation

    +J.3. Building the Documentation

    J.3. Building the Documentation

    Once you have everything set up, change to the directory doc/src/sgml and run one of the commands described in the following subsections to build the @@ -88,4 +88,4 @@

     doc/src/sgml$ make check
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/docguide-docbook.html postgresql-15-15.18/doc/src/sgml/html/docguide-docbook.html --- postgresql-15-15.17/doc/src/sgml/html/docguide-docbook.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/docguide-docbook.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -J.1. DocBook

    J.1. DocBook

    +J.1. DocBook

    J.1. DocBook

    The documentation sources are written in DocBook, which is a markup language defined in XML. In what @@ -18,4 +18,4 @@ FreeBSD Documentation Project also uses DocBook and has some good information, including a number of style guidelines that might be worth considering. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/docguide-style.html postgresql-15-15.18/doc/src/sgml/html/docguide-style.html --- postgresql-15-15.17/doc/src/sgml/html/docguide-style.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/docguide-style.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -J.5. Style Guide

    J.5. Style Guide

    J.5.1. Reference Pages

    +J.5. Style Guide

    J.5. Style Guide

    J.5.1. Reference Pages

    Reference pages should follow a standard layout. This allows users to find the desired information more quickly, and it also encourages writers to document all relevant aspects of a command. @@ -86,4 +86,4 @@ database system it is compatible. The See Also section of SQL commands should list SQL commands before cross-references to programs. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/docguide-toolsets.html postgresql-15-15.18/doc/src/sgml/html/docguide-toolsets.html --- postgresql-15-15.17/doc/src/sgml/html/docguide-toolsets.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/docguide-toolsets.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -J.2. Tool Sets

    J.2. Tool Sets

    +J.2. Tool Sets

    J.2. Tool Sets

    The following tools are used to process the documentation. Some might be optional, as noted. @@ -112,4 +112,4 @@

     ./configure ... XMLLINT=/opt/local/bin/xmllint ...
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/docguide.html postgresql-15-15.18/doc/src/sgml/html/docguide.html --- postgresql-15-15.17/doc/src/sgml/html/docguide.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/docguide.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -Appendix J. Documentation \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/domains.html postgresql-15-15.18/doc/src/sgml/html/domains.html --- postgresql-15-15.17/doc/src/sgml/html/domains.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/domains.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.18. Domain Types

    8.18. Domain Types

    +8.18. Domain Types

    8.18. Domain Types

    A domain is a user-defined data type that is based on another underlying type. Optionally, it can have constraints that restrict its valid values to a subset of @@ -31,4 +31,4 @@ domain's constraints will be checked.

    For additional information see CREATE DOMAIN. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/dynamic-trace.html postgresql-15-15.18/doc/src/sgml/html/dynamic-trace.html --- postgresql-15-15.17/doc/src/sgml/html/dynamic-trace.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/dynamic-trace.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -28.5. Dynamic Tracing

    28.5. Dynamic Tracing

    +28.5. Dynamic Tracing

    28.5. Dynamic Tracing

    PostgreSQL provides facilities to support dynamic tracing of the database server. This allows an external utility to be called at specific points in the code and thereby trace @@ -298,4 +298,4 @@ Each trace macro has a corresponding ENABLED macro.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/earthdistance.html postgresql-15-15.18/doc/src/sgml/html/earthdistance.html --- postgresql-15-15.17/doc/src/sgml/html/earthdistance.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/earthdistance.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.15. earthdistance

    F.15. earthdistance

    +F.15. earthdistance

    F.15. earthdistance

    The earthdistance module provides two different approaches to calculating great circle distances on the surface of the Earth. The one described first depends on the cube module. @@ -155,4 +155,4 @@ you need to be careful about the edge conditions near the poles and near +/- 180 degrees of longitude. The cube-based representation avoids these discontinuities. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-commands.html postgresql-15-15.18/doc/src/sgml/html/ecpg-commands.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-commands.html 2026-02-23 22:14:27.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-commands.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.3. Running SQL Commands

    36.3. Running SQL Commands

    +36.3. Running SQL Commands

    36.3. Running SQL Commands

    Any SQL command can be run from within an embedded SQL application. Below are some examples of how to do that.

    36.3.1. Executing SQL Statements

    @@ -160,4 +160,4 @@ see PREPARE. Also see Section 36.5 for more details about using placeholders and input parameters. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-concept.html postgresql-15-15.18/doc/src/sgml/html/ecpg-concept.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-concept.html 2026-02-23 22:14:27.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-concept.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.1. The Concept

    36.1. The Concept

    +36.1. The Concept

    36.1. The Concept

    An embedded SQL program consists of code written in an ordinary programming language, in this case C, mixed with SQL commands in specially marked sections. To build the program, the source code (*.pgc) @@ -49,4 +49,4 @@ Of course, the C part of the program follows C quoting rules.

    The following sections explain all the embedded SQL statements. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-connect.html postgresql-15-15.18/doc/src/sgml/html/ecpg-connect.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-connect.html 2026-02-23 22:14:27.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-connect.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.2. Managing Database Connections

    36.2. Managing Database Connections

    +36.2. Managing Database Connections

    36.2. Managing Database Connections

    This section describes how to open, close, and switch database connections.

    36.2.1. Connecting to the Database Server

    @@ -244,4 +244,4 @@

    It is good style that an application always explicitly disconnect from every connection it opened. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-cpp.html postgresql-15-15.18/doc/src/sgml/html/ecpg-cpp.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-cpp.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-cpp.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.13. C++ Applications

    36.13. C++ Applications

    +36.13. C++ Applications

    36.13. C++ Applications

    ECPG has some limited support for C++ applications. This section describes some caveats.

    @@ -225,4 +225,4 @@

     c++ test_cpp.o test_mod.o -lecpg -o test_cpp
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-descriptors.html postgresql-15-15.18/doc/src/sgml/html/ecpg-descriptors.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-descriptors.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-descriptors.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.7. Using Descriptor Areas

    36.7. Using Descriptor Areas

    +36.7. Using Descriptor Areas

    36.7. Using Descriptor Areas

    An SQL descriptor area is a more sophisticated method for processing the result of a SELECT, FETCH or a DESCRIBE statement. An SQL descriptor area groups @@ -707,4 +707,4 @@ tup_inserted = 0 (type: 9) tup_updated = 0 (type: 9) tup_deleted = 0 (type: 9) -


    \ No newline at end of file +
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-develop.html postgresql-15-15.18/doc/src/sgml/html/ecpg-develop.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-develop.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-develop.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -36.17. Internals

    36.17. Internals

    +36.17. Internals

    36.17. Internals

    This section explains how ECPG works internally. This information can occasionally be useful to help users understand how to use ECPG. @@ -121,4 +121,4 @@

    (The indentation here is added for readability and not something the preprocessor does.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-dynamic.html postgresql-15-15.18/doc/src/sgml/html/ecpg-dynamic.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-dynamic.html 2026-02-23 22:14:27.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-dynamic.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.5. Dynamic SQL

    36.5. Dynamic SQL

    +36.5. Dynamic SQL

    36.5. Dynamic SQL

    In many cases, the particular SQL statements that an application has to execute are known at the time the application is written. In some cases, however, the SQL statements are composed at run time @@ -100,4 +100,4 @@ EXEC SQL COMMIT; EXEC SQL DISCONNECT ALL;

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-errors.html postgresql-15-15.18/doc/src/sgml/html/ecpg-errors.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-errors.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-errors.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.8. Error Handling

    36.8. Error Handling

    +36.8. Error Handling

    36.8. Error Handling

    This section describes how you can handle exceptional conditions and warnings in an embedded SQL program. There are two nonexclusive facilities for this. @@ -438,4 +438,4 @@

    -605 (ECPG_WARNING_PORTAL_EXISTS)

    An existing cursor name was specified. (SQLSTATE 42P03)

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-informix-compat.html postgresql-15-15.18/doc/src/sgml/html/ecpg-informix-compat.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-informix-compat.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-informix-compat.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -36.15. Informix Compatibility Mode

    36.15. Informix Compatibility Mode

    +36.15. Informix Compatibility Mode

    36.15. Informix Compatibility Mode

    ecpg can be run in a so-called Informix compatibility mode. If this mode is active, it tries to behave as if it were the Informix precompiler for Informix E/SQL. Generally spoken this will allow you to use @@ -889,4 +889,4 @@ characters it cannot parse. Internally it is defined as -1264 (the Informix definition).

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-library.html postgresql-15-15.18/doc/src/sgml/html/ecpg-library.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-library.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-library.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.11. Library Functions

    36.11. Library Functions

    +36.11. Library Functions

    36.11. Library Functions

    The libecpg library primarily contains hidden functions that are used to implement the functionality expressed by the embedded SQL commands. But there @@ -43,4 +43,4 @@ returns true if you are connected to a database and false if not. connection_name can be NULL if a single connection is being used. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-lo.html postgresql-15-15.18/doc/src/sgml/html/ecpg-lo.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-lo.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-lo.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.12. Large Objects

    36.12. Large Objects

    +36.12. Large Objects

    36.12. Large Objects

    Large objects are not directly supported by ECPG, but ECPG application can manipulate large objects through the libpq large object functions, obtaining the necessary PGconn @@ -97,4 +97,4 @@ EXEC SQL DISCONNECT ALL; return 0; } -


    \ No newline at end of file +
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-oracle-compat.html postgresql-15-15.18/doc/src/sgml/html/ecpg-oracle-compat.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-oracle-compat.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-oracle-compat.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -36.16. Oracle Compatibility Mode

    36.16. Oracle Compatibility Mode

    +36.16. Oracle Compatibility Mode

    36.16. Oracle Compatibility Mode

    ecpg can be run in a so-called Oracle compatibility mode. If this mode is active, it tries to behave as if it were Oracle Pro*C. @@ -16,4 +16,4 @@ Set the null indicator to -1 when character arrays receive empty character string types

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-pgtypes.html postgresql-15-15.18/doc/src/sgml/html/ecpg-pgtypes.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-pgtypes.html 2026-02-23 22:14:27.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-pgtypes.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.6. pgtypes Library

    36.6. pgtypes Library

    +36.6. pgtypes Library

    36.6. pgtypes Library

    The pgtypes library maps PostgreSQL database types to C equivalents that can be used in C programs. It also offers functions to do basic calculations with those types within C, i.e., without @@ -762,4 +762,4 @@ errno != 0 after each call to PGTYPEStimestamp_from_asc.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-preproc.html postgresql-15-15.18/doc/src/sgml/html/ecpg-preproc.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-preproc.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-preproc.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.9. Preprocessor Directives

    36.9. Preprocessor Directives

    +36.9. Preprocessor Directives

    36.9. Preprocessor Directives

    Several preprocessor directives are available that modify how the ecpg preprocessor parses and processes a file. @@ -132,4 +132,4 @@ EXEC SQL SET TIMEZONE TO 'GMT'; EXEC SQL endif;

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-process.html postgresql-15-15.18/doc/src/sgml/html/ecpg-process.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-process.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-process.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.10. Processing Embedded SQL Programs

    36.10. Processing Embedded SQL Programs

    +36.10. Processing Embedded SQL Programs

    36.10. Processing Embedded SQL Programs

    Now that you have an idea how to form embedded SQL C programs, you probably want to know how to compile them. Before compiling you run the file through the embedded SQL @@ -65,4 +65,4 @@ The ecpg library is thread-safe by default. However, you might need to use some threading command-line options to compile your client code. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-allocate-descriptor.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-allocate-descriptor.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-allocate-descriptor.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-allocate-descriptor.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -ALLOCATE DESCRIPTOR

    ALLOCATE DESCRIPTOR

    ALLOCATE DESCRIPTOR — allocate an SQL descriptor area

    Synopsis

    +ALLOCATE DESCRIPTOR

    ALLOCATE DESCRIPTOR

    ALLOCATE DESCRIPTOR — allocate an SQL descriptor area

    Synopsis

     ALLOCATE DESCRIPTOR name
     

    Description

    ALLOCATE DESCRIPTOR allocates a new named SQL @@ -16,4 +16,4 @@

    Compatibility

    ALLOCATE DESCRIPTOR is specified in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-commands.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-commands.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-commands.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-commands.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,7 +1,7 @@ -36.14. Embedded SQL Commands

    36.14. Embedded SQL Commands

    ALLOCATE DESCRIPTOR — allocate an SQL descriptor area
    CONNECT — establish a database connection
    DEALLOCATE DESCRIPTOR — deallocate an SQL descriptor area
    DECLARE — define a cursor
    DECLARE STATEMENT — declare SQL statement identifier
    DESCRIBE — obtain information about a prepared statement or result set
    DISCONNECT — terminate a database connection
    EXECUTE IMMEDIATE — dynamically prepare and execute a statement
    GET DESCRIPTOR — get information from an SQL descriptor area
    OPEN — open a dynamic cursor
    PREPARE — prepare a statement for execution
    SET AUTOCOMMIT — set the autocommit behavior of the current session
    SET CONNECTION — select a database connection
    SET DESCRIPTOR — set information in an SQL descriptor area
    TYPE — define a new data type
    VAR — define a variable
    WHENEVER — specify the action to be taken when an SQL statement causes a specific class condition to be raised

    +36.14. Embedded SQL Commands

    36.14. Embedded SQL Commands

    ALLOCATE DESCRIPTOR — allocate an SQL descriptor area
    CONNECT — establish a database connection
    DEALLOCATE DESCRIPTOR — deallocate an SQL descriptor area
    DECLARE — define a cursor
    DECLARE STATEMENT — declare SQL statement identifier
    DESCRIBE — obtain information about a prepared statement or result set
    DISCONNECT — terminate a database connection
    EXECUTE IMMEDIATE — dynamically prepare and execute a statement
    GET DESCRIPTOR — get information from an SQL descriptor area
    OPEN — open a dynamic cursor
    PREPARE — prepare a statement for execution
    SET AUTOCOMMIT — set the autocommit behavior of the current session
    SET CONNECTION — select a database connection
    SET DESCRIPTOR — set information in an SQL descriptor area
    TYPE — define a new data type
    VAR — define a variable
    WHENEVER — specify the action to be taken when an SQL statement causes a specific class condition to be raised

    This section describes all SQL commands that are specific to embedded SQL. Also refer to the SQL commands listed in SQL Commands, which can also be used in embedded SQL, unless stated otherwise. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-connect.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-connect.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-connect.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-connect.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -CONNECT

    CONNECT

    CONNECT — establish a database connection

    Synopsis

    +CONNECT

    CONNECT

    CONNECT — establish a database connection

    Synopsis

     CONNECT TO connection_target [ AS connection_name ] [ USER connection_user ]
     CONNECT TO DEFAULT
     CONNECT connection_user
    @@ -106,4 +106,4 @@
          CONNECT is specified in the SQL standard, but
          the format of the connection parameters is
          implementation-specific.
    -    

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-deallocate-descriptor.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-deallocate-descriptor.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-deallocate-descriptor.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-deallocate-descriptor.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -DEALLOCATE DESCRIPTOR

    DEALLOCATE DESCRIPTOR

    DEALLOCATE DESCRIPTOR — deallocate an SQL descriptor area

    Synopsis

    +DEALLOCATE DESCRIPTOR

    DEALLOCATE DESCRIPTOR

    DEALLOCATE DESCRIPTOR — deallocate an SQL descriptor area

    Synopsis

     DEALLOCATE DESCRIPTOR name
     

    Description

    DEALLOCATE DESCRIPTOR deallocates a named SQL @@ -13,4 +13,4 @@

    Compatibility

    DEALLOCATE DESCRIPTOR is specified in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-declare-statement.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-declare-statement.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-declare-statement.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-declare-statement.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -DECLARE STATEMENT

    DECLARE STATEMENT

    DECLARE STATEMENT — declare SQL statement identifier

    Synopsis

    +DECLARE STATEMENT

    DECLARE STATEMENT

    DECLARE STATEMENT — declare SQL statement identifier

    Synopsis

     EXEC SQL [ AT connection_name ] DECLARE statement_name STATEMENT
     

    Description

    DECLARE STATEMENT declares an SQL statement identifier. @@ -30,4 +30,4 @@

    Compatibility

    DECLARE STATEMENT is an extension of the SQL standard, but can be used in famous DBMSs. -

    See Also

    CONNECT, DECLARE, OPEN
    \ No newline at end of file +

    See Also

    CONNECT, DECLARE, OPEN
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-declare.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-declare.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-declare.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-declare.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -DECLARE

    DECLARE

    DECLARE — define a cursor

    Synopsis

    +DECLARE

    DECLARE

    DECLARE — define a cursor

    Synopsis

     DECLARE cursor_name [ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR prepared_name
     DECLARE cursor_name [ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR query
     

    Description

    @@ -40,4 +40,4 @@

    Compatibility

    DECLARE is specified in the SQL standard. -

    See Also

    OPEN, CLOSE, DECLARE
    \ No newline at end of file +

    See Also

    OPEN, CLOSE, DECLARE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-describe.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-describe.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-describe.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-describe.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -DESCRIBE

    DESCRIBE

    DESCRIBE — obtain information about a prepared statement or result set

    Synopsis

    +DESCRIBE

    DESCRIBE

    DESCRIBE — obtain information about a prepared statement or result set

    Synopsis

     DESCRIBE [ OUTPUT ] prepared_name USING [ SQL ] DESCRIPTOR descriptor_name
     DESCRIBE [ OUTPUT ] prepared_name INTO [ SQL ] DESCRIPTOR descriptor_name
     DESCRIBE [ OUTPUT ] prepared_name INTO sqlda_name
    @@ -23,4 +23,4 @@
     EXEC SQL DEALLOCATE DESCRIPTOR mydesc;
     

    Compatibility

    DESCRIBE is specified in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-disconnect.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-disconnect.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-disconnect.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-disconnect.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -DISCONNECT

    DISCONNECT

    DISCONNECT — terminate a database connection

    Synopsis

    +DISCONNECT

    DISCONNECT

    DISCONNECT — terminate a database connection

    Synopsis

     DISCONNECT connection_name
     DISCONNECT [ CURRENT ]
     DISCONNECT ALL
    @@ -32,4 +32,4 @@
     }
     

    Compatibility

    DISCONNECT is specified in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-execute-immediate.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-execute-immediate.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-execute-immediate.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-execute-immediate.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -EXECUTE IMMEDIATE

    EXECUTE IMMEDIATE

    EXECUTE IMMEDIATE — dynamically prepare and execute a statement

    Synopsis

    +EXECUTE IMMEDIATE

    EXECUTE IMMEDIATE

    EXECUTE IMMEDIATE — dynamically prepare and execute a statement

    Synopsis

     EXECUTE IMMEDIATE string
     

    Description

    EXECUTE IMMEDIATE immediately prepares and @@ -34,4 +34,4 @@

    Compatibility

    EXECUTE IMMEDIATE is specified in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-get-descriptor.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-get-descriptor.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-get-descriptor.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-get-descriptor.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -GET DESCRIPTOR

    GET DESCRIPTOR

    GET DESCRIPTOR — get information from an SQL descriptor area

    Synopsis

    +GET DESCRIPTOR

    GET DESCRIPTOR

    GET DESCRIPTOR — get information from an SQL descriptor area

    Synopsis

     GET DESCRIPTOR descriptor_name :cvariable = descriptor_header_item [, ... ]
     GET DESCRIPTOR descriptor_name VALUE column_number :cvariable = descriptor_item [, ... ]
     

    Description

    @@ -101,4 +101,4 @@

    Compatibility

    GET DESCRIPTOR is specified in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-open.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-open.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-open.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-open.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -OPEN

    OPEN

    OPEN — open a dynamic cursor

    Synopsis

    +OPEN

    OPEN

    OPEN — open a dynamic cursor

    Synopsis

     OPEN cursor_name
     OPEN cursor_name USING value [, ... ]
     OPEN cursor_name USING SQL DESCRIPTOR descriptor_name
    @@ -28,4 +28,4 @@
     EXEC SQL OPEN :curname1;
     

    Compatibility

    OPEN is specified in the SQL standard. -

    See Also

    DECLARE, CLOSE
    \ No newline at end of file +

    See Also

    DECLARE, CLOSE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-prepare.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-prepare.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-prepare.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-prepare.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -PREPARE

    PREPARE

    PREPARE — prepare a statement for execution

    Synopsis

    +PREPARE

    PREPARE

    PREPARE — prepare a statement for execution

    Synopsis

     PREPARE prepared_name FROM string
     

    Description

    PREPARE prepares a statement dynamically @@ -39,4 +39,4 @@ EXEC SQL EXECUTE foo USING SQL DESCRIPTOR indesc INTO SQL DESCRIPTOR outdesc;

    Compatibility

    PREPARE is specified in the SQL standard. -

    See Also

    EXECUTE
    \ No newline at end of file +

    See Also

    EXECUTE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-set-autocommit.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-set-autocommit.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-set-autocommit.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-set-autocommit.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -SET AUTOCOMMIT

    SET AUTOCOMMIT

    SET AUTOCOMMIT — set the autocommit behavior of the current session

    Synopsis

    +SET AUTOCOMMIT

    SET AUTOCOMMIT

    SET AUTOCOMMIT — set the autocommit behavior of the current session

    Synopsis

     SET AUTOCOMMIT { = | TO } { ON | OFF }
     

    Description

    SET AUTOCOMMIT sets the autocommit behavior of @@ -10,4 +10,4 @@ where each individual statement is committed implicitly.

    Compatibility

    SET AUTOCOMMIT is an extension of PostgreSQL ECPG. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-set-connection.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-set-connection.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-set-connection.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-set-connection.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -SET CONNECTION

    SET CONNECTION

    SET CONNECTION — select a database connection

    Synopsis

    +SET CONNECTION

    SET CONNECTION

    SET CONNECTION — select a database connection

    Synopsis

     SET CONNECTION [ TO | = ] connection_name
     

    Description

    SET CONNECTION sets the current @@ -15,4 +15,4 @@ EXEC SQL SET CONNECTION = con1;

    Compatibility

    SET CONNECTION is specified in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-set-descriptor.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-set-descriptor.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-set-descriptor.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-set-descriptor.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -SET DESCRIPTOR

    SET DESCRIPTOR

    SET DESCRIPTOR — set information in an SQL descriptor area

    Synopsis

    +SET DESCRIPTOR

    SET DESCRIPTOR

    SET DESCRIPTOR — set information in an SQL descriptor area

    Synopsis

     SET DESCRIPTOR descriptor_name descriptor_header_item = value [, ... ]
     SET DESCRIPTOR descriptor_name VALUE number descriptor_item = value [, ...]
     

    Description

    @@ -35,4 +35,4 @@ EXEC SQL SET DESCRIPTOR indesc VALUE 2 INDICATOR = :val2null, DATA = :val2;

    Compatibility

    SET DESCRIPTOR is specified in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-type.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-type.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-type.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-type.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -TYPE

    TYPE

    TYPE — define a new data type

    Synopsis

    +TYPE

    TYPE

    TYPE — define a new data type

    Synopsis

     TYPE type_name IS ctype
     

    Description

    The TYPE command defines a new C type. It is @@ -85,4 +85,4 @@

    Compatibility

    The TYPE command is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-var.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-var.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-var.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-var.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -VAR

    VAR

    VAR — define a variable

    Synopsis

    +VAR

    VAR

    VAR — define a variable

    Synopsis

     VAR varname IS ctype
     

    Description

    The VAR command assigns a new C data type @@ -16,4 +16,4 @@ EXEC SQL VAR a IS int;

    Compatibility

    The VAR command is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-whenever.html postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-whenever.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-sql-whenever.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-sql-whenever.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -WHENEVER

    WHENEVER

    WHENEVER — specify the action to be taken when an SQL statement causes a specific class condition to be raised

    Synopsis

    +WHENEVER

    WHENEVER

    WHENEVER — specify the action to be taken when an SQL statement causes a specific class condition to be raised

    Synopsis

     WHENEVER { NOT FOUND | SQLERROR | SQLWARNING } action
     

    Description

    Define a behavior which is called on the special cases (Rows not @@ -54,4 +54,4 @@

    Compatibility

    WHENEVER is specified in the SQL standard, but most of the actions are PostgreSQL extensions. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg-variables.html postgresql-15-15.18/doc/src/sgml/html/ecpg-variables.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg-variables.html 2026-02-23 22:14:27.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg-variables.html 2026-05-11 20:02:39.000000000 +0000 @@ -1,5 +1,5 @@ -36.4. Using Host Variables

    36.4. Using Host Variables

    +36.4. Using Host Variables

    36.4. Using Host Variables

    In Section 36.3 you saw how you can execute SQL statements from an embedded SQL program. Some of those statements only used fixed values and did not provide a way to insert @@ -878,4 +878,4 @@ input and output) for character string types as empty string and for integer types as the lowest possible value for type (for example, INT_MIN for int). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ecpg.html postgresql-15-15.18/doc/src/sgml/html/ecpg.html --- postgresql-15-15.17/doc/src/sgml/html/ecpg.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ecpg.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 36. ECPG — Embedded SQL in C

    Chapter 36. ECPG — Embedded SQL in C

    Table of Contents

    36.1. The Concept
    36.2. Managing Database Connections
    36.2.1. Connecting to the Database Server
    36.2.2. Choosing a Connection
    36.2.3. Closing a Connection
    36.3. Running SQL Commands
    36.3.1. Executing SQL Statements
    36.3.2. Using Cursors
    36.3.3. Managing Transactions
    36.3.4. Prepared Statements
    36.4. Using Host Variables
    36.4.1. Overview
    36.4.2. Declare Sections
    36.4.3. Retrieving Query Results
    36.4.4. Type Mapping
    36.4.5. Handling Nonprimitive SQL Data Types
    36.4.6. Indicators
    36.5. Dynamic SQL
    36.5.1. Executing Statements without a Result Set
    36.5.2. Executing a Statement with Input Parameters
    36.5.3. Executing a Statement with a Result Set
    36.6. pgtypes Library
    36.6.1. Character Strings
    36.6.2. The numeric Type
    36.6.3. The date Type
    36.6.4. The timestamp Type
    36.6.5. The interval Type
    36.6.6. The decimal Type
    36.6.7. errno Values of pgtypeslib
    36.6.8. Special Constants of pgtypeslib
    36.7. Using Descriptor Areas
    36.7.1. Named SQL Descriptor Areas
    36.7.2. SQLDA Descriptor Areas
    36.8. Error Handling
    36.8.1. Setting Callbacks
    36.8.2. sqlca
    36.8.3. SQLSTATE vs. SQLCODE
    36.9. Preprocessor Directives
    36.9.1. Including Files
    36.9.2. The define and undef Directives
    36.9.3. ifdef, ifndef, elif, else, and endif Directives
    36.10. Processing Embedded SQL Programs
    36.11. Library Functions
    36.12. Large Objects
    36.13. C++ Applications
    36.13.1. Scope for Host Variables
    36.13.2. C++ Application Development with External C Module
    36.14. Embedded SQL Commands
    ALLOCATE DESCRIPTOR — allocate an SQL descriptor area
    CONNECT — establish a database connection
    DEALLOCATE DESCRIPTOR — deallocate an SQL descriptor area
    DECLARE — define a cursor
    DECLARE STATEMENT — declare SQL statement identifier
    DESCRIBE — obtain information about a prepared statement or result set
    DISCONNECT — terminate a database connection
    EXECUTE IMMEDIATE — dynamically prepare and execute a statement
    GET DESCRIPTOR — get information from an SQL descriptor area
    OPEN — open a dynamic cursor
    PREPARE — prepare a statement for execution
    SET AUTOCOMMIT — set the autocommit behavior of the current session
    SET CONNECTION — select a database connection
    SET DESCRIPTOR — set information in an SQL descriptor area
    TYPE — define a new data type
    VAR — define a variable
    WHENEVER — specify the action to be taken when an SQL statement causes a specific class condition to be raised
    36.15. Informix Compatibility Mode
    36.15.1. Additional Types
    36.15.2. Additional/Missing Embedded SQL Statements
    36.15.3. Informix-compatible SQLDA Descriptor Areas
    36.15.4. Additional Functions
    36.15.5. Additional Constants
    36.16. Oracle Compatibility Mode
    36.17. Internals

    +Chapter 36. ECPG — Embedded SQL in C

    Chapter 36. ECPG — Embedded SQL in C

    Table of Contents

    36.1. The Concept
    36.2. Managing Database Connections
    36.2.1. Connecting to the Database Server
    36.2.2. Choosing a Connection
    36.2.3. Closing a Connection
    36.3. Running SQL Commands
    36.3.1. Executing SQL Statements
    36.3.2. Using Cursors
    36.3.3. Managing Transactions
    36.3.4. Prepared Statements
    36.4. Using Host Variables
    36.4.1. Overview
    36.4.2. Declare Sections
    36.4.3. Retrieving Query Results
    36.4.4. Type Mapping
    36.4.5. Handling Nonprimitive SQL Data Types
    36.4.6. Indicators
    36.5. Dynamic SQL
    36.5.1. Executing Statements without a Result Set
    36.5.2. Executing a Statement with Input Parameters
    36.5.3. Executing a Statement with a Result Set
    36.6. pgtypes Library
    36.6.1. Character Strings
    36.6.2. The numeric Type
    36.6.3. The date Type
    36.6.4. The timestamp Type
    36.6.5. The interval Type
    36.6.6. The decimal Type
    36.6.7. errno Values of pgtypeslib
    36.6.8. Special Constants of pgtypeslib
    36.7. Using Descriptor Areas
    36.7.1. Named SQL Descriptor Areas
    36.7.2. SQLDA Descriptor Areas
    36.8. Error Handling
    36.8.1. Setting Callbacks
    36.8.2. sqlca
    36.8.3. SQLSTATE vs. SQLCODE
    36.9. Preprocessor Directives
    36.9.1. Including Files
    36.9.2. The define and undef Directives
    36.9.3. ifdef, ifndef, elif, else, and endif Directives
    36.10. Processing Embedded SQL Programs
    36.11. Library Functions
    36.12. Large Objects
    36.13. C++ Applications
    36.13.1. Scope for Host Variables
    36.13.2. C++ Application Development with External C Module
    36.14. Embedded SQL Commands
    ALLOCATE DESCRIPTOR — allocate an SQL descriptor area
    CONNECT — establish a database connection
    DEALLOCATE DESCRIPTOR — deallocate an SQL descriptor area
    DECLARE — define a cursor
    DECLARE STATEMENT — declare SQL statement identifier
    DESCRIBE — obtain information about a prepared statement or result set
    DISCONNECT — terminate a database connection
    EXECUTE IMMEDIATE — dynamically prepare and execute a statement
    GET DESCRIPTOR — get information from an SQL descriptor area
    OPEN — open a dynamic cursor
    PREPARE — prepare a statement for execution
    SET AUTOCOMMIT — set the autocommit behavior of the current session
    SET CONNECTION — select a database connection
    SET DESCRIPTOR — set information in an SQL descriptor area
    TYPE — define a new data type
    VAR — define a variable
    WHENEVER — specify the action to be taken when an SQL statement causes a specific class condition to be raised
    36.15. Informix Compatibility Mode
    36.15.1. Additional Types
    36.15.2. Additional/Missing Embedded SQL Statements
    36.15.3. Informix-compatible SQLDA Descriptor Areas
    36.15.4. Additional Functions
    36.15.5. Additional Constants
    36.16. Oracle Compatibility Mode
    36.17. Internals

    This chapter describes the embedded SQL package for PostgreSQL. It was written by Linus Tolke () and Michael Meskes @@ -10,4 +10,4 @@ This documentation is quite incomplete. But since this interface is standardized, additional information can be found in many resources about SQL. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/encryption-options.html postgresql-15-15.18/doc/src/sgml/html/encryption-options.html --- postgresql-15-15.17/doc/src/sgml/html/encryption-options.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/encryption-options.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -19.8. Encryption Options

    19.8. Encryption Options

    +19.8. Encryption Options

    19.8. Encryption Options

    PostgreSQL offers encryption at several levels, and provides flexibility in protecting data from disclosure due to database server theft, unscrupulous administrators, and @@ -81,4 +81,4 @@ never appears on the database server. Data is encrypted on the client before being sent to the server, and database results have to be decrypted on the client before being used. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/errcodes-appendix.html postgresql-15-15.18/doc/src/sgml/html/errcodes-appendix.html --- postgresql-15-15.17/doc/src/sgml/html/errcodes-appendix.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/errcodes-appendix.html 2026-05-11 20:02:54.000000000 +0000 @@ -1,5 +1,5 @@ -Appendix A. PostgreSQL Error Codes

    Appendix A. PostgreSQL Error Codes

    +Appendix A. PostgreSQL Error Codes

    Appendix A. PostgreSQL Error Codes

    All messages emitted by the PostgreSQL server are assigned five-character error codes that follow the SQL standard's conventions for SQLSTATE codes. Applications @@ -20,7 +20,7 @@ what to do from the error class.

    Table A.1 lists all the error codes defined in - PostgreSQL 15.17. (Some are not actually + PostgreSQL 15.18. (Some are not actually used at present, but are defined by the SQL standard.) The error classes are also shown. For each error class there is a standard error code having the last three characters @@ -42,4 +42,4 @@ As of PostgreSQL 9.3, complete coverage for this feature exists only for errors in SQLSTATE class 23 (integrity constraint violation), but this is likely to be expanded in future. -

    Table A.1. PostgreSQL Error Codes

    Error CodeCondition Name
    Class 00 — Successful Completion
    00000successful_completion
    Class 01 — Warning
    01000warning
    0100Cdynamic_result_sets_returned
    01008implicit_zero_bit_padding
    01003null_value_eliminated_in_set_function
    01007privilege_not_granted
    01006privilege_not_revoked
    01004string_data_right_truncation
    01P01deprecated_feature
    Class 02 — No Data (this is also a warning class per the SQL standard)
    02000no_data
    02001no_additional_dynamic_result_sets_returned
    Class 03 — SQL Statement Not Yet Complete
    03000sql_statement_not_yet_complete
    Class 08 — Connection Exception
    08000connection_exception
    08003connection_does_not_exist
    08006connection_failure
    08001sqlclient_unable_to_establish_sqlconnection
    08004sqlserver_rejected_establishment_of_sqlconnection
    08007transaction_resolution_unknown
    08P01protocol_violation
    Class 09 — Triggered Action Exception
    09000triggered_action_exception
    Class 0A — Feature Not Supported
    0A000feature_not_supported
    Class 0B — Invalid Transaction Initiation
    0B000invalid_transaction_initiation
    Class 0F — Locator Exception
    0F000locator_exception
    0F001invalid_locator_specification
    Class 0L — Invalid Grantor
    0L000invalid_grantor
    0LP01invalid_grant_operation
    Class 0P — Invalid Role Specification
    0P000invalid_role_specification
    Class 0Z — Diagnostics Exception
    0Z000diagnostics_exception
    0Z002stacked_diagnostics_accessed_without_active_handler
    Class 20 — Case Not Found
    20000case_not_found
    Class 21 — Cardinality Violation
    21000cardinality_violation
    Class 22 — Data Exception
    22000data_exception
    2202Earray_subscript_error
    22021character_not_in_repertoire
    22008datetime_field_overflow
    22012division_by_zero
    22005error_in_assignment
    2200Bescape_character_conflict
    22022indicator_overflow
    22015interval_field_overflow
    2201Einvalid_argument_for_logarithm
    22014invalid_argument_for_ntile_function
    22016invalid_argument_for_nth_value_function
    2201Finvalid_argument_for_power_function
    2201Ginvalid_argument_for_width_bucket_function
    22018invalid_character_value_for_cast
    22007invalid_datetime_format
    22019invalid_escape_character
    2200Dinvalid_escape_octet
    22025invalid_escape_sequence
    22P06nonstandard_use_of_escape_character
    22010invalid_indicator_parameter_value
    22023invalid_parameter_value
    22013invalid_preceding_or_following_size
    2201Binvalid_regular_expression
    2201Winvalid_row_count_in_limit_clause
    2201Xinvalid_row_count_in_result_offset_clause
    2202Hinvalid_tablesample_argument
    2202Ginvalid_tablesample_repeat
    22009invalid_time_zone_displacement_value
    2200Cinvalid_use_of_escape_character
    2200Gmost_specific_type_mismatch
    22004null_value_not_allowed
    22002null_value_no_indicator_parameter
    22003numeric_value_out_of_range
    2200Hsequence_generator_limit_exceeded
    22026string_data_length_mismatch
    22001string_data_right_truncation
    22011substring_error
    22027trim_error
    22024unterminated_c_string
    2200Fzero_length_character_string
    22P01floating_point_exception
    22P02invalid_text_representation
    22P03invalid_binary_representation
    22P04bad_copy_file_format
    22P05untranslatable_character
    2200Lnot_an_xml_document
    2200Minvalid_xml_document
    2200Ninvalid_xml_content
    2200Sinvalid_xml_comment
    2200Tinvalid_xml_processing_instruction
    22030duplicate_json_object_key_value
    22031invalid_argument_for_sql_json_datetime_function
    22032invalid_json_text
    22033invalid_sql_json_subscript
    22034more_than_one_sql_json_item
    22035no_sql_json_item
    22036non_numeric_sql_json_item
    22037non_unique_keys_in_a_json_object
    22038singleton_sql_json_item_required
    22039sql_json_array_not_found
    2203Asql_json_member_not_found
    2203Bsql_json_number_not_found
    2203Csql_json_object_not_found
    2203Dtoo_many_json_array_elements
    2203Etoo_many_json_object_members
    2203Fsql_json_scalar_required
    2203Gsql_json_item_cannot_be_cast_to_target_type
    Class 23 — Integrity Constraint Violation
    23000integrity_constraint_violation
    23001restrict_violation
    23502not_null_violation
    23503foreign_key_violation
    23505unique_violation
    23514check_violation
    23P01exclusion_violation
    Class 24 — Invalid Cursor State
    24000invalid_cursor_state
    Class 25 — Invalid Transaction State
    25000invalid_transaction_state
    25001active_sql_transaction
    25002branch_transaction_already_active
    25008held_cursor_requires_same_isolation_level
    25003inappropriate_access_mode_for_branch_transaction
    25004inappropriate_isolation_level_for_branch_transaction
    25005no_active_sql_transaction_for_branch_transaction
    25006read_only_sql_transaction
    25007schema_and_data_statement_mixing_not_supported
    25P01no_active_sql_transaction
    25P02in_failed_sql_transaction
    25P03idle_in_transaction_session_timeout
    Class 26 — Invalid SQL Statement Name
    26000invalid_sql_statement_name
    Class 27 — Triggered Data Change Violation
    27000triggered_data_change_violation
    Class 28 — Invalid Authorization Specification
    28000invalid_authorization_specification
    28P01invalid_password
    Class 2B — Dependent Privilege Descriptors Still Exist
    2B000dependent_privilege_descriptors_still_exist
    2BP01dependent_objects_still_exist
    Class 2D — Invalid Transaction Termination
    2D000invalid_transaction_termination
    Class 2F — SQL Routine Exception
    2F000sql_routine_exception
    2F005function_executed_no_return_statement
    2F002modifying_sql_data_not_permitted
    2F003prohibited_sql_statement_attempted
    2F004reading_sql_data_not_permitted
    Class 34 — Invalid Cursor Name
    34000invalid_cursor_name
    Class 38 — External Routine Exception
    38000external_routine_exception
    38001containing_sql_not_permitted
    38002modifying_sql_data_not_permitted
    38003prohibited_sql_statement_attempted
    38004reading_sql_data_not_permitted
    Class 39 — External Routine Invocation Exception
    39000external_routine_invocation_exception
    39001invalid_sqlstate_returned
    39004null_value_not_allowed
    39P01trigger_protocol_violated
    39P02srf_protocol_violated
    39P03event_trigger_protocol_violated
    Class 3B — Savepoint Exception
    3B000savepoint_exception
    3B001invalid_savepoint_specification
    Class 3D — Invalid Catalog Name
    3D000invalid_catalog_name
    Class 3F — Invalid Schema Name
    3F000invalid_schema_name
    Class 40 — Transaction Rollback
    40000transaction_rollback
    40002transaction_integrity_constraint_violation
    40001serialization_failure
    40003statement_completion_unknown
    40P01deadlock_detected
    Class 42 — Syntax Error or Access Rule Violation
    42000syntax_error_or_access_rule_violation
    42601syntax_error
    42501insufficient_privilege
    42846cannot_coerce
    42803grouping_error
    42P20windowing_error
    42P19invalid_recursion
    42830invalid_foreign_key
    42602invalid_name
    42622name_too_long
    42939reserved_name
    42804datatype_mismatch
    42P18indeterminate_datatype
    42P21collation_mismatch
    42P22indeterminate_collation
    42809wrong_object_type
    428C9generated_always
    42703undefined_column
    42883undefined_function
    42P01undefined_table
    42P02undefined_parameter
    42704undefined_object
    42701duplicate_column
    42P03duplicate_cursor
    42P04duplicate_database
    42723duplicate_function
    42P05duplicate_prepared_statement
    42P06duplicate_schema
    42P07duplicate_table
    42712duplicate_alias
    42710duplicate_object
    42702ambiguous_column
    42725ambiguous_function
    42P08ambiguous_parameter
    42P09ambiguous_alias
    42P10invalid_column_reference
    42611invalid_column_definition
    42P11invalid_cursor_definition
    42P12invalid_database_definition
    42P13invalid_function_definition
    42P14invalid_prepared_statement_definition
    42P15invalid_schema_definition
    42P16invalid_table_definition
    42P17invalid_object_definition
    Class 44 — WITH CHECK OPTION Violation
    44000with_check_option_violation
    Class 53 — Insufficient Resources
    53000insufficient_resources
    53100disk_full
    53200out_of_memory
    53300too_many_connections
    53400configuration_limit_exceeded
    Class 54 — Program Limit Exceeded
    54000program_limit_exceeded
    54001statement_too_complex
    54011too_many_columns
    54023too_many_arguments
    Class 55 — Object Not In Prerequisite State
    55000object_not_in_prerequisite_state
    55006object_in_use
    55P02cant_change_runtime_param
    55P03lock_not_available
    55P04unsafe_new_enum_value_usage
    Class 57 — Operator Intervention
    57000operator_intervention
    57014query_canceled
    57P01admin_shutdown
    57P02crash_shutdown
    57P03cannot_connect_now
    57P04database_dropped
    57P05idle_session_timeout
    Class 58 — System Error (errors external to PostgreSQL itself)
    58000system_error
    58030io_error
    58P01undefined_file
    58P02duplicate_file
    Class 72 — Snapshot Failure
    72000snapshot_too_old
    Class F0 — Configuration File Error
    F0000config_file_error
    F0001lock_file_exists
    Class HV — Foreign Data Wrapper Error (SQL/MED)
    HV000fdw_error
    HV005fdw_column_name_not_found
    HV002fdw_dynamic_parameter_value_needed
    HV010fdw_function_sequence_error
    HV021fdw_inconsistent_descriptor_information
    HV024fdw_invalid_attribute_value
    HV007fdw_invalid_column_name
    HV008fdw_invalid_column_number
    HV004fdw_invalid_data_type
    HV006fdw_invalid_data_type_descriptors
    HV091fdw_invalid_descriptor_field_identifier
    HV00Bfdw_invalid_handle
    HV00Cfdw_invalid_option_index
    HV00Dfdw_invalid_option_name
    HV090fdw_invalid_string_length_or_buffer_length
    HV00Afdw_invalid_string_format
    HV009fdw_invalid_use_of_null_pointer
    HV014fdw_too_many_handles
    HV001fdw_out_of_memory
    HV00Pfdw_no_schemas
    HV00Jfdw_option_name_not_found
    HV00Kfdw_reply_handle
    HV00Qfdw_schema_not_found
    HV00Rfdw_table_not_found
    HV00Lfdw_unable_to_create_execution
    HV00Mfdw_unable_to_create_reply
    HV00Nfdw_unable_to_establish_connection
    Class P0 — PL/pgSQL Error
    P0000plpgsql_error
    P0001raise_exception
    P0002no_data_found
    P0003too_many_rows
    P0004assert_failure
    Class XX — Internal Error
    XX000internal_error
    XX001data_corrupted
    XX002index_corrupted

    \ No newline at end of file +

    Table A.1. PostgreSQL Error Codes

    Error CodeCondition Name
    Class 00 — Successful Completion
    00000successful_completion
    Class 01 — Warning
    01000warning
    0100Cdynamic_result_sets_returned
    01008implicit_zero_bit_padding
    01003null_value_eliminated_in_set_function
    01007privilege_not_granted
    01006privilege_not_revoked
    01004string_data_right_truncation
    01P01deprecated_feature
    Class 02 — No Data (this is also a warning class per the SQL standard)
    02000no_data
    02001no_additional_dynamic_result_sets_returned
    Class 03 — SQL Statement Not Yet Complete
    03000sql_statement_not_yet_complete
    Class 08 — Connection Exception
    08000connection_exception
    08003connection_does_not_exist
    08006connection_failure
    08001sqlclient_unable_to_establish_sqlconnection
    08004sqlserver_rejected_establishment_of_sqlconnection
    08007transaction_resolution_unknown
    08P01protocol_violation
    Class 09 — Triggered Action Exception
    09000triggered_action_exception
    Class 0A — Feature Not Supported
    0A000feature_not_supported
    Class 0B — Invalid Transaction Initiation
    0B000invalid_transaction_initiation
    Class 0F — Locator Exception
    0F000locator_exception
    0F001invalid_locator_specification
    Class 0L — Invalid Grantor
    0L000invalid_grantor
    0LP01invalid_grant_operation
    Class 0P — Invalid Role Specification
    0P000invalid_role_specification
    Class 0Z — Diagnostics Exception
    0Z000diagnostics_exception
    0Z002stacked_diagnostics_accessed_without_active_handler
    Class 20 — Case Not Found
    20000case_not_found
    Class 21 — Cardinality Violation
    21000cardinality_violation
    Class 22 — Data Exception
    22000data_exception
    2202Earray_subscript_error
    22021character_not_in_repertoire
    22008datetime_field_overflow
    22012division_by_zero
    22005error_in_assignment
    2200Bescape_character_conflict
    22022indicator_overflow
    22015interval_field_overflow
    2201Einvalid_argument_for_logarithm
    22014invalid_argument_for_ntile_function
    22016invalid_argument_for_nth_value_function
    2201Finvalid_argument_for_power_function
    2201Ginvalid_argument_for_width_bucket_function
    22018invalid_character_value_for_cast
    22007invalid_datetime_format
    22019invalid_escape_character
    2200Dinvalid_escape_octet
    22025invalid_escape_sequence
    22P06nonstandard_use_of_escape_character
    22010invalid_indicator_parameter_value
    22023invalid_parameter_value
    22013invalid_preceding_or_following_size
    2201Binvalid_regular_expression
    2201Winvalid_row_count_in_limit_clause
    2201Xinvalid_row_count_in_result_offset_clause
    2202Hinvalid_tablesample_argument
    2202Ginvalid_tablesample_repeat
    22009invalid_time_zone_displacement_value
    2200Cinvalid_use_of_escape_character
    2200Gmost_specific_type_mismatch
    22004null_value_not_allowed
    22002null_value_no_indicator_parameter
    22003numeric_value_out_of_range
    2200Hsequence_generator_limit_exceeded
    22026string_data_length_mismatch
    22001string_data_right_truncation
    22011substring_error
    22027trim_error
    22024unterminated_c_string
    2200Fzero_length_character_string
    22P01floating_point_exception
    22P02invalid_text_representation
    22P03invalid_binary_representation
    22P04bad_copy_file_format
    22P05untranslatable_character
    2200Lnot_an_xml_document
    2200Minvalid_xml_document
    2200Ninvalid_xml_content
    2200Sinvalid_xml_comment
    2200Tinvalid_xml_processing_instruction
    22030duplicate_json_object_key_value
    22031invalid_argument_for_sql_json_datetime_function
    22032invalid_json_text
    22033invalid_sql_json_subscript
    22034more_than_one_sql_json_item
    22035no_sql_json_item
    22036non_numeric_sql_json_item
    22037non_unique_keys_in_a_json_object
    22038singleton_sql_json_item_required
    22039sql_json_array_not_found
    2203Asql_json_member_not_found
    2203Bsql_json_number_not_found
    2203Csql_json_object_not_found
    2203Dtoo_many_json_array_elements
    2203Etoo_many_json_object_members
    2203Fsql_json_scalar_required
    2203Gsql_json_item_cannot_be_cast_to_target_type
    Class 23 — Integrity Constraint Violation
    23000integrity_constraint_violation
    23001restrict_violation
    23502not_null_violation
    23503foreign_key_violation
    23505unique_violation
    23514check_violation
    23P01exclusion_violation
    Class 24 — Invalid Cursor State
    24000invalid_cursor_state
    Class 25 — Invalid Transaction State
    25000invalid_transaction_state
    25001active_sql_transaction
    25002branch_transaction_already_active
    25008held_cursor_requires_same_isolation_level
    25003inappropriate_access_mode_for_branch_transaction
    25004inappropriate_isolation_level_for_branch_transaction
    25005no_active_sql_transaction_for_branch_transaction
    25006read_only_sql_transaction
    25007schema_and_data_statement_mixing_not_supported
    25P01no_active_sql_transaction
    25P02in_failed_sql_transaction
    25P03idle_in_transaction_session_timeout
    Class 26 — Invalid SQL Statement Name
    26000invalid_sql_statement_name
    Class 27 — Triggered Data Change Violation
    27000triggered_data_change_violation
    Class 28 — Invalid Authorization Specification
    28000invalid_authorization_specification
    28P01invalid_password
    Class 2B — Dependent Privilege Descriptors Still Exist
    2B000dependent_privilege_descriptors_still_exist
    2BP01dependent_objects_still_exist
    Class 2D — Invalid Transaction Termination
    2D000invalid_transaction_termination
    Class 2F — SQL Routine Exception
    2F000sql_routine_exception
    2F005function_executed_no_return_statement
    2F002modifying_sql_data_not_permitted
    2F003prohibited_sql_statement_attempted
    2F004reading_sql_data_not_permitted
    Class 34 — Invalid Cursor Name
    34000invalid_cursor_name
    Class 38 — External Routine Exception
    38000external_routine_exception
    38001containing_sql_not_permitted
    38002modifying_sql_data_not_permitted
    38003prohibited_sql_statement_attempted
    38004reading_sql_data_not_permitted
    Class 39 — External Routine Invocation Exception
    39000external_routine_invocation_exception
    39001invalid_sqlstate_returned
    39004null_value_not_allowed
    39P01trigger_protocol_violated
    39P02srf_protocol_violated
    39P03event_trigger_protocol_violated
    Class 3B — Savepoint Exception
    3B000savepoint_exception
    3B001invalid_savepoint_specification
    Class 3D — Invalid Catalog Name
    3D000invalid_catalog_name
    Class 3F — Invalid Schema Name
    3F000invalid_schema_name
    Class 40 — Transaction Rollback
    40000transaction_rollback
    40002transaction_integrity_constraint_violation
    40001serialization_failure
    40003statement_completion_unknown
    40P01deadlock_detected
    Class 42 — Syntax Error or Access Rule Violation
    42000syntax_error_or_access_rule_violation
    42601syntax_error
    42501insufficient_privilege
    42846cannot_coerce
    42803grouping_error
    42P20windowing_error
    42P19invalid_recursion
    42830invalid_foreign_key
    42602invalid_name
    42622name_too_long
    42939reserved_name
    42804datatype_mismatch
    42P18indeterminate_datatype
    42P21collation_mismatch
    42P22indeterminate_collation
    42809wrong_object_type
    428C9generated_always
    42703undefined_column
    42883undefined_function
    42P01undefined_table
    42P02undefined_parameter
    42704undefined_object
    42701duplicate_column
    42P03duplicate_cursor
    42P04duplicate_database
    42723duplicate_function
    42P05duplicate_prepared_statement
    42P06duplicate_schema
    42P07duplicate_table
    42712duplicate_alias
    42710duplicate_object
    42702ambiguous_column
    42725ambiguous_function
    42P08ambiguous_parameter
    42P09ambiguous_alias
    42P10invalid_column_reference
    42611invalid_column_definition
    42P11invalid_cursor_definition
    42P12invalid_database_definition
    42P13invalid_function_definition
    42P14invalid_prepared_statement_definition
    42P15invalid_schema_definition
    42P16invalid_table_definition
    42P17invalid_object_definition
    Class 44 — WITH CHECK OPTION Violation
    44000with_check_option_violation
    Class 53 — Insufficient Resources
    53000insufficient_resources
    53100disk_full
    53200out_of_memory
    53300too_many_connections
    53400configuration_limit_exceeded
    Class 54 — Program Limit Exceeded
    54000program_limit_exceeded
    54001statement_too_complex
    54011too_many_columns
    54023too_many_arguments
    Class 55 — Object Not In Prerequisite State
    55000object_not_in_prerequisite_state
    55006object_in_use
    55P02cant_change_runtime_param
    55P03lock_not_available
    55P04unsafe_new_enum_value_usage
    Class 57 — Operator Intervention
    57000operator_intervention
    57014query_canceled
    57P01admin_shutdown
    57P02crash_shutdown
    57P03cannot_connect_now
    57P04database_dropped
    57P05idle_session_timeout
    Class 58 — System Error (errors external to PostgreSQL itself)
    58000system_error
    58030io_error
    58P01undefined_file
    58P02duplicate_file
    Class 72 — Snapshot Failure
    72000snapshot_too_old
    Class F0 — Configuration File Error
    F0000config_file_error
    F0001lock_file_exists
    Class HV — Foreign Data Wrapper Error (SQL/MED)
    HV000fdw_error
    HV005fdw_column_name_not_found
    HV002fdw_dynamic_parameter_value_needed
    HV010fdw_function_sequence_error
    HV021fdw_inconsistent_descriptor_information
    HV024fdw_invalid_attribute_value
    HV007fdw_invalid_column_name
    HV008fdw_invalid_column_number
    HV004fdw_invalid_data_type
    HV006fdw_invalid_data_type_descriptors
    HV091fdw_invalid_descriptor_field_identifier
    HV00Bfdw_invalid_handle
    HV00Cfdw_invalid_option_index
    HV00Dfdw_invalid_option_name
    HV090fdw_invalid_string_length_or_buffer_length
    HV00Afdw_invalid_string_format
    HV009fdw_invalid_use_of_null_pointer
    HV014fdw_too_many_handles
    HV001fdw_out_of_memory
    HV00Pfdw_no_schemas
    HV00Jfdw_option_name_not_found
    HV00Kfdw_reply_handle
    HV00Qfdw_schema_not_found
    HV00Rfdw_table_not_found
    HV00Lfdw_unable_to_create_execution
    HV00Mfdw_unable_to_create_reply
    HV00Nfdw_unable_to_establish_connection
    Class P0 — PL/pgSQL Error
    P0000plpgsql_error
    P0001raise_exception
    P0002no_data_found
    P0003too_many_rows
    P0004assert_failure
    Class XX — Internal Error
    XX000internal_error
    XX001data_corrupted
    XX002index_corrupted

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/error-message-reporting.html postgresql-15-15.18/doc/src/sgml/html/error-message-reporting.html --- postgresql-15-15.17/doc/src/sgml/html/error-message-reporting.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/error-message-reporting.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -56.2. Reporting Errors Within the Server

    56.2. Reporting Errors Within the Server

    +56.2. Reporting Errors Within the Server

    56.2. Reporting Errors Within the Server

    Error, warning, and log messages generated within the server code should be created using ereport, or its older cousin elog. The use of this function is complex enough to @@ -247,4 +247,4 @@ routines will not affect it. That would not be true if you were to write strerror(errno) explicitly in errmsg's parameter list; accordingly, do not do so. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/error-style-guide.html postgresql-15-15.18/doc/src/sgml/html/error-style-guide.html --- postgresql-15-15.17/doc/src/sgml/html/error-style-guide.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/error-style-guide.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -56.3. Error Message Style Guide

    56.3. Error Message Style Guide

    +56.3. Error Message Style Guide

    56.3. Error Message Style Guide

    This style guide is offered in the hope of maintaining a consistent, user-friendly style throughout all the messages generated by PostgreSQL. @@ -247,4 +247,4 @@ Keep in mind that error message texts need to be translated into other languages. Follow the guidelines in Section 57.2.2 to avoid making life difficult for translators. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/event-log-registration.html postgresql-15-15.18/doc/src/sgml/html/event-log-registration.html --- postgresql-15-15.17/doc/src/sgml/html/event-log-registration.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/event-log-registration.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -19.12. Registering Event Log on Windows

    19.12. Registering Event Log on Windows

    +19.12. Registering Event Log on Windows

    19.12. Registering Event Log on Windows

    To register a Windows event log library with the operating system, issue this command: @@ -25,4 +25,4 @@ To enable event logging in the database server, modify log_destination to include eventlog in postgresql.conf. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/event-trigger-definition.html postgresql-15-15.18/doc/src/sgml/html/event-trigger-definition.html --- postgresql-15-15.17/doc/src/sgml/html/event-trigger-definition.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/event-trigger-definition.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -40.1. Overview of Event Trigger Behavior

    40.1. Overview of Event Trigger Behavior

    +40.1. Overview of Event Trigger Behavior

    40.1. Overview of Event Trigger Behavior

    An event trigger fires whenever the event with which it is associated occurs in the database in which it is defined. Currently, the only supported events are @@ -80,4 +80,4 @@ trigger can be fired only for particular commands which the user wishes to intercept. A common use of such triggers is to restrict the range of DDL operations which users may perform. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/event-trigger-example.html postgresql-15-15.18/doc/src/sgml/html/event-trigger-example.html --- postgresql-15-15.17/doc/src/sgml/html/event-trigger-example.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/event-trigger-example.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -40.4. A Complete Event Trigger Example

    40.4. A Complete Event Trigger Example

    +40.4. A Complete Event Trigger Example

    40.4. A Complete Event Trigger Example

    Here is a very simple example of an event trigger function written in C. (Examples of triggers written in procedural languages can be found in the documentation of the procedural languages.) @@ -75,4 +75,4 @@

    (Recall that DDL commands on event triggers themselves are not affected by event triggers.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/event-trigger-interface.html postgresql-15-15.18/doc/src/sgml/html/event-trigger-interface.html --- postgresql-15-15.17/doc/src/sgml/html/event-trigger-interface.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/event-trigger-interface.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -40.3. Writing Event Trigger Functions in C

    40.3. Writing Event Trigger Functions in C

    +40.3. Writing Event Trigger Functions in C

    40.3. Writing Event Trigger Functions in C

    This section describes the low-level details of the interface to an event trigger function. This information is only needed when writing event trigger functions in C. If you are using a higher-level language @@ -65,4 +65,4 @@ An event trigger function must return a NULL pointer (not an SQL null value, that is, do not set isNull true). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/event-trigger-matrix.html postgresql-15-15.18/doc/src/sgml/html/event-trigger-matrix.html --- postgresql-15-15.17/doc/src/sgml/html/event-trigger-matrix.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/event-trigger-matrix.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -40.2. Event Trigger Firing Matrix

    40.2. Event Trigger Firing Matrix

    +40.2. Event Trigger Firing Matrix

    40.2. Event Trigger Firing Matrix

    Table 40.1 lists all commands for which event triggers are supported. -

    Table 40.1. Event Trigger Support by Command Tag

    Command Tagddl_​command_​startddl_​command_​endsql_​droptable_​rewriteNotes
    ALTER AGGREGATEXX-- 
    ALTER COLLATIONXX-- 
    ALTER CONVERSIONXX-- 
    ALTER DOMAINXX-- 
    ALTER DEFAULT PRIVILEGESXX-- 
    ALTER EXTENSIONXX-- 
    ALTER FOREIGN DATA WRAPPERXX-- 
    ALTER FOREIGN TABLEXXX- 
    ALTER FUNCTIONXX-- 
    ALTER LANGUAGEXX-- 
    ALTER LARGE OBJECTXX-- 
    ALTER MATERIALIZED VIEWXX-X 
    ALTER OPERATORXX-- 
    ALTER OPERATOR CLASSXX-- 
    ALTER OPERATOR FAMILYXX-- 
    ALTER POLICYXX-- 
    ALTER PROCEDUREXX-- 
    ALTER PUBLICATIONXX-- 
    ALTER ROUTINEXX-- 
    ALTER SCHEMAXX-- 
    ALTER SEQUENCEXX-- 
    ALTER SERVERXX-- 
    ALTER STATISTICSXX-- 
    ALTER SUBSCRIPTIONXX-- 
    ALTER TABLEXXXX 
    ALTER TEXT SEARCH CONFIGURATIONXX-- 
    ALTER TEXT SEARCH DICTIONARYXX-- 
    ALTER TEXT SEARCH PARSERXX-- 
    ALTER TEXT SEARCH TEMPLATEXX-- 
    ALTER TRIGGERXX-- 
    ALTER TYPEXX-X 
    ALTER USER MAPPINGXX-- 
    ALTER VIEWXX-- 
    COMMENTXX--Only for local objects
    CREATE ACCESS METHODXX-- 
    CREATE AGGREGATEXX-- 
    CREATE CASTXX-- 
    CREATE COLLATIONXX-- 
    CREATE CONVERSIONXX-- 
    CREATE DOMAINXX-- 
    CREATE EXTENSIONXX-- 
    CREATE FOREIGN DATA WRAPPERXX-- 
    CREATE FOREIGN TABLEXX-- 
    CREATE FUNCTIONXX-- 
    CREATE INDEXXX-- 
    CREATE LANGUAGEXX-- 
    CREATE MATERIALIZED VIEWXX-- 
    CREATE OPERATORXX-- 
    CREATE OPERATOR CLASSXX-- 
    CREATE OPERATOR FAMILYXX-- 
    CREATE POLICYXX-- 
    CREATE PROCEDUREXX-- 
    CREATE PUBLICATIONXX-- 
    CREATE RULEXX-- 
    CREATE SCHEMAXX-- 
    CREATE SEQUENCEXX-- 
    CREATE SERVERXX-- 
    CREATE STATISTICSXX-- 
    CREATE SUBSCRIPTIONXX-- 
    CREATE TABLEXX-- 
    CREATE TABLE ASXX-- 
    CREATE TEXT SEARCH CONFIGURATIONXX-- 
    CREATE TEXT SEARCH DICTIONARYXX-- 
    CREATE TEXT SEARCH PARSERXX-- 
    CREATE TEXT SEARCH TEMPLATEXX-- 
    CREATE TRIGGERXX-- 
    CREATE TYPEXX-- 
    CREATE USER MAPPINGXX-- 
    CREATE VIEWXX-- 
    DROP ACCESS METHODXXX- 
    DROP AGGREGATEXXX- 
    DROP CASTXXX- 
    DROP COLLATIONXXX- 
    DROP CONVERSIONXXX- 
    DROP DOMAINXXX- 
    DROP EXTENSIONXXX- 
    DROP FOREIGN DATA WRAPPERXXX- 
    DROP FOREIGN TABLEXXX- 
    DROP FUNCTIONXXX- 
    DROP INDEXXXX- 
    DROP LANGUAGEXXX- 
    DROP MATERIALIZED VIEWXXX- 
    DROP OPERATORXXX- 
    DROP OPERATOR CLASSXXX- 
    DROP OPERATOR FAMILYXXX- 
    DROP OWNEDXXX- 
    DROP POLICYXXX- 
    DROP PROCEDUREXXX- 
    DROP PUBLICATIONXXX- 
    DROP ROUTINEXXX- 
    DROP RULEXXX- 
    DROP SCHEMAXXX- 
    DROP SEQUENCEXXX- 
    DROP SERVERXXX- 
    DROP STATISTICSXXX- 
    DROP SUBSCRIPTIONXXX- 
    DROP TABLEXXX- 
    DROP TEXT SEARCH CONFIGURATIONXXX- 
    DROP TEXT SEARCH DICTIONARYXXX- 
    DROP TEXT SEARCH PARSERXXX- 
    DROP TEXT SEARCH TEMPLATEXXX- 
    DROP TRIGGERXXX- 
    DROP TYPEXXX- 
    DROP USER MAPPINGXXX- 
    DROP VIEWXXX- 
    GRANTXX--Only for local objects
    IMPORT FOREIGN SCHEMAXX-- 
    REFRESH MATERIALIZED VIEWXX-- 
    REVOKEXX--Only for local objects
    SECURITY LABELXX--Only for local objects
    SELECT INTOXX-- 

    \ No newline at end of file +

    Table 40.1. Event Trigger Support by Command Tag

    Command Tagddl_​command_​startddl_​command_​endsql_​droptable_​rewriteNotes
    ALTER AGGREGATEXX-- 
    ALTER COLLATIONXX-- 
    ALTER CONVERSIONXX-- 
    ALTER DOMAINXX-- 
    ALTER DEFAULT PRIVILEGESXX-- 
    ALTER EXTENSIONXX-- 
    ALTER FOREIGN DATA WRAPPERXX-- 
    ALTER FOREIGN TABLEXXX- 
    ALTER FUNCTIONXX-- 
    ALTER LANGUAGEXX-- 
    ALTER LARGE OBJECTXX-- 
    ALTER MATERIALIZED VIEWXX-X 
    ALTER OPERATORXX-- 
    ALTER OPERATOR CLASSXX-- 
    ALTER OPERATOR FAMILYXX-- 
    ALTER POLICYXX-- 
    ALTER PROCEDUREXX-- 
    ALTER PUBLICATIONXX-- 
    ALTER ROUTINEXX-- 
    ALTER SCHEMAXX-- 
    ALTER SEQUENCEXX-- 
    ALTER SERVERXX-- 
    ALTER STATISTICSXX-- 
    ALTER SUBSCRIPTIONXX-- 
    ALTER TABLEXXXX 
    ALTER TEXT SEARCH CONFIGURATIONXX-- 
    ALTER TEXT SEARCH DICTIONARYXX-- 
    ALTER TEXT SEARCH PARSERXX-- 
    ALTER TEXT SEARCH TEMPLATEXX-- 
    ALTER TRIGGERXX-- 
    ALTER TYPEXX-X 
    ALTER USER MAPPINGXX-- 
    ALTER VIEWXX-- 
    COMMENTXX--Only for local objects
    CREATE ACCESS METHODXX-- 
    CREATE AGGREGATEXX-- 
    CREATE CASTXX-- 
    CREATE COLLATIONXX-- 
    CREATE CONVERSIONXX-- 
    CREATE DOMAINXX-- 
    CREATE EXTENSIONXX-- 
    CREATE FOREIGN DATA WRAPPERXX-- 
    CREATE FOREIGN TABLEXX-- 
    CREATE FUNCTIONXX-- 
    CREATE INDEXXX-- 
    CREATE LANGUAGEXX-- 
    CREATE MATERIALIZED VIEWXX-- 
    CREATE OPERATORXX-- 
    CREATE OPERATOR CLASSXX-- 
    CREATE OPERATOR FAMILYXX-- 
    CREATE POLICYXX-- 
    CREATE PROCEDUREXX-- 
    CREATE PUBLICATIONXX-- 
    CREATE RULEXX-- 
    CREATE SCHEMAXX-- 
    CREATE SEQUENCEXX-- 
    CREATE SERVERXX-- 
    CREATE STATISTICSXX-- 
    CREATE SUBSCRIPTIONXX-- 
    CREATE TABLEXX-- 
    CREATE TABLE ASXX-- 
    CREATE TEXT SEARCH CONFIGURATIONXX-- 
    CREATE TEXT SEARCH DICTIONARYXX-- 
    CREATE TEXT SEARCH PARSERXX-- 
    CREATE TEXT SEARCH TEMPLATEXX-- 
    CREATE TRIGGERXX-- 
    CREATE TYPEXX-- 
    CREATE USER MAPPINGXX-- 
    CREATE VIEWXX-- 
    DROP ACCESS METHODXXX- 
    DROP AGGREGATEXXX- 
    DROP CASTXXX- 
    DROP COLLATIONXXX- 
    DROP CONVERSIONXXX- 
    DROP DOMAINXXX- 
    DROP EXTENSIONXXX- 
    DROP FOREIGN DATA WRAPPERXXX- 
    DROP FOREIGN TABLEXXX- 
    DROP FUNCTIONXXX- 
    DROP INDEXXXX- 
    DROP LANGUAGEXXX- 
    DROP MATERIALIZED VIEWXXX- 
    DROP OPERATORXXX- 
    DROP OPERATOR CLASSXXX- 
    DROP OPERATOR FAMILYXXX- 
    DROP OWNEDXXX- 
    DROP POLICYXXX- 
    DROP PROCEDUREXXX- 
    DROP PUBLICATIONXXX- 
    DROP ROUTINEXXX- 
    DROP RULEXXX- 
    DROP SCHEMAXXX- 
    DROP SEQUENCEXXX- 
    DROP SERVERXXX- 
    DROP STATISTICSXXX- 
    DROP SUBSCRIPTIONXXX- 
    DROP TABLEXXX- 
    DROP TEXT SEARCH CONFIGURATIONXXX- 
    DROP TEXT SEARCH DICTIONARYXXX- 
    DROP TEXT SEARCH PARSERXXX- 
    DROP TEXT SEARCH TEMPLATEXXX- 
    DROP TRIGGERXXX- 
    DROP TYPEXXX- 
    DROP USER MAPPINGXXX- 
    DROP VIEWXXX- 
    GRANTXX--Only for local objects
    IMPORT FOREIGN SCHEMAXX-- 
    REFRESH MATERIALIZED VIEWXX-- 
    REVOKEXX--Only for local objects
    SECURITY LABELXX--Only for local objects
    SELECT INTOXX-- 

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/event-trigger-table-rewrite-example.html postgresql-15-15.18/doc/src/sgml/html/event-trigger-table-rewrite-example.html --- postgresql-15-15.17/doc/src/sgml/html/event-trigger-table-rewrite-example.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/event-trigger-table-rewrite-example.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -40.5. A Table Rewrite Event Trigger Example

    40.5. A Table Rewrite Event Trigger Example

    +40.5. A Table Rewrite Event Trigger Example

    40.5. A Table Rewrite Event Trigger Example

    Thanks to the table_rewrite event, it is possible to implement a table rewriting policy only allowing the rewrite in maintenance windows.

    @@ -45,4 +45,4 @@ ON table_rewrite EXECUTE FUNCTION no_rewrite();

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/event-triggers.html postgresql-15-15.18/doc/src/sgml/html/event-triggers.html --- postgresql-15-15.17/doc/src/sgml/html/event-triggers.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/event-triggers.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 40. Event Triggers

    Chapter 40. Event Triggers

    +Chapter 40. Event Triggers

    Chapter 40. Event Triggers

    To supplement the trigger mechanism discussed in Chapter 39, PostgreSQL also provides event triggers. Unlike regular triggers, which are attached to a single table and capture only DML events, @@ -9,4 +9,4 @@ Like regular triggers, event triggers can be written in any procedural language that includes event trigger support, or in C, but not in plain SQL. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/executor.html postgresql-15-15.18/doc/src/sgml/html/executor.html --- postgresql-15-15.17/doc/src/sgml/html/executor.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/executor.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -52.6. Executor

    52.6. Executor

    +52.6. Executor

    52.6. Executor

    The executor takes the plan created by the planner/optimizer and recursively processes it to extract the required set of rows. This is essentially a demand-pull pipeline mechanism. @@ -75,4 +75,4 @@ trivial plan tree consisting of a single Result node, which computes just one result row, feeding that up to ModifyTable to perform the insertion. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/explicit-joins.html postgresql-15-15.18/doc/src/sgml/html/explicit-joins.html --- postgresql-15-15.17/doc/src/sgml/html/explicit-joins.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/explicit-joins.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -14.3. Controlling the Planner with Explicit JOIN Clauses

    14.3. Controlling the Planner with Explicit JOIN Clauses

    +14.3. Controlling the Planner with Explicit JOIN Clauses

    14.3. Controlling the Planner with Explicit JOIN Clauses

    It is possible to control the query planner to some extent by using the explicit JOIN syntax. To see why this matters, we first need some background. @@ -141,4 +141,4 @@ to control join order with explicit joins). But you might set them differently if you are trying to fine-tune the trade-off between planning time and run time. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/explicit-locking.html postgresql-15-15.18/doc/src/sgml/html/explicit-locking.html --- postgresql-15-15.17/doc/src/sgml/html/explicit-locking.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/explicit-locking.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -13.3. Explicit Locking

    13.3. Explicit Locking

    +13.3. Explicit Locking

    13.3. Explicit Locking

    PostgreSQL provides various lock modes to control concurrent access to data in tables. These modes can be used for application-controlled locking in situations where @@ -393,4 +393,4 @@

    The functions provided to manipulate advisory locks are described in Section 9.27.10. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/extend-extensions.html postgresql-15-15.18/doc/src/sgml/html/extend-extensions.html --- postgresql-15-15.17/doc/src/sgml/html/extend-extensions.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/extend-extensions.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.17. Packaging Related Objects into an Extension

    38.17. Packaging Related Objects into an Extension

    +38.17. Packaging Related Objects into an Extension

    38.17. Packaging Related Objects into an Extension

    A useful extension to PostgreSQL typically includes multiple SQL objects; for example, a new data type will require new functions, new operators, and probably new index operator classes. @@ -623,4 +623,4 @@ Once the files are installed, use the CREATE EXTENSION command to load the objects into any particular database. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/extend-how.html postgresql-15-15.18/doc/src/sgml/html/extend-how.html --- postgresql-15-15.17/doc/src/sgml/html/extend-how.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/extend-how.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.1. How Extensibility Works

    38.1. How Extensibility Works

    +38.1. How Extensibility Works

    38.1. How Extensibility Works

    PostgreSQL is extensible because its operation is catalog-driven. If you are familiar with standard relational database systems, you know that they store information @@ -30,4 +30,4 @@ fly” makes PostgreSQL uniquely suited for rapid prototyping of new applications and storage structures. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/extend-pgxs.html postgresql-15-15.18/doc/src/sgml/html/extend-pgxs.html --- postgresql-15-15.17/doc/src/sgml/html/extend-pgxs.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/extend-pgxs.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.18. Extension Building Infrastructure

    38.18. Extension Building Infrastructure

    +38.18. Extension Building Infrastructure

    38.18. Extension Building Infrastructure

    If you are thinking about distributing your PostgreSQL extension modules, setting up a portable build system for them can be fairly difficult. Therefore @@ -227,4 +227,4 @@ output_iso/results/ directory (for tests in ISOLATION), then copy them to expected/ if they match what you expect from the test. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/extend-type-system.html postgresql-15-15.18/doc/src/sgml/html/extend-type-system.html --- postgresql-15-15.17/doc/src/sgml/html/extend-type-system.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/extend-type-system.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.2. The PostgreSQL Type System

    38.2. The PostgreSQL Type System

    +38.2. The PostgreSQL Type System

    38.2. The PostgreSQL Type System

    PostgreSQL data types can be divided into base types, container types, domains, and pseudo-types.

    38.2.1. Base Types

    @@ -219,4 +219,4 @@ the same as if you had written the appropriate number of anynonarray or anycompatiblenonarray parameters. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/extend.html postgresql-15-15.18/doc/src/sgml/html/extend.html --- postgresql-15-15.17/doc/src/sgml/html/extend.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/extend.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 38. Extending SQL

    Chapter 38. Extending SQL

    Table of Contents

    38.1. How Extensibility Works
    38.2. The PostgreSQL Type System
    38.2.1. Base Types
    38.2.2. Container Types
    38.2.3. Domains
    38.2.4. Pseudo-Types
    38.2.5. Polymorphic Types
    38.3. User-Defined Functions
    38.4. User-Defined Procedures
    38.5. Query Language (SQL) Functions
    38.5.1. Arguments for SQL Functions
    38.5.2. SQL Functions on Base Types
    38.5.3. SQL Functions on Composite Types
    38.5.4. SQL Functions with Output Parameters
    38.5.5. SQL Procedures with Output Parameters
    38.5.6. SQL Functions with Variable Numbers of Arguments
    38.5.7. SQL Functions with Default Values for Arguments
    38.5.8. SQL Functions as Table Sources
    38.5.9. SQL Functions Returning Sets
    38.5.10. SQL Functions Returning TABLE
    38.5.11. Polymorphic SQL Functions
    38.5.12. SQL Functions with Collations
    38.6. Function Overloading
    38.7. Function Volatility Categories
    38.8. Procedural Language Functions
    38.9. Internal Functions
    38.10. C-Language Functions
    38.10.1. Dynamic Loading
    38.10.2. Base Types in C-Language Functions
    38.10.3. Version 1 Calling Conventions
    38.10.4. Writing Code
    38.10.5. Compiling and Linking Dynamically-Loaded Functions
    38.10.6. Composite-Type Arguments
    38.10.7. Returning Rows (Composite Types)
    38.10.8. Returning Sets
    38.10.9. Polymorphic Arguments and Return Types
    38.10.10. Shared Memory and LWLocks
    38.10.11. Using C++ for Extensibility
    38.11. Function Optimization Information
    38.12. User-Defined Aggregates
    38.12.1. Moving-Aggregate Mode
    38.12.2. Polymorphic and Variadic Aggregates
    38.12.3. Ordered-Set Aggregates
    38.12.4. Partial Aggregation
    38.12.5. Support Functions for Aggregates
    38.13. User-Defined Types
    38.13.1. TOAST Considerations
    38.14. User-Defined Operators
    38.15. Operator Optimization Information
    38.15.1. COMMUTATOR
    38.15.2. NEGATOR
    38.15.3. RESTRICT
    38.15.4. JOIN
    38.15.5. HASHES
    38.15.6. MERGES
    38.16. Interfacing Extensions to Indexes
    38.16.1. Index Methods and Operator Classes
    38.16.2. Index Method Strategies
    38.16.3. Index Method Support Routines
    38.16.4. An Example
    38.16.5. Operator Classes and Operator Families
    38.16.6. System Dependencies on Operator Classes
    38.16.7. Ordering Operators
    38.16.8. Special Features of Operator Classes
    38.17. Packaging Related Objects into an Extension
    38.17.1. Extension Files
    38.17.2. Extension Relocatability
    38.17.3. Extension Configuration Tables
    38.17.4. Extension Updates
    38.17.5. Installing Extensions Using Update Scripts
    38.17.6. Security Considerations for Extensions
    38.17.7. Extension Example
    38.18. Extension Building Infrastructure

    +Chapter 38. Extending SQL

    Chapter 38. Extending SQL

    Table of Contents

    38.1. How Extensibility Works
    38.2. The PostgreSQL Type System
    38.2.1. Base Types
    38.2.2. Container Types
    38.2.3. Domains
    38.2.4. Pseudo-Types
    38.2.5. Polymorphic Types
    38.3. User-Defined Functions
    38.4. User-Defined Procedures
    38.5. Query Language (SQL) Functions
    38.5.1. Arguments for SQL Functions
    38.5.2. SQL Functions on Base Types
    38.5.3. SQL Functions on Composite Types
    38.5.4. SQL Functions with Output Parameters
    38.5.5. SQL Procedures with Output Parameters
    38.5.6. SQL Functions with Variable Numbers of Arguments
    38.5.7. SQL Functions with Default Values for Arguments
    38.5.8. SQL Functions as Table Sources
    38.5.9. SQL Functions Returning Sets
    38.5.10. SQL Functions Returning TABLE
    38.5.11. Polymorphic SQL Functions
    38.5.12. SQL Functions with Collations
    38.6. Function Overloading
    38.7. Function Volatility Categories
    38.8. Procedural Language Functions
    38.9. Internal Functions
    38.10. C-Language Functions
    38.10.1. Dynamic Loading
    38.10.2. Base Types in C-Language Functions
    38.10.3. Version 1 Calling Conventions
    38.10.4. Writing Code
    38.10.5. Compiling and Linking Dynamically-Loaded Functions
    38.10.6. Composite-Type Arguments
    38.10.7. Returning Rows (Composite Types)
    38.10.8. Returning Sets
    38.10.9. Polymorphic Arguments and Return Types
    38.10.10. Shared Memory and LWLocks
    38.10.11. Using C++ for Extensibility
    38.11. Function Optimization Information
    38.12. User-Defined Aggregates
    38.12.1. Moving-Aggregate Mode
    38.12.2. Polymorphic and Variadic Aggregates
    38.12.3. Ordered-Set Aggregates
    38.12.4. Partial Aggregation
    38.12.5. Support Functions for Aggregates
    38.13. User-Defined Types
    38.13.1. TOAST Considerations
    38.14. User-Defined Operators
    38.15. Operator Optimization Information
    38.15.1. COMMUTATOR
    38.15.2. NEGATOR
    38.15.3. RESTRICT
    38.15.4. JOIN
    38.15.5. HASHES
    38.15.6. MERGES
    38.16. Interfacing Extensions to Indexes
    38.16.1. Index Methods and Operator Classes
    38.16.2. Index Method Strategies
    38.16.3. Index Method Support Routines
    38.16.4. An Example
    38.16.5. Operator Classes and Operator Families
    38.16.6. System Dependencies on Operator Classes
    38.16.7. Ordering Operators
    38.16.8. Special Features of Operator Classes
    38.17. Packaging Related Objects into an Extension
    38.17.1. Extension Files
    38.17.2. Extension Relocatability
    38.17.3. Extension Configuration Tables
    38.17.4. Extension Updates
    38.17.5. Installing Extensions Using Update Scripts
    38.17.6. Security Considerations for Extensions
    38.17.7. Extension Example
    38.18. Extension Building Infrastructure

    In the sections that follow, we will discuss how you can extend the PostgreSQL SQL query language by adding: @@ -17,4 +17,4 @@

  • packages of related objects (starting in Section 38.17)

  • -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/external-admin-tools.html postgresql-15-15.18/doc/src/sgml/html/external-admin-tools.html --- postgresql-15-15.17/doc/src/sgml/html/external-admin-tools.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/external-admin-tools.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,7 +1,7 @@ -H.2. Administration Tools

    H.2. Administration Tools

    +H.2. Administration Tools

    H.2. Administration Tools

    There are several administration tools available for PostgreSQL. The most popular is pgAdmin, and there are several commercially available ones as well. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/external-extensions.html postgresql-15-15.18/doc/src/sgml/html/external-extensions.html --- postgresql-15-15.17/doc/src/sgml/html/external-extensions.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/external-extensions.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -H.4. Extensions

    H.4. Extensions

    +H.4. Extensions

    H.4. Extensions

    PostgreSQL is designed to be easily extensible. For this reason, extensions loaded into the database can function just like features that are built in. The @@ -11,4 +11,4 @@ externally. For example, Slony-I is a popular primary/standby replication solution that is developed independently from the core project. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/external-interfaces.html postgresql-15-15.18/doc/src/sgml/html/external-interfaces.html --- postgresql-15-15.17/doc/src/sgml/html/external-interfaces.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/external-interfaces.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -H.1. Client Interfaces

    H.1. Client Interfaces

    +H.1. Client Interfaces

    H.1. Client Interfaces

    There are only two client interfaces included in the base PostgreSQL distribution:

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/external-pl.html postgresql-15-15.18/doc/src/sgml/html/external-pl.html --- postgresql-15-15.17/doc/src/sgml/html/external-pl.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/external-pl.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -H.3. Procedural Languages

    H.3. Procedural Languages

    +H.3. Procedural Languages

    H.3. Procedural Languages

    PostgreSQL includes several procedural languages with the base distribution: PL/pgSQL, PL/Tcl, PL/Perl, and PL/Python. @@ -15,4 +15,4 @@ and documentation.

    https://wiki.postgresql.org/wiki/PL_Matrix -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/external-projects.html postgresql-15-15.18/doc/src/sgml/html/external-projects.html --- postgresql-15-15.17/doc/src/sgml/html/external-projects.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/external-projects.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,7 +1,7 @@ -Appendix H. External Projects

    Appendix H. External Projects

    +Appendix H. External Projects

    Appendix H. External Projects

    PostgreSQL is a complex software project, and managing the project is difficult. We have found that many enhancements to PostgreSQL can be more efficiently developed separately from the core project. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/fdw-callbacks.html postgresql-15-15.18/doc/src/sgml/html/fdw-callbacks.html --- postgresql-15-15.17/doc/src/sgml/html/fdw-callbacks.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/fdw-callbacks.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -59.2. Foreign Data Wrapper Callback Routines

    59.2. Foreign Data Wrapper Callback Routines

    +59.2. Foreign Data Wrapper Callback Routines

    59.2. Foreign Data Wrapper Callback Routines

    The FDW handler function returns a palloc'd FdwRoutine struct containing pointers to the callback functions described below. The scan-related functions are required, the rest are optional. @@ -1254,4 +1254,4 @@ callback may use reparameterize_path_by_child, adjust_appendrel_attrs or adjust_appendrel_attrs_multilevel as required. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/fdw-functions.html postgresql-15-15.18/doc/src/sgml/html/fdw-functions.html --- postgresql-15-15.17/doc/src/sgml/html/fdw-functions.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/fdw-functions.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -59.1. Foreign Data Wrapper Functions

    59.1. Foreign Data Wrapper Functions

    +59.1. Foreign Data Wrapper Functions

    59.1. Foreign Data Wrapper Functions

    The FDW author needs to implement a handler function, and optionally a validator function. Both functions must be written in a compiled language such as C, using the version-1 interface. @@ -30,4 +30,4 @@

    • AttributeRelationId

    • ForeignDataWrapperRelationId

    • ForeignServerRelationId

    • ForeignTableRelationId

    • UserMappingRelationId

    If no validator function is supplied, options are not checked at object creation time or object alteration time. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/fdw-helpers.html postgresql-15-15.18/doc/src/sgml/html/fdw-helpers.html --- postgresql-15-15.17/doc/src/sgml/html/fdw-helpers.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/fdw-helpers.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -59.3. Foreign Data Wrapper Helper Functions

    59.3. Foreign Data Wrapper Helper Functions

    +59.3. Foreign Data Wrapper Helper Functions

    59.3. Foreign Data Wrapper Helper Functions

    Several helper functions are exported from the core server so that authors of foreign data wrappers can get easy access to attributes of FDW-related objects, such as FDW options. @@ -111,4 +111,4 @@ This function returns a ForeignServer object for the foreign server with the given name. If the server is not found, return NULL if missing_ok is true, otherwise raise an error. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/fdw-planning.html postgresql-15-15.18/doc/src/sgml/html/fdw-planning.html --- postgresql-15-15.17/doc/src/sgml/html/fdw-planning.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/fdw-planning.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -59.4. Foreign Data Wrapper Query Planning

    59.4. Foreign Data Wrapper Query Planning

    +59.4. Foreign Data Wrapper Query Planning

    59.4. Foreign Data Wrapper Query Planning

    The FDW callback functions GetForeignRelSize, GetForeignPaths, GetForeignPlan, PlanForeignModify, GetForeignJoinPaths, @@ -188,4 +188,4 @@ exclusion constraints on remote tables are not locally known. This in turn implies that ON CONFLICT DO UPDATE is not supported, since the specification is mandatory there. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/fdw-row-locking.html postgresql-15-15.18/doc/src/sgml/html/fdw-row-locking.html --- postgresql-15-15.17/doc/src/sgml/html/fdw-row-locking.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/fdw-row-locking.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -59.5. Row Locking in Foreign Data Wrappers

    59.5. Row Locking in Foreign Data Wrappers

    +59.5. Row Locking in Foreign Data Wrappers

    59.5. Row Locking in Foreign Data Wrappers

    If an FDW's underlying storage mechanism has a concept of locking individual rows to prevent concurrent updates of those rows, it is usually worthwhile for the FDW to perform row-level locking with as @@ -90,4 +90,4 @@ in src/include/nodes/plannodes.h, and the comments for ExecRowMark in src/include/nodes/execnodes.h for additional information. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/fdwhandler.html postgresql-15-15.18/doc/src/sgml/html/fdwhandler.html --- postgresql-15-15.17/doc/src/sgml/html/fdwhandler.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/fdwhandler.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 59. Writing a Foreign Data Wrapper

    Chapter 59. Writing a Foreign Data Wrapper

    +Chapter 59. Writing a Foreign Data Wrapper

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/features-sql-standard.html postgresql-15-15.18/doc/src/sgml/html/features-sql-standard.html --- postgresql-15-15.17/doc/src/sgml/html/features-sql-standard.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/features-sql-standard.html 2026-05-11 20:02:55.000000000 +0000 @@ -1,4 +1,4 @@ -D.1. Supported Features

    D.1. Supported Features

    +D.1. Supported Features

    D.1. Supported Features

    IdentifierCore?DescriptionComment
    B012 Embedded C 
    B021 Direct SQL 
    B128 Routine language SQL 
    E011CoreNumeric data types 
    E011-01CoreINTEGER and SMALLINT data types 
    E011-02CoreREAL, DOUBLE PRECISION, and FLOAT data types 
    E011-03CoreDECIMAL and NUMERIC data types 
    E011-04CoreArithmetic operators 
    E011-05CoreNumeric comparison 
    E011-06CoreImplicit casting among the numeric data types 
    E021CoreCharacter data types 
    E021-01CoreCHARACTER data type 
    E021-02CoreCHARACTER VARYING data type 
    E021-03CoreCharacter literals 
    E021-04CoreCHARACTER_LENGTH functiontrims trailing spaces from CHARACTER values before counting
    E021-05CoreOCTET_LENGTH function 
    E021-06CoreSUBSTRING function 
    E021-07CoreCharacter concatenation 
    E021-08CoreUPPER and LOWER functions 
    E021-09CoreTRIM function 
    E021-10CoreImplicit casting among the character string types 
    E021-11CorePOSITION function 
    E021-12CoreCharacter comparison 
    E031CoreIdentifiers 
    E031-01CoreDelimited identifiers 
    E031-02CoreLower case identifiers 
    E031-03CoreTrailing underscore 
    E051CoreBasic query specification 
    E051-01CoreSELECT DISTINCT 
    E051-02CoreGROUP BY clause 
    E051-04CoreGROUP BY can contain columns not in <select list> 
    E051-05CoreSelect list items can be renamed 
    E051-06CoreHAVING clause 
    E051-07CoreQualified * in select list 
    E051-08CoreCorrelation names in the FROM clause 
    E051-09CoreRename columns in the FROM clause 
    E061CoreBasic predicates and search conditions 
    E061-01CoreComparison predicate 
    E061-02CoreBETWEEN predicate 
    E061-03CoreIN predicate with list of values 
    E061-04CoreLIKE predicate 
    E061-05CoreLIKE predicate ESCAPE clause 
    E061-06CoreNULL predicate 
    E061-07CoreQuantified comparison predicate 
    E061-08CoreEXISTS predicate 
    E061-09CoreSubqueries in comparison predicate 
    E061-11CoreSubqueries in IN predicate 
    E061-12CoreSubqueries in quantified comparison predicate 
    E061-13CoreCorrelated subqueries 
    E061-14CoreSearch condition 
    E071CoreBasic query expressions 
    E071-01CoreUNION DISTINCT table operator 
    E071-02CoreUNION ALL table operator 
    E071-03CoreEXCEPT DISTINCT table operator 
    E071-05CoreColumns combined via table operators need not have exactly the same data type 
    E071-06CoreTable operators in subqueries 
    E081CoreBasic Privileges 
    E081-01CoreSELECT privilege 
    E081-02CoreDELETE privilege 
    E081-03CoreINSERT privilege at the table level 
    E081-04CoreUPDATE privilege at the table level 
    E081-05CoreUPDATE privilege at the column level 
    E081-06CoreREFERENCES privilege at the table level 
    E081-07CoreREFERENCES privilege at the column level 
    E081-08CoreWITH GRANT OPTION 
    E081-09CoreUSAGE privilege 
    E081-10CoreEXECUTE privilege 
    E091CoreSet functions 
    E091-01CoreAVG 
    E091-02CoreCOUNT 
    E091-03CoreMAX 
    E091-04CoreMIN 
    E091-05CoreSUM 
    E091-06CoreALL quantifier 
    E091-07CoreDISTINCT quantifier 
    E101CoreBasic data manipulation 
    E101-01CoreINSERT statement 
    E101-03CoreSearched UPDATE statement 
    E101-04CoreSearched DELETE statement 
    E111CoreSingle row SELECT statement 
    E121CoreBasic cursor support 
    E121-01CoreDECLARE CURSOR 
    E121-02CoreORDER BY columns need not be in select list 
    E121-03CoreValue expressions in ORDER BY clause 
    E121-04CoreOPEN statement 
    E121-06CorePositioned UPDATE statement 
    E121-07CorePositioned DELETE statement 
    E121-08CoreCLOSE statement 
    E121-10CoreFETCH statement implicit NEXT 
    E121-17CoreWITH HOLD cursors 
    E131CoreNull value support (nulls in lieu of values) 
    E141CoreBasic integrity constraints 
    E141-01CoreNOT NULL constraints 
    E141-02CoreUNIQUE constraints of NOT NULL columns 
    E141-03CorePRIMARY KEY constraints 
    E141-04CoreBasic FOREIGN KEY constraint with the NO ACTION default for both referential delete action and referential update action 
    E141-06CoreCHECK constraints 
    E141-07CoreColumn defaults 
    E141-08CoreNOT NULL inferred on PRIMARY KEY 
    E141-10CoreNames in a foreign key can be specified in any order 
    E151CoreTransaction support 
    E151-01CoreCOMMIT statement 
    E151-02CoreROLLBACK statement 
    E152CoreBasic SET TRANSACTION statement 
    E152-01CoreSET TRANSACTION statement: ISOLATION LEVEL SERIALIZABLE clause 
    E152-02CoreSET TRANSACTION statement: READ ONLY and READ WRITE clauses 
    E153CoreUpdatable queries with subqueries 
    E161CoreSQL comments using leading double minus 
    E171CoreSQLSTATE support 
    E182CoreHost language binding 
    F021CoreBasic information schema 
    F021-01CoreCOLUMNS view 
    F021-02CoreTABLES view 
    F021-03CoreVIEWS view 
    F021-04CoreTABLE_CONSTRAINTS view 
    F021-05CoreREFERENTIAL_CONSTRAINTS view 
    F021-06CoreCHECK_CONSTRAINTS view 
    F031CoreBasic schema manipulation 
    F031-01CoreCREATE TABLE statement to create persistent base tables 
    F031-02CoreCREATE VIEW statement 
    F031-03CoreGRANT statement 
    F031-04CoreALTER TABLE statement: ADD COLUMN clause 
    F031-13CoreDROP TABLE statement: RESTRICT clause 
    F031-16CoreDROP VIEW statement: RESTRICT clause 
    F031-19CoreREVOKE statement: RESTRICT clause 
    F032 CASCADE drop behavior 
    F033 ALTER TABLE statement: DROP COLUMN clause 
    F034 Extended REVOKE statement 
    F034-01 REVOKE statement performed by other than the owner of a schema object 
    F034-02 REVOKE statement: GRANT OPTION FOR clause 
    F034-03 REVOKE statement to revoke a privilege that the grantee has WITH GRANT OPTION 
    F041CoreBasic joined table 
    F041-01CoreInner join (but not necessarily the INNER keyword) 
    F041-02CoreINNER keyword 
    F041-03CoreLEFT OUTER JOIN 
    F041-04CoreRIGHT OUTER JOIN 
    F041-05CoreOuter joins can be nested 
    F041-07CoreThe inner table in a left or right outer join can also be used in an inner join 
    F041-08CoreAll comparison operators are supported (rather than just =) 
    F051CoreBasic date and time 
    F051-01CoreDATE data type (including support of DATE literal) 
    F051-02CoreTIME data type (including support of TIME literal) with fractional seconds precision of at least 0 
    F051-03CoreTIMESTAMP data type (including support of TIMESTAMP literal) with fractional seconds precision of at least 0 and 6 
    F051-04CoreComparison predicate on DATE, TIME, and TIMESTAMP data types 
    F051-05CoreExplicit CAST between datetime types and character string types 
    F051-06CoreCURRENT_DATE 
    F051-07CoreLOCALTIME 
    F051-08CoreLOCALTIMESTAMP 
    F052 Intervals and datetime arithmetic 
    F053 OVERLAPS predicate 
    F081CoreUNION and EXCEPT in views 
    F111 Isolation levels other than SERIALIZABLE 
    F111-01 READ UNCOMMITTED isolation level 
    F111-02 READ COMMITTED isolation level 
    F111-03 REPEATABLE READ isolation level 
    F131CoreGrouped operations 
    F131-01CoreWHERE, GROUP BY, and HAVING clauses supported in queries with grouped views 
    F131-02CoreMultiple tables supported in queries with grouped views 
    F131-03CoreSet functions supported in queries with grouped views 
    F131-04CoreSubqueries with GROUP BY and HAVING clauses and grouped views 
    F131-05CoreSingle row SELECT with GROUP BY and HAVING clauses and grouped views 
    F171 Multiple schemas per user 
    F181CoreMultiple module support 
    F191 Referential delete actions 
    F200 TRUNCATE TABLE statement 
    F201CoreCAST function 
    F202 TRUNCATE TABLE: identity column restart option 
    F221CoreExplicit defaults 
    F222 INSERT statement: DEFAULT VALUES clause 
    F231 Privilege tables 
    F231-01 TABLE_PRIVILEGES view 
    F231-02 COLUMN_PRIVILEGES view 
    F231-03 USAGE_PRIVILEGES view 
    F251 Domain support 
    F261CoreCASE expression 
    F261-01CoreSimple CASE 
    F261-02CoreSearched CASE 
    F261-03CoreNULLIF 
    F261-04CoreCOALESCE 
    F262 Extended CASE expression 
    F271 Compound character literals 
    F281 LIKE enhancements 
    F292 UNIQUE null treatmentSQL:202x draft
    F302 INTERSECT table operator 
    F302-01 INTERSECT DISTINCT table operator 
    F302-02 INTERSECT ALL table operator 
    F304 EXCEPT ALL table operator 
    F311CoreSchema definition statement 
    F311-01CoreCREATE SCHEMA 
    F311-02CoreCREATE TABLE for persistent base tables 
    F311-03CoreCREATE VIEW 
    F311-04CoreCREATE VIEW: WITH CHECK OPTION 
    F311-05CoreGRANT statement 
    F312 MERGE statement 
    F313 Enhanced MERGE statement 
    F314 MERGE statement with DELETE branch 
    F321 User authorization 
    F341 Usage tables 
    F361 Subprogram support 
    F381 Extended schema manipulation 
    F381-01 ALTER TABLE statement: ALTER COLUMN clause 
    F381-02 ALTER TABLE statement: ADD CONSTRAINT clause 
    F381-03 ALTER TABLE statement: DROP CONSTRAINT clause 
    F382 Alter column data type 
    F383 Set column not null clause 
    F384 Drop identity property clause 
    F385 Drop column generation expression clause 
    F386 Set identity column generation clause 
    F391 Long identifiers 
    F392 Unicode escapes in identifiers 
    F393 Unicode escapes in literals 
    F394 Optional normal form specification 
    F401 Extended joined table 
    F401-01 NATURAL JOIN 
    F401-02 FULL OUTER JOIN 
    F401-04 CROSS JOIN 
    F402 Named column joins for LOBs, arrays, and multisets 
    F404 Range variable for common column names 
    F411 Time zone specificationdifferences regarding literal interpretation
    F421 National character 
    F431 Read-only scrollable cursors 
    F431-01 FETCH with explicit NEXT 
    F431-02 FETCH FIRST 
    F431-03 FETCH LAST 
    F431-04 FETCH PRIOR 
    F431-05 FETCH ABSOLUTE 
    F431-06 FETCH RELATIVE 
    F441 Extended set function support 
    F442 Mixed column references in set functions 
    F471CoreScalar subquery values 
    F481CoreExpanded NULL predicate 
    F491 Constraint management 
    F501CoreFeatures and conformance views 
    F501-01CoreSQL_FEATURES view 
    F501-02CoreSQL_SIZING view 
    F502 Enhanced documentation tables 
    F531 Temporary tables 
    F555 Enhanced seconds precision 
    F561 Full value expressions 
    F571 Truth value tests 
    F591 Derived tables 
    F611 Indicator data types 
    F641 Row and table constructors 
    F651 Catalog name qualifiers 
    F661 Simple tables 
    F672 Retrospective check constraints 
    F690 Collation supportbut no character set support
    F692 Extended collation support 
    F701 Referential update actions 
    F711 ALTER domain 
    F731 INSERT column privileges 
    F751 View CHECK enhancements 
    F761 Session management 
    F762 CURRENT_CATALOG 
    F763 CURRENT_SCHEMA 
    F771 Connection management 
    F781 Self-referencing operations 
    F791 Insensitive cursors 
    F801 Full set function 
    F850 Top-level <order by clause> in <query expression> 
    F851 <order by clause> in subqueries 
    F852 Top-level <order by clause> in views 
    F855 Nested <order by clause> in <query expression> 
    F856 Nested <fetch first clause> in <query expression> 
    F857 Top-level <fetch first clause> in <query expression> 
    F858 <fetch first clause> in subqueries 
    F859 Top-level <fetch first clause> in views 
    F860 <fetch first row count> in <fetch first clause> 
    F861 Top-level <result offset clause> in <query expression> 
    F862 <result offset clause> in subqueries 
    F863 Nested <result offset clause> in <query expression> 
    F864 Top-level <result offset clause> in views 
    F865 <offset row count> in <result offset clause> 
    F867 FETCH FIRST clause: WITH TIES option 
    S071 SQL paths in function and type name resolution 
    S091-01 Arrays of built-in data types 
    S091-03 Array expressions 
    S092 Arrays of user-defined types 
    S095 Array constructors by query 
    S096 Optional array bounds 
    S098 ARRAY_AGG 
    S111 ONLY in query expressions 
    S201 SQL-invoked routines on arrays 
    S201-01 Array parameters 
    S201-02 Array as result type of functions 
    S211 User-defined cast functions 
    S301 Enhanced UNNEST 
    S404 TRIM_ARRAY 
    T031 BOOLEAN data type 
    T071 BIGINT data type 
    T121 WITH (excluding RECURSIVE) in query expression 
    T122 WITH (excluding RECURSIVE) in subquery 
    T131 Recursive query 
    T132 Recursive query in subquery 
    T133 Enhanced cycle mark valuesSQL:202x draft
    T141 SIMILAR predicate 
    T151 DISTINCT predicate 
    T152 DISTINCT predicate with negation 
    T171 LIKE clause in table definition 
    T172 AS subquery clause in table definition 
    T173 Extended LIKE clause in table definition 
    T174 Identity columns 
    T177 Sequence generator support: simple restart option 
    T178 Identity columns: simple restart option 
    T191 Referential action RESTRICT 
    T201 Comparable data types for referential constraints 
    T211-01 Triggers activated on UPDATE, INSERT, or DELETE of one base table 
    T211-02 BEFORE triggers 
    T211-03 AFTER triggers 
    T211-04 FOR EACH ROW triggers 
    T211-05 Ability to specify a search condition that must be true before the trigger is invoked 
    T211-07 TRIGGER privilege 
    T212 Enhanced trigger capability 
    T213 INSTEAD OF triggers 
    T241 START TRANSACTION statement 
    T261 Chained transactions 
    T271 Savepoints 
    T281 SELECT privilege with column granularity 
    T285 Enhanced derived column names 
    T312 OVERLAY function 
    T321-01CoreUser-defined functions with no overloading 
    T321-02CoreUser-defined stored procedures with no overloading 
    T321-03CoreFunction invocation 
    T321-04CoreCALL statement 
    T321-05CoreRETURN statement 
    T321-06CoreROUTINES view 
    T321-07CorePARAMETERS view 
    T323 Explicit security for external routines 
    T325 Qualified SQL parameter references 
    T331 Basic roles 
    T332 Extended roles 
    T341 Overloading of SQL-invoked functions and procedures 
    T351 Bracketed SQL comments (/*...*/ comments) 
    T431 Extended grouping capabilities 
    T432 Nested and concatenated GROUPING SETS 
    T433 Multiargument GROUPING function 
    T434 GROUP BY DISTINCT 
    T441 ABS and MOD functions 
    T461 Symmetric BETWEEN predicate 
    T491 LATERAL derived table 
    T501 Enhanced EXISTS predicate 
    T521 Named arguments in CALL statement 
    T523 Default values for INOUT parameters of SQL-invoked procedures 
    T524 Named arguments in routine invocations other than a CALL statement 
    T525 Default values for parameters of SQL-invoked functions 
    T551 Optional key words for default syntax 
    T581 Regular expression substring function 
    T591 UNIQUE constraints of possibly null columns 
    T611 Elementary OLAP operations 
    T612 Advanced OLAP operations 
    T613 Sampling 
    T614 NTILE function 
    T615 LEAD and LAG functions 
    T617 FIRST_VALUE and LAST_VALUE function 
    T620 WINDOW clause: GROUPS option 
    T621 Enhanced numeric functions 
    T622 Trigonometric functions 
    T623 General logarithm functions 
    T624 Common logarithm functions 
    T631CoreIN predicate with one list element 
    T651 SQL-schema statements in SQL routines 
    T653 SQL-schema statements in external routines 
    T655 Cyclically dependent routines 
    T831 SQL/JSON path language: strict mode 
    T832 SQL/JSON path language: item method 
    T833 SQL/JSON path language: multiple subscripts 
    T834 SQL/JSON path language: wildcard member accessor 
    T835 SQL/JSON path language: filter expressions 
    T836 SQL/JSON path language: starts with predicate 
    T837 SQL/JSON path language: regex_like predicate 
    X010 XML type 
    X011 Arrays of XML type 
    X014 Attributes of XML type 
    X016 Persistent XML values 
    X020 XMLConcat 
    X031 XMLElement 
    X032 XMLForest 
    X034 XMLAgg 
    X035 XMLAgg: ORDER BY option 
    X036 XMLComment 
    X037 XMLPI 
    X040 Basic table mapping 
    X041 Basic table mapping: nulls absent 
    X042 Basic table mapping: null as nil 
    X043 Basic table mapping: table as forest 
    X044 Basic table mapping: table as element 
    X045 Basic table mapping: with target namespace 
    X046 Basic table mapping: data mapping 
    X047 Basic table mapping: metadata mapping 
    X048 Basic table mapping: base64 encoding of binary strings 
    X049 Basic table mapping: hex encoding of binary strings 
    X050 Advanced table mapping 
    X051 Advanced table mapping: nulls absent 
    X052 Advanced table mapping: null as nil 
    X053 Advanced table mapping: table as forest 
    X054 Advanced table mapping: table as element 
    X055 Advanced table mapping: with target namespace 
    X056 Advanced table mapping: data mapping 
    X057 Advanced table mapping: metadata mapping 
    X058 Advanced table mapping: base64 encoding of binary strings 
    X059 Advanced table mapping: hex encoding of binary strings 
    X060 XMLParse: character string input and CONTENT option 
    X061 XMLParse: character string input and DOCUMENT option 
    X070 XMLSerialize: character string serialization and CONTENT option 
    X071 XMLSerialize: character string serialization and DOCUMENT option 
    X072 XMLSerialize: character string serialization 
    X090 XML document predicate 
    X120 XML parameters in SQL routines 
    X121 XML parameters in external routines 
    X221 XML passing mechanism BY VALUE 
    X301 XMLTable: derived column list option 
    X302 XMLTable: ordinality column option 
    X303 XMLTable: column default option 
    X304 XMLTable: passing a context itemmust be XML DOCUMENT
    X400 Name and identifier mapping 
    X410 Alter column data type: XML type 

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/features.html postgresql-15-15.18/doc/src/sgml/html/features.html --- postgresql-15-15.17/doc/src/sgml/html/features.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/features.html 2026-05-11 20:02:55.000000000 +0000 @@ -1,5 +1,5 @@ -Appendix D. SQL Conformance

    Appendix D. SQL Conformance

    +Appendix D. SQL Conformance

    Appendix D. SQL Conformance

    This section attempts to outline to what extent PostgreSQL conforms to the current SQL standard. The following information is not a full statement of @@ -70,4 +70,4 @@ Feature codes containing a hyphen are subfeatures. Therefore, if a particular subfeature is not supported, the main feature is listed as unsupported even if some other subfeatures are supported. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/file-fdw.html postgresql-15-15.18/doc/src/sgml/html/file-fdw.html --- postgresql-15-15.17/doc/src/sgml/html/file-fdw.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/file-fdw.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.16. file_fdw

    F.16. file_fdw

    +F.16. file_fdw

    F.16. file_fdw

    The file_fdw module provides the foreign-data wrapper file_fdw, which can be used to access data files in the server's file system, or to execute programs on the server @@ -142,4 +142,4 @@

    That's it — now you can query your log directly. In production, of course, you would need to define some way to deal with log rotation. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-admin.html postgresql-15-15.18/doc/src/sgml/html/functions-admin.html --- postgresql-15-15.17/doc/src/sgml/html/functions-admin.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-admin.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.27. System Administration Functions \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-aggregate.html postgresql-15-15.18/doc/src/sgml/html/functions-aggregate.html --- postgresql-15-15.17/doc/src/sgml/html/functions-aggregate.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-aggregate.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.21. Aggregate Functions

    9.21. Aggregate Functions

    +9.21. Aggregate Functions

    9.21. Aggregate Functions

    Aggregate functions compute a single result from a set of input values. The built-in general-purpose aggregate functions are listed in Table 9.58 @@ -726,4 +726,4 @@ neither make nor model was grouped by in the last row (which therefore is an aggregate over all the input rows). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-array.html postgresql-15-15.18/doc/src/sgml/html/functions-array.html --- postgresql-15-15.17/doc/src/sgml/html/functions-array.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-array.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.19. Array Functions and Operators

    9.19. Array Functions and Operators

    +9.19. Array Functions and Operators

    9.19. Array Functions and Operators

    Table 9.52 shows the specialized operators available for array types. In addition to those, the usual comparison operators shown in Table 9.1 are available for @@ -382,4 +382,4 @@


    See also Section 9.21 about the aggregate function array_agg for use with arrays. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-binarystring.html postgresql-15-15.18/doc/src/sgml/html/functions-binarystring.html --- postgresql-15-15.17/doc/src/sgml/html/functions-binarystring.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-binarystring.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.5. Binary String Functions and Operators

    9.5. Binary String Functions and Operators

    +9.5. Binary String Functions and Operators

    9.5. Binary String Functions and Operators

    This section describes functions and operators for examining and manipulating binary strings, that is values of type bytea. Many of these are equivalent, in purpose and syntax, to the @@ -507,4 +507,4 @@ See also the aggregate function string_agg in Section 9.21 and the large object functions in Section 35.4. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-bitstring.html postgresql-15-15.18/doc/src/sgml/html/functions-bitstring.html --- postgresql-15-15.17/doc/src/sgml/html/functions-bitstring.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-bitstring.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.6. Bit String Functions and Operators

    9.6. Bit String Functions and Operators

    +9.6. Bit String Functions and Operators

    9.6. Bit String Functions and Operators

    This section describes functions and operators for examining and manipulating bit strings, that is values of the types bit and bit varying. (While only @@ -232,4 +232,4 @@ Note that casting to just bit means casting to bit(1), and so will deliver only the least significant bit of the integer. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-comparison.html postgresql-15-15.18/doc/src/sgml/html/functions-comparison.html --- postgresql-15-15.17/doc/src/sgml/html/functions-comparison.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-comparison.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.2. Comparison Functions and Operators

    9.2. Comparison Functions and Operators

    +9.2. Comparison Functions and Operators

    9.2. Comparison Functions and Operators

    The usual comparison operators are available, as shown in Table 9.1.

    Table 9.1. Comparison Operators

    OperatorDescription
    datatype < datatype @@ -397,4 +397,4 @@

    num_nulls(1, NULL, 2)1 -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-comparisons.html postgresql-15-15.18/doc/src/sgml/html/functions-comparisons.html --- postgresql-15-15.17/doc/src/sgml/html/functions-comparisons.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-comparisons.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.24. Row and Array Comparisons

    9.24. Row and Array Comparisons

    +9.24. Row and Array Comparisons

    9.24. Row and Array Comparisons

    This section describes several specialized constructs for making multiple comparisons between groups of values. These forms are syntactically related to the subquery forms of the previous section, @@ -212,4 +212,4 @@ for materialized views and might be useful for other specialized purposes such as replication and B-Tree deduplication (see Section 67.4.3). They are not intended to be generally useful for writing queries, though. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-conditional.html postgresql-15-15.18/doc/src/sgml/html/functions-conditional.html --- postgresql-15-15.17/doc/src/sgml/html/functions-conditional.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-conditional.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.18. Conditional Expressions

    9.18. Conditional Expressions

    +9.18. Conditional Expressions

    9.18. Conditional Expressions

    This section describes the SQL-compliant conditional expressions available in PostgreSQL.

    Tip

    @@ -184,4 +184,4 @@ the SQL standard, but are a common extension. Some other databases make them return NULL if any argument is NULL, rather than only when all are NULL. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-datetime.html postgresql-15-15.18/doc/src/sgml/html/functions-datetime.html --- postgresql-15-15.17/doc/src/sgml/html/functions-datetime.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-datetime.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.9. Date/Time Functions and Operators

    9.9. Date/Time Functions and Operators

    +9.9. Date/Time Functions and Operators

    9.9. Date/Time Functions and Operators

    Table 9.33 shows the available functions for date/time value processing, with details appearing in the following subsections. Table 9.32 illustrates the behaviors of @@ -1312,4 +1312,4 @@ when calling pg_sleep or its variants. Otherwise other sessions might have to wait for your sleeping process, slowing down the entire system. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-enum.html postgresql-15-15.18/doc/src/sgml/html/functions-enum.html --- postgresql-15-15.17/doc/src/sgml/html/functions-enum.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-enum.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.10. Enum Support Functions

    9.10. Enum Support Functions

    +9.10. Enum Support Functions

    9.10. Enum Support Functions

    For enum types (described in Section 8.7), there are several functions that allow cleaner programming without hard-coding particular values of an enum type. @@ -81,4 +81,4 @@ the type can be passed, with the same result. It is more common to apply these functions to a table column or function argument than to a hardwired type name as used in the examples. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-event-triggers.html postgresql-15-15.18/doc/src/sgml/html/functions-event-triggers.html --- postgresql-15-15.17/doc/src/sgml/html/functions-event-triggers.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-event-triggers.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -9.29. Event Trigger Functions

    9.29. Event Trigger Functions

    +9.29. Event Trigger Functions

    9.29. Event Trigger Functions

    PostgreSQL provides these helper functions to retrieve information from event triggers.

    @@ -134,4 +134,4 @@ ON table_rewrite EXECUTE FUNCTION test_event_trigger_table_rewrite_oid();

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-formatting.html postgresql-15-15.18/doc/src/sgml/html/functions-formatting.html --- postgresql-15-15.17/doc/src/sgml/html/functions-formatting.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-formatting.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.8. Data Type Formatting Functions

    9.8. Data Type Formatting Functions

    +9.8. Data Type Formatting Functions

    9.8. Data Type Formatting Functions

    The PostgreSQL formatting functions provide a powerful set of tools for converting various data types (date/time, integer, floating point, numeric) to formatted strings @@ -407,4 +407,4 @@

    Table 9.30. Template Pattern Modifiers for Numeric Formatting

    ModifierDescriptionExample
    FM prefixfill mode (suppress trailing zeroes and padding blanks)FM99.99
    TH suffixupper case ordinal number suffix999TH
    th suffixlower case ordinal number suffix999th

    Table 9.31 shows some examples of the use of the to_char function. -

    Table 9.31. to_char Examples

    ExpressionResult
    to_char(current_timestamp, 'Day, DD  HH12:MI:SS')'Tuesday  , 06  05:39:18'
    to_char(current_timestamp, 'FMDay, FMDD  HH12:MI:SS')'Tuesday, 6  05:39:18'
    to_char(-0.1, '99.99')'  -.10'
    to_char(-0.1, 'FM9.99')'-.1'
    to_char(-0.1, 'FM90.99')'-0.1'
    to_char(0.1, '0.9')' 0.1'
    to_char(12, '9990999.9')'    0012.0'
    to_char(12, 'FM9990999.9')'0012.'
    to_char(485, '999')' 485'
    to_char(-485, '999')'-485'
    to_char(485, '9 9 9')' 4 8 5'
    to_char(1485, '9,999')' 1,485'
    to_char(1485, '9G999')' 1 485'
    to_char(148.5, '999.999')' 148.500'
    to_char(148.5, 'FM999.999')'148.5'
    to_char(148.5, 'FM999.990')'148.500'
    to_char(148.5, '999D999')' 148,500'
    to_char(3148.5, '9G999D999')' 3 148,500'
    to_char(-485, '999S')'485-'
    to_char(-485, '999MI')'485-'
    to_char(485, '999MI')'485 '
    to_char(485, 'FM999MI')'485'
    to_char(485, 'PL999')'+485'
    to_char(485, 'SG999')'+485'
    to_char(-485, 'SG999')'-485'
    to_char(-485, '9SG99')'4-85'
    to_char(-485, '999PR')'<485>'
    to_char(485, 'L999')'DM 485'
    to_char(485, 'RN')'        CDLXXXV'
    to_char(485, 'FMRN')'CDLXXXV'
    to_char(5.2, 'FMRN')'V'
    to_char(482, '999th')' 482nd'
    to_char(485, '"Good number:"999')'Good number: 485'
    to_char(485.8, '"Pre:"999" Post:" .999')'Pre: 485 Post: .800'
    to_char(12, '99V999')' 12000'
    to_char(12.4, '99V999')' 12400'
    to_char(12.45, '99V9')' 125'
    to_char(0.0004859, '9.99EEEE')' 4.86e-04'

    \ No newline at end of file +

    Table 9.31. to_char Examples

    ExpressionResult
    to_char(current_timestamp, 'Day, DD  HH12:MI:SS')'Tuesday  , 06  05:39:18'
    to_char(current_timestamp, 'FMDay, FMDD  HH12:MI:SS')'Tuesday, 6  05:39:18'
    to_char(-0.1, '99.99')'  -.10'
    to_char(-0.1, 'FM9.99')'-.1'
    to_char(-0.1, 'FM90.99')'-0.1'
    to_char(0.1, '0.9')' 0.1'
    to_char(12, '9990999.9')'    0012.0'
    to_char(12, 'FM9990999.9')'0012.'
    to_char(485, '999')' 485'
    to_char(-485, '999')'-485'
    to_char(485, '9 9 9')' 4 8 5'
    to_char(1485, '9,999')' 1,485'
    to_char(1485, '9G999')' 1 485'
    to_char(148.5, '999.999')' 148.500'
    to_char(148.5, 'FM999.999')'148.5'
    to_char(148.5, 'FM999.990')'148.500'
    to_char(148.5, '999D999')' 148,500'
    to_char(3148.5, '9G999D999')' 3 148,500'
    to_char(-485, '999S')'485-'
    to_char(-485, '999MI')'485-'
    to_char(485, '999MI')'485 '
    to_char(485, 'FM999MI')'485'
    to_char(485, 'PL999')'+485'
    to_char(485, 'SG999')'+485'
    to_char(-485, 'SG999')'-485'
    to_char(-485, '9SG99')'4-85'
    to_char(-485, '999PR')'<485>'
    to_char(485, 'L999')'DM 485'
    to_char(485, 'RN')'        CDLXXXV'
    to_char(485, 'FMRN')'CDLXXXV'
    to_char(5.2, 'FMRN')'V'
    to_char(482, '999th')' 482nd'
    to_char(485, '"Good number:"999')'Good number: 485'
    to_char(485.8, '"Pre:"999" Post:" .999')'Pre: 485 Post: .800'
    to_char(12, '99V999')' 12000'
    to_char(12.4, '99V999')' 12400'
    to_char(12.45, '99V9')' 125'
    to_char(0.0004859, '9.99EEEE')' 4.86e-04'

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-geometry.html postgresql-15-15.18/doc/src/sgml/html/functions-geometry.html --- postgresql-15-15.17/doc/src/sgml/html/functions-geometry.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-geometry.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.11. Geometric Functions and Operators

    9.11. Geometric Functions and Operators

    +9.11. Geometric Functions and Operators

    9.11. Geometric Functions and Operators

    The geometric types point, box, lseg, line, path, polygon, and circle have a large set of @@ -883,4 +883,4 @@ UPDATE t SET p[1] = ... changes the Y coordinate. In the same way, a value of type box or lseg can be treated as an array of two point values. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-info.html postgresql-15-15.18/doc/src/sgml/html/functions-info.html --- postgresql-15-15.17/doc/src/sgml/html/functions-info.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-info.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.26. System Information Functions and Operators

    9.26. System Information Functions and Operators

    +9.26. System Information Functions and Operators

    9.26. System Information Functions and Operators

    Table 9.66 shows several functions that extract session and system information.

    @@ -1821,4 +1821,4 @@

    Returns information about recovery state, as shown in Table 9.86. -


    Table 9.83. pg_control_checkpoint Output Columns

    Column NameData Type
    checkpoint_lsnpg_lsn
    redo_lsnpg_lsn
    redo_wal_filetext
    timeline_idinteger
    prev_timeline_idinteger
    full_page_writesboolean
    next_xidtext
    next_oidoid
    next_multixact_idxid
    next_multi_offsetxid
    oldest_xidxid
    oldest_xid_dbidoid
    oldest_active_xidxid
    oldest_multi_xidxid
    oldest_multi_dbidoid
    oldest_commit_ts_xidxid
    newest_commit_ts_xidxid
    checkpoint_timetimestamp with time zone

    Table 9.84. pg_control_system Output Columns

    Column NameData Type
    pg_control_versioninteger
    catalog_version_nointeger
    system_identifierbigint
    pg_control_last_modifiedtimestamp with time zone

    Table 9.85. pg_control_init Output Columns

    Column NameData Type
    max_data_alignmentinteger
    database_block_sizeinteger
    blocks_per_segmentinteger
    wal_block_sizeinteger
    bytes_per_wal_segmentinteger
    max_identifier_lengthinteger
    max_index_columnsinteger
    max_toast_chunk_sizeinteger
    large_object_chunk_sizeinteger
    float8_pass_by_valueboolean
    data_page_checksum_versioninteger

    Table 9.86. pg_control_recovery Output Columns

    Column NameData Type
    min_recovery_end_lsnpg_lsn
    min_recovery_end_timelineinteger
    backup_start_lsnpg_lsn
    backup_end_lsnpg_lsn
    end_of_backup_record_requiredboolean

    \ No newline at end of file +


    Table 9.83. pg_control_checkpoint Output Columns

    Column NameData Type
    checkpoint_lsnpg_lsn
    redo_lsnpg_lsn
    redo_wal_filetext
    timeline_idinteger
    prev_timeline_idinteger
    full_page_writesboolean
    next_xidtext
    next_oidoid
    next_multixact_idxid
    next_multi_offsetxid
    oldest_xidxid
    oldest_xid_dbidoid
    oldest_active_xidxid
    oldest_multi_xidxid
    oldest_multi_dbidoid
    oldest_commit_ts_xidxid
    newest_commit_ts_xidxid
    checkpoint_timetimestamp with time zone

    Table 9.84. pg_control_system Output Columns

    Column NameData Type
    pg_control_versioninteger
    catalog_version_nointeger
    system_identifierbigint
    pg_control_last_modifiedtimestamp with time zone

    Table 9.85. pg_control_init Output Columns

    Column NameData Type
    max_data_alignmentinteger
    database_block_sizeinteger
    blocks_per_segmentinteger
    wal_block_sizeinteger
    bytes_per_wal_segmentinteger
    max_identifier_lengthinteger
    max_index_columnsinteger
    max_toast_chunk_sizeinteger
    large_object_chunk_sizeinteger
    float8_pass_by_valueboolean
    data_page_checksum_versioninteger

    Table 9.86. pg_control_recovery Output Columns

    Column NameData Type
    min_recovery_end_lsnpg_lsn
    min_recovery_end_timelineinteger
    backup_start_lsnpg_lsn
    backup_end_lsnpg_lsn
    end_of_backup_record_requiredboolean

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-json.html postgresql-15-15.18/doc/src/sgml/html/functions-json.html --- postgresql-15-15.17/doc/src/sgml/html/functions-json.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-json.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.16. JSON Functions and Operators

    9.16. JSON Functions and Operators

    +9.16. JSON Functions and Operators

    9.16. JSON Functions and Operators

    This section describes:

    • @@ -1778,4 +1778,4 @@

       $.* ? (@ like_regex "^\\d+$")
       

      -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-logical.html postgresql-15-15.18/doc/src/sgml/html/functions-logical.html --- postgresql-15-15.17/doc/src/sgml/html/functions-logical.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-logical.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.1. Logical Operators

    9.1. Logical Operators

    +9.1. Logical Operators

    9.1. Logical Operators

    The usual logical operators are available: @@ -33,4 +33,4 @@ without affecting the result. (However, it is not guaranteed that the left operand is evaluated before the right operand. See Section 4.2.14 for more information about the order of evaluation of subexpressions.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-matching.html postgresql-15-15.18/doc/src/sgml/html/functions-matching.html --- postgresql-15-15.17/doc/src/sgml/html/functions-matching.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-matching.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.7. Pattern Matching

    9.7. Pattern Matching

    +9.7. Pattern Matching

    9.7. Pattern Matching

    There are three separate approaches to pattern matching provided by PostgreSQL: the traditional SQL LIKE operator, the @@ -1412,4 +1412,4 @@ backslash.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-math.html postgresql-15-15.18/doc/src/sgml/html/functions-math.html --- postgresql-15-15.17/doc/src/sgml/html/functions-math.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-math.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.3. Mathematical Functions and Operators

    9.3. Mathematical Functions and Operators

    +9.3. Mathematical Functions and Operators

    9.3. Mathematical Functions and Operators

    Mathematical operators are provided for many PostgreSQL types. For types without standard mathematical conventions @@ -1008,4 +1008,4 @@

    atanh(0.5)0.5493061443340548 -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-net.html postgresql-15-15.18/doc/src/sgml/html/functions-net.html --- postgresql-15-15.17/doc/src/sgml/html/functions-net.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-net.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.12. Network Address Functions and Operators

    9.12. Network Address Functions and Operators

    +9.12. Network Address Functions and Operators

    9.12. Network Address Functions and Operators

    The IP network address types, cidr and inet, support the usual comparison operators shown in Table 9.1 @@ -394,4 +394,4 @@

    macaddr8_set7bit(macaddr8 '00:34:56:ab:cd:ef')02:34:56:ff:fe:ab:cd:ef -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-range.html postgresql-15-15.18/doc/src/sgml/html/functions-range.html --- postgresql-15-15.17/doc/src/sgml/html/functions-range.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-range.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.20. Range/Multirange Functions and Operators

    9.20. Range/Multirange Functions and Operators

    +9.20. Range/Multirange Functions and Operators

    9.20. Range/Multirange Functions and Operators

    See Section 8.17 for an overview of range types.

    Table 9.54 shows the specialized operators @@ -704,4 +704,4 @@ The lower_inc, upper_inc, lower_inf, and upper_inf functions all return false for an empty range or multirange. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-sequence.html postgresql-15-15.18/doc/src/sgml/html/functions-sequence.html --- postgresql-15-15.17/doc/src/sgml/html/functions-sequence.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-sequence.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.17. Sequence Manipulation Functions

    9.17. Sequence Manipulation Functions

    +9.17. Sequence Manipulation Functions

    9.17. Sequence Manipulation Functions

    This section describes functions for operating on sequence objects, also called sequence generators or just sequences. Sequence objects are special single-row tables created with CREATE SEQUENCE. @@ -136,4 +136,4 @@ OID by hand, however, since the regclass data type's input converter will do the work for you. See Section 8.19 for details. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-srf.html postgresql-15-15.18/doc/src/sgml/html/functions-srf.html --- postgresql-15-15.17/doc/src/sgml/html/functions-srf.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-srf.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.25. Set Returning Functions

    9.25. Set Returning Functions

    +9.25. Set Returning Functions

    9.25. Set Returning Functions

    This section describes functions that possibly return more than one row. The most widely used functions in this class are series generating functions, as detailed in Table 9.64 and @@ -215,4 +215,4 @@ pg_subtrans | 19 (19 rows)

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-statistics.html postgresql-15-15.18/doc/src/sgml/html/functions-statistics.html --- postgresql-15-15.17/doc/src/sgml/html/functions-statistics.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-statistics.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -9.30. Statistics Information Functions

    9.30. Statistics Information Functions

    +9.30. Statistics Information Functions

    9.30. Statistics Information Functions

    PostgreSQL provides a function to inspect complex statistics defined using the CREATE STATISTICS command.

    9.30.1. Inspecting MCV Lists

    @@ -21,4 +21,4 @@
         Values of the pg_mcv_list type can be obtained only from the
         pg_statistic_ext_data.stxdmcv
         column.
    -   

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-string.html postgresql-15-15.18/doc/src/sgml/html/functions-string.html --- postgresql-15-15.17/doc/src/sgml/html/functions-string.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-string.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.4. String Functions and Operators

    9.4. String Functions and Operators

    +9.4. String Functions and Operators

    9.4. String Functions and Operators

    This section describes functions and operators for examining and manipulating string values. Strings in this context include values of the types character, character varying, @@ -1205,4 +1205,4 @@ The %I and %L format specifiers are particularly useful for safely constructing dynamic SQL statements. See Example 43.1. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-subquery.html postgresql-15-15.18/doc/src/sgml/html/functions-subquery.html --- postgresql-15-15.17/doc/src/sgml/html/functions-subquery.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-subquery.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.23. Subquery Expressions

    9.23. Subquery Expressions

    +9.23. Subquery Expressions

    9.23. Subquery Expressions

    This section describes the SQL-compliant subquery expressions available in PostgreSQL. All of the expression forms documented in this section return @@ -210,4 +210,4 @@

    See Section 9.24.5 for details about the meaning of a row constructor comparison. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-textsearch.html postgresql-15-15.18/doc/src/sgml/html/functions-textsearch.html --- postgresql-15-15.17/doc/src/sgml/html/functions-textsearch.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-textsearch.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.13. Text Search Functions and Operators

    9.13. Text Search Functions and Operators

    +9.13. Text Search Functions and Operators

    9.13. Text Search Functions and Operators

    Table 9.42, Table 9.43 and Table 9.44 @@ -760,4 +760,4 @@

    ts_stat('SELECT vector FROM apod')(foo,10,15) ... -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-trigger.html postgresql-15-15.18/doc/src/sgml/html/functions-trigger.html --- postgresql-15-15.17/doc/src/sgml/html/functions-trigger.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-trigger.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.28. Trigger Functions

    9.28. Trigger Functions

    +9.28. Trigger Functions

    9.28. Trigger Functions

    While many uses of triggers involve user-written trigger functions, PostgreSQL provides a few built-in trigger functions that can be used directly in user-defined triggers. These @@ -90,4 +90,4 @@ choose a trigger name that comes after the name of any other trigger you might have on the table. (Hence the z prefix in the example.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-uuid.html postgresql-15-15.18/doc/src/sgml/html/functions-uuid.html --- postgresql-15-15.17/doc/src/sgml/html/functions-uuid.html 2026-02-23 22:14:21.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-uuid.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.14. UUID Functions

    9.14. UUID Functions

    +9.14. UUID Functions

    9.14. UUID Functions

    PostgreSQL includes one function to generate a UUID:

     gen_random_uuid () → uuid
    @@ -13,4 +13,4 @@
        PostgreSQL also provides the usual comparison
        operators shown in Table 9.1 for
        UUIDs.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-window.html postgresql-15-15.18/doc/src/sgml/html/functions-window.html --- postgresql-15-15.17/doc/src/sgml/html/functions-window.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-window.html 2026-05-11 20:02:34.000000000 +0000 @@ -1,5 +1,5 @@ -9.22. Window Functions

    9.22. Window Functions

    +9.22. Window Functions

    9.22. Window Functions

    Window functions provide the ability to perform calculations across sets of rows that are related to the current query row. See Section 3.5 for an introduction to this @@ -179,4 +179,4 @@ default FROM FIRST behavior is supported. (You can achieve the result of FROM LAST by reversing the ORDER BY ordering.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions-xml.html postgresql-15-15.18/doc/src/sgml/html/functions-xml.html --- postgresql-15-15.17/doc/src/sgml/html/functions-xml.html 2026-02-23 22:14:22.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions-xml.html 2026-05-11 20:02:33.000000000 +0000 @@ -1,5 +1,5 @@ -9.15. XML Functions

    9.15. XML Functions

    +9.15. XML Functions

    9.15. XML Functions

    The functions and function-like expressions described in this section operate on values of type xml. See Section 8.13 for information about the xml type. The function-like expressions xmlparse @@ -909,4 +909,4 @@ will be put into content form with each such disallowed node replaced by its string value, as defined for the XPath 1.0 string function. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/functions.html postgresql-15-15.18/doc/src/sgml/html/functions.html --- postgresql-15-15.17/doc/src/sgml/html/functions.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/functions.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 9. Functions and Operators

    Chapter 9. Functions and Operators

    Table of Contents

    9.1. Logical Operators
    9.2. Comparison Functions and Operators
    9.3. Mathematical Functions and Operators
    9.4. String Functions and Operators
    9.4.1. format
    9.5. Binary String Functions and Operators
    9.6. Bit String Functions and Operators
    9.7. Pattern Matching
    9.7.1. LIKE
    9.7.2. SIMILAR TO Regular Expressions
    9.7.3. POSIX Regular Expressions
    9.8. Data Type Formatting Functions
    9.9. Date/Time Functions and Operators
    9.9.1. EXTRACT, date_part
    9.9.2. date_trunc
    9.9.3. date_bin
    9.9.4. AT TIME ZONE
    9.9.5. Current Date/Time
    9.9.6. Delaying Execution
    9.10. Enum Support Functions
    9.11. Geometric Functions and Operators
    9.12. Network Address Functions and Operators
    9.13. Text Search Functions and Operators
    9.14. UUID Functions
    9.15. XML Functions
    9.15.1. Producing XML Content
    9.15.2. XML Predicates
    9.15.3. Processing XML
    9.15.4. Mapping Tables to XML
    9.16. JSON Functions and Operators
    9.16.1. Processing and Creating JSON Data
    9.16.2. The SQL/JSON Path Language
    9.17. Sequence Manipulation Functions
    9.18. Conditional Expressions
    9.18.1. CASE
    9.18.2. COALESCE
    9.18.3. NULLIF
    9.18.4. GREATEST and LEAST
    9.19. Array Functions and Operators
    9.20. Range/Multirange Functions and Operators
    9.21. Aggregate Functions
    9.22. Window Functions
    9.23. Subquery Expressions
    9.23.1. EXISTS
    9.23.2. IN
    9.23.3. NOT IN
    9.23.4. ANY/SOME
    9.23.5. ALL
    9.23.6. Single-Row Comparison
    9.24. Row and Array Comparisons
    9.24.1. IN
    9.24.2. NOT IN
    9.24.3. ANY/SOME (array)
    9.24.4. ALL (array)
    9.24.5. Row Constructor Comparison
    9.24.6. Composite Type Comparison
    9.25. Set Returning Functions
    9.26. System Information Functions and Operators
    9.27. System Administration Functions
    9.27.1. Configuration Settings Functions
    9.27.2. Server Signaling Functions
    9.27.3. Backup Control Functions
    9.27.4. Recovery Control Functions
    9.27.5. Snapshot Synchronization Functions
    9.27.6. Replication Management Functions
    9.27.7. Database Object Management Functions
    9.27.8. Index Maintenance Functions
    9.27.9. Generic File Access Functions
    9.27.10. Advisory Lock Functions
    9.28. Trigger Functions
    9.29. Event Trigger Functions
    9.29.1. Capturing Changes at Command End
    9.29.2. Processing Objects Dropped by a DDL Command
    9.29.3. Handling a Table Rewrite Event
    9.30. Statistics Information Functions
    9.30.1. Inspecting MCV Lists

    +Chapter 9. Functions and Operators

    Chapter 9. Functions and Operators

    Table of Contents

    9.1. Logical Operators
    9.2. Comparison Functions and Operators
    9.3. Mathematical Functions and Operators
    9.4. String Functions and Operators
    9.4.1. format
    9.5. Binary String Functions and Operators
    9.6. Bit String Functions and Operators
    9.7. Pattern Matching
    9.7.1. LIKE
    9.7.2. SIMILAR TO Regular Expressions
    9.7.3. POSIX Regular Expressions
    9.8. Data Type Formatting Functions
    9.9. Date/Time Functions and Operators
    9.9.1. EXTRACT, date_part
    9.9.2. date_trunc
    9.9.3. date_bin
    9.9.4. AT TIME ZONE
    9.9.5. Current Date/Time
    9.9.6. Delaying Execution
    9.10. Enum Support Functions
    9.11. Geometric Functions and Operators
    9.12. Network Address Functions and Operators
    9.13. Text Search Functions and Operators
    9.14. UUID Functions
    9.15. XML Functions
    9.15.1. Producing XML Content
    9.15.2. XML Predicates
    9.15.3. Processing XML
    9.15.4. Mapping Tables to XML
    9.16. JSON Functions and Operators
    9.16.1. Processing and Creating JSON Data
    9.16.2. The SQL/JSON Path Language
    9.17. Sequence Manipulation Functions
    9.18. Conditional Expressions
    9.18.1. CASE
    9.18.2. COALESCE
    9.18.3. NULLIF
    9.18.4. GREATEST and LEAST
    9.19. Array Functions and Operators
    9.20. Range/Multirange Functions and Operators
    9.21. Aggregate Functions
    9.22. Window Functions
    9.23. Subquery Expressions
    9.23.1. EXISTS
    9.23.2. IN
    9.23.3. NOT IN
    9.23.4. ANY/SOME
    9.23.5. ALL
    9.23.6. Single-Row Comparison
    9.24. Row and Array Comparisons
    9.24.1. IN
    9.24.2. NOT IN
    9.24.3. ANY/SOME (array)
    9.24.4. ALL (array)
    9.24.5. Row Constructor Comparison
    9.24.6. Composite Type Comparison
    9.25. Set Returning Functions
    9.26. System Information Functions and Operators
    9.27. System Administration Functions
    9.27.1. Configuration Settings Functions
    9.27.2. Server Signaling Functions
    9.27.3. Backup Control Functions
    9.27.4. Recovery Control Functions
    9.27.5. Snapshot Synchronization Functions
    9.27.6. Replication Management Functions
    9.27.7. Database Object Management Functions
    9.27.8. Index Maintenance Functions
    9.27.9. Generic File Access Functions
    9.27.10. Advisory Lock Functions
    9.28. Trigger Functions
    9.29. Event Trigger Functions
    9.29.1. Capturing Changes at Command End
    9.29.2. Processing Objects Dropped by a DDL Command
    9.29.3. Handling a Table Rewrite Event
    9.30. Statistics Information Functions
    9.30.1. Inspecting MCV Lists

    PostgreSQL provides a large number of functions and operators for the built-in data types. This chapter describes most of them, although additional special-purpose functions @@ -30,4 +30,4 @@ is present in other SQL database management systems, and in many cases this functionality is compatible and consistent between the various implementations. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/fuzzystrmatch.html postgresql-15-15.18/doc/src/sgml/html/fuzzystrmatch.html --- postgresql-15-15.17/doc/src/sgml/html/fuzzystrmatch.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/fuzzystrmatch.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.17. fuzzystrmatch

    F.17. fuzzystrmatch

    +F.17. fuzzystrmatch

    F.17. fuzzystrmatch

    The fuzzystrmatch module provides several functions to determine similarities and distance between strings.

    Caution

    @@ -135,4 +135,4 @@ ------------ KMP (1 row) -

    \ No newline at end of file +
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/generic-wal.html postgresql-15-15.18/doc/src/sgml/html/generic-wal.html --- postgresql-15-15.17/doc/src/sgml/html/generic-wal.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/generic-wal.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 65. Generic WAL Records

    Chapter 65. Generic WAL Records

    +Chapter 65. Generic WAL Records

    Chapter 65. Generic WAL Records

    Although all built-in WAL-logged modules have their own types of WAL records, there is also a generic WAL record type, which describes changes to pages in a generic way. This is useful for extensions that provide @@ -99,4 +99,4 @@ comparison. This is not very compact for the case of moving data within a page, and might be improved in the future.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/geqo-biblio.html postgresql-15-15.18/doc/src/sgml/html/geqo-biblio.html --- postgresql-15-15.17/doc/src/sgml/html/geqo-biblio.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/geqo-biblio.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -62.4. Further Reading

    62.4. Further Reading

    +62.4. Further Reading

    62.4. Further Reading

    The following resources contain additional information about genetic algorithms: @@ -15,4 +15,4 @@

  • [fong]

  • -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/geqo-intro.html postgresql-15-15.18/doc/src/sgml/html/geqo-intro.html --- postgresql-15-15.17/doc/src/sgml/html/geqo-intro.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/geqo-intro.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -62.1. Query Handling as a Complex Optimization Problem

    62.1. Query Handling as a Complex Optimization Problem

    +62.1. Query Handling as a Complex Optimization Problem

    62.1. Query Handling as a Complex Optimization Problem

    Among all relational operators the most difficult one to process and optimize is the join. The number of possible query plans grows exponentially with the @@ -33,4 +33,4 @@ genetic algorithm to solve the join ordering problem in a manner that is efficient for queries involving large numbers of joins. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/geqo-intro2.html postgresql-15-15.18/doc/src/sgml/html/geqo-intro2.html --- postgresql-15-15.17/doc/src/sgml/html/geqo-intro2.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/geqo-intro2.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -62.2. Genetic Algorithms

    62.2. Genetic Algorithms

    +62.2. Genetic Algorithms

    62.2. Genetic Algorithms

    The genetic algorithm (GA) is a heuristic optimization method which operates through randomized search. The set of possible solutions for the optimization problem is considered as a @@ -24,4 +24,4 @@ strongly that a GA is not a pure random search for a solution to a problem. A GA uses stochastic processes, but the result is distinctly non-random (better than random). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/geqo-pg-intro.html postgresql-15-15.18/doc/src/sgml/html/geqo-pg-intro.html --- postgresql-15-15.17/doc/src/sgml/html/geqo-pg-intro.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/geqo-pg-intro.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -62.3. Genetic Query Optimization (GEQO) in PostgreSQL

    62.3. Genetic Query Optimization (GEQO) in PostgreSQL

    62.3.1. Generating Possible Plans with GEQO
    62.3.2. Future Implementation Tasks for +62.3. Genetic Query Optimization (GEQO) in PostgreSQL

    62.3. Genetic Query Optimization (GEQO) in PostgreSQL

    The GEQO module approaches the query optimization problem as though it were the well-known traveling salesman @@ -104,4 +104,4 @@ of the rest of the tour, but this is certainly not true for query optimization. Thus it is questionable whether edge recombination crossover is the most effective mutation procedure. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/geqo.html postgresql-15-15.18/doc/src/sgml/html/geqo.html --- postgresql-15-15.17/doc/src/sgml/html/geqo.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/geqo.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,8 +1,8 @@ -Chapter 62. Genetic Query Optimizer

    Chapter 62. Genetic Query Optimizer

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gin-builtin-opclasses.html postgresql-15-15.18/doc/src/sgml/html/gin-builtin-opclasses.html --- postgresql-15-15.17/doc/src/sgml/html/gin-builtin-opclasses.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gin-builtin-opclasses.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -70.2. Built-in Operator Classes

    70.2. Built-in Operator Classes

    +70.2. Built-in Operator Classes

    70.2. Built-in Operator Classes

    The core PostgreSQL distribution includes the GIN operator classes shown in Table 70.1. @@ -10,4 +10,4 @@ is the default. jsonb_path_ops supports fewer operators but offers better performance for those operators. See Section 8.14.4 for details. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gin-examples.html postgresql-15-15.18/doc/src/sgml/html/gin-examples.html --- postgresql-15-15.17/doc/src/sgml/html/gin-examples.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gin-examples.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -70.7. Examples

    70.7. Examples

    +70.7. Examples

    70.7. Examples

    The core PostgreSQL distribution includes the GIN operator classes previously shown in Table 70.1. @@ -7,4 +7,4 @@ GIN operator classes:

    btree_gin

    B-tree equivalent functionality for several data types

    hstore

    Module for storing (key, value) pairs

    intarray

    Enhanced support for int[]

    pg_trgm

    Text similarity using trigram matching

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gin-extensibility.html postgresql-15-15.18/doc/src/sgml/html/gin-extensibility.html --- postgresql-15-15.17/doc/src/sgml/html/gin-extensibility.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gin-extensibility.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -70.3. Extensibility

    70.3. Extensibility

    +70.3. Extensibility

    70.3. Extensibility

    The GIN interface has a high level of abstraction, requiring the access method implementer only to implement the semantics of the data type being accessed. The GIN layer itself @@ -234,4 +234,4 @@ recommended that the SQL declarations of these three support functions use the opclass's indexed data type for the query argument, even though the actual type might be something else depending on the operator. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gin-implementation.html postgresql-15-15.18/doc/src/sgml/html/gin-implementation.html --- postgresql-15-15.17/doc/src/sgml/html/gin-implementation.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gin-implementation.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -70.4. Implementation

    70.4. Implementation

    +70.4. Implementation

    70.4. Implementation

    Internally, a GIN index contains a B-tree index constructed over keys, where each key is an element of one or more indexed items (a member of an array, for example) and where each tuple in a leaf @@ -61,4 +61,4 @@ index key, less than zero for a non-match that is still within the range to be searched, or greater than zero if the index key is past the range that could match. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gin-intro.html postgresql-15-15.18/doc/src/sgml/html/gin-intro.html --- postgresql-15-15.17/doc/src/sgml/html/gin-intro.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gin-intro.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -70.1. Introduction

    70.1. Introduction

    +70.1. Introduction

    70.1. Introduction

    GIN stands for Generalized Inverted Index. GIN is designed for handling cases where the items to be indexed are composite values, and the queries to be handled by @@ -37,4 +37,4 @@ maintained by Teodor Sigaev and Oleg Bartunov. There is more information about GIN on their website. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gin-limit.html postgresql-15-15.18/doc/src/sgml/html/gin-limit.html --- postgresql-15-15.17/doc/src/sgml/html/gin-limit.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gin-limit.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -70.6. Limitations

    70.6. Limitations

    +70.6. Limitations

    70.6. Limitations

    GIN assumes that indexable operators are strict. This means that extractValue will not be called at all on a null item value (instead, a placeholder index entry is created automatically), @@ -7,4 +7,4 @@ value either (instead, the query is presumed to be unsatisfiable). Note however that null key values contained within a non-null composite item or query value are supported. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gin-tips.html postgresql-15-15.18/doc/src/sgml/html/gin-tips.html --- postgresql-15-15.17/doc/src/sgml/html/gin-tips.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gin-tips.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -70.5. GIN Tips and Tricks

    70.5. GIN Tips and Tricks

    Create vs. insert

    +70.5. GIN Tips and Tricks

    70.5. GIN Tips and Tricks

    Create vs. insert

    Insertion into a GIN index can be slow due to the likelihood of many keys being inserted for each item. So, for bulk insertions into a table it is advisable to drop the GIN @@ -55,4 +55,4 @@

    From experience, values in the thousands (e.g., 5000 — 20000) work well. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gin.html postgresql-15-15.18/doc/src/sgml/html/gin.html --- postgresql-15-15.17/doc/src/sgml/html/gin.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gin.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 70. GIN Indexes \ No newline at end of file +Chapter 70. GIN Indexes \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gist-builtin-opclasses.html postgresql-15-15.18/doc/src/sgml/html/gist-builtin-opclasses.html --- postgresql-15-15.17/doc/src/sgml/html/gist-builtin-opclasses.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gist-builtin-opclasses.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -68.2. Built-in Operator Classes

    68.2. Built-in Operator Classes

    +68.2. Built-in Operator Classes

    68.2. Built-in Operator Classes

    The core PostgreSQL distribution includes the GiST operator classes shown in Table 68.1. @@ -13,4 +13,4 @@

     CREATE INDEX ON my_table USING GIST (my_inet_column inet_ops);
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gist-examples.html postgresql-15-15.18/doc/src/sgml/html/gist-examples.html --- postgresql-15-15.17/doc/src/sgml/html/gist-examples.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gist-examples.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -68.5. Examples

    68.5. Examples

    +68.5. Examples

    68.5. Examples

    The PostgreSQL source distribution includes several examples of index methods implemented using GiST. The core system currently provides text search @@ -10,4 +10,4 @@ operator classes:

    btree_gist

    B-tree equivalent functionality for several data types

    cube

    Indexing for multidimensional cubes

    hstore

    Module for storing (key, value) pairs

    intarray

    RD-Tree for one-dimensional array of int4 values

    ltree

    Indexing for tree-like structures

    pg_trgm

    Text similarity using trigram matching

    seg

    Indexing for float ranges

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gist-extensibility.html postgresql-15-15.18/doc/src/sgml/html/gist-extensibility.html --- postgresql-15-15.17/doc/src/sgml/html/gist-extensibility.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gist-extensibility.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -68.3. Extensibility

    68.3. Extensibility

    +68.3. Extensibility

    68.3. Extensibility

    Traditionally, implementing a new index access method meant a lot of difficult work. It was necessary to understand the inner workings of the database, such as the lock manager and Write-Ahead Log. The @@ -810,4 +810,4 @@ index scan, index build, or index tuple insertion). Be careful to pfree the previous value when replacing a fn_extra value, or the leak will accumulate for the duration of the operation. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gist-implementation.html postgresql-15-15.18/doc/src/sgml/html/gist-implementation.html --- postgresql-15-15.17/doc/src/sgml/html/gist-implementation.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gist-implementation.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -68.4. Implementation

    68.4. Implementation

    68.4.1. GiST Index Build Methods

    +68.4. Implementation

    68.4. Implementation

    68.4.1. GiST Index Build Methods

    The simplest way to build a GiST index is just to insert all the entries, one by one. This tends to be slow for large indexes, because if the index tuples are scattered across the index and the index is large enough @@ -35,4 +35,4 @@ CREATE INDEX command. The default behavior is good for most cases, but turning buffering off might speed up the build somewhat if the input data is ordered. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gist-intro.html postgresql-15-15.18/doc/src/sgml/html/gist-intro.html --- postgresql-15-15.17/doc/src/sgml/html/gist-intro.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gist-intro.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -68.1. Introduction

    68.1. Introduction

    +68.1. Introduction

    68.1. Introduction

    GiST stands for Generalized Search Tree. It is a balanced, tree-structured access method, that acts as a base template in which to implement arbitrary indexing schemes. B-trees, R-trees and many @@ -20,4 +20,4 @@ maintained by Teodor Sigaev and Oleg Bartunov, and there is more information on their web site. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gist.html postgresql-15-15.18/doc/src/sgml/html/gist.html --- postgresql-15-15.17/doc/src/sgml/html/gist.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gist.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 68. GiST Indexes \ No newline at end of file +Chapter 68. GiST Indexes \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/git.html postgresql-15-15.18/doc/src/sgml/html/git.html --- postgresql-15-15.17/doc/src/sgml/html/git.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/git.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -I.1. Getting the Source via Git

    I.1. Getting the Source via Git

    +I.1. Getting the Source via Git

    I.1. Getting the Source via Git

    With Git you will make a copy of the entire code repository on your local machine, so you will have access to all history and branches offline. This is the fastest and most flexible way to develop or test @@ -31,4 +31,4 @@ Git can do a lot more things than just fetch the source. For more information, consult the Git man pages, or see the website at https://git-scm.com. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/glossary.html postgresql-15-15.18/doc/src/sgml/html/glossary.html --- postgresql-15-15.17/doc/src/sgml/html/glossary.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/glossary.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,5 +1,5 @@ -Appendix M. Glossary

    Appendix M. Glossary

    +Appendix M. Glossary

    Appendix M. Glossary

    This is a list of terms and their meaning in the context of PostgreSQL and relational database systems in general. @@ -1072,4 +1072,4 @@ It comprises many individual WAL records written sequentially to WAL files. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gssapi-auth.html postgresql-15-15.18/doc/src/sgml/html/gssapi-auth.html --- postgresql-15-15.17/doc/src/sgml/html/gssapi-auth.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gssapi-auth.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.6. GSSAPI Authentication

    21.6. GSSAPI Authentication

    +21.6. GSSAPI Authentication

    21.6. GSSAPI Authentication

    GSSAPI is an industry-standard protocol for secure authentication defined in RFC 2743. @@ -115,4 +115,4 @@ parameter. If that is set to true, client principals are matched to user map entries case-insensitively. krb_realm, if set, is also matched case-insensitively. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/gssapi-enc.html postgresql-15-15.18/doc/src/sgml/html/gssapi-enc.html --- postgresql-15-15.17/doc/src/sgml/html/gssapi-enc.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/gssapi-enc.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -19.10. Secure TCP/IP Connections with GSSAPI Encryption

    19.10. Secure TCP/IP Connections with GSSAPI Encryption

    +19.10. Secure TCP/IP Connections with GSSAPI Encryption

    19.10. Secure TCP/IP Connections with GSSAPI Encryption

    PostgreSQL also has native support for using GSSAPI to encrypt client/server communications for increased security. Support requires that a GSSAPI @@ -28,4 +28,4 @@ behavior, GSSAPI encryption requires no setup beyond that which is necessary for GSSAPI authentication. (For more information on configuring that, see Section 21.6.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/hash-implementation.html postgresql-15-15.18/doc/src/sgml/html/hash-implementation.html --- postgresql-15-15.17/doc/src/sgml/html/hash-implementation.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/hash-implementation.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -72.2. Implementation

    72.2. Implementation

    +72.2. Implementation

    72.2. Implementation

    There are four kinds of pages in a hash index: the meta page (page zero), which contains statically allocated control information; primary bucket pages; overflow pages; and bitmap pages, which keep track of overflow @@ -32,4 +32,4 @@ src/backend/access/hash/README. The split algorithm is crash safe and can be restarted if not completed successfully. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/hash-index.html postgresql-15-15.18/doc/src/sgml/html/hash-index.html --- postgresql-15-15.17/doc/src/sgml/html/hash-index.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/hash-index.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 72. Hash Indexes

    Chapter 72. Hash Indexes

    \ No newline at end of file +Chapter 72. Hash Indexes

    Chapter 72. Hash Indexes

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/hash-intro.html postgresql-15-15.18/doc/src/sgml/html/hash-intro.html --- postgresql-15-15.17/doc/src/sgml/html/hash-intro.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/hash-intro.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -72.1. Overview

    72.1. Overview

    +72.1. Overview

    72.1. Overview

    PostgreSQL includes an implementation of persistent on-disk hash indexes, which are fully crash recoverable. Any data type can be indexed by a @@ -74,4 +74,4 @@ The expansion occurs in the foreground, which could increase execution time for user inserts. Thus, hash indexes may not be suitable for tables with rapidly increasing number of rows. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/high-availability.html postgresql-15-15.18/doc/src/sgml/html/high-availability.html --- postgresql-15-15.17/doc/src/sgml/html/high-availability.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/high-availability.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 27. High Availability, Load Balancing, and Replication

    Chapter 27. High Availability, Load Balancing, and Replication

    +Chapter 27. High Availability, Load Balancing, and Replication

    Chapter 27. High Availability, Load Balancing, and Replication

    Database servers can work together to allow a second server to take over quickly if the primary server fails (high availability), or to allow several computers to serve the same @@ -54,4 +54,4 @@

    The remainder of this section outlines various failover, replication, and load balancing solutions. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/history.html postgresql-15-15.18/doc/src/sgml/html/history.html --- postgresql-15-15.17/doc/src/sgml/html/history.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/history.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -2. A Brief History of PostgreSQL

    2. A Brief History of PostgreSQL

    +2. A Brief History of PostgreSQL

    2. A Brief History of PostgreSQL

    The object-relational database management system now known as PostgreSQL is derived from the POSTGRES package written at the @@ -135,4 +135,4 @@

    Details about what has happened in PostgreSQL since then can be found in Appendix E. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/hot-standby.html postgresql-15-15.18/doc/src/sgml/html/hot-standby.html --- postgresql-15-15.17/doc/src/sgml/html/hot-standby.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/hot-standby.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -27.4. Hot Standby

    27.4. Hot Standby

    +27.4. Hot Standby

    27.4. Hot Standby

    Hot standby is the term used to describe the ability to connect to the server and run read-only queries while the server is in archive recovery or standby mode. This @@ -572,4 +572,4 @@ hot standby mode will generate an error.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/how-parallel-query-works.html postgresql-15-15.18/doc/src/sgml/html/how-parallel-query-works.html --- postgresql-15-15.17/doc/src/sgml/html/how-parallel-query-works.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/how-parallel-query-works.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -15.1. How Parallel Query Works

    15.1. How Parallel Query Works

    +15.1. How Parallel Query Works

    15.1. How Parallel Query Works

    When the optimizer determines that parallel query is the fastest execution strategy for a particular query, it will create a query plan that includes a Gather or Gather Merge @@ -68,4 +68,4 @@ order-preserving merge. In contrast, Gather reads tuples from the workers in whatever order is convenient, destroying any sort order that may have existed. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/hstore.html postgresql-15-15.18/doc/src/sgml/html/hstore.html --- postgresql-15-15.17/doc/src/sgml/html/hstore.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/hstore.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.18. hstore

    F.18. hstore

    +F.18. hstore

    F.18. hstore

    This module implements the hstore data type for storing sets of key/value pairs within a single PostgreSQL value. This can be useful in various scenarios, such as rows with many attributes @@ -696,4 +696,4 @@

    Additional enhancements by Andrew Gierth , United Kingdom -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/index-api.html postgresql-15-15.18/doc/src/sgml/html/index-api.html --- postgresql-15-15.17/doc/src/sgml/html/index-api.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/index-api.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -64.1. Basic API Structure for Indexes

    64.1. Basic API Structure for Indexes

    +64.1. Basic API Structure for Indexes

    64.1. Basic API Structure for Indexes

    Each index access method is described by a row in the pg_am system catalog. The pg_am entry @@ -177,4 +177,4 @@ sensible: it means that there can only be one key column, but there can also be included column(s). Also, included columns must be allowed to be null, independently of amoptionalkey. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/index-cost-estimation.html postgresql-15-15.18/doc/src/sgml/html/index-cost-estimation.html --- postgresql-15-15.17/doc/src/sgml/html/index-cost-estimation.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/index-cost-estimation.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -64.6. Index Cost Estimation Functions

    64.6. Index Cost Estimation Functions

    +64.6. Index Cost Estimation Functions

    64.6. Index Cost Estimation Functions

    The amcostestimate function is given information describing a possible index scan, including lists of WHERE and ORDER BY clauses that have been determined to be usable with the index. It must return estimates @@ -139,4 +139,4 @@

    Examples of cost estimator functions can be found in src/backend/utils/adt/selfuncs.c. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/index-functions.html postgresql-15-15.18/doc/src/sgml/html/index-functions.html --- postgresql-15-15.17/doc/src/sgml/html/index-functions.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/index-functions.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -64.2. Index Access Method Functions

    64.2. Index Access Method Functions

    +64.2. Index Access Method Functions

    64.2. Index Access Method Functions

    The index construction and maintenance functions that an index access method must provide in IndexAmRoutine are:

    @@ -484,4 +484,4 @@ must be restarted. It should reset any shared state set up by aminitparallelscan such that the scan will be restarted from the beginning. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/index-locking.html postgresql-15-15.18/doc/src/sgml/html/index-locking.html --- postgresql-15-15.17/doc/src/sgml/html/index-locking.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/index-locking.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -64.4. Index Locking Considerations

    64.4. Index Locking Considerations

    +64.4. Index Locking Considerations

    64.4. Index Locking Considerations

    Index access methods must handle concurrent updates of the index by multiple processes. The core PostgreSQL system obtains @@ -88,4 +88,4 @@ integrity. When the flag is set, it indicates that the index access method implements finer-grained predicate locking, which will tend to reduce the frequency of such transaction cancellations. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/index-scanning.html postgresql-15-15.18/doc/src/sgml/html/index-scanning.html --- postgresql-15-15.17/doc/src/sgml/html/index-scanning.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/index-scanning.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -64.3. Index Scanning

    64.3. Index Scanning

    +64.3. Index Scanning

    64.3. Index Scanning

    In an index scan, the index access method is responsible for regurgitating the TIDs of all the tuples it has been told about that match the scan keys. The access method is not involved in @@ -120,4 +120,4 @@ Note that it is permitted for an access method to implement only amgetbitmap and not amgettuple, or vice versa, if its internal implementation is unsuited to one API or the other. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/index-unique-checks.html postgresql-15-15.18/doc/src/sgml/html/index-unique-checks.html --- postgresql-15-15.17/doc/src/sgml/html/index-unique-checks.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/index-unique-checks.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -64.5. Index Uniqueness Checks

    64.5. Index Uniqueness Checks

    +64.5. Index Uniqueness Checks

    64.5. Index Uniqueness Checks

    PostgreSQL enforces SQL uniqueness constraints using unique indexes, which are indexes that disallow multiple entries with identical keys. An access method that supports this @@ -106,4 +106,4 @@ target row is found in the recheck verifies that we are scanning for the same tuple values as were used in the original insertion.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/index.html postgresql-15-15.18/doc/src/sgml/html/index.html --- postgresql-15-15.17/doc/src/sgml/html/index.html 2026-02-23 22:14:48.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/index.html 2026-05-11 20:02:59.000000000 +0000 @@ -1,2 +1,2 @@ -PostgreSQL 15.17 Documentation

    PostgreSQL 15.17 Documentation

    The PostgreSQL Global Development Group


    Table of Contents

    Preface
    1. What Is PostgreSQL?
    2. A Brief History of PostgreSQL
    3. Conventions
    4. Further Information
    5. Bug Reporting Guidelines
    I. Tutorial
    1. Getting Started
    2. The SQL Language
    3. Advanced Features
    II. The SQL Language
    4. SQL Syntax
    5. Data Definition
    6. Data Manipulation
    7. Queries
    8. Data Types
    9. Functions and Operators
    10. Type Conversion
    11. Indexes
    12. Full Text Search
    13. Concurrency Control
    14. Performance Tips
    15. Parallel Query
    III. Server Administration
    16. Installation from Binaries
    17. Installation from Source Code
    18. Installation from Source Code on Windows
    19. Server Setup and Operation
    20. Server Configuration
    21. Client Authentication
    22. Database Roles
    23. Managing Databases
    24. Localization
    25. Routine Database Maintenance Tasks
    26. Backup and Restore
    27. High Availability, Load Balancing, and Replication
    28. Monitoring Database Activity
    29. Monitoring Disk Usage
    30. Reliability and the Write-Ahead Log
    31. Logical Replication
    32. Just-in-Time Compilation (JIT)
    33. Regression Tests
    IV. Client Interfaces
    34. libpq — C Library
    35. Large Objects
    36. ECPG — Embedded SQL in C
    37. The Information Schema
    V. Server Programming
    38. Extending SQL
    39. Triggers
    40. Event Triggers
    41. The Rule System
    42. Procedural Languages
    43. PL/pgSQLSQL Procedural Language
    44. PL/Tcl — Tcl Procedural Language
    45. PL/Perl — Perl Procedural Language
    46. PL/Python — Python Procedural Language
    47. Server Programming Interface
    48. Background Worker Processes
    49. Logical Decoding
    50. Replication Progress Tracking
    51. Archive Modules
    VI. Reference
    I. SQL Commands
    II. PostgreSQL Client Applications
    III. PostgreSQL Server Applications
    VII. Internals
    52. Overview of PostgreSQL Internals
    53. System Catalogs
    54. System Views
    55. Frontend/Backend Protocol
    56. PostgreSQL Coding Conventions
    57. Native Language Support
    58. Writing a Procedural Language Handler
    59. Writing a Foreign Data Wrapper
    60. Writing a Table Sampling Method
    61. Writing a Custom Scan Provider
    62. Genetic Query Optimizer
    63. Table Access Method Interface Definition
    64. Index Access Method Interface Definition
    65. Generic WAL Records
    66. Custom WAL Resource Managers
    67. B-Tree Indexes
    68. GiST Indexes
    69. SP-GiST Indexes
    70. GIN Indexes
    71. BRIN Indexes
    72. Hash Indexes
    73. Database Physical Storage
    74. System Catalog Declarations and Initial Contents
    75. How the Planner Uses Statistics
    76. Backup Manifest Format
    VIII. Appendixes
    A. PostgreSQL Error Codes
    B. Date/Time Support
    C. SQL Key Words
    D. SQL Conformance
    E. Release Notes
    F. Additional Supplied Modules
    G. Additional Supplied Programs
    H. External Projects
    I. The Source Code Repository
    J. Documentation
    K. PostgreSQL Limits
    L. Acronyms
    M. Glossary
    N. Color Support
    O. Obsolete or Renamed Features
    Bibliography
    Index
    \ No newline at end of file +PostgreSQL 15.18 Documentation

    PostgreSQL 15.18 Documentation

    The PostgreSQL Global Development Group


    Table of Contents

    Preface
    1. What Is PostgreSQL?
    2. A Brief History of PostgreSQL
    3. Conventions
    4. Further Information
    5. Bug Reporting Guidelines
    I. Tutorial
    1. Getting Started
    2. The SQL Language
    3. Advanced Features
    II. The SQL Language
    4. SQL Syntax
    5. Data Definition
    6. Data Manipulation
    7. Queries
    8. Data Types
    9. Functions and Operators
    10. Type Conversion
    11. Indexes
    12. Full Text Search
    13. Concurrency Control
    14. Performance Tips
    15. Parallel Query
    III. Server Administration
    16. Installation from Binaries
    17. Installation from Source Code
    18. Installation from Source Code on Windows
    19. Server Setup and Operation
    20. Server Configuration
    21. Client Authentication
    22. Database Roles
    23. Managing Databases
    24. Localization
    25. Routine Database Maintenance Tasks
    26. Backup and Restore
    27. High Availability, Load Balancing, and Replication
    28. Monitoring Database Activity
    29. Monitoring Disk Usage
    30. Reliability and the Write-Ahead Log
    31. Logical Replication
    32. Just-in-Time Compilation (JIT)
    33. Regression Tests
    IV. Client Interfaces
    34. libpq — C Library
    35. Large Objects
    36. ECPG — Embedded SQL in C
    37. The Information Schema
    V. Server Programming
    38. Extending SQL
    39. Triggers
    40. Event Triggers
    41. The Rule System
    42. Procedural Languages
    43. PL/pgSQLSQL Procedural Language
    44. PL/Tcl — Tcl Procedural Language
    45. PL/Perl — Perl Procedural Language
    46. PL/Python — Python Procedural Language
    47. Server Programming Interface
    48. Background Worker Processes
    49. Logical Decoding
    50. Replication Progress Tracking
    51. Archive Modules
    VI. Reference
    I. SQL Commands
    II. PostgreSQL Client Applications
    III. PostgreSQL Server Applications
    VII. Internals
    52. Overview of PostgreSQL Internals
    53. System Catalogs
    54. System Views
    55. Frontend/Backend Protocol
    56. PostgreSQL Coding Conventions
    57. Native Language Support
    58. Writing a Procedural Language Handler
    59. Writing a Foreign Data Wrapper
    60. Writing a Table Sampling Method
    61. Writing a Custom Scan Provider
    62. Genetic Query Optimizer
    63. Table Access Method Interface Definition
    64. Index Access Method Interface Definition
    65. Generic WAL Records
    66. Custom WAL Resource Managers
    67. B-Tree Indexes
    68. GiST Indexes
    69. SP-GiST Indexes
    70. GIN Indexes
    71. BRIN Indexes
    72. Hash Indexes
    73. Database Physical Storage
    74. System Catalog Declarations and Initial Contents
    75. How the Planner Uses Statistics
    76. Backup Manifest Format
    VIII. Appendixes
    A. PostgreSQL Error Codes
    B. Date/Time Support
    C. SQL Key Words
    D. SQL Conformance
    E. Release Notes
    F. Additional Supplied Modules
    G. Additional Supplied Programs
    H. External Projects
    I. The Source Code Repository
    J. Documentation
    K. PostgreSQL Limits
    L. Acronyms
    M. Glossary
    N. Color Support
    O. Obsolete or Renamed Features
    Bibliography
    Index
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexam.html postgresql-15-15.18/doc/src/sgml/html/indexam.html --- postgresql-15-15.17/doc/src/sgml/html/indexam.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexam.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 64. Index Access Method Interface Definition

    Chapter 64. Index Access Method Interface Definition

    +Chapter 64. Index Access Method Interface Definition

    Chapter 64. Index Access Method Interface Definition

    This chapter defines the interface between the core PostgreSQL system and index access methods, which manage individual index types. The core system @@ -32,4 +32,4 @@ statement; but indexes do not deal with those, either.) Index entries for dead tuples are reclaimed (by vacuuming) when the dead tuples themselves are reclaimed. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-bitmap-scans.html postgresql-15-15.18/doc/src/sgml/html/indexes-bitmap-scans.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-bitmap-scans.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-bitmap-scans.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.5. Combining Multiple Indexes

    11.5. Combining Multiple Indexes

    +11.5. Combining Multiple Indexes

    11.5. Combining Multiple Indexes

    A single index scan can only use query clauses that use the index's columns with operators of its operator class and are joined with AND. For example, given an index on (a, b) @@ -58,4 +58,4 @@ common. If one of the types of query is much less common than the others, you'd probably settle for creating just the two indexes that best match the common types. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-collations.html postgresql-15-15.18/doc/src/sgml/html/indexes-collations.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-collations.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-collations.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.11. Indexes and Collations

    11.11. Indexes and Collations

    +11.11. Indexes and Collations

    11.11. Indexes and Collations

    An index can support only one collation per index column. If multiple collations are of interest, multiple indexes may be needed.

    @@ -28,4 +28,4 @@

     CREATE INDEX test1c_content_y_index ON test1c (content COLLATE "y");
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-examine.html postgresql-15-15.18/doc/src/sgml/html/indexes-examine.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-examine.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-examine.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.12. Examining Index Usage

    11.12. Examining Index Usage

    +11.12. Examining Index Usage

    11.12. Examining Index Usage

    Although indexes in PostgreSQL do not need maintenance or tuning, it is still important to check which indexes are actually used by the real-life query workload. @@ -79,4 +79,4 @@ appropriate, then you might have to resort to forcing index usage explicitly. You might also want to contact the PostgreSQL developers to examine the issue. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-expressional.html postgresql-15-15.18/doc/src/sgml/html/indexes-expressional.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-expressional.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-expressional.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.7. Indexes on Expressions

    11.7. Indexes on Expressions

    +11.7. Indexes on Expressions

    11.7. Indexes on Expressions

    An index column need not be just a column of the underlying table, but can be a function or scalar expression computed from one or more columns of the table. This feature is useful to obtain fast @@ -46,4 +46,4 @@ and so the speed of the search is equivalent to any other simple index query. Thus, indexes on expressions are useful when retrieval speed is more important than insertion and update speed. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-index-only-scans.html postgresql-15-15.18/doc/src/sgml/html/indexes-index-only-scans.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-index-only-scans.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-index-only-scans.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.9. Index-Only Scans and Covering Indexes

    11.9. Index-Only Scans and Covering Indexes

    +11.9. Index-Only Scans and Covering Indexes

    11.9. Index-Only Scans and Covering Indexes

    All indexes in PostgreSQL are secondary indexes, meaning that each index is stored separately from the table's main data area (which is called the @@ -206,4 +206,4 @@ checked in the plan. PostgreSQL versions 9.6 and later will recognize such cases and allow index-only scans to be generated, but older versions will not. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-intro.html postgresql-15-15.18/doc/src/sgml/html/indexes-intro.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-intro.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-intro.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.1. Introduction

    11.1. Introduction

    +11.1. Introduction

    11.1. Introduction

    Suppose we have a table similar to this:

     CREATE TABLE test1 (
    @@ -103,4 +103,4 @@
        tuples.
        Therefore indexes that are seldom or never used in queries
        should be removed.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-multicolumn.html postgresql-15-15.18/doc/src/sgml/html/indexes-multicolumn.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-multicolumn.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-multicolumn.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.3. Multicolumn Indexes

    11.3. Multicolumn Indexes

    +11.3. Multicolumn Indexes

    11.3. Multicolumn Indexes

    An index can be defined on more than one column of a table. For example, if you have a table of this form:

    @@ -79,4 +79,4 @@
        Section 11.5 and
        Section 11.9 for some discussion of the
        merits of different index configurations.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-opclass.html postgresql-15-15.18/doc/src/sgml/html/indexes-opclass.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-opclass.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-opclass.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.10. Operator Classes and Operator Families

    11.10. Operator Classes and Operator Families

    +11.10. Operator Classes and Operator Families

    11.10. Operator Classes and Operator Families

    An index definition can specify an operator class for each column of an index.

    @@ -104,4 +104,4 @@
         commands \dAc, \dAf,
         and \dAo, which provide slightly more sophisticated
         versions of these queries.
    -   

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-ordering.html postgresql-15-15.18/doc/src/sgml/html/indexes-ordering.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-ordering.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-ordering.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.4. Indexes and ORDER BY

    11.4. Indexes and ORDER BY

    +11.4. Indexes and ORDER BY

    11.4. Indexes and ORDER BY

    In addition to simply finding the rows to be returned by a query, an index may be able to deliver them in a specific sorted order. This allows a query's ORDER BY specification to be honored @@ -61,4 +61,4 @@ speedups for certain queries. Whether it's worth maintaining such an index depends on how often you use queries that require a special sort ordering. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-partial.html postgresql-15-15.18/doc/src/sgml/html/indexes-partial.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-partial.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-partial.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.8. Partial Indexes

    11.8. Partial Indexes

    +11.8. Partial Indexes

    11.8. Partial Indexes

    A partial index is an index built over a subset of a table; the subset is defined by a conditional expression (called the predicate of the @@ -209,4 +209,4 @@ far better performance is possible.


    More information about partial indexes can be found in [ston89b], [olson93], and [seshadri95]. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-types.html postgresql-15-15.18/doc/src/sgml/html/indexes-types.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-types.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-types.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.2. Index Types

    11.2. Index Types

    +11.2. Index Types

    11.2. Index Types

    PostgreSQL provides several index types: B-tree, Hash, GiST, SP-GiST, GIN, BRIN, and the extension bloom. Each index type uses a different @@ -159,4 +159,4 @@ The BRIN operator classes included in the standard distribution are documented in Table 71.1. For more information see Chapter 71. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes-unique.html postgresql-15-15.18/doc/src/sgml/html/indexes-unique.html --- postgresql-15-15.17/doc/src/sgml/html/indexes-unique.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes-unique.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -11.6. Unique Indexes

    11.6. Unique Indexes

    +11.6. Unique Indexes

    11.6. Unique Indexes

    Indexes can also be used to enforce uniqueness of a column's value, or the uniqueness of the combined values of more than one column.

    @@ -23,4 +23,4 @@
         There's no need to manually
         create indexes on unique columns; doing so would just duplicate
         the automatically-created index.
    -   

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/indexes.html postgresql-15-15.18/doc/src/sgml/html/indexes.html --- postgresql-15-15.17/doc/src/sgml/html/indexes.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/indexes.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,8 +1,8 @@ -Chapter 11. Indexes \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/information-schema.html postgresql-15-15.18/doc/src/sgml/html/information-schema.html --- postgresql-15-15.17/doc/src/sgml/html/information-schema.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/information-schema.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 37. The Information Schema

    Chapter 37. The Information Schema

    Table of Contents

    37.1. The Schema
    37.2. Data Types
    37.3. information_schema_catalog_name
    37.4. administrable_role_​authorizations
    37.5. applicable_roles
    37.6. attributes
    37.7. character_sets
    37.8. check_constraint_routine_usage
    37.9. check_constraints
    37.10. collations
    37.11. collation_character_set_​applicability
    37.12. column_column_usage
    37.13. column_domain_usage
    37.14. column_options
    37.15. column_privileges
    37.16. column_udt_usage
    37.17. columns
    37.18. constraint_column_usage
    37.19. constraint_table_usage
    37.20. data_type_privileges
    37.21. domain_constraints
    37.22. domain_udt_usage
    37.23. domains
    37.24. element_types
    37.25. enabled_roles
    37.26. foreign_data_wrapper_options
    37.27. foreign_data_wrappers
    37.28. foreign_server_options
    37.29. foreign_servers
    37.30. foreign_table_options
    37.31. foreign_tables
    37.32. key_column_usage
    37.33. parameters
    37.34. referential_constraints
    37.35. role_column_grants
    37.36. role_routine_grants
    37.37. role_table_grants
    37.38. role_udt_grants
    37.39. role_usage_grants
    37.40. routine_column_usage
    37.41. routine_privileges
    37.42. routine_routine_usage
    37.43. routine_sequence_usage
    37.44. routine_table_usage
    37.45. routines
    37.46. schemata
    37.47. sequences
    37.48. sql_features
    37.49. sql_implementation_info
    37.50. sql_parts
    37.51. sql_sizing
    37.52. table_constraints
    37.53. table_privileges
    37.54. tables
    37.55. transforms
    37.56. triggered_update_columns
    37.57. triggers
    37.58. udt_privileges
    37.59. usage_privileges
    37.60. user_defined_types
    37.61. user_mapping_options
    37.62. user_mappings
    37.63. view_column_usage
    37.64. view_routine_usage
    37.65. view_table_usage
    37.66. views

    +Chapter 37. The Information Schema

    Chapter 37. The Information Schema

    Table of Contents

    37.1. The Schema
    37.2. Data Types
    37.3. information_schema_catalog_name
    37.4. administrable_role_​authorizations
    37.5. applicable_roles
    37.6. attributes
    37.7. character_sets
    37.8. check_constraint_routine_usage
    37.9. check_constraints
    37.10. collations
    37.11. collation_character_set_​applicability
    37.12. column_column_usage
    37.13. column_domain_usage
    37.14. column_options
    37.15. column_privileges
    37.16. column_udt_usage
    37.17. columns
    37.18. constraint_column_usage
    37.19. constraint_table_usage
    37.20. data_type_privileges
    37.21. domain_constraints
    37.22. domain_udt_usage
    37.23. domains
    37.24. element_types
    37.25. enabled_roles
    37.26. foreign_data_wrapper_options
    37.27. foreign_data_wrappers
    37.28. foreign_server_options
    37.29. foreign_servers
    37.30. foreign_table_options
    37.31. foreign_tables
    37.32. key_column_usage
    37.33. parameters
    37.34. referential_constraints
    37.35. role_column_grants
    37.36. role_routine_grants
    37.37. role_table_grants
    37.38. role_udt_grants
    37.39. role_usage_grants
    37.40. routine_column_usage
    37.41. routine_privileges
    37.42. routine_routine_usage
    37.43. routine_sequence_usage
    37.44. routine_table_usage
    37.45. routines
    37.46. schemata
    37.47. sequences
    37.48. sql_features
    37.49. sql_implementation_info
    37.50. sql_parts
    37.51. sql_sizing
    37.52. table_constraints
    37.53. table_privileges
    37.54. tables
    37.55. transforms
    37.56. triggered_update_columns
    37.57. triggers
    37.58. udt_privileges
    37.59. usage_privileges
    37.60. user_defined_types
    37.61. user_mapping_options
    37.62. user_mappings
    37.63. view_column_usage
    37.64. view_routine_usage
    37.65. view_table_usage
    37.66. views

    The information schema consists of a set of views that contain information about the objects defined in the current database. The information schema is defined in the SQL standard and can therefore @@ -28,4 +28,4 @@ issues but contain the table name to help distinguish duplicate rows, e.g., constraint_column_usage, constraint_table_usage, table_constraints. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-administrable-role-authorizations.html postgresql-15-15.18/doc/src/sgml/html/infoschema-administrable-role-authorizations.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-administrable-role-authorizations.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-administrable-role-authorizations.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.4. administrable_role_​authorizations

    37.4. administrable_role_​authorizations

    +37.4. administrable_role_​authorizations

    37.4. administrable_role_​authorizations

    The view administrable_role_authorizations identifies all roles that the current user has the admin option for. @@ -25,4 +25,4 @@

    Always YES -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-applicable-roles.html postgresql-15-15.18/doc/src/sgml/html/infoschema-applicable-roles.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-applicable-roles.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-applicable-roles.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.5. applicable_roles

    37.5. applicable_roles

    +37.5. applicable_roles

    37.5. applicable_roles

    The view applicable_roles identifies all roles whose privileges the current user can use. This means there is some chain of role grants from the current user to the role in @@ -30,4 +30,4 @@

    YES if the grantee has the admin option on the role, NO if not -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-attributes.html postgresql-15-15.18/doc/src/sgml/html/infoschema-attributes.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-attributes.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-attributes.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.6. attributes

    37.6. attributes

    +37.6. attributes

    37.6. attributes

    The view attributes contains information about the attributes of composite data types defined in the database. (Note that the view does not give information about table columns, @@ -223,4 +223,4 @@


    See also under Section 37.17, a similarly structured view, for further information on some of the columns. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-character-sets.html postgresql-15-15.18/doc/src/sgml/html/infoschema-character-sets.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-character-sets.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-character-sets.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.7. character_sets

    37.7. character_sets

    +37.7. character_sets

    37.7. character_sets

    The view character_sets identifies the character sets available in the current database. Since PostgreSQL does not support multiple character sets within one database, this view only @@ -83,4 +83,4 @@ settings of the current database. If there is no such collation, then this column and the associated schema and catalog columns are null. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-check-constraint-routine-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-check-constraint-routine-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-check-constraint-routine-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-check-constraint-routine-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.8. check_constraint_routine_usage

    37.8. check_constraint_routine_usage

    +37.8. check_constraint_routine_usage

    37.8. check_constraint_routine_usage

    The view check_constraint_routine_usage identifies routines (functions and procedures) that are used by a check constraint. Only those routines are shown that are owned by @@ -39,4 +39,4 @@

    The specific name of the function. See Section 37.45 for more information. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-check-constraints.html postgresql-15-15.18/doc/src/sgml/html/infoschema-check-constraints.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-check-constraints.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-check-constraints.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.9. check_constraints

    37.9. check_constraints

    +37.9. check_constraints

    37.9. check_constraints

    The view check_constraints contains all check constraints, either defined on a table or on a domain, that are owned by a currently enabled role. (The owner of the table or @@ -29,4 +29,4 @@

    The check expression of the check constraint -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-collation-character-set-applicab.html postgresql-15-15.18/doc/src/sgml/html/infoschema-collation-character-set-applicab.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-collation-character-set-applicab.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-collation-character-set-applicab.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.11. collation_character_set_​applicability

    37.11. collation_character_set_​applicability

    +37.11. collation_character_set_​applicability

    37.11. collation_character_set_​applicability

    The view collation_character_set_applicability identifies which character set the available collations are applicable to. In PostgreSQL, there is only one character set per @@ -41,4 +41,4 @@

    Name of the character set -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-collations.html postgresql-15-15.18/doc/src/sgml/html/infoschema-collations.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-collations.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-collations.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.10. collations

    37.10. collations

    +37.10. collations

    37.10. collations

    The view collations contains the collations available in the current database.

    Table 37.8. collations Columns

    @@ -28,4 +28,4 @@

    Always NO PAD (The alternative PAD SPACE is not supported by PostgreSQL.) -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-column-column-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-column-column-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-column-column-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-column-column-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.12. column_column_usage

    37.12. column_column_usage

    +37.12. column_column_usage

    37.12. column_column_usage

    The view column_column_usage identifies all generated columns that depend on another base column in the same table. Only tables owned by a currently enabled role are included. @@ -33,4 +33,4 @@

    Name of the generated column -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-column-domain-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-column-domain-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-column-domain-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-column-domain-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.13. column_domain_usage

    37.13. column_domain_usage

    +37.13. column_domain_usage

    37.13. column_domain_usage

    The view column_domain_usage identifies all columns (of a table or a view) that make use of some domain defined in the current database and owned by a currently enabled role. @@ -43,4 +43,4 @@

    Name of the column -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-column-options.html postgresql-15-15.18/doc/src/sgml/html/infoschema-column-options.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-column-options.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-column-options.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.14. column_options

    37.14. column_options

    +37.14. column_options

    37.14. column_options

    The view column_options contains all the options defined for foreign table columns in the current database. Only those foreign table columns are shown that the current user has access to @@ -39,4 +39,4 @@

    Value of the option -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-column-privileges.html postgresql-15-15.18/doc/src/sgml/html/infoschema-column-privileges.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-column-privileges.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-column-privileges.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.15. column_privileges

    37.15. column_privileges

    +37.15. column_privileges

    37.15. column_privileges

    The view column_privileges identifies all privileges granted on columns to a currently enabled role or by a currently enabled role. There is one row for each combination of @@ -57,4 +57,4 @@

    YES if the privilege is grantable, NO if not -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-column-udt-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-column-udt-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-column-udt-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-column-udt-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.16. column_udt_usage

    37.16. column_udt_usage

    +37.16. column_udt_usage

    37.16. column_udt_usage

    The view column_udt_usage identifies all columns that use data types owned by a currently enabled role. Note that in PostgreSQL, built-in data types behave @@ -49,4 +49,4 @@

    Name of the column -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-columns.html postgresql-15-15.18/doc/src/sgml/html/infoschema-columns.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-columns.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-columns.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.17. columns

    37.17. columns

    +37.17. columns

    37.17. columns

    The view columns contains information about all table columns (or view columns) in the database. System columns (ctid, etc.) are not included. Only those columns are @@ -334,4 +334,4 @@ columns with their associated data types and treat domains as separate types, you could write coalesce(domain_name, udt_name), etc. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-constraint-column-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-constraint-column-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-constraint-column-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-constraint-column-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.18. constraint_column_usage

    37.18. constraint_column_usage

    +37.18. constraint_column_usage

    37.18. constraint_column_usage

    The view constraint_column_usage identifies all columns in the current database that are used by some constraint. Only those columns are shown that are contained in a table owned by @@ -52,4 +52,4 @@

    Name of the constraint -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-constraint-table-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-constraint-table-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-constraint-table-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-constraint-table-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.19. constraint_table_usage

    37.19. constraint_table_usage

    +37.19. constraint_table_usage

    37.19. constraint_table_usage

    The view constraint_table_usage identifies all tables in the current database that are used by some constraint and are owned by a currently enabled role. (This is different from the @@ -47,4 +47,4 @@

    Name of the constraint -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-data-type-privileges.html postgresql-15-15.18/doc/src/sgml/html/infoschema-data-type-privileges.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-data-type-privileges.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-data-type-privileges.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.20. data_type_privileges

    37.20. data_type_privileges

    +37.20. data_type_privileges

    37.20. data_type_privileges

    The view data_type_privileges identifies all data type descriptors that the current user has access to, by way of being the owner of the described object or having some privilege @@ -49,4 +49,4 @@

    The identifier of the data type descriptor, which is unique among the data type descriptors for that same object. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-datatypes.html postgresql-15-15.18/doc/src/sgml/html/infoschema-datatypes.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-datatypes.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-datatypes.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.2. Data Types

    37.2. Data Types

    +37.2. Data Types

    37.2. Data Types

    The columns of the information schema views use special data types that are defined in the information schema. These are defined as simple domains over ordinary built-in types. You should not use @@ -30,4 +30,4 @@

    Every column in the information schema has one of these five types. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-domain-constraints.html postgresql-15-15.18/doc/src/sgml/html/infoschema-domain-constraints.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-domain-constraints.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-domain-constraints.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.21. domain_constraints

    37.21. domain_constraints

    +37.21. domain_constraints

    37.21. domain_constraints

    The view domain_constraints contains all constraints belonging to domains defined in the current database. Only those domains are shown that the current user has access to (by way of being the owner or @@ -49,4 +49,4 @@

    YES if the constraint is deferrable and initially deferred, NO if not -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-domain-udt-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-domain-udt-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-domain-udt-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-domain-udt-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.22. domain_udt_usage

    37.22. domain_udt_usage

    +37.22. domain_udt_usage

    37.22. domain_udt_usage

    The view domain_udt_usage identifies all domains that are based on data types owned by a currently enabled role. Note that in PostgreSQL, built-in data @@ -40,4 +40,4 @@

    Name of the domain -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-domains.html postgresql-15-15.18/doc/src/sgml/html/infoschema-domains.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-domains.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-domains.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.23. domains

    37.23. domains

    +37.23. domains

    37.23. domains

    The view domains contains all domains defined in the current database. Only those domains are shown that the current user has @@ -194,4 +194,4 @@ instances of such identifiers. (The specific format of the identifier is not defined and not guaranteed to remain the same in future versions.) -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-element-types.html postgresql-15-15.18/doc/src/sgml/html/infoschema-element-types.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-element-types.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-element-types.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.24. element_types

    37.24. element_types

    +37.24. element_types

    37.24. element_types

    The view element_types contains the data type descriptors of the elements of arrays. When a table column, composite-type attribute, domain, function parameter, or function return value is defined to @@ -191,4 +191,4 @@

    An identifier of the data type descriptor of the element. This is currently not useful. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-enabled-roles.html postgresql-15-15.18/doc/src/sgml/html/infoschema-enabled-roles.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-enabled-roles.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-enabled-roles.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.25. enabled_roles

    37.25. enabled_roles

    +37.25. enabled_roles

    37.25. enabled_roles

    The view enabled_roles identifies the currently enabled roles. The enabled roles are recursively defined as the current user together with all roles that have been @@ -25,4 +25,4 @@

    Name of a role -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-data-wrapper-options.html postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-data-wrapper-options.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-data-wrapper-options.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-data-wrapper-options.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.26. foreign_data_wrapper_options

    37.26. foreign_data_wrapper_options

    +37.26. foreign_data_wrapper_options

    37.26. foreign_data_wrapper_options

    The view foreign_data_wrapper_options contains all the options defined for foreign-data wrappers in the current database. Only those foreign-data wrappers are shown that the @@ -30,4 +30,4 @@

    Value of the option -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-data-wrappers.html postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-data-wrappers.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-data-wrappers.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-data-wrappers.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.27. foreign_data_wrappers

    37.27. foreign_data_wrappers

    +37.27. foreign_data_wrappers

    37.27. foreign_data_wrappers

    The view foreign_data_wrappers contains all foreign-data wrappers defined in the current database. Only those foreign-data wrappers are shown that the current user has access to @@ -35,4 +35,4 @@

    Language used to implement this foreign-data wrapper -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-server-options.html postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-server-options.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-server-options.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-server-options.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.28. foreign_server_options

    37.28. foreign_server_options

    +37.28. foreign_server_options

    37.28. foreign_server_options

    The view foreign_server_options contains all the options defined for foreign servers in the current database. Only those foreign servers are shown that the current user has access to @@ -29,4 +29,4 @@

    Value of the option -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-servers.html postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-servers.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-servers.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-servers.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.29. foreign_servers

    37.29. foreign_servers

    +37.29. foreign_servers

    37.29. foreign_servers

    The view foreign_servers contains all foreign servers defined in the current database. Only those foreign servers are shown that the current user has access to (by way of @@ -45,4 +45,4 @@

    Name of the owner of the foreign server -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-table-options.html postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-table-options.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-table-options.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-table-options.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.30. foreign_table_options

    37.30. foreign_table_options

    +37.30. foreign_table_options

    37.30. foreign_table_options

    The view foreign_table_options contains all the options defined for foreign tables in the current database. Only those foreign tables are shown that the current user has access to @@ -34,4 +34,4 @@

    Value of the option -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-tables.html postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-tables.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-foreign-tables.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-foreign-tables.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.31. foreign_tables

    37.31. foreign_tables

    +37.31. foreign_tables

    37.31. foreign_tables

    The view foreign_tables contains all foreign tables defined in the current database. Only those foreign tables are shown that the current user has access to (by way of @@ -34,4 +34,4 @@

    Name of the foreign server -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-information-schema-catalog-name.html postgresql-15-15.18/doc/src/sgml/html/infoschema-information-schema-catalog-name.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-information-schema-catalog-name.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-information-schema-catalog-name.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.3. information_schema_catalog_name

    37.3. information_schema_catalog_name

    +37.3. information_schema_catalog_name

    37.3. information_schema_catalog_name

    information_schema_catalog_name is a table that always contains one row and one column containing the name of the current database (current catalog, in SQL terminology). @@ -13,4 +13,4 @@

    Name of the database that contains this information schema -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-key-column-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-key-column-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-key-column-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-key-column-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.32. key_column_usage

    37.32. key_column_usage

    +37.32. key_column_usage

    37.32. key_column_usage

    The view key_column_usage identifies all columns in the current database that are restricted by some unique, primary key, or foreign key constraint. Check constraints are not included @@ -62,4 +62,4 @@ For a foreign-key constraint, ordinal position of the referenced column within its unique constraint (count starts at 1); otherwise null -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-parameters.html postgresql-15-15.18/doc/src/sgml/html/infoschema-parameters.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-parameters.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-parameters.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.33. parameters

    37.33. parameters

    +37.33. parameters

    37.33. parameters

    The view parameters contains information about the parameters (arguments) of all functions in the current database. Only those functions are shown that the current user has access to @@ -185,4 +185,4 @@

    The default expression of the parameter, or null if none or if the function is not owned by a currently enabled role. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-referential-constraints.html postgresql-15-15.18/doc/src/sgml/html/infoschema-referential-constraints.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-referential-constraints.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-referential-constraints.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.34. referential_constraints

    37.34. referential_constraints

    +37.34. referential_constraints

    37.34. referential_constraints

    The view referential_constraints contains all referential (foreign key) constraints in the current database. Only those constraints are shown for which the current user has @@ -67,4 +67,4 @@ CASCADE, SET NULL, SET DEFAULT, RESTRICT, or NO ACTION. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-role-column-grants.html postgresql-15-15.18/doc/src/sgml/html/infoschema-role-column-grants.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-role-column-grants.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-role-column-grants.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.35. role_column_grants

    37.35. role_column_grants

    +37.35. role_column_grants

    37.35. role_column_grants

    The view role_column_grants identifies all privileges granted on columns where the grantor or grantee is a currently enabled role. Further information can be found under @@ -55,4 +55,4 @@

    YES if the privilege is grantable, NO if not -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-role-routine-grants.html postgresql-15-15.18/doc/src/sgml/html/infoschema-role-routine-grants.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-role-routine-grants.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-role-routine-grants.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.36. role_routine_grants

    37.36. role_routine_grants

    +37.36. role_routine_grants

    37.36. role_routine_grants

    The view role_routine_grants identifies all privileges granted on functions where the grantor or grantee is a currently enabled role. Further information can be found under @@ -63,4 +63,4 @@

    YES if the privilege is grantable, NO if not -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-role-table-grants.html postgresql-15-15.18/doc/src/sgml/html/infoschema-role-table-grants.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-role-table-grants.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-role-table-grants.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.37. role_table_grants

    37.37. role_table_grants

    +37.37. role_table_grants

    37.37. role_table_grants

    The view role_table_grants identifies all privileges granted on tables or views where the grantor or grantee is a currently enabled role. Further information can be found @@ -61,4 +61,4 @@ in the SELECT privilege, so this column shows YES if the privilege is SELECT, else NO. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-role-udt-grants.html postgresql-15-15.18/doc/src/sgml/html/infoschema-role-udt-grants.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-role-udt-grants.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-role-udt-grants.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.38. role_udt_grants

    37.38. role_udt_grants

    +37.38. role_udt_grants

    37.38. role_udt_grants

    The view role_udt_grants is intended to identify USAGE privileges granted on user-defined types where the grantor or grantee is a currently enabled role. Further @@ -50,4 +50,4 @@

    YES if the privilege is grantable, NO if not -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-role-usage-grants.html postgresql-15-15.18/doc/src/sgml/html/infoschema-role-usage-grants.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-role-usage-grants.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-role-usage-grants.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.39. role_usage_grants

    37.39. role_usage_grants

    +37.39. role_usage_grants

    37.39. role_usage_grants

    The view role_usage_grants identifies USAGE privileges granted on various kinds of objects where the grantor or grantee is a currently enabled role. @@ -54,4 +54,4 @@

    YES if the privilege is grantable, NO if not -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-routine-column-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-routine-column-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-routine-column-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-routine-column-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.40. routine_column_usage

    37.40. routine_column_usage

    +37.40. routine_column_usage

    37.40. routine_column_usage

    The view routine_column_usage identifies all columns that are used by a function or procedure, either in the SQL body or in parameter default expressions. (This only works for unquoted SQL bodies, @@ -61,4 +61,4 @@

    Name of the column that is used by the function -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-routine-privileges.html postgresql-15-15.18/doc/src/sgml/html/infoschema-routine-privileges.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-routine-privileges.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-routine-privileges.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.41. routine_privileges

    37.41. routine_privileges

    +37.41. routine_privileges

    37.41. routine_privileges

    The view routine_privileges identifies all privileges granted on functions to a currently enabled role or by a currently enabled role. There is one row for each combination of function, @@ -59,4 +59,4 @@

    YES if the privilege is grantable, NO if not -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-routine-routine-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-routine-routine-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-routine-routine-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-routine-routine-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.42. routine_routine_usage

    37.42. routine_routine_usage

    +37.42. routine_routine_usage

    37.42. routine_routine_usage

    The view routine_routine_usage identifies all functions or procedures that are used by another (or the same) function or procedure, either in the SQL body or in parameter default expressions. (This only @@ -52,4 +52,4 @@

    The specific name of the function that is used by the first function. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-routine-sequence-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-routine-sequence-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-routine-sequence-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-routine-sequence-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.43. routine_sequence_usage

    37.43. routine_sequence_usage

    +37.43. routine_sequence_usage

    37.43. routine_sequence_usage

    The view routine_sequence_usage identifies all sequences that are used by a function or procedure, either in the SQL body or in parameter default expressions. (This only works for unquoted SQL bodies, @@ -56,4 +56,4 @@

    Name of the sequence that is used by the function -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-routine-table-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-routine-table-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-routine-table-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-routine-table-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.44. routine_table_usage

    37.44. routine_table_usage

    +37.44. routine_table_usage

    37.44. routine_table_usage

    The view routine_table_usage is meant to identify all tables that are used by a function or procedure. This information is currently not tracked by PostgreSQL. @@ -54,4 +54,4 @@

    Name of the table that is used by the function -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-routines.html postgresql-15-15.18/doc/src/sgml/html/infoschema-routines.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-routines.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-routines.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.45. routines

    37.45. routines

    +37.45. routines

    37.45. routines

    The view routines contains all functions and procedures in the current database. Only those functions and procedures are shown that the current user has access to (by way of being the owner or having some @@ -461,4 +461,4 @@

    Applies to a feature not available in PostgreSQL -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-schema.html postgresql-15-15.18/doc/src/sgml/html/infoschema-schema.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-schema.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-schema.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.1. The Schema

    37.1. The Schema

    +37.1. The Schema

    37.1. The Schema

    The information schema itself is a schema named information_schema. This schema automatically exists in all databases. The owner of this schema is the initial @@ -13,4 +13,4 @@ schema are generic names that might occur in user applications, you should be careful if you want to put the information schema in the path. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-schemata.html postgresql-15-15.18/doc/src/sgml/html/infoschema-schemata.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-schemata.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-schemata.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.46. schemata

    37.46. schemata

    +37.46. schemata

    37.46. schemata

    The view schemata contains all schemas in the current database that the current user has access to (by way of being the owner or having some privilege). @@ -43,4 +43,4 @@

    Applies to a feature not available in PostgreSQL -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-sequences.html postgresql-15-15.18/doc/src/sgml/html/infoschema-sequences.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-sequences.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-sequences.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.47. sequences

    37.47. sequences

    +37.47. sequences

    37.47. sequences

    The view sequences contains all sequences defined in the current database. Only those sequences are shown that the current user has access to (by way of being the owner or @@ -84,4 +84,4 @@


    Note that in accordance with the SQL standard, the start, minimum, maximum, and increment values are returned as character strings. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-sql-features.html postgresql-15-15.18/doc/src/sgml/html/infoschema-sql-features.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-sql-features.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-sql-features.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.48. sql_features

    37.48. sql_features

    +37.48. sql_features

    37.48. sql_features

    The table sql_features contains information about which formal features defined in the SQL standard are supported by PostgreSQL. This is the @@ -47,4 +47,4 @@

    Possibly a comment about the supported status of the feature -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-sql-implementation-info.html postgresql-15-15.18/doc/src/sgml/html/infoschema-sql-implementation-info.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-sql-implementation-info.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-sql-implementation-info.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.49. sql_implementation_info

    37.49. sql_implementation_info

    +37.49. sql_implementation_info

    37.49. sql_implementation_info

    The table sql_implementation_info contains information about various aspects that are left implementation-defined by the SQL standard. This information is @@ -42,4 +42,4 @@

    Possibly a comment pertaining to the implementation information item -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-sql-parts.html postgresql-15-15.18/doc/src/sgml/html/infoschema-sql-parts.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-sql-parts.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-sql-parts.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.50. sql_parts

    37.50. sql_parts

    +37.50. sql_parts

    37.50. sql_parts

    The table sql_parts contains information about which of the several parts of the SQL standard are supported by PostgreSQL. @@ -36,4 +36,4 @@

    Possibly a comment about the supported status of the part -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-sql-sizing.html postgresql-15-15.18/doc/src/sgml/html/infoschema-sql-sizing.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-sql-sizing.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-sql-sizing.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.51. sql_sizing

    37.51. sql_sizing

    +37.51. sql_sizing

    37.51. sql_sizing

    The table sql_sizing contains information about various size limits and maximum values in PostgreSQL. This information is @@ -35,4 +35,4 @@

    Possibly a comment pertaining to the sizing item -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-table-constraints.html postgresql-15-15.18/doc/src/sgml/html/infoschema-table-constraints.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-table-constraints.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-table-constraints.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.52. table_constraints

    37.52. table_constraints

    +37.52. table_constraints

    37.52. table_constraints

    The view table_constraints contains all constraints belonging to tables that the current user owns or has some privilege other than SELECT on. @@ -70,4 +70,4 @@ if the constraint treats nulls as distinct or NO if it treats nulls as not distinct, otherwise null for other types of constraints. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-table-privileges.html postgresql-15-15.18/doc/src/sgml/html/infoschema-table-privileges.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-table-privileges.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-table-privileges.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.53. table_privileges

    37.53. table_privileges

    +37.53. table_privileges

    37.53. table_privileges

    The view table_privileges identifies all privileges granted on tables or views to a currently enabled role or by a currently enabled role. There is one row for each @@ -57,4 +57,4 @@ in the SELECT privilege, so this column shows YES if the privilege is SELECT, else NO. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-tables.html postgresql-15-15.18/doc/src/sgml/html/infoschema-tables.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-tables.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-tables.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.54. tables

    37.54. tables

    +37.54. tables

    37.54. tables

    The view tables contains all tables and views defined in the current database. Only those tables and views are shown that the current user has access to (by way of being the @@ -79,4 +79,4 @@

    Not yet implemented -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-transforms.html postgresql-15-15.18/doc/src/sgml/html/infoschema-transforms.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-transforms.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-transforms.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.55. transforms

    37.55. transforms

    +37.55. transforms

    37.55. transforms

    The view transforms contains information about the transforms defined in the current database. More precisely, it contains a row for each function contained in a transform (the from SQL @@ -52,4 +52,4 @@

    FROM SQL or TO SQL -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-triggered-update-columns.html postgresql-15-15.18/doc/src/sgml/html/infoschema-triggered-update-columns.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-triggered-update-columns.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-triggered-update-columns.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.56. triggered_update_columns

    37.56. triggered_update_columns

    +37.56. triggered_update_columns

    37.56. triggered_update_columns

    For triggers in the current database that specify a column list (like UPDATE OF column1, column2), the view triggered_update_columns identifies these @@ -48,4 +48,4 @@

    Name of the column that the trigger is defined on -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-triggers.html postgresql-15-15.18/doc/src/sgml/html/infoschema-triggers.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-triggers.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-triggers.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.57. triggers

    37.57. triggers

    +37.57. triggers

    37.57. triggers

    The view triggers contains all triggers defined in the current database on tables and views that the current user owns or has some privilege other than SELECT on. @@ -147,4 +147,4 @@ respectively. That was how they were named in the SQL:1999 standard. The new naming conforms to SQL:2003 and later. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-udt-privileges.html postgresql-15-15.18/doc/src/sgml/html/infoschema-udt-privileges.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-udt-privileges.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-udt-privileges.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.58. udt_privileges

    37.58. udt_privileges

    +37.58. udt_privileges

    37.58. udt_privileges

    The view udt_privileges identifies USAGE privileges granted on user-defined types to a currently enabled role or by a currently enabled role. There is one row for @@ -47,4 +47,4 @@

    YES if the privilege is grantable, NO if not -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-usage-privileges.html postgresql-15-15.18/doc/src/sgml/html/infoschema-usage-privileges.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-usage-privileges.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-usage-privileges.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.59. usage_privileges

    37.59. usage_privileges

    +37.59. usage_privileges

    37.59. usage_privileges

    The view usage_privileges identifies USAGE privileges granted on various kinds of objects to a currently enabled role or by a currently enabled role. @@ -63,4 +63,4 @@

    YES if the privilege is grantable, NO if not -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-user-defined-types.html postgresql-15-15.18/doc/src/sgml/html/infoschema-user-defined-types.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-user-defined-types.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-user-defined-types.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.60. user_defined_types

    37.60. user_defined_types

    +37.60. user_defined_types

    37.60. user_defined_types

    The view user_defined_types currently contains all composite types defined in the current database. Only those types are shown that the current user has access to (by way @@ -165,4 +165,4 @@

    Applies to a feature not available in PostgreSQL -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-user-mapping-options.html postgresql-15-15.18/doc/src/sgml/html/infoschema-user-mapping-options.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-user-mapping-options.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-user-mapping-options.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.61. user_mapping_options

    37.61. user_mapping_options

    +37.61. user_mapping_options

    37.61. user_mapping_options

    The view user_mapping_options contains all the options defined for user mappings in the current database. Only those user mappings are shown where the current user has access to @@ -42,4 +42,4 @@ server owner, or the current user is a superuser. The intent is to protect password information stored as user mapping option. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-user-mappings.html postgresql-15-15.18/doc/src/sgml/html/infoschema-user-mappings.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-user-mappings.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-user-mappings.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.62. user_mappings

    37.62. user_mappings

    +37.62. user_mappings

    37.62. user_mappings

    The view user_mappings contains all user mappings defined in the current database. Only those user mappings are shown where the current user has access to the corresponding @@ -27,4 +27,4 @@

    Name of the foreign server used by this mapping -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-view-column-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-view-column-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-view-column-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-view-column-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.63. view_column_usage

    37.63. view_column_usage

    +37.63. view_column_usage

    37.63. view_column_usage

    The view view_column_usage identifies all columns that are used in the query expression of a view (the SELECT statement that defines the view). A @@ -51,4 +51,4 @@

    Name of the column that is used by the view -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-view-routine-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-view-routine-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-view-routine-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-view-routine-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.64. view_routine_usage

    37.64. view_routine_usage

    +37.64. view_routine_usage

    37.64. view_routine_usage

    The view view_routine_usage identifies all routines (functions and procedures) that are used in the query expression of a view (the SELECT statement that @@ -40,4 +40,4 @@

    The specific name of the function. See Section 37.45 for more information. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-view-table-usage.html postgresql-15-15.18/doc/src/sgml/html/infoschema-view-table-usage.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-view-table-usage.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-view-table-usage.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.65. view_table_usage

    37.65. view_table_usage

    +37.65. view_table_usage

    37.65. view_table_usage

    The view view_table_usage identifies all tables that are used in the query expression of a view (the SELECT statement that defines the view). A @@ -44,4 +44,4 @@

    Name of the table that is used by the view -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/infoschema-views.html postgresql-15-15.18/doc/src/sgml/html/infoschema-views.html --- postgresql-15-15.17/doc/src/sgml/html/infoschema-views.html 2026-02-23 22:14:28.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/infoschema-views.html 2026-05-11 20:02:40.000000000 +0000 @@ -1,5 +1,5 @@ -37.66. views

    37.66. views

    +37.66. views

    37.66. views

    The view views contains all views defined in the current database. Only those views are shown that the current user has access to (by way of being the owner or having some privilege). @@ -67,4 +67,4 @@

    YES if the view has an INSTEAD OF INSERT trigger defined on it, NO if not -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/install-binaries.html postgresql-15-15.18/doc/src/sgml/html/install-binaries.html --- postgresql-15-15.17/doc/src/sgml/html/install-binaries.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/install-binaries.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 16. Installation from Binaries

    Chapter 16. Installation from Binaries

    +Chapter 16. Installation from Binaries

    Chapter 16. Installation from Binaries

    PostgreSQL is available in the form of binary packages for most common operating systems today. When available, this is the recommended way to install PostgreSQL for users of the system. Building @@ -10,4 +10,4 @@ the download section on the PostgreSQL website at https://www.postgresql.org/download/ and follow the instructions for the specific platform. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/install-getsource.html postgresql-15-15.18/doc/src/sgml/html/install-getsource.html --- postgresql-15-15.17/doc/src/sgml/html/install-getsource.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/install-getsource.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -17.3. Getting the Source

    17.3. Getting the Source

    +17.3. Getting the Source

    17.3. Getting the Source

    The PostgreSQL source code for released versions can be obtained from the download section of our website: https://www.postgresql.org/ftp/source/. @@ -17,4 +17,4 @@

    Alternatively, you can use the Git version control system; see Section I.1 for more information. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/install-post.html postgresql-15-15.18/doc/src/sgml/html/install-post.html --- postgresql-15-15.17/doc/src/sgml/html/install-post.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/install-post.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -17.5. Post-Installation Setup

    17.5. Post-Installation Setup

    17.5.1. Shared Libraries

    +17.5. Post-Installation Setup

    17.5. Post-Installation Setup

    17.5.1. Shared Libraries

    On some systems with shared libraries you need to tell the system how to find the newly installed shared libraries. The systems on which this is @@ -100,4 +100,4 @@ user that plans to use the database sets PGHOST. This is not required, however; the settings can be communicated via command line options to most client programs. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/install-procedure.html postgresql-15-15.18/doc/src/sgml/html/install-procedure.html --- postgresql-15-15.17/doc/src/sgml/html/install-procedure.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/install-procedure.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -17.4. Installation Procedure

    17.4. Installation Procedure

    1. Configuration

      +17.4. Installation Procedure

      17.4. Installation Procedure

      1. Configuration

        The first step of the installation procedure is to configure the source tree for your system and choose the options you would like. This is done by running the configure script. For a @@ -815,4 +815,4 @@ makefiles. Which to use is a matter of preference, but a common habit among developers is to use PROFILE for one-time flag adjustments, while COPT might be kept set all the time. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/install-requirements.html postgresql-15-15.18/doc/src/sgml/html/install-requirements.html --- postgresql-15-15.17/doc/src/sgml/html/install-requirements.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/install-requirements.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -17.2. Requirements

    17.2. Requirements

    +17.2. Requirements

    17.2. Requirements

    In general, a modern Unix-compatible platform should be able to run PostgreSQL. The platforms that had received specific testing at the @@ -194,4 +194,4 @@ run the regression tests you will temporarily need up to an extra 300 MB. Use the df command to check free disk space. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/install-short.html postgresql-15-15.18/doc/src/sgml/html/install-short.html --- postgresql-15-15.17/doc/src/sgml/html/install-short.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/install-short.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -17.1. Short Version

    17.1. Short Version

    +17.1. Short Version

    17.1. Short Version

     ./configure
     make
    @@ -16,4 +16,4 @@
     

    The long version is the rest of this chapter. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/install-windows-full.html postgresql-15-15.18/doc/src/sgml/html/install-windows-full.html --- postgresql-15-15.17/doc/src/sgml/html/install-windows-full.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/install-windows-full.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,6 +1,6 @@ 18.1. Building with Visual C++ or the Microsoft Windows SDK

    18.1. Building with Visual C++ or the + Microsoft Windows SDKPrev UpChapter 18. Installation from Source Code on WindowsHome Next

    18.1. Building with Visual C++ or the Microsoft Windows SDK

    PostgreSQL can be built using the Visual C++ compiler suite from Microsoft. These compilers can be either from Visual Studio, @@ -337,4 +337,4 @@ zstd, which will search for a command by that name in the configured PATH.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/install-windows.html postgresql-15-15.18/doc/src/sgml/html/install-windows.html --- postgresql-15-15.17/doc/src/sgml/html/install-windows.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/install-windows.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 18. Installation from Source Code on Windows

    Chapter 18. Installation from Source Code on Windows

    Table of Contents

    18.1. Building with Visual C++ or the +Chapter 18. Installation from Source Code on Windows

    Chapter 18. Installation from Source Code on Windows

    It is recommended that most users download the binary distribution for Windows, available as a graphical installer package @@ -40,5 +40,5 @@ line editing. The Cygwin build does support command line editing, so it should be used where psql is needed for interactive use on Windows. -


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/monitoring.html postgresql-15-15.18/doc/src/sgml/html/monitoring.html --- postgresql-15-15.17/doc/src/sgml/html/monitoring.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/monitoring.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 28. Monitoring Database Activity

    Chapter 28. Monitoring Database Activity

    +Chapter 28. Monitoring Database Activity

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/multibyte.html postgresql-15-15.18/doc/src/sgml/html/multibyte.html --- postgresql-15-15.17/doc/src/sgml/html/multibyte.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/multibyte.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -24.3. Character Set Support

    24.3. Character Set Support

    +24.3. Character Set Support

    24.3. Character Set Support

    The character set support in PostgreSQL allows you to store text in a variety of character sets (also called encodings), including @@ -348,4 +348,4 @@ UTF-8 (8-bit UCS/Unicode Transformation Format) is defined here.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/multivariate-statistics-examples.html postgresql-15-15.18/doc/src/sgml/html/multivariate-statistics-examples.html --- postgresql-15-15.17/doc/src/sgml/html/multivariate-statistics-examples.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/multivariate-statistics-examples.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -75.2. Multivariate Statistics Examples

    75.2. Multivariate Statistics Examples

    75.2.1. Functional Dependencies

    +75.2. Multivariate Statistics Examples

    75.2. Multivariate Statistics Examples

    75.2.1. Functional Dependencies

    Multivariate correlation can be demonstrated with a very simple data set — a table with two columns, both containing the same values: @@ -207,4 +207,4 @@ Rows Removed by Filter: 10000

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/mvcc-caveats.html postgresql-15-15.18/doc/src/sgml/html/mvcc-caveats.html --- postgresql-15-15.17/doc/src/sgml/html/mvcc-caveats.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/mvcc-caveats.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -13.6. Caveats

    13.6. Caveats

    +13.6. Caveats

    13.6. Caveats

    Some DDL commands, currently only TRUNCATE and the table-rewriting forms of ALTER TABLE, are not MVCC-safe. This means that after the truncation or rewrite commits, the @@ -31,4 +31,4 @@ contrast, queries that explicitly examine the system catalogs don't see rows representing concurrently created database objects, in the higher isolation levels. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/mvcc-intro.html postgresql-15-15.18/doc/src/sgml/html/mvcc-intro.html --- postgresql-15-15.17/doc/src/sgml/html/mvcc-intro.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/mvcc-intro.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -13.1. Introduction

    13.1. Introduction

    +13.1. Introduction

    13.1. Introduction

    PostgreSQL provides a rich set of tools for developers to manage concurrent access to data. Internally, data consistency is maintained by using a multiversion @@ -34,4 +34,4 @@ performance than locks. In addition, application-defined advisory locks provide a mechanism for acquiring locks that are not tied to a single transaction. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/mvcc-serialization-failure-handling.html postgresql-15-15.18/doc/src/sgml/html/mvcc-serialization-failure-handling.html --- postgresql-15-15.17/doc/src/sgml/html/mvcc-serialization-failure-handling.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/mvcc-serialization-failure-handling.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -13.5. Serialization Failure Handling

    13.5. Serialization Failure Handling

    +13.5. Serialization Failure Handling

    13.5. Serialization Failure Handling

    Both Repeatable Read and Serializable isolation levels can produce errors that are designed to prevent serialization anomalies. As previously stated, applications using these levels must be prepared to @@ -44,4 +44,4 @@ many attempts. In cases involving a conflicting prepared transaction, it may not be possible to make progress until the prepared transaction commits or rolls back. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/mvcc.html postgresql-15-15.18/doc/src/sgml/html/mvcc.html --- postgresql-15-15.17/doc/src/sgml/html/mvcc.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/mvcc.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 13. Concurrency Control

    Chapter 13. Concurrency Control

    +Chapter 13. Concurrency Control

    Chapter 13. Concurrency Control

    This chapter describes the behavior of the PostgreSQL database system when two or more sessions try to access the same data at the same time. The @@ -7,4 +7,4 @@ sessions while maintaining strict data integrity. Every developer of database applications should be familiar with the topics covered in this chapter. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/nls-programmer.html postgresql-15-15.18/doc/src/sgml/html/nls-programmer.html --- postgresql-15-15.17/doc/src/sgml/html/nls-programmer.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/nls-programmer.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -57.2. For the Programmer

    57.2. For the Programmer

    57.2.1. Mechanics

    +57.2. For the Programmer

    57.2. For the Programmer

    57.2.1. Mechanics

    This section describes how to implement native language support in a program or library that is part of the PostgreSQL distribution. @@ -151,4 +151,4 @@ These comments are copied to the message catalog files so that the translators can see them.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/nls-translator.html postgresql-15-15.18/doc/src/sgml/html/nls-translator.html --- postgresql-15-15.17/doc/src/sgml/html/nls-translator.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/nls-translator.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -57.1. For the Translator

    57.1. For the Translator

    +57.1. For the Translator

    57.1. For the Translator

    PostgreSQL programs (server and client) can issue their messages in your favorite language — if the messages have been translated. @@ -215,4 +215,4 @@ speaking end users might also not understand it or find it ambiguous, so it's best to improve the message.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/nls.html postgresql-15-15.18/doc/src/sgml/html/nls.html --- postgresql-15-15.17/doc/src/sgml/html/nls.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/nls.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 57. Native Language Support \ No newline at end of file +Chapter 57. Native Language Support \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/non-durability.html postgresql-15-15.18/doc/src/sgml/html/non-durability.html --- postgresql-15-15.17/doc/src/sgml/html/non-durability.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/non-durability.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -14.5. Non-Durable Settings

    14.5. Non-Durable Settings

    +14.5. Non-Durable Settings

    14.5. Non-Durable Settings

    Durability is a database feature that guarantees the recording of committed transactions even if the server crashes or loses power. However, durability adds significant database overhead, @@ -36,4 +36,4 @@ tables to avoid WAL writes, though it makes the tables non-crash-safe.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/notation.html postgresql-15-15.18/doc/src/sgml/html/notation.html --- postgresql-15-15.17/doc/src/sgml/html/notation.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/notation.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -3. Conventions

    3. Conventions

    +3. Conventions

    3. Conventions

    The following conventions are used in the synopsis of a command: brackets ([ and ]) indicate optional parts. Braces @@ -19,4 +19,4 @@ PostgreSQL system. These terms should not be interpreted too narrowly; this book does not have fixed presumptions about system administration procedures. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/oid2name.html postgresql-15-15.18/doc/src/sgml/html/oid2name.html --- postgresql-15-15.17/doc/src/sgml/html/oid2name.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/oid2name.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -oid2name

    oid2name

    oid2name — resolve OIDs and file nodes in a PostgreSQL data directory

    Synopsis

    oid2name [option...]

    Description

    +oid2name

    oid2name

    oid2name — resolve OIDs and file nodes in a PostgreSQL data directory

    Synopsis

    oid2name [option...]

    Description

    oid2name is a utility program that helps administrators to examine the file structure used by PostgreSQL. To make use of it, you need to be familiar with the database file structure, which is described in @@ -189,4 +189,4 @@ 155156 foo

    Author

    B. Palmer -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/oldsnapshot.html postgresql-15-15.18/doc/src/sgml/html/oldsnapshot.html --- postgresql-15-15.17/doc/src/sgml/html/oldsnapshot.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/oldsnapshot.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.24. old_snapshot

    F.24. old_snapshot

    +F.24. old_snapshot

    F.24. old_snapshot

    The old_snapshot module allows inspection of the server state that is used to implement old_snapshot_threshold. @@ -7,4 +7,4 @@ Returns all of the entries in the server's timestamp to XID mapping. Each entry represents the newest xmin of any snapshot taken in the corresponding minute. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/overview.html postgresql-15-15.18/doc/src/sgml/html/overview.html --- postgresql-15-15.17/doc/src/sgml/html/overview.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/overview.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 52. Overview of PostgreSQL Internals

    Chapter 52. Overview of PostgreSQL Internals

    Author

    +Chapter 52. Overview of PostgreSQL Internals

    Chapter 52. Overview of PostgreSQL Internals

    Author

    This chapter originated as part of [sim98] Stefan Simkovics' Master's Thesis prepared at Vienna University of Technology under the direction @@ -12,4 +12,4 @@ understand the general sequence of operations that occur within the backend from the point at which a query is received, to the point at which the results are returned to the client. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pageinspect.html postgresql-15-15.18/doc/src/sgml/html/pageinspect.html --- postgresql-15-15.17/doc/src/sgml/html/pageinspect.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pageinspect.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.25. pageinspect

    F.25. pageinspect

    +F.25. pageinspect

    F.25. pageinspect

    The pageinspect module provides functions that allow you to inspect the contents of database pages at a low level, which is useful for debugging purposes. All of these functions may be used only by superusers. @@ -564,4 +564,4 @@ spares | {0,0,0,0,0,0,1,1,1,1,1,1,1,1,3,4,4,4,45,55,58,59,​508,567,628,704,1193,1202,1204} mapp | {65}

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/parallel-plans.html postgresql-15-15.18/doc/src/sgml/html/parallel-plans.html --- postgresql-15-15.17/doc/src/sgml/html/parallel-plans.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/parallel-plans.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -15.3. Parallel Plans

    15.3. Parallel Plans

    +15.3. Parallel Plans

    15.3. Parallel Plans

    Because each worker executes the parallel portion of the plan to completion, it is not possible to simply take an ordinary query plan and run it using multiple workers. Each worker would produce a full @@ -152,4 +152,4 @@ This may be useful in determining whether the work is being evenly distributed between all plan nodes and more generally in understanding the performance characteristics of the plan. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/parallel-query.html postgresql-15-15.18/doc/src/sgml/html/parallel-query.html --- postgresql-15-15.17/doc/src/sgml/html/parallel-query.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/parallel-query.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 15. Parallel Query

    Chapter 15. Parallel Query

    +Chapter 15. Parallel Query

    Chapter 15. Parallel Query

    PostgreSQL can devise query plans that can leverage multiple CPUs in order to answer queries faster. This feature is known as parallel query. Many queries cannot benefit from parallel query, either @@ -12,4 +12,4 @@ few rows to the user will typically benefit most. This chapter explains some details of how parallel query works and in which situations it can be used so that users who wish to make use of it can understand what to expect. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/parallel-safety.html postgresql-15-15.18/doc/src/sgml/html/parallel-safety.html --- postgresql-15-15.17/doc/src/sgml/html/parallel-safety.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/parallel-safety.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -15.4. Parallel Safety

    15.4. Parallel Safety

    +15.4. Parallel Safety

    15.4. Parallel Safety

    The planner classifies operations involved in a query as either parallel safe, parallel restricted, or parallel unsafe. A parallel safe operation is one that @@ -80,4 +80,4 @@ the parallel portion of the query and defer the evaluation of the WHERE clause so that it happens above the Gather node. However, the planner does not do this. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/parser-stage.html postgresql-15-15.18/doc/src/sgml/html/parser-stage.html --- postgresql-15-15.17/doc/src/sgml/html/parser-stage.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/parser-stage.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -52.3. The Parser Stage

    52.3. The Parser Stage

    +52.3. The Parser Stage

    52.3. The Parser Stage

    The parser stage consists of two parts:

    • @@ -88,4 +88,4 @@ name turns out to be an ordinary function or an aggregate function. Also, information about the actual data types of columns and expression results is added to the query tree. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/passwordcheck.html postgresql-15-15.18/doc/src/sgml/html/passwordcheck.html --- postgresql-15-15.17/doc/src/sgml/html/passwordcheck.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/passwordcheck.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.26. passwordcheck

    F.26. passwordcheck

    +F.26. passwordcheck

    F.26. passwordcheck

    The passwordcheck module checks users' passwords whenever they are set with CREATE ROLE or @@ -39,4 +39,4 @@ Alternatively, you could modify passwordcheck to reject pre-encrypted passwords, but forcing users to set their passwords in clear text carries its own security risks. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/performance-tips.html postgresql-15-15.18/doc/src/sgml/html/performance-tips.html --- postgresql-15-15.17/doc/src/sgml/html/performance-tips.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/performance-tips.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,7 +1,7 @@ -Chapter 14. Performance Tips

    Chapter 14. Performance Tips

    +Chapter 14. Performance Tips

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/perm-functions.html postgresql-15-15.18/doc/src/sgml/html/perm-functions.html --- postgresql-15-15.17/doc/src/sgml/html/perm-functions.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/perm-functions.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -22.6. Function Security

    22.6. Function Security

    +22.6. Function Security

    22.6. Function Security

    Functions, triggers and row-level security policies allow users to insert code into the backend server that other users might execute unintentionally. Hence, these mechanisms permit users to Trojan @@ -19,4 +19,4 @@ are considered untrusted, and PostgreSQL allows only superusers to create functions written in those languages. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgarchivecleanup.html postgresql-15-15.18/doc/src/sgml/html/pgarchivecleanup.html --- postgresql-15-15.17/doc/src/sgml/html/pgarchivecleanup.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgarchivecleanup.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -pg_archivecleanup

    pg_archivecleanup

    pg_archivecleanup — clean up PostgreSQL WAL archive files

    Synopsis

    pg_archivecleanup [option...] archivelocation oldestkeptwalfile

    Description

    +pg_archivecleanup

    pg_archivecleanup

    pg_archivecleanup — clean up PostgreSQL WAL archive files

    Synopsis

    pg_archivecleanup [option...] archivelocation oldestkeptwalfile

    Description

    pg_archivecleanup is designed to be used as an archive_cleanup_command to clean up WAL file archives when running as a standby server (see Section 27.2). @@ -91,4 +91,4 @@ produce debugging output in cleanup.log

  • remove no-longer-needed files from the archive directory -

  • \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgbench.html postgresql-15-15.18/doc/src/sgml/html/pgbench.html --- postgresql-15-15.17/doc/src/sgml/html/pgbench.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgbench.html 2026-05-11 20:02:49.000000000 +0000 @@ -1,5 +1,5 @@ -pgbench

    pgbench

    pgbench — run a benchmark test on PostgreSQL

    Synopsis

    pgbench -i [option...] [dbname]

    pgbench [option...] [dbname]

    Description

    +pgbench

    pgbench

    pgbench — run a benchmark test on PostgreSQL

    Synopsis

    pgbench -i [option...] [dbname]

    pgbench [option...] [dbname]

    Description

    pgbench is a simple program for running benchmark tests on PostgreSQL. It runs the same sequence of SQL commands over and over, possibly in multiple concurrent database sessions, @@ -1718,4 +1718,4 @@ do not run pgbench in that database. pgbench uses unqualified names and does not manipulate the search path. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgbuffercache.html postgresql-15-15.18/doc/src/sgml/html/pgbuffercache.html --- postgresql-15-15.17/doc/src/sgml/html/pgbuffercache.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgbuffercache.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.27. pg_buffercache

    F.27. pg_buffercache

    +F.27. pg_buffercache

    F.27. pg_buffercache

    The pg_buffercache module provides a means for examining what's happening in the shared buffer cache in real time.

    @@ -115,4 +115,4 @@ Design suggestions: Neil Conway

    Debugging advice: Tom Lane -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgcrypto.html postgresql-15-15.18/doc/src/sgml/html/pgcrypto.html --- postgresql-15-15.17/doc/src/sgml/html/pgcrypto.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgcrypto.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.28. pgcrypto

    F.28. pgcrypto

    +F.28. pgcrypto

    F.28. pgcrypto

    The pgcrypto module provides cryptographic functions for PostgreSQL.

    @@ -533,4 +533,4 @@ Marko Kreen

    pgcrypto uses code from the following sources: -

    AlgorithmAuthorSource origin
    DES cryptDavid Burren and othersFreeBSD libcrypt
    MD5 cryptPoul-Henning KampFreeBSD libcrypt
    Blowfish cryptSolar Designerwww.openwall.com
    \ No newline at end of file +

    AlgorithmAuthorSource origin
    DES cryptDavid Burren and othersFreeBSD libcrypt
    MD5 cryptPoul-Henning KampFreeBSD libcrypt
    Blowfish cryptSolar Designerwww.openwall.com
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgfreespacemap.html postgresql-15-15.18/doc/src/sgml/html/pgfreespacemap.html --- postgresql-15-15.17/doc/src/sgml/html/pgfreespacemap.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgfreespacemap.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.29. pg_freespacemap

    F.29. pg_freespacemap

    +F.29. pg_freespacemap

    F.29. pg_freespacemap

    The pg_freespacemap module provides a means for examining the free space map (FSM). It provides a function called pg_freespace, or two @@ -65,4 +65,4 @@ Original version by Mark Kirkwood . Rewritten in version 8.4 to suit new FSM implementation by Heikki Linnakangas -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgprewarm.html postgresql-15-15.18/doc/src/sgml/html/pgprewarm.html --- postgresql-15-15.17/doc/src/sgml/html/pgprewarm.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgprewarm.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.30. pg_prewarm

    F.30. pg_prewarm

    +F.30. pg_prewarm

    F.30. pg_prewarm

    The pg_prewarm module provides a convenient way to load relation data into either the operating system buffer cache or the PostgreSQL buffer cache. Prewarming @@ -79,4 +79,4 @@

    F.30.3. Author

    Robert Haas -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgrowlocks.html postgresql-15-15.18/doc/src/sgml/html/pgrowlocks.html --- postgresql-15-15.17/doc/src/sgml/html/pgrowlocks.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgrowlocks.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.31. pgrowlocks

    F.31. pgrowlocks

    +F.31. pgrowlocks

    F.31. pgrowlocks

    The pgrowlocks module provides a function to show row locking information for a specified table.

    @@ -48,4 +48,4 @@ (4 rows)

    F.31.3. Author

    Tatsuo Ishii -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgstatstatements.html postgresql-15-15.18/doc/src/sgml/html/pgstatstatements.html --- postgresql-15-15.17/doc/src/sgml/html/pgstatstatements.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgstatstatements.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.32. pg_stat_statements

    F.32. pg_stat_statements

    +F.32. pg_stat_statements

    F.32. pg_stat_statements

    The pg_stat_statements module provides a means for tracking planning and execution statistics of all SQL statements executed by a server. @@ -614,4 +614,4 @@

    F.32.6. Authors

    Takahiro Itagaki . Query normalization added by Peter Geoghegan . -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgstattuple.html postgresql-15-15.18/doc/src/sgml/html/pgstattuple.html --- postgresql-15-15.17/doc/src/sgml/html/pgstattuple.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgstattuple.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.33. pgstattuple

    F.33. pgstattuple

    +F.33. pgstattuple

    F.33. pgstattuple

    The pgstattuple module provides various functions to obtain tuple-level statistics.

    @@ -196,4 +196,4 @@ accurate to the byte.

    F.33.2. Authors

    Tatsuo Ishii, Satoshi Nagayasu and Abhijit Menon-Sen -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgsurgery.html postgresql-15-15.18/doc/src/sgml/html/pgsurgery.html --- postgresql-15-15.17/doc/src/sgml/html/pgsurgery.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgsurgery.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.34. pg_surgery

    F.34. pg_surgery

    +F.34. pg_surgery

    F.34. pg_surgery

    The pg_surgery module provides various functions to perform surgery on a damaged relation. These functions are unsafe by design and using them may corrupt (or further corrupt) your database. For example, @@ -65,4 +65,4 @@

    F.34.2. Authors

    Ashutosh Sharma -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgtestfsync.html postgresql-15-15.18/doc/src/sgml/html/pgtestfsync.html --- postgresql-15-15.17/doc/src/sgml/html/pgtestfsync.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgtestfsync.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -pg_test_fsync

    pg_test_fsync

    pg_test_fsync — determine fastest wal_sync_method for PostgreSQL

    Synopsis

    pg_test_fsync [option...]

    Description

    +pg_test_fsync

    pg_test_fsync

    pg_test_fsync — determine fastest wal_sync_method for PostgreSQL

    Synopsis

    pg_test_fsync [option...]

    Description

    pg_test_fsync is intended to give you a reasonable idea of what the fastest wal_sync_method is on your specific system, @@ -38,4 +38,4 @@ color in diagnostic messages. Possible values are always, auto and never. -

    See Also

    postgres
    \ No newline at end of file +

    See Also

    postgres
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgtesttiming.html postgresql-15-15.18/doc/src/sgml/html/pgtesttiming.html --- postgresql-15-15.17/doc/src/sgml/html/pgtesttiming.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgtesttiming.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -pg_test_timing

    pg_test_timing

    pg_test_timing — measure timing overhead

    Synopsis

    pg_test_timing [option...]

    Description

    +pg_test_timing

    pg_test_timing

    pg_test_timing — measure timing overhead

    Synopsis

    pg_test_timing [option...]

    Description

    pg_test_timing is a tool to measure the timing overhead on your system and confirm that the system time never moves backwards. Systems that are slow to collect timing data can give less accurate @@ -176,4 +176,4 @@ Timer (PIT), the real-time clock (RTC), the Advanced Programmable Interrupt Controller (APIC) timer, and the Cyclone timer. These timers aim for millisecond resolution. -

    See Also

    EXPLAIN
    \ No newline at end of file +

    See Also

    EXPLAIN
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgtrgm.html postgresql-15-15.18/doc/src/sgml/html/pgtrgm.html --- postgresql-15-15.17/doc/src/sgml/html/pgtrgm.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgtrgm.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.35. pg_trgm

    F.35. pg_trgm

    +F.35. pg_trgm

    F.35. pg_trgm

    The pg_trgm module provides functions and operators for determining the similarity of alphanumeric text based on trigram matching, as @@ -421,4 +421,4 @@ Documentation: Christopher Kings-Lynne

    This module is sponsored by Delta-Soft Ltd., Moscow, Russia. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgupgrade.html postgresql-15-15.18/doc/src/sgml/html/pgupgrade.html --- postgresql-15-15.17/doc/src/sgml/html/pgupgrade.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgupgrade.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -pg_upgrade

    pg_upgrade

    pg_upgrade — upgrade a PostgreSQL server instance

    Synopsis

    pg_upgrade -b oldbindir [-B newbindir] -d oldconfigdir -D newconfigdir [option...]

    Description

    +pg_upgrade

    pg_upgrade

    pg_upgrade — upgrade a PostgreSQL server instance

    Synopsis

    pg_upgrade -b oldbindir [-B newbindir] -d oldconfigdir -D newconfigdir [option...]

    Description

    pg_upgrade (formerly called pg_migrator) allows data stored in PostgreSQL data files to be upgraded to a later PostgreSQL major version without the data dump/restore typically required for @@ -433,4 +433,4 @@ to make a backup of the old cluster and tablespaces, though the snapshot and copies must be created simultaneously or while the database server is down. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgvisibility.html postgresql-15-15.18/doc/src/sgml/html/pgvisibility.html --- postgresql-15-15.17/doc/src/sgml/html/pgvisibility.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgvisibility.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.36. pg_visibility

    F.36. pg_visibility

    +F.36. pg_visibility

    F.36. pg_visibility

    The pg_visibility module provides a means for examining the visibility map (VM) and page-level visibility information of a table. It also provides functions to check the integrity of a visibility map and to @@ -66,4 +66,4 @@ be executed by superusers.

    F.36.2. Author

    Robert Haas -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgwaldump.html postgresql-15-15.18/doc/src/sgml/html/pgwaldump.html --- postgresql-15-15.17/doc/src/sgml/html/pgwaldump.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgwaldump.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -pg_waldump

    pg_waldump

    pg_waldump — display a human-readable rendering of the write-ahead log of a PostgreSQL database cluster

    Synopsis

    pg_waldump [option...] [startseg [endseg]]

    Description

    +pg_waldump

    pg_waldump

    pg_waldump — display a human-readable rendering of the write-ahead log of a PostgreSQL database cluster

    Synopsis

    pg_waldump [option...] [startseg [endseg]]

    Description

    pg_waldump displays the write-ahead log (WAL) and is mainly useful for debugging or educational purposes.

    @@ -105,4 +105,4 @@ pg_waldump cannot read WAL files with suffix .partial. If those files need to be read, .partial suffix needs to be removed from the file name. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgwalinspect.html postgresql-15-15.18/doc/src/sgml/html/pgwalinspect.html --- postgresql-15-15.17/doc/src/sgml/html/pgwalinspect.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgwalinspect.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.37. pg_walinspect

    F.37. pg_walinspect

    +F.37. pg_walinspect

    F.37. pg_walinspect

    The pg_walinspect module provides SQL functions that allow you to inspect the contents of write-ahead log of a running PostgreSQL database cluster at a low @@ -127,4 +127,4 @@ start_lsn till end of WAL.

    F.37.2. Author

    Bharath Rupireddy -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pgxlogdump.html postgresql-15-15.18/doc/src/sgml/html/pgxlogdump.html --- postgresql-15-15.17/doc/src/sgml/html/pgxlogdump.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pgxlogdump.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,10 +1,10 @@ -O.3. pg_xlogdump renamed to pg_waldump

    O.3. pg_xlogdump renamed to pg_waldump

    +O.3. pg_xlogdump renamed to pg_waldump

    O.3. pg_xlogdump renamed to pg_waldump

    PostgreSQL 9.6 and below provided a command named pg_xlogdump to read write-ahead-log (WAL) files. This command was renamed to pg_waldump, see pg_waldump for documentation of pg_waldump and see - the release notes for PostgreSQL 10 for details + the release notes for PostgreSQL 10 for details on this change. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/planner-optimizer.html postgresql-15-15.18/doc/src/sgml/html/planner-optimizer.html --- postgresql-15-15.17/doc/src/sgml/html/planner-optimizer.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/planner-optimizer.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -52.5. Planner/Optimizer

    52.5. Planner/Optimizer

    +52.5. Planner/Optimizer

    52.5. Planner/Optimizer

    The task of the planner/optimizer is to create an optimal execution plan. A given SQL query (and hence, a query tree) can be actually executed in a wide variety of @@ -108,4 +108,4 @@ WHERE clause and computation of required output expressions to the most appropriate nodes of the plan tree. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/planner-stats-details.html postgresql-15-15.18/doc/src/sgml/html/planner-stats-details.html --- postgresql-15-15.17/doc/src/sgml/html/planner-stats-details.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/planner-stats-details.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 75. How the Planner Uses Statistics

    Chapter 75. How the Planner Uses Statistics

    +Chapter 75. How the Planner Uses Statistics

    Chapter 75. How the Planner Uses Statistics

    This chapter builds on the material covered in Section 14.1 and Section 14.2 to show some additional details about how the planner uses the system statistics to estimate the number of rows each part of a query might @@ -10,4 +10,4 @@ but to present an overview of how it works. This will perhaps ease the learning curve for someone who subsequently wishes to read the code. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/planner-stats-security.html postgresql-15-15.18/doc/src/sgml/html/planner-stats-security.html --- postgresql-15-15.17/doc/src/sgml/html/planner-stats-security.html 2026-02-23 22:14:42.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/planner-stats-security.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -75.3. Planner Statistics and Security

    75.3. Planner Statistics and Security

    +75.3. Planner Statistics and Security

    75.3. Planner Statistics and Security

    Access to the table pg_statistic is restricted to superusers, so that ordinary users cannot learn about the contents of the tables of other users from it. Some selectivity estimation functions will @@ -46,4 +46,4 @@ Selectivity estimation functions contained in third-party extensions that potentially operate on statistics with user-defined operators should follow the same security rules. Consult the PostgreSQL source code for guidance. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/planner-stats.html postgresql-15-15.18/doc/src/sgml/html/planner-stats.html --- postgresql-15-15.17/doc/src/sgml/html/planner-stats.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/planner-stats.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -14.2. Statistics Used by the Planner

    14.2. Statistics Used by the Planner

    14.2.1. Single-Column Statistics

    +14.2. Statistics Used by the Planner

    14.2. Statistics Used by the Planner

    14.2.1. Single-Column Statistics

    As we saw in the previous section, the query planner needs to estimate the number of rows retrieved by a query in order to make good choices of query plans. This section provides a quick look at the statistics @@ -333,4 +333,4 @@ and for which misestimation of the number of groups is resulting in bad plans. Otherwise, the ANALYZE and planning cycles are just wasted. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plhandler.html postgresql-15-15.18/doc/src/sgml/html/plhandler.html --- postgresql-15-15.17/doc/src/sgml/html/plhandler.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plhandler.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 58. Writing a Procedural Language Handler

    Chapter 58. Writing a Procedural Language Handler

    +Chapter 58. Writing a Procedural Language Handler

    Chapter 58. Writing a Procedural Language Handler

    All calls to functions that are written in a language other than the current version 1 interface for compiled languages (this includes functions in user-defined procedural languages @@ -153,4 +153,4 @@ Look into the src/pl subdirectory of the source tree. The CREATE LANGUAGE reference page also has some useful details. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plperl-builtins.html postgresql-15-15.18/doc/src/sgml/html/plperl-builtins.html --- postgresql-15-15.17/doc/src/sgml/html/plperl-builtins.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plperl-builtins.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -45.3. Built-in Functions

    45.3. Built-in Functions

    45.3.1. Database Access from PL/Perl

    +45.3. Built-in Functions

    45.3. Built-in Functions

    45.3.1. Database Access from PL/Perl

    Access to the database itself from your Perl function can be done via the following functions:

    @@ -357,4 +357,4 @@ Returns a true value if the given argument may be treated as an array reference, that is, if ref of the argument is ARRAY or PostgreSQL::InServer::ARRAY. Returns false otherwise. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plperl-data.html postgresql-15-15.18/doc/src/sgml/html/plperl-data.html --- postgresql-15-15.17/doc/src/sgml/html/plperl-data.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plperl-data.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -45.2. Data Values in PL/Perl

    45.2. Data Values in PL/Perl

    +45.2. Data Values in PL/Perl

    45.2. Data Values in PL/Perl

    The argument values supplied to a PL/Perl function's code are simply the input arguments converted to text form (just as if they had been displayed by a SELECT statement). @@ -11,4 +11,4 @@ improved by using a transform, as already illustrated for bool values. Several examples of transform modules are included in the PostgreSQL distribution. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plperl-event-triggers.html postgresql-15-15.18/doc/src/sgml/html/plperl-event-triggers.html --- postgresql-15-15.17/doc/src/sgml/html/plperl-event-triggers.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plperl-event-triggers.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -45.7. PL/Perl Event Triggers

    45.7. PL/Perl Event Triggers

    +45.7. PL/Perl Event Triggers

    45.7. PL/Perl Event Triggers

    PL/Perl can be used to write event trigger functions. In an event trigger function, the hash reference $_TD contains information about the current trigger event. $_TD is a global variable, @@ -25,4 +25,4 @@ ON ddl_command_start EXECUTE FUNCTION perlsnitch();

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plperl-funcs.html postgresql-15-15.18/doc/src/sgml/html/plperl-funcs.html --- postgresql-15-15.17/doc/src/sgml/html/plperl-funcs.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plperl-funcs.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -45.1. PL/Perl Functions and Arguments

    45.1. PL/Perl Functions and Arguments

    +45.1. PL/Perl Functions and Arguments

    45.1. PL/Perl Functions and Arguments

    To create a function in the PL/Perl language, use the standard CREATE FUNCTION syntax: @@ -305,4 +305,4 @@ at the top of the function body.

    The feature pragma is also available to use if your Perl is version 5.10.0 or higher. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plperl-global.html postgresql-15-15.18/doc/src/sgml/html/plperl-global.html --- postgresql-15-15.17/doc/src/sgml/html/plperl-global.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plperl-global.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -45.4. Global Values in PL/Perl

    45.4. Global Values in PL/Perl

    +45.4. Global Values in PL/Perl

    45.4. Global Values in PL/Perl

    You can use the global hash %_SHARED to store data, including code references, between function calls for the lifetime of the current session. @@ -62,4 +62,4 @@ functions that should communicate are owned by the same user, and mark them SECURITY DEFINER. You must of course take care that such functions can't be used to do anything unintended. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plperl-triggers.html postgresql-15-15.18/doc/src/sgml/html/plperl-triggers.html --- postgresql-15-15.17/doc/src/sgml/html/plperl-triggers.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plperl-triggers.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -45.6. PL/Perl Triggers

    45.6. PL/Perl Triggers

    +45.6. PL/Perl Triggers

    45.6. PL/Perl Triggers

    PL/Perl can be used to write trigger functions. In a trigger function, the hash reference $_TD contains information about the current trigger event. $_TD is a global variable, @@ -71,4 +71,4 @@ BEFORE INSERT OR UPDATE ON test FOR EACH ROW EXECUTE FUNCTION valid_id();

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plperl-trusted.html postgresql-15-15.18/doc/src/sgml/html/plperl-trusted.html --- postgresql-15-15.17/doc/src/sgml/html/plperl-trusted.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plperl-trusted.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -45.5. Trusted and Untrusted PL/Perl

    45.5. Trusted and Untrusted PL/Perl

    +45.5. Trusted and Untrusted PL/Perl

    45.5. Trusted and Untrusted PL/Perl

    Normally, PL/Perl is installed as a trusted programming language named plperl. In this setup, certain Perl operations are disabled to preserve security. In general, the @@ -78,4 +78,4 @@ session, and so any one session can only execute either PL/PerlU functions, or PL/Perl functions that are all called by the same SQL role. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plperl-under-the-hood.html postgresql-15-15.18/doc/src/sgml/html/plperl-under-the-hood.html --- postgresql-15-15.17/doc/src/sgml/html/plperl-under-the-hood.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plperl-under-the-hood.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -45.8. PL/Perl Under the Hood

    45.8. PL/Perl Under the Hood

    45.8.1. Configuration

    +45.8. PL/Perl Under the Hood

    45.8. PL/Perl Under the Hood

    45.8.1. Configuration

    This section lists configuration parameters that affect PL/Perl.

    plperl.on_init (string) @@ -108,4 +108,4 @@ file handles are not automatically flushed and objects are not automatically destroyed.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plperl.html postgresql-15-15.18/doc/src/sgml/html/plperl.html --- postgresql-15-15.17/doc/src/sgml/html/plperl.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plperl.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 45. PL/Perl — Perl Procedural Language

    Chapter 45. PL/Perl — Perl Procedural Language

    +Chapter 45. PL/Perl — Perl Procedural Language

    Chapter 45. PL/Perl — Perl Procedural Language

    PL/Perl is a loadable procedural language that enables you to write PostgreSQL functions and procedures in the Perl programming language. @@ -19,4 +19,4 @@ Users of source packages must specially enable the build of PL/Perl during the installation process. (Refer to Chapter 17 for more information.) Users of binary packages might find PL/Perl in a separate subpackage. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-control-structures.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-control-structures.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-control-structures.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-control-structures.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -43.6. Control Structures

    43.6. Control Structures

    +43.6. Control Structures

    43.6. Control Structures

    Control structures are probably the most useful (and important) part of PL/pgSQL. With PL/pgSQL's control structures, @@ -940,4 +940,4 @@ GET STACKED DIAGNOSTICS ... PG_EXCEPTION_CONTEXT returns the same sort of stack trace, but describing the location at which an error was detected, rather than the current location. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-cursors.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-cursors.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-cursors.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-cursors.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -43.7. Cursors

    43.7. Cursors

    +43.7. Cursors

    43.7. Cursors

    Rather than executing a whole query at once, it is possible to set up a cursor that encapsulates the query, and then read the query result a few rows at a time. One reason for doing this is @@ -400,4 +400,4 @@ existing definition of the variable name is ignored within the loop). Each row returned by the cursor is successively assigned to this record variable and the loop body is executed. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-declarations.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-declarations.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-declarations.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-declarations.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -43.3. Declarations

    43.3. Declarations

    +43.3. Declarations

    43.3. Declarations

    All variables used in a block must be declared in the declarations section of the block. (The only exceptions are that the loop variable of a FOR loop @@ -461,4 +461,4 @@ This overrides the collations associated with the table columns, parameters, or local variables used in the expression, just as would happen in a plain SQL command. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-development-tips.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-development-tips.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-development-tips.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-development-tips.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -43.12. Tips for Developing in PL/pgSQL

    43.12. Tips for Developing in PL/pgSQL

    +43.12. Tips for Developing in PL/pgSQL

    43.12. Tips for Developing in PL/pgSQL

    One good way to develop in PL/pgSQL is to use the text editor of your choice to create your functions, and in another window, use @@ -225,4 +225,4 @@ (1 row)

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-errors-and-messages.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-errors-and-messages.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-errors-and-messages.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-errors-and-messages.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -43.9. Errors and Messages

    43.9. Errors and Messages

    43.9.1. Reporting Errors and Messages

    +43.9. Errors and Messages

    43.9. Errors and Messages

    43.9.1. Reporting Errors and Messages

    Use the RAISE statement to report messages and raise errors. @@ -145,4 +145,4 @@ Note that ASSERT is meant for detecting program bugs, not for reporting ordinary error conditions. Use the RAISE statement, described above, for that. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-expressions.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-expressions.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-expressions.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-expressions.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -43.4. Expressions

    43.4. Expressions

    +43.4. Expressions

    43.4. Expressions

    All expressions used in PL/pgSQL statements are processed using the server's main SQL executor. For example, when you write @@ -52,4 +52,4 @@ The SELECT must produce a single column, and not more than one row. (If it produces no rows, the result is taken as NULL.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-implementation.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-implementation.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-implementation.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-implementation.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -43.11. PL/pgSQL under the Hood

    43.11. PL/pgSQL under the Hood

    +43.11. PL/pgSQL under the Hood

    43.11. PL/pgSQL under the Hood

    This section discusses some implementation details that are frequently important for PL/pgSQL users to know.

    43.11.1. Variable Substitution

    @@ -273,4 +273,4 @@ on each execution as the programmer expects. Even though this happens to work as expected, it's not terribly efficient, so use of the now() function would still be a better idea. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-overview.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-overview.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-overview.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-overview.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -43.1. Overview

    43.1. Overview

    +43.1. Overview

    43.1. Overview

    PL/pgSQL is a loadable procedural language for the PostgreSQL database system. The design goals of PL/pgSQL were to create @@ -100,4 +100,4 @@ Specific examples appear in Section 43.3.1 and Section 43.6.1. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-porting.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-porting.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-porting.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-porting.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -43.13. Porting from Oracle PL/SQL

    43.13. Porting from Oracle PL/SQL

    +43.13. Porting from Oracle PL/SQL

    43.13. Porting from Oracle PL/SQL

    This section explains differences between PostgreSQL's PL/pgSQL language and Oracle's PL/SQL language, @@ -557,4 +557,4 @@ END; $$ LANGUAGE plpgsql STRICT IMMUTABLE; -

    \ No newline at end of file + \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-statements.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-statements.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-statements.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-statements.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -43.5. Basic Statements

    43.5. Basic Statements

    +43.5. Basic Statements

    43.5. Basic Statements

    In this section and the following ones, we describe all the statement types that are explicitly understood by PL/pgSQL. @@ -595,4 +595,4 @@ NULL statements are required for situations such as this. PL/pgSQL allows you to just write nothing, instead. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-structure.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-structure.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-structure.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-structure.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -43.2. Structure of PL/pgSQL

    43.2. Structure of PL/pgSQL

    +43.2. Structure of PL/pgSQL

    43.2. Structure of PL/pgSQL

    Functions written in PL/pgSQL are defined to the server by executing CREATE FUNCTION commands. Such a command would normally look like, say, @@ -105,4 +105,4 @@ Also, a block containing an EXCEPTION clause effectively forms a subtransaction that can be rolled back without affecting the outer transaction. For more about that see Section 43.6.8. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-transactions.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-transactions.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-transactions.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-transactions.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -43.8. Transaction Management

    43.8. Transaction Management

    +43.8. Transaction Management

    43.8. Transaction Management

    In procedures invoked by the CALL command as well as in anonymous code blocks (DO command), it is possible to end transactions using the @@ -79,4 +79,4 @@ ... RETURNING).

    A transaction cannot be ended inside a block with exception handlers. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql-trigger.html postgresql-15-15.18/doc/src/sgml/html/plpgsql-trigger.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql-trigger.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql-trigger.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -43.10. Trigger Functions

    43.10. Trigger Functions

    +43.10. Trigger Functions

    43.10. Trigger Functions

    PL/pgSQL can be used to define trigger functions on data changes or database events. A trigger function is created with the CREATE FUNCTION @@ -513,4 +513,4 @@ $$ LANGUAGE plpgsql; CREATE EVENT TRIGGER snitch ON ddl_command_start EXECUTE FUNCTION snitch(); -


    \ No newline at end of file +
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpgsql.html postgresql-15-15.18/doc/src/sgml/html/plpgsql.html --- postgresql-15-15.17/doc/src/sgml/html/plpgsql.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpgsql.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 43. PL/pgSQL — SQL Procedural Language

    Chapter 43. PL/pgSQLSQL Procedural Language

    \ No newline at end of file +Chapter 43. PL/pgSQL — SQL Procedural Language

    Chapter 43. PL/pgSQLSQL Procedural Language

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython-data.html postgresql-15-15.18/doc/src/sgml/html/plpython-data.html --- postgresql-15-15.17/doc/src/sgml/html/plpython-data.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython-data.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -46.2. Data Values

    46.2. Data Values

    +46.2. Data Values

    46.2. Data Values

    Generally speaking, the aim of PL/Python is to provide a natural mapping between the PostgreSQL and the Python worlds. This informs the data mapping rules described @@ -340,4 +340,4 @@ SELECT * FROM multiout_simple_setof(3);

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython-database.html postgresql-15-15.18/doc/src/sgml/html/plpython-database.html --- postgresql-15-15.17/doc/src/sgml/html/plpython-database.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython-database.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -46.6. Database Access

    46.6. Database Access

    +46.6. Database Access

    46.6. Database Access

    The PL/Python language module automatically imports a Python module called plpy. The functions and constants in this module are available to you in the Python code as @@ -235,4 +235,4 @@ the exception object. This attribute is a string value containing the SQLSTATE error code. This approach provides approximately the same functionality -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython-do.html postgresql-15-15.18/doc/src/sgml/html/plpython-do.html --- postgresql-15-15.17/doc/src/sgml/html/plpython-do.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython-do.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -46.4. Anonymous Code Blocks

    46.4. Anonymous Code Blocks

    +46.4. Anonymous Code Blocks

    46.4. Anonymous Code Blocks

    PL/Python also supports anonymous code blocks called with the DO statement: @@ -11,4 +11,4 @@ An anonymous code block receives no arguments, and whatever value it might return is discarded. Otherwise it behaves just like a function. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython-envar.html postgresql-15-15.18/doc/src/sgml/html/plpython-envar.html --- postgresql-15-15.17/doc/src/sgml/html/plpython-envar.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython-envar.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -46.11. Environment Variables

    46.11. Environment Variables

    +46.11. Environment Variables

    46.11. Environment Variables

    Some of the environment variables that are accepted by the Python interpreter can also be used to affect PL/Python behavior. They would need to be set in the environment of the main PostgreSQL @@ -14,4 +14,4 @@ of PL/Python that some of the environment variables listed on the python man page are only effective in a command-line interpreter and not an embedded Python interpreter.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython-funcs.html postgresql-15-15.18/doc/src/sgml/html/plpython-funcs.html --- postgresql-15-15.17/doc/src/sgml/html/plpython-funcs.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython-funcs.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -46.1. PL/Python Functions

    46.1. PL/Python Functions

    +46.1. PL/Python Functions

    46.1. PL/Python Functions

    Functions in PL/Python are declared via the standard CREATE FUNCTION syntax: @@ -85,4 +85,4 @@ But it is advisable not to rely on this implementation detail of PL/Python. It is better to treat the function parameters as read-only. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython-python23.html postgresql-15-15.18/doc/src/sgml/html/plpython-python23.html --- postgresql-15-15.17/doc/src/sgml/html/plpython-python23.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython-python23.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,7 +1,7 @@ -46.10. Python 2 vs. Python 3

    46.10. Python 2 vs. Python 3

    +46.10. Python 2 vs. Python 3

    46.10. Python 2 vs. Python 3

    PL/Python supports only Python 3. Past versions of PostgreSQL supported Python 2, using the plpythonu and plpython2u language names. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython-sharing.html postgresql-15-15.18/doc/src/sgml/html/plpython-sharing.html --- postgresql-15-15.17/doc/src/sgml/html/plpython-sharing.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython-sharing.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -46.3. Sharing Data

    46.3. Sharing Data

    +46.3. Sharing Data

    46.3. Sharing Data

    The global dictionary SD is available to store private data between repeated calls to the same function. The global dictionary GD is public data, @@ -11,4 +11,4 @@ myfunc are not available to myfunc2. The exception is the data in the GD dictionary, as mentioned above. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython-subtransaction.html postgresql-15-15.18/doc/src/sgml/html/plpython-subtransaction.html --- postgresql-15-15.17/doc/src/sgml/html/plpython-subtransaction.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython-subtransaction.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -46.7. Explicit Subtransactions

    46.7. Explicit Subtransactions

    +46.7. Explicit Subtransactions

    46.7. Explicit Subtransactions

    Recovering from errors caused by database access as described in Section 46.6.2 can lead to an undesirable situation where some operations succeed before one of them fails, @@ -65,4 +65,4 @@ database access. A regular Python exception raised inside an explicit subtransaction block would also cause the subtransaction to be rolled back. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython-transactions.html postgresql-15-15.18/doc/src/sgml/html/plpython-transactions.html --- postgresql-15-15.17/doc/src/sgml/html/plpython-transactions.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython-transactions.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -46.8. Transaction Management

    46.8. Transaction Management

    +46.8. Transaction Management

    46.8. Transaction Management

    In a procedure called from the top level or an anonymous code block (DO command) called from the top level it is possible to control transactions. To commit the current transaction, call @@ -28,4 +28,4 @@

    Transactions cannot be ended when an explicit subtransaction is active. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython-trigger.html postgresql-15-15.18/doc/src/sgml/html/plpython-trigger.html --- postgresql-15-15.17/doc/src/sgml/html/plpython-trigger.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython-trigger.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -46.5. Trigger Functions

    46.5. Trigger Functions

    +46.5. Trigger Functions

    46.5. Trigger Functions

    When a function is used as a trigger, the dictionary TD contains trigger-related values:

    TD["event"]

    @@ -37,4 +37,4 @@ is INSERT or UPDATE you can return "MODIFY" to indicate you've modified the new row. Otherwise the return value is ignored. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython-util.html postgresql-15-15.18/doc/src/sgml/html/plpython-util.html --- postgresql-15-15.17/doc/src/sgml/html/plpython-util.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython-util.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -46.9. Utility Functions

    46.9. Utility Functions

    +46.9. Utility Functions

    46.9. Utility Functions

    The plpy module also provides the functions

    plpy.debug(msg, **kwargs)
    plpy.log(msg, **kwargs)
    plpy.info(msg, **kwargs)
    plpy.notice(msg, **kwargs)
    plpy.warning(msg, **kwargs)
    plpy.error(msg, **kwargs)
    plpy.fatal(msg, **kwargs)

    @@ -57,4 +57,4 @@ plpy.quote_nullable(newvalue), plpy.quote_literal(keyvalue)))

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/plpython.html postgresql-15-15.18/doc/src/sgml/html/plpython.html --- postgresql-15-15.17/doc/src/sgml/html/plpython.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/plpython.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 46. PL/Python — Python Procedural Language

    Chapter 46. PL/Python — Python Procedural Language

    +Chapter 46. PL/Python — Python Procedural Language

    Chapter 46. PL/Python — Python Procedural Language

    The PL/Python procedural language allows PostgreSQL functions and procedures to be written in the Python language. @@ -25,4 +25,4 @@ PL/Python during the installation process. (Refer to the installation instructions for more information.) Users of binary packages might find PL/Python in a separate subpackage. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-config.html postgresql-15-15.18/doc/src/sgml/html/pltcl-config.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-config.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-config.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -44.11. PL/Tcl Configuration

    44.11. PL/Tcl Configuration

    +44.11. PL/Tcl Configuration

    44.11. PL/Tcl Configuration

    This section lists configuration parameters that affect PL/Tcl.

    @@ -39,4 +39,4 @@ This parameter is exactly like pltcl.start_proc, except that it applies to PL/TclU. The referenced function must be written in the pltclu language. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-data.html postgresql-15-15.18/doc/src/sgml/html/pltcl-data.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-data.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-data.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,9 +1,9 @@ -44.3. Data Values in PL/Tcl

    44.3. Data Values in PL/Tcl

    +44.3. Data Values in PL/Tcl

    44.3. Data Values in PL/Tcl

    The argument values supplied to a PL/Tcl function's code are simply the input arguments converted to text form (just as if they had been displayed by a SELECT statement). Conversely, the return and return_next commands will accept any string that is acceptable input format for the function's declared result type, or for the specified column of a composite result type. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-dbaccess.html postgresql-15-15.18/doc/src/sgml/html/pltcl-dbaccess.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-dbaccess.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-dbaccess.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -44.5. Database Access from PL/Tcl

    44.5. Database Access from PL/Tcl

    +44.5. Database Access from PL/Tcl

    44.5. Database Access from PL/Tcl

    In this section, we follow the usual Tcl convention of using question marks, rather than brackets, to indicate an optional element in a syntax synopsis. The following commands are available to access @@ -190,4 +190,4 @@ and Section 44.8 for more information.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-error-handling.html postgresql-15-15.18/doc/src/sgml/html/pltcl-error-handling.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-error-handling.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-error-handling.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -44.8. Error Handling in PL/Tcl

    44.8. Error Handling in PL/Tcl

    +44.8. Error Handling in PL/Tcl

    44.8. Error Handling in PL/Tcl

    Tcl code within or called from a PL/Tcl function can raise an error, either by executing some invalid operation or by generating an error using the Tcl error command or @@ -57,4 +57,4 @@

    (The double colons explicitly specify that errorCode is a global variable.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-event-trigger.html postgresql-15-15.18/doc/src/sgml/html/pltcl-event-trigger.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-event-trigger.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-event-trigger.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -44.7. Event Trigger Functions in PL/Tcl

    44.7. Event Trigger Functions in PL/Tcl

    +44.7. Event Trigger Functions in PL/Tcl

    44.7. Event Trigger Functions in PL/Tcl

    Event trigger functions can be written in PL/Tcl. PostgreSQL requires that a function that is to be called as an event trigger must be declared as a function with no @@ -27,4 +27,4 @@ CREATE EVENT TRIGGER tcl_a_snitch ON ddl_command_start EXECUTE FUNCTION tclsnitch();

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-functions.html postgresql-15-15.18/doc/src/sgml/html/pltcl-functions.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-functions.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-functions.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -44.2. PL/Tcl Functions and Arguments

    44.2. PL/Tcl Functions and Arguments

    +44.2. PL/Tcl Functions and Arguments

    44.2. PL/Tcl Functions and Arguments

    To create a function in the PL/Tcl language, use the standard CREATE FUNCTION syntax: @@ -138,4 +138,4 @@ } $$ LANGUAGE pltcl;

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-global.html postgresql-15-15.18/doc/src/sgml/html/pltcl-global.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-global.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-global.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -44.4. Global Data in PL/Tcl

    44.4. Global Data in PL/Tcl

    +44.4. Global Data in PL/Tcl

    44.4. Global Data in PL/Tcl

    Sometimes it is useful to have some global data that is held between two calls to a function or is shared between different functions. @@ -42,4 +42,4 @@

    An example of using GD appears in the spi_execp example below. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-overview.html postgresql-15-15.18/doc/src/sgml/html/pltcl-overview.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-overview.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-overview.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -44.1. Overview

    44.1. Overview

    +44.1. Overview

    44.1. Overview

    PL/Tcl offers most of the capabilities a function writer has in the C language, with a few restrictions, and with the addition of the powerful string processing libraries that are available for @@ -40,4 +40,4 @@ CREATE EXTENSION command, for example CREATE EXTENSION pltcl or CREATE EXTENSION pltclu. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-procnames.html postgresql-15-15.18/doc/src/sgml/html/pltcl-procnames.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-procnames.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-procnames.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -44.12. Tcl Procedure Names

    44.12. Tcl Procedure Names

    +44.12. Tcl Procedure Names

    44.12. Tcl Procedure Names

    In PostgreSQL, the same function name can be used for different function definitions as long as the number of arguments or their types differ. Tcl, however, requires all procedure names to be distinct. @@ -10,4 +10,4 @@ and different argument types will be different Tcl procedures, too. This is not normally a concern for a PL/Tcl programmer, but it might be visible when debugging. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-subtransactions.html postgresql-15-15.18/doc/src/sgml/html/pltcl-subtransactions.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-subtransactions.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-subtransactions.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -44.9. Explicit Subtransactions in PL/Tcl

    44.9. Explicit Subtransactions in PL/Tcl

    +44.9. Explicit Subtransactions in PL/Tcl

    44.9. Explicit Subtransactions in PL/Tcl

    Recovering from errors caused by database access as described in Section 44.8 can lead to an undesirable situation where some operations succeed before one of them fails, @@ -64,4 +64,4 @@ subtransaction to be rolled back. However, non-error exits out of the contained Tcl code (for instance, due to return) do not cause a rollback. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-transactions.html postgresql-15-15.18/doc/src/sgml/html/pltcl-transactions.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-transactions.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-transactions.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -44.10. Transaction Management

    44.10. Transaction Management

    +44.10. Transaction Management

    44.10. Transaction Management

    In a procedure called from the top level or an anonymous code block (DO command) called from the top level it is possible to control transactions. To commit the current transaction, call the @@ -30,4 +30,4 @@

    Transactions cannot be ended when an explicit subtransaction is active. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl-trigger.html postgresql-15-15.18/doc/src/sgml/html/pltcl-trigger.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl-trigger.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl-trigger.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -44.6. Trigger Functions in PL/Tcl

    44.6. Trigger Functions in PL/Tcl

    +44.6. Trigger Functions in PL/Tcl

    44.6. Trigger Functions in PL/Tcl

    Trigger functions can be written in PL/Tcl. PostgreSQL requires that a function that is to be called as a trigger must be declared as a function with no arguments @@ -112,4 +112,4 @@ Notice that the trigger function itself does not know the column name; that's supplied from the trigger arguments. This lets the trigger function be reused with different tables. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/pltcl.html postgresql-15-15.18/doc/src/sgml/html/pltcl.html --- postgresql-15-15.17/doc/src/sgml/html/pltcl.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/pltcl.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,8 +1,8 @@ -Chapter 44. PL/Tcl — Tcl Procedural Language \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/populate.html postgresql-15-15.18/doc/src/sgml/html/populate.html --- postgresql-15-15.17/doc/src/sgml/html/populate.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/populate.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -14.4. Populating a Database

    14.4. Populating a Database

    +14.4. Populating a Database

    14.4. Populating a Database

    One might need to insert a large amount of data when first populating a database. This section contains some suggestions on how to make this process as efficient as possible. @@ -203,4 +203,4 @@ the --disable-triggers option — but realize that that eliminates, rather than just postpones, foreign key validation, and so it is possible to insert bad data if you use it. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/postgres-fdw.html postgresql-15-15.18/doc/src/sgml/html/postgres-fdw.html --- postgresql-15-15.17/doc/src/sgml/html/postgres-fdw.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/postgres-fdw.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.38. postgres_fdw \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/postgres-user.html postgresql-15-15.18/doc/src/sgml/html/postgres-user.html --- postgresql-15-15.17/doc/src/sgml/html/postgres-user.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/postgres-user.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -19.1. The PostgreSQL User Account

    19.1. The PostgreSQL User Account

    +19.1. The PostgreSQL User Account

    19.1. The PostgreSQL User Account

    As with any server daemon that is accessible to the outside world, it is advisable to run PostgreSQL under a separate user account. This user account should only own the data @@ -17,4 +17,4 @@ useradd or adduser. The user name postgres is often used, and is assumed throughout this book, but you can use another name if you like. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/predefined-roles.html postgresql-15-15.18/doc/src/sgml/html/predefined-roles.html --- postgresql-15-15.17/doc/src/sgml/html/predefined-roles.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/predefined-roles.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -22.5. Predefined Roles

    22.5. Predefined Roles

    +22.5. Predefined Roles

    22.5. Predefined Roles

    PostgreSQL provides a set of predefined roles that provide access to certain, commonly needed, privileged capabilities and information. Administrators (including roles that have the @@ -76,4 +76,4 @@

     GRANT pg_signal_backend TO admin_user;
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/preface.html postgresql-15-15.18/doc/src/sgml/html/preface.html --- postgresql-15-15.17/doc/src/sgml/html/preface.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/preface.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -Preface \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/preventing-server-spoofing.html postgresql-15-15.18/doc/src/sgml/html/preventing-server-spoofing.html --- postgresql-15-15.17/doc/src/sgml/html/preventing-server-spoofing.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/preventing-server-spoofing.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -19.7. Preventing Server Spoofing

    19.7. Preventing Server Spoofing

    +19.7. Preventing Server Spoofing

    19.7. Preventing Server Spoofing

    While the server is running, it is not possible for a malicious user to take the place of the normal database server. However, when the server is down, it is possible for a local user to spoof the normal @@ -41,4 +41,4 @@ (Section 21.1) and use gss authentication with them. The TCP client must connect using gssencmode=require. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/progress-reporting.html postgresql-15-15.18/doc/src/sgml/html/progress-reporting.html --- postgresql-15-15.17/doc/src/sgml/html/progress-reporting.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/progress-reporting.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -28.4. Progress Reporting

    28.4. Progress Reporting

    +28.4. Progress Reporting

    28.4. Progress Reporting

    PostgreSQL has the ability to report the progress of certain commands during command execution. Currently, the only commands which support progress reporting are ANALYZE, @@ -648,4 +648,4 @@

    Number of tuples not processed because they were excluded by the WHERE clause of the COPY command. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/protocol-changes.html postgresql-15-15.18/doc/src/sgml/html/protocol-changes.html --- postgresql-15-15.17/doc/src/sgml/html/protocol-changes.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/protocol-changes.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -55.10. Summary of Changes since Protocol 2.0

    55.10. Summary of Changes since Protocol 2.0

    +55.10. Summary of Changes since Protocol 2.0

    55.10. Summary of Changes since Protocol 2.0

    This section provides a quick checklist of changes, for the benefit of developers trying to update existing client libraries to protocol 3.0.

    @@ -70,4 +70,4 @@

    The EmptyQueryResponse ('I') message used to include an empty string parameter; this has been removed. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/protocol-error-fields.html postgresql-15-15.18/doc/src/sgml/html/protocol-error-fields.html --- postgresql-15-15.17/doc/src/sgml/html/protocol-error-fields.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/protocol-error-fields.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -55.8. Error and Notice Message Fields

    55.8. Error and Notice Message Fields

    +55.8. Error and Notice Message Fields

    55.8. Error and Notice Message Fields

    This section describes the fields that can appear in ErrorResponse and NoticeResponse messages. Each field type has a single-byte identification token. Note that any given field type should appear at most once per @@ -96,4 +96,4 @@ needs; in particular it should break long lines as needed. Newline characters appearing in the error message fields should be treated as paragraph breaks, not line breaks. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/protocol-flow.html postgresql-15-15.18/doc/src/sgml/html/protocol-flow.html --- postgresql-15-15.17/doc/src/sgml/html/protocol-flow.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/protocol-flow.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -55.2. Message Flow

    55.2. Message Flow

    +55.2. Message Flow

    55.2. Message Flow

    This section describes the message flow and the semantics of each message type. (Details of the exact representation of each message appear in Section 55.7.) There are @@ -981,4 +981,4 @@ force GSSAPI encryption, the administrator can configure the server to reject unencrypted sessions as a byproduct of authentication checking. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/protocol-logical-replication.html postgresql-15-15.18/doc/src/sgml/html/protocol-logical-replication.html --- postgresql-15-15.17/doc/src/sgml/html/protocol-logical-replication.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/protocol-logical-replication.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -55.5. Logical Streaming Replication Protocol

    55.5. Logical Streaming Replication Protocol

    +55.5. Logical Streaming Replication Protocol

    55.5. Logical Streaming Replication Protocol

    This section describes the logical replication protocol, which is the message flow started by the START_REPLICATION SLOT slot_name @@ -106,4 +106,4 @@ cache the contents of Type messages, and first consult that cache to see if the type OID is defined there. If not, look up the type OID locally. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/protocol-logicalrep-message-formats.html postgresql-15-15.18/doc/src/sgml/html/protocol-logicalrep-message-formats.html --- postgresql-15-15.17/doc/src/sgml/html/protocol-logicalrep-message-formats.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/protocol-logicalrep-message-formats.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -55.9. Logical Replication Message Formats

    55.9. Logical Replication Message Formats

    +55.9. Logical Replication Message Formats

    55.9. Logical Replication Message Formats

    This section describes the detailed format of each logical replication message. These messages are either returned by the replication slot SQL interface or are sent by a walsender. In the case of a walsender, they are @@ -304,4 +304,4 @@ (As specified in the preceding format byte). n is the above length.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/protocol-message-formats.html postgresql-15-15.18/doc/src/sgml/html/protocol-message-formats.html --- postgresql-15-15.17/doc/src/sgml/html/protocol-message-formats.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/protocol-message-formats.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -55.7. Message Formats

    55.7. Message Formats

    +55.7. Message Formats

    55.7. Message Formats

    This section describes the detailed format of each message. Each is marked to indicate that it can be sent by a frontend (F), a backend (B), or both (F & B). @@ -673,4 +673,4 @@ Identifies the message as a termination.

    Int32(4)

    Length of message contents in bytes, including self. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/protocol-message-types.html postgresql-15-15.18/doc/src/sgml/html/protocol-message-types.html --- postgresql-15-15.17/doc/src/sgml/html/protocol-message-types.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/protocol-message-types.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -55.6. Message Data Types

    55.6. Message Data Types

    +55.6. Message Data Types

    55.6. Message Data Types

    This section describes the base data types used in messages.

    Intn(i)

    An n-bit integer in network byte @@ -31,4 +31,4 @@ always determinable from an earlier field in the message. If c is specified it is the exact value. Eg. Byte2, Byte1('\n'). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/protocol-overview.html postgresql-15-15.18/doc/src/sgml/html/protocol-overview.html --- postgresql-15-15.17/doc/src/sgml/html/protocol-overview.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/protocol-overview.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -55.1. Overview

    55.1. Overview

    +55.1. Overview

    55.1. Overview

    The protocol has separate phases for startup and normal operation. In the startup phase, the frontend opens a connection to the server and authenticates itself to the satisfaction of the server. (This might @@ -109,4 +109,4 @@ or source code to learn about the binary representation. Keep in mind that binary representations for complex data types might change across server versions; the text format is usually the more portable choice. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/protocol-replication.html postgresql-15-15.18/doc/src/sgml/html/protocol-replication.html --- postgresql-15-15.17/doc/src/sgml/html/protocol-replication.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/protocol-replication.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -55.4. Streaming Replication Protocol

    55.4. Streaming Replication Protocol

    +55.4. Streaming Replication Protocol

    55.4. Streaming Replication Protocol

    To initiate streaming replication, the frontend sends the replication parameter in the startup message. A Boolean value of true (or on, @@ -527,4 +527,4 @@ Owner, group, and file mode are set if the underlying file system on the server supports it.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/protocol.html postgresql-15-15.18/doc/src/sgml/html/protocol.html --- postgresql-15-15.17/doc/src/sgml/html/protocol.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/protocol.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 55. Frontend/Backend Protocol

    Chapter 55. Frontend/Backend Protocol

    +Chapter 55. Frontend/Backend Protocol

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/queries-limit.html postgresql-15-15.18/doc/src/sgml/html/queries-limit.html --- postgresql-15-15.17/doc/src/sgml/html/queries-limit.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/queries-limit.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -7.6. LIMIT and OFFSET

    7.6. LIMIT and OFFSET

    +7.6. LIMIT and OFFSET

    7.6. LIMIT and OFFSET

    LIMIT and OFFSET allow you to retrieve just a portion of the rows that are generated by the rest of the query:

    @@ -45,4 +45,4 @@
        The rows skipped by an OFFSET clause still have to be
        computed inside the server; therefore a large OFFSET
        might be inefficient.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/queries-order.html postgresql-15-15.18/doc/src/sgml/html/queries-order.html --- postgresql-15-15.17/doc/src/sgml/html/queries-order.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/queries-order.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -7.5. Sorting Rows (ORDER BY)

    7.5. Sorting Rows (ORDER BY)

    +7.5. Sorting Rows (ORDER BY)

    7.5. Sorting Rows (ORDER BY)

    After a query has produced an output table (after the select list has been processed) it can optionally be sorted. If sorting is not chosen, the rows will be returned in an unspecified order. The actual @@ -73,4 +73,4 @@ > operators correspond to this sort ordering, but a user-defined data type's designer could choose to do something different. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/queries-overview.html postgresql-15-15.18/doc/src/sgml/html/queries-overview.html --- postgresql-15-15.17/doc/src/sgml/html/queries-overview.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/queries-overview.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -7.1. Overview

    7.1. Overview

    +7.1. Overview

    7.1. Overview

    The process of retrieving or the command to retrieve data from a database is called a query. In SQL the SELECT command is @@ -50,4 +50,4 @@

     SELECT random();
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/queries-select-lists.html postgresql-15-15.18/doc/src/sgml/html/queries-select-lists.html --- postgresql-15-15.17/doc/src/sgml/html/queries-select-lists.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/queries-select-lists.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -7.3. Select Lists

    7.3. Select Lists

    +7.3. Select Lists

    7.3. Select Lists

    As shown in the previous section, the table expression in the SELECT command constructs an intermediate virtual table by possibly combining @@ -119,4 +119,4 @@ GROUP BY and subqueries in FROM, this construct can be avoided, but it is often the most convenient alternative. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/queries-table-expressions.html postgresql-15-15.18/doc/src/sgml/html/queries-table-expressions.html --- postgresql-15-15.17/doc/src/sgml/html/queries-table-expressions.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/queries-table-expressions.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -7.2. Table Expressions

    7.2. Table Expressions

    +7.2. Table Expressions

    7.2. Table Expressions

    A table expression computes a table. The table expression contains a FROM clause that is optionally followed by WHERE, GROUP BY, and @@ -1027,4 +1027,4 @@ It is not recommended to rely on this, however. Use an explicit top-level ORDER BY clause if you want to be sure the results are sorted in a particular way. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/queries-union.html postgresql-15-15.18/doc/src/sgml/html/queries-union.html --- postgresql-15-15.17/doc/src/sgml/html/queries-union.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/queries-union.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -7.4. Combining Queries (UNION, INTERSECT, EXCEPT)

    7.4. Combining Queries (UNION, INTERSECT, EXCEPT)

    +7.4. Combining Queries (UNION, INTERSECT, EXCEPT)

    7.4. Combining Queries (UNION, INTERSECT, EXCEPT)

    The results of two queries can be combined using the set operations union, intersection, and difference. The syntax is

    @@ -73,4 +73,4 @@
     

     SELECT a FROM b UNION (SELECT x FROM y LIMIT 10)
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/queries-values.html postgresql-15-15.18/doc/src/sgml/html/queries-values.html --- postgresql-15-15.17/doc/src/sgml/html/queries-values.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/queries-values.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -7.7. VALUES Lists

    7.7. VALUES Lists

    +7.7. VALUES Lists

    7.7. VALUES Lists

    VALUES provides a way to generate a constant table that can be used in a query without having to actually create and populate a table on-disk. The syntax is @@ -57,4 +57,4 @@ and next most commonly as a subquery.

    For more information see VALUES. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/queries-with.html postgresql-15-15.18/doc/src/sgml/html/queries-with.html --- postgresql-15-15.17/doc/src/sgml/html/queries-with.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/queries-with.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -7.8. WITH Queries (Common Table Expressions)

    7.8. WITH Queries (Common Table Expressions)

    +7.8. WITH Queries (Common Table Expressions)

    7.8. WITH Queries (Common Table Expressions)

    WITH provides a way to write auxiliary statements for use in a larger query. These statements, which are often referred to as Common Table Expressions or CTEs, can be thought of as defining @@ -561,4 +561,4 @@ At present, any table used as the target of a data-modifying statement in WITH must not have a conditional rule, nor an ALSO rule, nor an INSTEAD rule that expands to multiple statements. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/queries.html postgresql-15-15.18/doc/src/sgml/html/queries.html --- postgresql-15-15.17/doc/src/sgml/html/queries.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/queries.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,6 +1,6 @@ -Chapter 7. Queries

    Chapter 7. Queries

    +Chapter 7. Queries

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/query-path.html postgresql-15-15.18/doc/src/sgml/html/query-path.html --- postgresql-15-15.17/doc/src/sgml/html/query-path.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/query-path.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -52.1. The Path of a Query

    52.1. The Path of a Query

    +52.1. The Path of a Query

    52.1. The Path of a Query

    Here we give a short overview of the stages a query has to pass to obtain a result.

    1. @@ -52,4 +52,4 @@ In the following sections we will cover each of the above listed items in more detail to give a better understanding of PostgreSQL's internal control and data structures. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/querytree.html postgresql-15-15.18/doc/src/sgml/html/querytree.html --- postgresql-15-15.17/doc/src/sgml/html/querytree.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/querytree.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -41.1. The Query Tree

    41.1. The Query Tree

    +41.1. The Query Tree

    41.1. The Query Tree

    To understand how the rule system works it is necessary to know when it is invoked and what its input and results are.

    @@ -149,4 +149,4 @@ doesn't have much to do with the fundamentals of the rule system.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/rangetypes.html postgresql-15-15.18/doc/src/sgml/html/rangetypes.html --- postgresql-15-15.17/doc/src/sgml/html/rangetypes.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/rangetypes.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.17. Range Types \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/recovery-config.html postgresql-15-15.18/doc/src/sgml/html/recovery-config.html --- postgresql-15-15.17/doc/src/sgml/html/recovery-config.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/recovery-config.html 2026-05-11 20:02:58.000000000 +0000 @@ -1,10 +1,10 @@ -O.1. recovery.conf file merged into postgresql.conf

    O.1. recovery.conf file merged into postgresql.conf

    +O.1. recovery.conf file merged into postgresql.conf

    O.1. recovery.conf file merged into postgresql.conf

    PostgreSQL 11 and below used a configuration file named recovery.conf to manage replicas and standbys. Support for this file was removed in PostgreSQL 12. See - the release notes for PostgreSQL 12 for details + the release notes for PostgreSQL 12 for details on this change.

    On PostgreSQL 12 and above, @@ -28,4 +28,4 @@ setting has been removed. A standby.signal file in the data directory is used instead. See Standby Server Operation for details. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/reference-client.html postgresql-15-15.18/doc/src/sgml/html/reference-client.html --- postgresql-15-15.17/doc/src/sgml/html/reference-client.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/reference-client.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -PostgreSQL Client Applications

    PostgreSQL Client Applications


    +PostgreSQL Client Applications

    PostgreSQL Client Applications


    This part contains reference information for PostgreSQL client applications and utilities. Not all of these commands are of general utility; some @@ -21,4 +21,4 @@

    pg_verifybackup — verify the integrity of a base backup of a PostgreSQL cluster
    psqlPostgreSQL interactive terminal -
    reindexdb — reindex a PostgreSQL database
    vacuumdb — garbage-collect and analyze a PostgreSQL database
    \ No newline at end of file +
    reindexdb — reindex a PostgreSQL database
    vacuumdb — garbage-collect and analyze a PostgreSQL database
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/reference-server.html postgresql-15-15.18/doc/src/sgml/html/reference-server.html --- postgresql-15-15.17/doc/src/sgml/html/reference-server.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/reference-server.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,8 +1,8 @@ -PostgreSQL Server Applications

    PostgreSQL Server Applications


    +PostgreSQL Server Applications

    PostgreSQL Server Applications


    This part contains reference information for PostgreSQL server applications and support utilities. These commands can only be run usefully on the host where the database server resides. Other utility programs are listed in PostgreSQL Client Applications. -

    Table of Contents

    initdb — create a new PostgreSQL database cluster
    pg_archivecleanup — clean up PostgreSQL WAL archive files
    pg_checksums — enable, disable or check data checksums in a PostgreSQL database cluster
    pg_controldata — display control information of a PostgreSQL database cluster
    pg_ctl — initialize, start, stop, or control a PostgreSQL server
    pg_resetwal — reset the write-ahead log and other control information of a PostgreSQL database cluster
    pg_rewind — synchronize a PostgreSQL data directory with another data directory that was forked from it
    pg_test_fsync — determine fastest wal_sync_method for PostgreSQL
    pg_test_timing — measure timing overhead
    pg_upgrade — upgrade a PostgreSQL server instance
    pg_waldump — display a human-readable rendering of the write-ahead log of a PostgreSQL database cluster
    postgresPostgreSQL database server
    postmasterPostgreSQL database server
    \ No newline at end of file +

    Table of Contents

    initdb — create a new PostgreSQL database cluster
    pg_archivecleanup — clean up PostgreSQL WAL archive files
    pg_checksums — enable, disable or check data checksums in a PostgreSQL database cluster
    pg_controldata — display control information of a PostgreSQL database cluster
    pg_ctl — initialize, start, stop, or control a PostgreSQL server
    pg_resetwal — reset the write-ahead log and other control information of a PostgreSQL database cluster
    pg_rewind — synchronize a PostgreSQL data directory with another data directory that was forked from it
    pg_test_fsync — determine fastest wal_sync_method for PostgreSQL
    pg_test_timing — measure timing overhead
    pg_upgrade — upgrade a PostgreSQL server instance
    pg_waldump — display a human-readable rendering of the write-ahead log of a PostgreSQL database cluster
    postgresPostgreSQL database server
    postmasterPostgreSQL database server
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/reference.html postgresql-15-15.18/doc/src/sgml/html/reference.html --- postgresql-15-15.17/doc/src/sgml/html/reference.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/reference.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -Part VI. Reference

    Part VI. Reference

    +Part VI. Reference

    Part VI. Reference

    The entries in this Reference are meant to provide in reasonable length an authoritative, complete, and formal summary about their respective subjects. More information about the use of @@ -28,4 +28,4 @@

    pg_verifybackup — verify the integrity of a base backup of a PostgreSQL cluster
    psqlPostgreSQL interactive terminal -
    reindexdb — reindex a PostgreSQL database
    vacuumdb — garbage-collect and analyze a PostgreSQL database
    III. PostgreSQL Server Applications
    initdb — create a new PostgreSQL database cluster
    pg_archivecleanup — clean up PostgreSQL WAL archive files
    pg_checksums — enable, disable or check data checksums in a PostgreSQL database cluster
    pg_controldata — display control information of a PostgreSQL database cluster
    pg_ctl — initialize, start, stop, or control a PostgreSQL server
    pg_resetwal — reset the write-ahead log and other control information of a PostgreSQL database cluster
    pg_rewind — synchronize a PostgreSQL data directory with another data directory that was forked from it
    pg_test_fsync — determine fastest wal_sync_method for PostgreSQL
    pg_test_timing — measure timing overhead
    pg_upgrade — upgrade a PostgreSQL server instance
    pg_waldump — display a human-readable rendering of the write-ahead log of a PostgreSQL database cluster
    postgresPostgreSQL database server
    postmasterPostgreSQL database server
    \ No newline at end of file +
    reindexdb — reindex a PostgreSQL database
    vacuumdb — garbage-collect and analyze a PostgreSQL database
    III. PostgreSQL Server Applications
    initdb — create a new PostgreSQL database cluster
    pg_archivecleanup — clean up PostgreSQL WAL archive files
    pg_checksums — enable, disable or check data checksums in a PostgreSQL database cluster
    pg_controldata — display control information of a PostgreSQL database cluster
    pg_ctl — initialize, start, stop, or control a PostgreSQL server
    pg_resetwal — reset the write-ahead log and other control information of a PostgreSQL database cluster
    pg_rewind — synchronize a PostgreSQL data directory with another data directory that was forked from it
    pg_test_fsync — determine fastest wal_sync_method for PostgreSQL
    pg_test_timing — measure timing overhead
    pg_upgrade — upgrade a PostgreSQL server instance
    pg_waldump — display a human-readable rendering of the write-ahead log of a PostgreSQL database cluster
    postgresPostgreSQL database server
    postmasterPostgreSQL database server
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/regress-coverage.html postgresql-15-15.18/doc/src/sgml/html/regress-coverage.html --- postgresql-15-15.17/doc/src/sgml/html/regress-coverage.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/regress-coverage.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -33.5. Test Coverage Examination

    33.5. Test Coverage Examination

    +33.5. Test Coverage Examination

    33.5. Test Coverage Examination

    The PostgreSQL source code can be compiled with coverage testing instrumentation, so that it becomes possible to examine which parts of the code are covered by the regression tests or any other @@ -40,4 +40,4 @@ report for only a portion of the code tree.

    Use make distclean to clean up when done. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/regress-evaluation.html postgresql-15-15.18/doc/src/sgml/html/regress-evaluation.html --- postgresql-15-15.17/doc/src/sgml/html/regress-evaluation.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/regress-evaluation.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -33.2. Test Evaluation

    33.2. Test Evaluation

    +33.2. Test Evaluation

    33.2. Test Evaluation

    Some properly installed and fully functional PostgreSQL installations can fail some of these regression tests due to @@ -163,4 +163,4 @@ parameters such as enable_seqscan or enable_indexscan could cause plan changes that would affect the results of tests that use EXPLAIN. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/regress-run.html postgresql-15-15.18/doc/src/sgml/html/regress-run.html --- postgresql-15-15.17/doc/src/sgml/html/regress-run.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/regress-run.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -33.1. Running the Tests

    33.1. Running the Tests

    +33.1. Running the Tests

    33.1. Running the Tests

    The regression tests can be run against an already installed and running server, or using a temporary installation within the build tree. Furthermore, there is a parallel and a @@ -255,4 +255,4 @@

     make check EXTRA_TESTS=numeric_big
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/regress-tap.html postgresql-15-15.18/doc/src/sgml/html/regress-tap.html --- postgresql-15-15.17/doc/src/sgml/html/regress-tap.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/regress-tap.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -33.4. TAP Tests

    33.4. TAP Tests

    +33.4. TAP Tests

    33.4. TAP Tests

    Various tests, particularly the client program tests under src/bin, use the Perl TAP tools and are run using the Perl testing program prove. You can pass @@ -39,4 +39,4 @@ subdirectories contain both traditional-style and TAP-style tests, meaning that make installcheck will produce a mix of results from temporary servers and the already-running test server. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/regress-variant.html postgresql-15-15.18/doc/src/sgml/html/regress-variant.html --- postgresql-15-15.17/doc/src/sgml/html/regress-variant.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/regress-variant.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -33.3. Variant Comparison Files

    33.3. Variant Comparison Files

    +33.3. Variant Comparison Files

    33.3. Variant Comparison Files

    Since some of the tests inherently produce environment-dependent results, we have provided ways to specify alternate expected result files. Each regression test can have several comparison files @@ -74,4 +74,4 @@ the variant that seems to work best. Therefore it is safest to use this mechanism only for variant results that you are willing to consider equally valid in all contexts. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/regress.html postgresql-15-15.18/doc/src/sgml/html/regress.html --- postgresql-15-15.17/doc/src/sgml/html/regress.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/regress.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,7 +1,7 @@ -Chapter 33. Regression Tests

    Chapter 33. Regression Tests

    +Chapter 33. Regression Tests

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-1.html postgresql-15-15.18/doc/src/sgml/html/release-15-1.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-1.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-1.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,14 +1,14 @@ -E.17. Release 15.1

    E.17. Release 15.1

    Release date: 2022-11-10

    +E.18. Release 15.1

    E.18. Release 15.1

    Release date: 2022-11-10

    This release contains a variety of fixes from 15.0. For information about new features in major release 15, see - Section E.18. -

    E.17.1. Migration to Version 15.1

    + Section E.19. +

    E.18.1. Migration to Version 15.1

    A dump/restore is not required for those running 15.X.

    However, if you regularly create and drop tables exceeding 1GB, see the first changelog entry below. -

    E.17.2. Changes

    • +

    E.18.2. Changes

    • Fix failure to remove non-first segments of large tables (Tom Lane) § @@ -250,4 +250,4 @@ tzdb's backwards-compatibility options (see their PACKRATDATA and PACKRATLIST options). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-10.html postgresql-15-15.18/doc/src/sgml/html/release-15-10.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-10.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-10.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,14 +1,14 @@ -E.8. Release 15.10

    E.8. Release 15.10

    Release date: 2024-11-21

    +E.9. Release 15.10

    E.9. Release 15.10

    Release date: 2024-11-21

    This release contains a few fixes from 15.9. For information about new features in major release 15, see - Section E.18. -

    E.8.1. Migration to Version 15.10

    + Section E.19. +

    E.9.1. Migration to Version 15.10

    A dump/restore is not required for those running 15.X.

    However, if you are upgrading from a version earlier than 15.9, - see Section E.9. -

    E.8.2. Changes

    E.9.2. Changes

    • Repair ABI break for extensions that work with struct ResultRelInfo (Tom Lane) § @@ -83,4 +83,4 @@

      This bug does not appear to have any visible consequences in non-assert builds. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-11.html postgresql-15-15.18/doc/src/sgml/html/release-15-11.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-11.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-11.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,14 +1,14 @@ -E.7. Release 15.11

    E.7. Release 15.11

    Release date: 2025-02-13

    +E.8. Release 15.11

    E.8. Release 15.11

    Release date: 2025-02-13

    This release contains a variety of fixes from 15.10. For information about new features in major release 15, see - Section E.18. -

    E.7.1. Migration to Version 15.11

    + Section E.19. +

    E.8.1. Migration to Version 15.11

    A dump/restore is not required for those running 15.X.

    However, if you are upgrading from a version earlier than 15.9, - see Section E.9. -

    E.7.2. Changes

    E.8.2. Changes

    • Harden PQescapeString and allied functions against invalidly-encoded input strings (Andres Freund, Noah Misch) § @@ -438,4 +438,4 @@ release 2025a for DST law changes in Paraguay, plus historical corrections for the Philippines (Tom Lane) § -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-12.html postgresql-15-15.18/doc/src/sgml/html/release-15-12.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-12.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-12.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,14 +1,14 @@ -E.6. Release 15.12

    E.6. Release 15.12

    Release date: 2025-02-20

    +E.7. Release 15.12

    E.7. Release 15.12

    Release date: 2025-02-20

    This release contains a few fixes from 15.11. For information about new features in major release 15, see - Section E.18. -

    E.6.1. Migration to Version 15.12

    + Section E.19. +

    E.7.1. Migration to Version 15.12

    A dump/restore is not required for those running 15.X.

    However, if you are upgrading from a version earlier than 15.9, - see Section E.9. -

    E.6.2. Changes

    E.7.2. Changes

    • Improve behavior of libpq's quoting functions (Andres Freund, Tom Lane) § @@ -29,4 +29,4 @@ the first byte of the presumed character, not all of it. This reduces the risk of problems if a calling application performs additional processing on the quoted string. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-13.html postgresql-15-15.18/doc/src/sgml/html/release-15-13.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-13.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-13.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,9 +1,9 @@ -E.5. Release 15.13

    E.5. Release 15.13

    Release date: 2025-05-08

    +E.6. Release 15.13

    E.6. Release 15.13

    Release date: 2025-05-08

    This release contains a variety of fixes from 15.12. For information about new features in major release 15, see - Section E.18. -

    E.5.1. Migration to Version 15.13

    + Section E.19. +

    E.6.1. Migration to Version 15.13

    A dump/restore is not required for those running 15.X.

    However, if you have any self-referential foreign key constraints on @@ -15,8 +15,8 @@ reindex them after updating. See the third changelog entry below.

    Also, if you are upgrading from a version earlier than 15.9, - see Section E.9. -

    E.5.2. Changes

    E.6.2. Changes

    • Avoid one-byte buffer overread when examining invalidly-encoded strings that are claimed to be in GB18030 encoding (Noah Misch, Andres Freund) @@ -316,4 +316,4 @@ There is a new time zone America/Coyhaique for Chile's Aysén Region, to account for it changing to UTC-03 year-round and thus diverging from America/Santiago. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-14.html postgresql-15-15.18/doc/src/sgml/html/release-15-14.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-14.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-14.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,9 +1,9 @@ -E.4. Release 15.14

    E.4. Release 15.14

    Release date: 2025-08-14

    +E.5. Release 15.14

    E.5. Release 15.14

    Release date: 2025-08-14

    This release contains a variety of fixes from 15.13. For information about new features in major release 15, see - Section E.18. -

    E.4.1. Migration to Version 15.14

    + Section E.19. +

    E.5.1. Migration to Version 15.14

    A dump/restore is not required for those running 15.X.

    However, if you have any @@ -12,8 +12,8 @@ entry below.

    Also, if you are upgrading from a version earlier than 15.13, - see Section E.5. -

    E.4.2. Changes

    E.5.2. Changes

    • Tighten security checks in planner estimation functions (Dean Rasheed) § @@ -533,4 +533,4 @@ extensions that want to use libicu's C++ APIs can do so by including the libicu headers ahead of pg_locale.h. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-15.html postgresql-15-15.18/doc/src/sgml/html/release-15-15.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-15.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-15.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,14 +1,14 @@ -E.3. Release 15.15

    E.3. Release 15.15

    Release date: 2025-11-13

    +E.4. Release 15.15

    E.4. Release 15.15

    Release date: 2025-11-13

    This release contains a variety of fixes from 15.14. For information about new features in major release 15, see - Section E.18. -

    E.3.1. Migration to Version 15.15

    + Section E.19. +

    E.4.1. Migration to Version 15.15

    A dump/restore is not required for those running 15.X.

    However, if you are upgrading from a version earlier than 15.14, - see Section E.4. -

    E.3.2. Changes

    E.4.2. Changes

    • Check for CREATE privileges on the schema in CREATE STATISTICS (Jelte Fennema-Nio) § @@ -464,4 +464,4 @@ Fix PGXS build infrastructure to support building NLS po files for extensions (Ryo Matsumura) § -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-16.html postgresql-15-15.18/doc/src/sgml/html/release-15-16.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-16.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-16.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,14 +1,14 @@ -E.2. Release 15.16

    E.2. Release 15.16

    Release date: 2026-02-12

    +E.3. Release 15.16

    E.3. Release 15.16

    Release date: 2026-02-12

    This release contains a variety of fixes from 15.15. For information about new features in major release 15, see - Section E.18. -

    E.2.1. Migration to Version 15.16

    + Section E.19. +

    E.3.1. Migration to Version 15.16

    A dump/restore is not required for those running 15.X.

    However, if you are upgrading from a version earlier than 15.14, - see Section E.4. -

    E.2.2. Changes

    E.3.2. Changes

    • Guard against unexpected dimensions of oidvector/int2vector (Tom Lane) § @@ -384,4 +384,4 @@

      The only change is in historical data for pre-1976 timestamps in Baja California. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-17.html postgresql-15-15.18/doc/src/sgml/html/release-15-17.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-17.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-17.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,14 +1,14 @@ -E.1. Release 15.17

    E.1. Release 15.17

    Release date: 2026-02-26

    +E.2. Release 15.17

    E.2. Release 15.17

    Release date: 2026-02-26

    This release contains a small number of fixes from 15.16. For information about new features in major release 15, see - Section E.18. -

    E.1.1. Migration to Version 15.17

    + Section E.19. +

    E.2.1. Migration to Version 15.17

    A dump/restore is not required for those running 15.X.

    However, if you are upgrading from a version earlier than 15.14, - see Section E.4. -

    E.1.2. Changes

    E.2.2. Changes

    • Fix failure after replaying a multixid truncation record from WAL that was generated by an older minor version (Heikki Linnakangas) § @@ -57,4 +57,4 @@ would never contain duplicate keys, so this mistake has gone unnoticed. The crash could be provoked by malicious or corrupted data. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-18.html postgresql-15-15.18/doc/src/sgml/html/release-15-18.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-18.html 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-18.html 2026-05-11 20:02:56.000000000 +0000 @@ -0,0 +1,459 @@ + +E.1. Release 15.18

    E.1. Release 15.18

    Release date: 2026-05-14

    + This release contains a variety of fixes from 15.17. + For information about new features in major release 15, see + Section E.19. +

    E.1.1. Migration to Version 15.18

    + A dump/restore is not required for those running 15.X. +

    + However, if you are upgrading from a version earlier than 15.14, + see Section E.5. +

    E.1.2. Changes

    • + Prevent unbounded recursion while processing startup packets + (Michael Paquier) + § + § +

      + A malicious client could crash the connected backend by alternating + rejected SSL and GSS encryption requests indefinitely. +

      + The PostgreSQL Project thanks Calif.io + (in collaboration with Claude and Anthropic Research) for reporting + this problem. + (CVE-2026-6479) +

    • + Fix assorted integer overflows in memory-allocation calculations + (Tom Lane, Nathan Bossart, Heikki Linnakangas) + § + § + § + § + § + § + § + § + § + § +

      + Various places were incautious about the possibility of integer + overflow in calculations of how much memory to allocate. Overflow + would lead to allocating a too-small buffer which the caller would + then write past the end of. This would at least trigger server + crashes, and probably could be exploited for arbitrary code + execution. In many but by no means all cases, the hazard exists + only in 32-bit builds. +

      + The PostgreSQL Project thanks Xint Code, + Bruce Dang, Sven Klemm, and Pavel Kohout for reporting these problems. + (CVE-2026-6473) +

    • + Reject over-length options in ts_headline() + (Michael Paquier) + § +

      + The StartSel, StopSel + and FragmentDelimiter strings must not exceed + 32Kb in length, but this was not checked for. An over-length value + would typically crash the server. +

      + The PostgreSQL Project thanks + Xint Code for reporting this problem. + (CVE-2026-6473) +

    • + Guard against malicious time zone names + in timeofday() + and pg_strftime() (Tom Lane) + § + § +

      + A crafted time zone setting could pass % + sequences to snprintf(), potentially causing + crashes or disclosure of server memory. Another path to similar + results was to overflow the limited-size output buffer used + by pg_strftime(). +

      + The PostgreSQL Project thanks + Xint Code for reporting this problem. + (CVE-2026-6474) +

    • + When creating a multirange type, ensure the user + has CREATE privilege on the schema specified for + the multirange type (Jelte Fennema-Nio) + § +

      + The multirange type can be put into a different schema than its + parent range type, but we neglected to apply the required privilege + check when doing so. +

      + The PostgreSQL Project thanks + Jelte Fennema-Nio for reporting this problem. + (CVE-2026-6472) +

    • + Use timing-safe string comparisons in authentication code + (Michael Paquier) + § + § +

      + Use timingsafe_bcmp() instead + of memcpy() or strcmp() + when checking passwords, hashes, etc. It is not known whether the + data dependency of those functions is usefully exploitable in any of + these places, but in the interests of safety, replace them. +

      + The PostgreSQL Project thanks + Joe Conway for reporting this problem. + (CVE-2026-6478) +

    • + Mark PQfn() as unsafe, and avoid using it + within libpq (Nathan Bossart) + § +

      + For a non-integral result type, PQfn() is not + passed the size of the output buffer, so it cannot check that the + data returned by the server will fit. A malicious server could + therefore overwrite client memory. This is unfixable without an + API change, so mark the function as deprecated. Internally + to libpq, use a variant version that can + apply the missing check. +

      + The PostgreSQL Project thanks + Yu Kunpeng and Martin Heistermann for reporting this problem. + (CVE-2026-6477) +

    • + Prevent path traversal in pg_basebackup + and pg_rewind (Michael Paquier) + § +

      + These applications failed to validate output file paths read from + their input, so that a malicious source could overwrite any file + writable by these applications. Constrain where data can be written + by rejecting paths that are absolute or contain parent-directory + references. +

      + The PostgreSQL Project thanks XlabAI Team + of Tencent Xuanwu Lab and Valery Gubanov for reporting this problem. + (CVE-2026-6475) +

    • + Guard against field overflow + within contrib/intarray's query_int + type and contrib/ltree's ltxtquery + type (Tom Lane) + § + § +

      + Parsing of these query structures did not check for overflow of + 16-bit fields, so that construction of an invalid query tree was + possible. This can crash the server when executing the query. +

      + The PostgreSQL Project thanks + Xint Code for reporting this problem. + (CVE-2026-6473) +

    • + Guard against overly long values + of contrib/ltree's lquery type + (Michael Paquier) + § +

      + Values with more than 64K items caused internal overflows, + potentially resulting in stack smashes or wrong answers. +

      + The PostgreSQL Project thanks + Vergissmeinnicht, A1ex, and Jihe Wang + for reporting this problem. + (CVE-2026-6473) +

    • + Prevent SQL injection and buffer overruns + in contrib/spi (Nathan Bossart) + § +

      + check_foreign_key() was insufficiently careful + about quoting key values, and also used fixed-length buffers for + constructing queries. While this module is only meant as example + code, it still shouldn't contain such dangerous errors. +

      + The PostgreSQL Project thanks + Nikolay Samokhvalov for reporting this problem. + (CVE-2026-6637) +

    • + Check for nondeterministic collations before assuming that an + equality condition on a collatable type implies uniqueness + (Richard Guo) + § + § +

      + Numerous planner optimizations assume that, for example, at most one + table row can satisfy WHERE x = 'abc' if there is + a unique index on x. However this conclusion is + unsafe in general if the index and the WHERE + clause have different collations attached. It is safe when both + collations are deterministic, because that property essentially + requires that equality of two strings means bitwise equality. But + nondeterministic collations don't act that way, so that optimizing + on the assumption of unique matches can give wrong query answers if + either the WHERE clause or the index has a + nondeterministic collation. +

    • + Fix incorrect handling of NEW generated columns + in rule actions and rule qualifications (Richard Guo, Dean Rasheed) + § +

      + Previously, such column references would produce NULL + in INSERT cases, or be equivalent to + the OLD value in UPDATE cases. +

    • + Fix spurious generated columns are not supported in COPY FROM + WHERE conditions errors (Tom Lane) + § +

      + Use of a system column in a COPY FROM WHERE + condition could sometimes incorrectly report this error. +

    • + Correctly report a serialization failure + when MERGE encounters a concurrently-updated + tuple in repeatable-read or serializable mode (Tender Wang) + § +

      + Previously, such cases behaved the same as in lower isolation + levels. +

    • + Fix CREATE TABLE ... LIKE ... INCLUDING + STATISTICS for cases where the source table has dropped + column(s) (Julien Tachoires) + § +

      + In such cases, extended statistics objects could be copied + incorrectly, or the command could give an incorrect error. +

    • + Allow ALTER INDEX ... ATTACH PARTITION to mark + the parent index valid if appropriate (Sami Imseih) + § +

      + There are edge cases in which a partitioned index might remain + marked as invalid even when all its leaf indexes are valid. This + change provides a mechanism whereby a user can correct such a + situation without resorting to manual catalog updates. +

    • + Fix ALTER FOREIGN DATA WRAPPER to not drop the + wrapper object's dependency on its handler function (Jeff Davis) + § +

    • + Disallow making a composite type be a member of itself via a + multirange (Heikki Linnakangas) + § +

      + We already forbade such cases when the intermediate type is a + domain, array, composite type, or range; but multiranges were + overlooked. +

    • + Fix datum-image comparisons to be insensitive to sign-extension + variations (David Rowley) + § +

      + This fixes some situations that previously led to could not + find memoization table entry errors or wrong query results. +

    • + Fix incorrect logic for hashed IN/NOT + IN with non-strict equality operator (Chengpeng Yan) + § +

      + The previous coding could crash or give wrong answers. All built-in + data types have strict equality operators, so that this issue could + only arise with an extension data type. +

    • + Truncate overly-long locale-specific numeric symbols + in to_char() (Tom Lane) + § +

      + If a locale specified a currency symbol, thousands separator, or + decimal or sign symbol more than 8 bytes long, a buffer overrun was + possible. No such locales exist in the real world, and it's + impractical for an unprivileged attacker to install a malicious + locale definition underneath a Postgres server; but for safety's + sake check for overlength symbols and truncate if needed. +

    • + Prevent buffer overruns when parsing an affix file for + an Ispell dictionary (Tom Lane) + § + § +

      + A corrupt or malicious affix file could crash the server. + This is not considered a security issue because text search + configuration files are presumed trustworthy, but it still seems + worth fixing. +

    • + Guard against integer overflow in calculations of frame start and + end positions for window aggregates (Richard Guo) + § +

      + Very large user-specified offsets (close to INT64_MAX) could result + in errors or incorrect query results. +

    • + Fix incorrect behavior + of pg_stat_reset_single_table_counters() on a + shared catalog (Chao Li) + § +

      + Such cases had a side-effect of resetting the + current database's stat_reset_timestamp, which + was unintended. +

    • + Fix buffer overread when pglz_decompress() + receives corrupt input (Andrew Dunstan) + § +

      + It was possible to read a few bytes past the end of the input, which + in very unlucky cases might cause a crash. +

    • + Ensure that tuplestore data structures are internally consistent + even after an error (Tom Lane) + § +

      + The code was previously careless about this, which is fine most of + the time but is problematic for the tuplestore backing + a WITH HOLD cursor. In v15 and before this + leads to easily-reproducible crashes; later branches are not known + to be vulnerable, but it seems best to preserve consistency in all. +

    • + Fix premature NULL lag reporting + in pg_stat_replication (Shinya Kato) + § +

      + The lag columns frequently read as NULL even while replication + activity was happening. +

    • + Avoid rare flush failure when working with non-WAL-logged GiST + indexes (Tomas Vondra) + § +

      + A non-logged GiST index could nonetheless sometimes + produce xlog flush request n/nnnn + is not satisfied errors, due to incorrect selection of + a fake LSN to represent an insertion point. +

    • + Fix underestimate of required size of DSA page maps for odd-size + segments (Paul Bunn) + § +

      + This miscalculation led to out-of-bounds accesses and hence server + crashes. +

    • + Fix possible server crash when processing extended statistics on + expressions of extension data types (Michael Paquier) + § +

      + NULL pointer dereferences were possible if the data type's + typanalyze function does not compute any useful statistics. + No in-core typanalyze function behaves that way, but extensions + could. +

    • + If the startup process fails, properly shut down other child + processes before exiting the postmaster (Ayush Tiwari) + § +

      + The handling of this situation relied on a long-obsolete assumption + that no other postmaster children exist while the startup process is + running, so that immediate postmaster exit is acceptable. + Orphaned children would eventually notice the postmaster's death and + exit on their own, but a cleaner shutdown procedure is desirable. +

    • + Fix race condition between WAL replay of checkpoints and multixact + ID creations (Heikki Linnakangas) + § +

      + A standby server following WAL from a primary of an older minor + version could get into a crash-and-restart loop complaining + about could not access status of transaction. +

    • + Prevent indefinite wait in shutdown of a walsender process + (Anthonin Bonnefoy) + § + § +

      + At shutdown of a cluster that is publishing logical replication + data, the walsender waits for all pending WAL to be written out. + But it did not correctly request that to happen, so that in some + cases this could become an indefinite wait. +

    • + Ensure that changes to tables' free space maps are persisted during + recovery (Alexey Makhmutov) + § +

      + Previously, while WAL replay did update the free space map while + replaying operations that should change it, the map page buffer did + not get marked dirty if checksums are enabled, so that the changes + might never get written out. On a standby server, over time this + would result in a map wildly at variance with the table's actual + contents. While the map is only used as a hint, this condition + could cause significant performance degradation for some period of + time after the standby server is promoted to be active, until most + of the map has been repaired by updates. +

    • + Fix crashes in some ecpg functions when + called without any established connection (Shruthi Gowda) + § +

    • + Fix assorted bugs in backup decompression and tar-parsing code + (Andrew Dunstan, Tom Lane, Chao Li) + § + § + § +

      + The decompression and tar-file reading code used + in pg_basebackup + and pg_verifybackup mishandled tar-file + padding data, could corrupt LZ4-compressed data in edge cases, + failed to check for some unusual error conditions, failed to exit + after compression/decompression errors (leading to cascading error + reports), and leaked memory. +

    • + In pg_upgrade, take care to use the + correct protocol version when connecting to older source servers + (Jacob Champion) + § +

      + This could be problematic when attempting to upgrade from a pre-2018 + server. +

    • + In contrib/basic_archive, allow the archive + directory to be missing at startup (Nathan Bossart) + § +

      + Previously, the setting + of basic_archive.archive_directory was rejected + if it didn't point to an existing directory. This is undesirable + because archiving will be stuck indefinitely, even if the directory + appears later. +

    • + Fix contrib/ltree to cope when case-folding + changes a string's byte length (Jeff Davis) + § +

      + Previously, lquery patterns specifying case-insensitive + matching might fail to match labels they should match. +

    • + In contrib/pg_stat_statements, don't leak + memory if an error occurs while parsing the + pgss_query_texts.stat file (Heikki Linnakangas) + § +

    • + In contrib/postgres_fdw, avoid crash due to + premature cleanup of a failed connection (Etsuro Fujita) + § +

      + If a remote connection fails abort cleanup, we can't use it any + longer. But delay closing the connection object until end of + transaction, because there might still be references to it within + data structures such as open cursors. +

    • + Update time zone data files to tzdata + release 2026b (Tom Lane) + § +

      + British Columbia (America/Vancouver) will be on year-round UTC-07 + (effectively, permanent DST) beginning in November 2026. This + release assumes that their TZ abbreviation will + be MST from that time forward. That seems likely + to change, but it's unclear what new abbreviation will be used. + Also a historical correction for Moldova: they have followed EU DST + transition times since 2022. +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-2.html postgresql-15-15.18/doc/src/sgml/html/release-15-2.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-2.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-2.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,14 +1,14 @@ -E.16. Release 15.2

    E.16. Release 15.2

    Release date: 2023-02-09

    +E.17. Release 15.2

    E.17. Release 15.2

    Release date: 2023-02-09

    This release contains a variety of fixes from 15.1. For information about new features in major release 15, see - Section E.18. -

    E.16.1. Migration to Version 15.2

    + Section E.19. +

    E.17.1. Migration to Version 15.2

    A dump/restore is not required for those running 15.X.

    However, if you are upgrading from a version earlier than 15.1, - see Section E.17. -

    E.16.2. Changes

    E.17.2. Changes

    • libpq can leak memory contents after GSSAPI transport encryption initiation fails (Jacob Champion) § @@ -491,4 +491,4 @@

      Notably, a new timezone America/Ciudad_Juarez has been split off from America/Ojinaga. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-3.html postgresql-15-15.18/doc/src/sgml/html/release-15-3.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-3.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-3.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,14 +1,14 @@ -E.15. Release 15.3

    E.15. Release 15.3

    Release date: 2023-05-11

    +E.16. Release 15.3

    E.16. Release 15.3

    Release date: 2023-05-11

    This release contains a variety of fixes from 15.2. For information about new features in major release 15, see - Section E.18. -

    E.15.1. Migration to Version 15.3

    + Section E.19. +

    E.16.1. Migration to Version 15.3

    A dump/restore is not required for those running 15.X.

    However, if you are upgrading from a version earlier than 15.1, - see Section E.17. -

    E.15.2. Changes

    E.16.2. Changes

    • Prevent CREATE SCHEMA from defeating changes in search_path (Alexander Lakhin) § @@ -694,4 +694,4 @@ for consistency with other timezones observing Moscow time. Also, America/Yellowknife is no longer distinct from America/Edmonton; this affects some pre-1948 timestamps in that area. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-4.html postgresql-15-15.18/doc/src/sgml/html/release-15-4.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-4.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-4.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,17 +1,17 @@ -E.14. Release 15.4

    E.14. Release 15.4

    Release date: 2023-08-10

    +E.15. Release 15.4

    E.15. Release 15.4

    Release date: 2023-08-10

    This release contains a variety of fixes from 15.3. For information about new features in major release 15, see - Section E.18. -

    E.14.1. Migration to Version 15.4

    + Section E.19. +

    E.15.1. Migration to Version 15.4

    A dump/restore is not required for those running 15.X.

    However, if you use BRIN indexes, it may be advisable to reindex them; see the third changelog entry below.

    Also, if you are upgrading from a version earlier than 15.1, - see Section E.17. -

    E.14.2. Changes

    E.15.2. Changes

    • Disallow substituting a schema or owner name into an extension script if the name contains a quote, backslash, or dollar sign (Noah Misch) § @@ -401,4 +401,4 @@ Fix make_etags script to work with non-Exuberant ctags (Masahiko Sawada) § -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-5.html postgresql-15-15.18/doc/src/sgml/html/release-15-5.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-5.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-5.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,9 +1,9 @@ -E.13. Release 15.5

    E.13. Release 15.5

    Release date: 2023-11-09

    +E.14. Release 15.5

    E.14. Release 15.5

    Release date: 2023-11-09

    This release contains a variety of fixes from 15.4. For information about new features in major release 15, see - Section E.18. -

    E.13.1. Migration to Version 15.5

    + Section E.19. +

    E.14.1. Migration to Version 15.5

    A dump/restore is not required for those running 15.X.

    However, several mistakes have been discovered that could lead to @@ -14,8 +14,8 @@ entries below.

    Also, if you are upgrading from a version earlier than 15.4, - see Section E.14. -

    E.13.2. Changes

    E.14.2. Changes

    • Fix handling of unknown-type arguments in DISTINCT "any" aggregate functions (Tom Lane) @@ -535,4 +535,4 @@ abbreviation for a zone with a total human population of about two dozen, it seems unlikely that anyone will miss it. If someone does, they can put it back via a custom abbreviations file. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-6.html postgresql-15-15.18/doc/src/sgml/html/release-15-6.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-6.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-6.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,9 +1,9 @@ -E.12. Release 15.6

    E.12. Release 15.6

    Release date: 2024-02-08

    +E.13. Release 15.6

    E.13. Release 15.6

    Release date: 2024-02-08

    This release contains a variety of fixes from 15.5. For information about new features in major release 15, see - Section E.18. -

    E.12.1. Migration to Version 15.6

    + Section E.19. +

    E.13.1. Migration to Version 15.6

    A dump/restore is not required for those running 15.X.

    However, one bug was fixed that could have resulted in corruption of @@ -11,8 +11,8 @@ corruption, reindex affected indexes after installing this update.

    Also, if you are upgrading from a version earlier than 15.5, - see Section E.13. -

    E.12.2. Changes

    E.13.2. Changes

    • Tighten security restrictions within REFRESH MATERIALIZED VIEW CONCURRENTLY (Heikki Linnakangas) § @@ -522,4 +522,4 @@ Vostok. Also historical corrections for Vietnam, Toronto, and Miquelon. (Tom Lane) § -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-7.html postgresql-15-15.18/doc/src/sgml/html/release-15-7.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-7.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-7.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,9 +1,9 @@ -E.11. Release 15.7

    E.11. Release 15.7

    Release date: 2024-05-09

    +E.12. Release 15.7

    E.12. Release 15.7

    Release date: 2024-05-09

    This release contains a variety of fixes from 15.6. For information about new features in major release 15, see - Section E.18. -

    E.11.1. Migration to Version 15.7

    + Section E.19. +

    E.12.1. Migration to Version 15.7

    A dump/restore is not required for those running 15.X.

    However, a security vulnerability was found in the system @@ -14,8 +14,8 @@ changelog entry below to rectify it.

    Also, if you are upgrading from a version earlier than 15.6, - see Section E.12. -

    E.11.2. Changes

    E.12.2. Changes

    • Restrict visibility of pg_stats_ext and pg_stats_ext_exprs entries to the table owner (Nathan Bossart) @@ -471,4 +471,4 @@ the musl C library (Thomas Munro, Bruce Momjian, Tom Lane) § -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-8.html postgresql-15-15.18/doc/src/sgml/html/release-15-8.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-8.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-8.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,14 +1,14 @@ -E.10. Release 15.8

    E.10. Release 15.8

    Release date: 2024-08-08

    +E.11. Release 15.8

    E.11. Release 15.8

    Release date: 2024-08-08

    This release contains a variety of fixes from 15.7. For information about new features in major release 15, see - Section E.18. -

    E.10.1. Migration to Version 15.8

    + Section E.19. +

    E.11.1. Migration to Version 15.8

    A dump/restore is not required for those running 15.X.

    However, if you are upgrading from a version earlier than 15.7, - see Section E.11. -

    E.10.2. Changes

    E.11.2. Changes

    • Prevent unauthorized code execution during pg_dump (Masahiko Sawada) § @@ -449,4 +449,4 @@ Fix otherwise-harmless assertion failures in REINDEX CONCURRENTLY applied to an SP-GiST index (Tom Lane) § -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15-9.html postgresql-15-15.18/doc/src/sgml/html/release-15-9.html --- postgresql-15-15.17/doc/src/sgml/html/release-15-9.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15-9.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,9 +1,9 @@ -E.9. Release 15.9

    E.9. Release 15.9

    Release date: 2024-11-14

    +E.10. Release 15.9

    E.10. Release 15.9

    Release date: 2024-11-14

    This release contains a variety of fixes from 15.8. For information about new features in major release 15, see - Section E.18. -

    E.9.1. Migration to Version 15.9

    + Section E.19. +

    E.10.1. Migration to Version 15.9

    A dump/restore is not required for those running 15.X.

    However, if you have ever detached a partition from a partitioned @@ -13,8 +13,8 @@ below.

    Also, if you are upgrading from a version earlier than 15.7, - see Section E.11. -

    E.9.2. Changes

    E.10.2. Changes

    • Ensure cached plans are marked as dependent on the calling role when RLS applies to a non-top-level table reference (Nathan Bossart) § @@ -522,4 +522,4 @@ for Asia/Ulaanbaatar rather than being a separate zone, mainly because the differences between those zones were found to be based on untrustworthy data. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-15.html postgresql-15-15.18/doc/src/sgml/html/release-15.html --- postgresql-15-15.17/doc/src/sgml/html/release-15.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-15.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -E.18. Release 15

    E.18. Release 15

    Release date: 2022-10-13

    E.18.1. Overview

    +E.19. Release 15

    E.19. Release 15

    Release date: 2022-10-13

    E.19.1. Overview

    PostgreSQL 15 contains many new features and enhancements, including:

    • @@ -25,7 +25,7 @@ The above items and other new features of PostgreSQL 15 are explained in more detail in the sections below. -

    E.18.2. Migration to Version 15

    +

    E.19.2. Migration to Version 15

    A dump/restore using pg_dumpall or use of pg_upgrade or logical replication is required for those wishing to migrate data from any previous release. See Section 19.6 for general information on migrating to new @@ -296,11 +296,11 @@ The default is now that custom scan providers are assumed to not support projections; those that do will need to be updated for this release. -

    E.18.3. Changes

    +

    E.19.3. Changes

    Below you will find a detailed account of the changes between PostgreSQL 15 and the previous major release. -

    E.18.3.1. Server

    • +

      E.19.3.1. Server

      • Record and check the collation version of each database (Peter Eisentraut) §

        @@ -326,7 +326,7 @@ to report pg_ident.conf information (Julien Rouhaud) § -

      E.18.3.1.1. Partitioning
      • +

      E.19.3.1.1. Partitioning
      • Improve planning time for queries referencing partitioned tables (David Rowley) § @@ -362,7 +362,7 @@ §

        Also prohibit cloned triggers from being renamed. -

      E.18.3.1.2. Indexes
      • +

      E.19.3.1.2. Indexes
      • Allow btree indexes on system and TOAST tables to efficiently store duplicates (Peter Geoghegan) § @@ -390,7 +390,7 @@ §

        Previously these could only use SP-GiST indexes. -

      E.18.3.1.3. Optimizer
      • +

      E.19.3.1.3. Optimizer
      E.18.3.1.4. General Performance
      • +

      E.19.3.1.4. General Performance
      • Allow hash lookup for NOT IN clauses with many constants (David Rowley, James Coleman) § @@ -473,7 +473,7 @@ Improve the performance of spinlocks on high-core-count ARM64 systems (Geoffrey Blake) § -

      E.18.3.1.5. Monitoring
      • +

      E.19.3.1.5. Monitoring
      • Enable default logging of checkpoints and slow autovacuum operations (Bharath Rupireddy) § @@ -535,7 +535,7 @@ archive_cleanup_command, restore_command and recovery_end_command. -

      E.18.3.1.6. Privileges
      • +

      E.19.3.1.6. Privileges
      • Allow table accesses done by a view to optionally be controlled by privileges of the view's caller (Christoph Heiss) @@ -583,7 +583,7 @@ §

        Previously this function could only be run by superusers. -

      E.18.3.1.7. Server Configuration
      • +

      E.19.3.1.7. Server Configuration
      • Add server variable shared_memory_size to report the size of allocated shared memory (Nathan Bossart) § @@ -622,7 +622,7 @@ and data_directory_mode would report values that would not be accurate on the running server. However, this does not work on a running server. -

      E.18.3.2. Streaming Replication and Recovery

      • +

      E.19.3.2. Streaming Replication and Recovery

      • Add support for LZ4 and Zstandard compression of server-side base backups (Jeevan Ladhe, Robert Haas) § @@ -651,7 +651,7 @@ No longer require IDENTIFY_SYSTEM to be run before START_REPLICATION (Jeff Davis) § -

      E.18.3.2.1. Logical Replication
      • +

      E.19.3.2.1. Logical Replication
      • Allow publication of all tables in a schema (Vignesh C, Hou Zhijie, Amit Kapila) § @@ -736,7 +736,7 @@ §

        In some cases a partition could appear more than once. -

      E.18.3.3. Utility Commands

      • +

      E.19.3.3. Utility Commands

      • Add SQL MERGE command to adjust one table to match another (Simon Riggs, Pavan Deolasee, Álvaro Herrera, Amit Langote) @@ -805,7 +805,7 @@ in later use of the view or rule. The column-level dependency is now also noted, so that dropping such a column will be rejected unless the view is changed or dropped. -

      E.18.3.4. Data Types

      • +

      E.19.3.4. Data Types

      • Allow the scale of a numeric value to be negative, or greater than its precision (Dean Rasheed, @@ -829,7 +829,7 @@

        Also update from Unicode 5.0 to 14.0.0. There is now an automated way to keep Postgres updated with Unicode releases. -

      E.18.3.5. Functions

      • +

      E.19.3.5. Functions

      • Add multirange input to range_agg() (Paul Jungwirth) § @@ -889,7 +889,7 @@ Previously this function reported all temporary schemas as pg_temp, but it's misleading to use that for any but the current session's temporary schema. -

      E.18.3.6. PL/pgSQL

      • +

      E.19.3.6. PL/pgSQL

      • Fix enforcement of PL/pgSQL variable CONSTANT markings (Tom Lane) § @@ -897,7 +897,7 @@ Previously, a variable could be used as a CALL output parameter or refcursor OPEN variable despite being marked CONSTANT. -

      E.18.3.7. libpq

      • +

      E.19.3.7. libpq

      • Allow IP address matching against a server certificate's Subject Alternative Name (Jacob Champion) § @@ -919,12 +919,12 @@ (Tom Lane) § § -

      E.18.3.8. Client Applications

      • +

      E.19.3.8. Client Applications

      • Allow pgbench to retry after serialization and deadlock failures (Yugo Nagata, Marina Polyakova) § -

      E.18.3.8.1. psql
      • +

      E.19.3.8.1. psql
      • Improve performance of psql's \copy command, by sending data in larger chunks (Heikki Linnakangas) @@ -1030,7 +1030,7 @@ Remove code that was only used when running with an older server. Commands that do not require any version-specific adjustments compared to 9.2 will still work. -

      E.18.3.8.2. pg_dump
      • +

      E.19.3.8.2. pg_dump
      • Make pg_dump dump public schema ownership changes and security labels (Noah Misch) @@ -1058,7 +1058,7 @@ to servers running PostgreSQL 9.2 or later (Tom Lane) § -

      E.18.3.9. Server Applications

      • +

      E.19.3.9. Server Applications

      • Add new pg_basebackup option --target to control the base backup location (Robert Haas) @@ -1126,7 +1126,7 @@ configuration files are stored outside the data directory (Gunnar Bluth) § -

      E.18.3.9.1. pg_upgrade
      • +

      E.19.3.9.1. pg_upgrade
      • Store pg_upgrade's log and temporary files in a subdirectory of the new cluster called pg_upgrade_output.d (Justin Pryzby) @@ -1170,7 +1170,7 @@ servers running PostgreSQL 9.2 or later (Tom Lane) § -

      E.18.3.9.2. pg_waldump
      • +

      E.19.3.9.2. pg_waldump
      • Allow pg_waldump output to be filtered by relation file node, block number, fork number, and full page images (David Christensen, Thomas Munro) @@ -1196,7 +1196,7 @@

        This is enabled by specifying the --rmgr option multiple times. -

      E.18.3.10. Documentation

      • +

      E.19.3.10. Documentation

      • Add documentation for pg_encoding_to_char() and pg_char_to_encoding() (Ian Lawrence Barwick) @@ -1205,7 +1205,7 @@ Document the ^@ starts-with operator (Tom Lane) § -

      E.18.3.11. Source Code

      • +

      E.19.3.11. Source Code

      • Add support for continuous integration testing using cirrus-ci (Andres Freund, Thomas Munro, Melanie Plageman) § @@ -1284,7 +1284,7 @@ Require Python version 3.2 or later (Andres Freund) § -

      E.18.3.12. Additional Modules

      • +

      E.19.3.12. Additional Modules

      • Allow amcheck to check sequences (Mark Dilger) § @@ -1335,7 +1335,7 @@ Indicate the permissive/enforcing state in sepgsql log messages (Dave Page) § -

      E.18.3.12.1. postgres_fdw
      • +

      E.19.3.12.1. postgres_fdw
      • Allow postgres_fdw to push down CASE expressions (Alexander Pyhalov) § @@ -1360,8 +1360,8 @@

        This is enabled with the CREATE SERVER option parallel_commit. -

      E.18.4. Acknowledgments

      +

    E.19.4. Acknowledgments

    The following individuals (in alphabetical order) have contributed to this release as patch authors, committers, reviewers, testers, or reporters of issues. -

    Abhijit Menon-Sen
    Adam Brusselback
    Adam Mackler
    Adrian Ho
    Ahsan Hadi
    Ajin Cherian
    Alastair McKinley
    Aleksander Alekseev
    Ales Zeleny
    Alex Kingsborough
    Alex Kozhemyakin
    Alexander Korotkov
    Alexander Kukushkin
    Alexander Lakhin
    Alexander Nawratil
    Alexander Pyhalov
    Alexey Borzov
    Alexey Ermakov
    Aliaksandr Kalenik
    Álvaro Herrera
    Amit Kapila
    Amit Khandekar
    Amit Langote
    Amul Sul
    Anastasia Lubennikova
    Anders Kaseorg
    Andreas Dijkman
    Andreas Grob
    Andreas Seltenreich
    Andrei Zubkov
    Andres Freund
    Andrew Alsup
    Andrew Bille
    Andrew Dunstan
    Andrew Gierth
    Andrew Kesper
    Andrey Borodin
    Andrey Lepikhov
    Andrey Sokolov
    Andy Fan
    Anton Melnikov
    Anton Voloshin
    Antonin Houska
    Arjan van de Ven
    Arne Roland
    Arthur Zakirov
    Ashutosh Bapat
    Ashutosh Sharma
    Ashwin Agrawal
    Asif Rehman
    Asim Praveen
    Atsushi Torikoshi
    Aya Iwata
    Bauyrzhan Sakhariyev
    Benoit Lobréau
    Bernd Dorn
    Bertrand Drouvot
    Bharath Rupireddy
    Björn Harrtell
    Boris Kolpackov
    Boris Korzun
    Brad Nicholson
    Brar Piening
    Bruce Momjian
    Bruno da Silva
    Bryn Llewellyn
    Carl Sopchak
    Cary Huang
    Chapman Flack
    Chen Jiaoqian
    Chris Bandy
    Chris Lowder
    Christian Quest
    Christoph Berg
    Christoph Heiss
    Christophe Pettus
    Christopher Painter-Wakefield
    Claudio Freire
    Clemens Zeidler
    Corey Huinker
    Dag Lem
    Dagfinn Ilmari Mannsåker
    Dan Kubb
    Daniel Cherniy
    Daniel Gustafsson
    Daniel Polski
    Daniel Vérité
    Daniel Westermann
    Daniele Varrazzo
    Daniil Anisimov
    Danny Shemesh
    Darafei Praliaskouski
    Daria Lepikhova
    Dave Cramer
    Dave Page
    David Christensen
    David Fetter
    David G. Johnston
    David Rowley
    David Steele
    David Zhang
    Dean Rasheed
    Dian Fay
    Dilip Kumar
    Dipesh Pandit
    Dmitry Dolgov
    Dmitry Koval
    Dmitry Marakasov
    Dominique Devienne
    Dong Wook
    Drew DeVault
    Eduard Català
    Egor Chindyaskin
    Egor Rogov
    Ekaterina Kiryanova
    Elena Indrupskaya
    Elvis Pranskevichus
    Emmanuel Quincerot
    Emre Hasegeli
    Eric Mutta
    Erica Zhang
    Erik Rijkers
    Erki Eessaar
    Etsuro Fujita
    Euler Taveira
    Fabien Coelho
    Fabrice Chapuis
    Fabrice Fontaine
    Fabrízio de Royes Mello
    Feike Steenbergen
    Filip Gospodinov
    Florin Irion
    Floris Van Nee
    Frédéric Yhuel
    Gabriela Serventi
    Gaurab Dey
    Geoff Winkless
    Geoffrey Blake
    Georgios Kokolatos
    Gilles Darold
    Greg Nancarrow
    Greg Rychlewski
    Greg Sabino Mullane
    Greg Stark
    Gregory Smith
    Guillaume Lelarge
    Gunnar Bluth
    Gurjeet Singh
    Haiyang Wang
    Haiying Tang
    Hannu Krosing
    Hans Buschmann
    Hayato Kuroda
    Heath Lord
    Heikki Linnakangas
    Herwig Goemans
    Himanshu Upadhyaya
    Holly Roberts
    Hou Zhijie
    Hubert Lubaczewski
    Ian Barwick
    Ian Campbell
    Ibrar Ahmed
    Ildus Kurbangaliev
    Ilya Anfimov
    Itamar Gafni
    Jacob Champion
    Jaime Casanova
    Jakub Wartak
    James Coleman
    James Hilliard
    James Inform
    Jan Piotrowski
    Japin Li
    Jason Harvey
    Jason Kim
    Jean-Christophe Arnu
    Jeevan Ladhe
    Jeff Davis
    Jeff Janes
    Jehan-Guillaume de Rorthais
    Jelte Fennema
    Jeremy Evans
    Jeremy Schneider
    Jian Guo
    Jian He
    Jimmy Yih
    Jiri Fejfar
    Jitka Plesníková
    Joe Conway
    Joe Wildish
    Joel Jacobson
    Joey Bodoia
    John Naylor
    Jonathan Katz
    Josef Simanek
    Joseph Koshakow
    Josh Soref
    Joshua Brindle
    Juan José Santamaría Flecha
    Julien Rouhaud
    Julien Roze
    Junwang Zhao
    Jürgen Purtz
    Justin Pryzby
    Ken Kato
    Kevin Burke
    Kevin Grittner
    Kevin Humphreys
    Kevin McKibbin
    Kevin Sweet
    Kevin Zheng
    Klaudie Willis
    Konstantin Knizhnik
    Konstantina Skovola
    Kosei Masumura
    Kotaro Kawamoto
    Koyu Tanigawa
    Kuntal Ghosh
    Kyotaro Horiguchi
    Lars Kanis
    Lauren Fliksteen
    Laurent Hasson
    Laurenz Albe
    Leslie Lemaire
    Liam Bowen
    Lingjie Qiang
    Liu Huailing
    Louis Jachiet
    Lukas Fittl
    Ma Liangzhu
    Maciek Sakrejda
    Magnus Hagander
    Mahendra Singh Thalor
    Maksim Milyutin
    Marc Bachmann
    Marcin Krupowicz
    Marcus Gartner
    Marek Szuba
    Marina Polyakova
    Mario Emmenlauer
    Mark Dilger
    Mark Murawski
    Mark Wong
    Markus Wanner
    Markus Winand
    Martijn van Oosterhout
    Martin Jurca
    Martin Kalcher
    Martín Marqués
    Masahiko Sawada
    Masahiro Ikeda
    Masao Fujii
    Masaya Kawamoto
    Masayuki Hirose
    Matthias van de Meent
    Matthijs van der Vleuten
    Maxim Orlov
    Maxim Yablokov
    Melanie Plageman
    Michael Banck
    Michael Harris
    Michael J. Sullivan
    Michael Meskes
    Michael Mühlbeyer
    Michael Paquier
    Michael Powers
    Mike Fiedler
    Mike Oh
    Mikhail Kulagin
    Miles Delahunty
    Naoki Okano
    Nathan Bossart
    Nathan Long
    Nazir Bilal Yavuz
    Neha Sharma
    Neil Chen
    Nicola Contu
    Nicolas Lutic
    Nikhil Benesch
    Nikhil Shetty
    Nikhil Sontakke
    Nikita Glukhov
    Nikolai Berkoff
    Nikolay Samokhvalov
    Nikolay Shaplov
    Nitin Jadhav
    Noah Misch
    Noboru Saito
    Noriyoshi Shinoda
    Olaf Bohlen
    Olly Betts
    Onder Kalaci
    Oskar Stenberg
    Otto Kekalainen
    Paul Guo
    Paul Jungwirth
    Paul Martinez
    Pavan Deolasee
    Pavel Borisov
    Pavel Luzanov
    Pavel Stehule
    Peter Eisentraut
    Peter Geoghegan
    Peter Slavov
    Peter Smith
    Petr Jelínek
    Phil Florent
    Phil Krylov
    Pierre-Aurélien Georges
    Prabhat Sahu
    Quan Zongliang
    Rachel Heaton
    Rahila Syed
    Rajakavitha Kodhandapani
    Rajkumar Raghuwanshi
    Ranier Vilela
    Rei Kamigishi
    Reid Thompson
    Rémi Lapeyre
    Renan Soares Lopes
    Richard Guo
    Richard Wesley
    RKN Sai Krishna
    Robert Haas
    Robert Treat
    Roberto Mello
    Robins Tharakan
    Roger Mason
    Roman Zharkov
    Ronan Dunklau
    Rui Zhao
    Ryan Kelly
    Ryo Matsumura
    Ryohei Takahashi
    Sadhuprasad Patro
    Sait Talha Nisanci
    Sami Imseih
    Sandeep Thakkar
    Sebastian Kemper
    Sehrope Sarkuni
    Sergei Kornilov
    Sergei Shoulbakov
    Sergey Shinderuk
    Shay Rojansky
    Shenhao Wang
    Shi Yu
    Shinya Kato
    Shruthi Gowda
    Simon Perepelitsa
    Simon Riggs
    Sirisha Chamarthi
    Soumyadeep Chakraborty
    Stan Hu
    Stas Kelvich
    Stefen Hillman
    Stephen Frost
    Steve Chavez
    Sumanta Mukherjee
    Suraj Khamkar
    Suraj Kharage
    Sven Klemm
    Takamichi Osumi
    Takayuki Tsunakawa
    Takeshi Ideriha
    Tatsuhiro Nakamori
    Tatsuhito Kasahara
    Tatsuo Ishii
    Tatsuro Yamada
    Teja Mupparti
    Teodor Sigaev
    Thibaud Walkowiak
    Thom Brown
    Thomas McKay
    Thomas Munro
    Tim McNamara
    Timo Stolz
    Timur Khanjanov
    Tom Lane
    Tomas Barton
    Tomas Vondra
    Tony Reix
    Troy Frericks
    Tushar Ahuja
    Victor Wagner
    Victor Yegorov
    Vignesh C
    Vik Fearing
    Vincas Dargis
    Vitaly Burovoy
    Vitaly Voronov
    Vladimir Sitnikov
    Wang Ke
    Wei Sun
    Wei Wang
    Whale Song
    Will Mortensen
    Wolfgang Walther
    Yanliang Lei
    Yaoguang Chen
    Yogendra Suralkar
    YoungHwan Joo
    Yugo Nagata
    Yukun Wang
    Yura Sokolov
    Yusuke Egashira
    Yuzuko Hosoya
    Zhang Mingli
    Zhang Wenjie
    Zhihong Yu
    Zhiyong Wu
    \ No newline at end of file +

    Abhijit Menon-Sen
    Adam Brusselback
    Adam Mackler
    Adrian Ho
    Ahsan Hadi
    Ajin Cherian
    Alastair McKinley
    Aleksander Alekseev
    Ales Zeleny
    Alex Kingsborough
    Alex Kozhemyakin
    Alexander Korotkov
    Alexander Kukushkin
    Alexander Lakhin
    Alexander Nawratil
    Alexander Pyhalov
    Alexey Borzov
    Alexey Ermakov
    Aliaksandr Kalenik
    Álvaro Herrera
    Amit Kapila
    Amit Khandekar
    Amit Langote
    Amul Sul
    Anastasia Lubennikova
    Anders Kaseorg
    Andreas Dijkman
    Andreas Grob
    Andreas Seltenreich
    Andrei Zubkov
    Andres Freund
    Andrew Alsup
    Andrew Bille
    Andrew Dunstan
    Andrew Gierth
    Andrew Kesper
    Andrey Borodin
    Andrey Lepikhov
    Andrey Sokolov
    Andy Fan
    Anton Melnikov
    Anton Voloshin
    Antonin Houska
    Arjan van de Ven
    Arne Roland
    Arthur Zakirov
    Ashutosh Bapat
    Ashutosh Sharma
    Ashwin Agrawal
    Asif Rehman
    Asim Praveen
    Atsushi Torikoshi
    Aya Iwata
    Bauyrzhan Sakhariyev
    Benoit Lobréau
    Bernd Dorn
    Bertrand Drouvot
    Bharath Rupireddy
    Björn Harrtell
    Boris Kolpackov
    Boris Korzun
    Brad Nicholson
    Brar Piening
    Bruce Momjian
    Bruno da Silva
    Bryn Llewellyn
    Carl Sopchak
    Cary Huang
    Chapman Flack
    Chen Jiaoqian
    Chris Bandy
    Chris Lowder
    Christian Quest
    Christoph Berg
    Christoph Heiss
    Christophe Pettus
    Christopher Painter-Wakefield
    Claudio Freire
    Clemens Zeidler
    Corey Huinker
    Dag Lem
    Dagfinn Ilmari Mannsåker
    Dan Kubb
    Daniel Cherniy
    Daniel Gustafsson
    Daniel Polski
    Daniel Vérité
    Daniel Westermann
    Daniele Varrazzo
    Daniil Anisimov
    Danny Shemesh
    Darafei Praliaskouski
    Daria Lepikhova
    Dave Cramer
    Dave Page
    David Christensen
    David Fetter
    David G. Johnston
    David Rowley
    David Steele
    David Zhang
    Dean Rasheed
    Dian Fay
    Dilip Kumar
    Dipesh Pandit
    Dmitry Dolgov
    Dmitry Koval
    Dmitry Marakasov
    Dominique Devienne
    Dong Wook
    Drew DeVault
    Eduard Català
    Egor Chindyaskin
    Egor Rogov
    Ekaterina Kiryanova
    Elena Indrupskaya
    Elvis Pranskevichus
    Emmanuel Quincerot
    Emre Hasegeli
    Eric Mutta
    Erica Zhang
    Erik Rijkers
    Erki Eessaar
    Etsuro Fujita
    Euler Taveira
    Fabien Coelho
    Fabrice Chapuis
    Fabrice Fontaine
    Fabrízio de Royes Mello
    Feike Steenbergen
    Filip Gospodinov
    Florin Irion
    Floris Van Nee
    Frédéric Yhuel
    Gabriela Serventi
    Gaurab Dey
    Geoff Winkless
    Geoffrey Blake
    Georgios Kokolatos
    Gilles Darold
    Greg Nancarrow
    Greg Rychlewski
    Greg Sabino Mullane
    Greg Stark
    Gregory Smith
    Guillaume Lelarge
    Gunnar Bluth
    Gurjeet Singh
    Haiyang Wang
    Haiying Tang
    Hannu Krosing
    Hans Buschmann
    Hayato Kuroda
    Heath Lord
    Heikki Linnakangas
    Herwig Goemans
    Himanshu Upadhyaya
    Holly Roberts
    Hou Zhijie
    Hubert Lubaczewski
    Ian Barwick
    Ian Campbell
    Ibrar Ahmed
    Ildus Kurbangaliev
    Ilya Anfimov
    Itamar Gafni
    Jacob Champion
    Jaime Casanova
    Jakub Wartak
    James Coleman
    James Hilliard
    James Inform
    Jan Piotrowski
    Japin Li
    Jason Harvey
    Jason Kim
    Jean-Christophe Arnu
    Jeevan Ladhe
    Jeff Davis
    Jeff Janes
    Jehan-Guillaume de Rorthais
    Jelte Fennema
    Jeremy Evans
    Jeremy Schneider
    Jian Guo
    Jian He
    Jimmy Yih
    Jiri Fejfar
    Jitka Plesníková
    Joe Conway
    Joe Wildish
    Joel Jacobson
    Joey Bodoia
    John Naylor
    Jonathan Katz
    Josef Simanek
    Joseph Koshakow
    Josh Soref
    Joshua Brindle
    Juan José Santamaría Flecha
    Julien Rouhaud
    Julien Roze
    Junwang Zhao
    Jürgen Purtz
    Justin Pryzby
    Ken Kato
    Kevin Burke
    Kevin Grittner
    Kevin Humphreys
    Kevin McKibbin
    Kevin Sweet
    Kevin Zheng
    Klaudie Willis
    Konstantin Knizhnik
    Konstantina Skovola
    Kosei Masumura
    Kotaro Kawamoto
    Koyu Tanigawa
    Kuntal Ghosh
    Kyotaro Horiguchi
    Lars Kanis
    Lauren Fliksteen
    Laurent Hasson
    Laurenz Albe
    Leslie Lemaire
    Liam Bowen
    Lingjie Qiang
    Liu Huailing
    Louis Jachiet
    Lukas Fittl
    Ma Liangzhu
    Maciek Sakrejda
    Magnus Hagander
    Mahendra Singh Thalor
    Maksim Milyutin
    Marc Bachmann
    Marcin Krupowicz
    Marcus Gartner
    Marek Szuba
    Marina Polyakova
    Mario Emmenlauer
    Mark Dilger
    Mark Murawski
    Mark Wong
    Markus Wanner
    Markus Winand
    Martijn van Oosterhout
    Martin Jurca
    Martin Kalcher
    Martín Marqués
    Masahiko Sawada
    Masahiro Ikeda
    Masao Fujii
    Masaya Kawamoto
    Masayuki Hirose
    Matthias van de Meent
    Matthijs van der Vleuten
    Maxim Orlov
    Maxim Yablokov
    Melanie Plageman
    Michael Banck
    Michael Harris
    Michael J. Sullivan
    Michael Meskes
    Michael Mühlbeyer
    Michael Paquier
    Michael Powers
    Mike Fiedler
    Mike Oh
    Mikhail Kulagin
    Miles Delahunty
    Naoki Okano
    Nathan Bossart
    Nathan Long
    Nazir Bilal Yavuz
    Neha Sharma
    Neil Chen
    Nicola Contu
    Nicolas Lutic
    Nikhil Benesch
    Nikhil Shetty
    Nikhil Sontakke
    Nikita Glukhov
    Nikolai Berkoff
    Nikolay Samokhvalov
    Nikolay Shaplov
    Nitin Jadhav
    Noah Misch
    Noboru Saito
    Noriyoshi Shinoda
    Olaf Bohlen
    Olly Betts
    Onder Kalaci
    Oskar Stenberg
    Otto Kekalainen
    Paul Guo
    Paul Jungwirth
    Paul Martinez
    Pavan Deolasee
    Pavel Borisov
    Pavel Luzanov
    Pavel Stehule
    Peter Eisentraut
    Peter Geoghegan
    Peter Slavov
    Peter Smith
    Petr Jelínek
    Phil Florent
    Phil Krylov
    Pierre-Aurélien Georges
    Prabhat Sahu
    Quan Zongliang
    Rachel Heaton
    Rahila Syed
    Rajakavitha Kodhandapani
    Rajkumar Raghuwanshi
    Ranier Vilela
    Rei Kamigishi
    Reid Thompson
    Rémi Lapeyre
    Renan Soares Lopes
    Richard Guo
    Richard Wesley
    RKN Sai Krishna
    Robert Haas
    Robert Treat
    Roberto Mello
    Robins Tharakan
    Roger Mason
    Roman Zharkov
    Ronan Dunklau
    Rui Zhao
    Ryan Kelly
    Ryo Matsumura
    Ryohei Takahashi
    Sadhuprasad Patro
    Sait Talha Nisanci
    Sami Imseih
    Sandeep Thakkar
    Sebastian Kemper
    Sehrope Sarkuni
    Sergei Kornilov
    Sergei Shoulbakov
    Sergey Shinderuk
    Shay Rojansky
    Shenhao Wang
    Shi Yu
    Shinya Kato
    Shruthi Gowda
    Simon Perepelitsa
    Simon Riggs
    Sirisha Chamarthi
    Soumyadeep Chakraborty
    Stan Hu
    Stas Kelvich
    Stefen Hillman
    Stephen Frost
    Steve Chavez
    Sumanta Mukherjee
    Suraj Khamkar
    Suraj Kharage
    Sven Klemm
    Takamichi Osumi
    Takayuki Tsunakawa
    Takeshi Ideriha
    Tatsuhiro Nakamori
    Tatsuhito Kasahara
    Tatsuo Ishii
    Tatsuro Yamada
    Teja Mupparti
    Teodor Sigaev
    Thibaud Walkowiak
    Thom Brown
    Thomas McKay
    Thomas Munro
    Tim McNamara
    Timo Stolz
    Timur Khanjanov
    Tom Lane
    Tomas Barton
    Tomas Vondra
    Tony Reix
    Troy Frericks
    Tushar Ahuja
    Victor Wagner
    Victor Yegorov
    Vignesh C
    Vik Fearing
    Vincas Dargis
    Vitaly Burovoy
    Vitaly Voronov
    Vladimir Sitnikov
    Wang Ke
    Wei Sun
    Wei Wang
    Whale Song
    Will Mortensen
    Wolfgang Walther
    Yanliang Lei
    Yaoguang Chen
    Yogendra Suralkar
    YoungHwan Joo
    Yugo Nagata
    Yukun Wang
    Yura Sokolov
    Yusuke Egashira
    Yuzuko Hosoya
    Zhang Mingli
    Zhang Wenjie
    Zhihong Yu
    Zhiyong Wu
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release-prior.html postgresql-15-15.18/doc/src/sgml/html/release-prior.html --- postgresql-15-15.17/doc/src/sgml/html/release-prior.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release-prior.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -E.19. Prior Releases

    E.19. Prior Releases

    +E.20. Prior Releases

    E.20. Prior Releases

    Release notes for prior release branches can be found at https://www.postgresql.org/docs/release/ -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/release.html postgresql-15-15.18/doc/src/sgml/html/release.html --- postgresql-15-15.17/doc/src/sgml/html/release.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/release.html 2026-05-11 20:02:56.000000000 +0000 @@ -1,5 +1,5 @@ -Appendix E. Release Notes

    Appendix E. Release Notes

    +Appendix E. Release Notes

    Appendix E. Release Notes

    The release notes contain the significant changes in each PostgreSQL release, with major features and migration issues listed at the top. The release notes do not contain changes @@ -24,4 +24,4 @@ messages and source tree changes responsible for the release note item. There might be additional git commits which are not shown. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/replication-origins.html postgresql-15-15.18/doc/src/sgml/html/replication-origins.html --- postgresql-15-15.17/doc/src/sgml/html/replication-origins.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/replication-origins.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 50. Replication Progress Tracking

    Chapter 50. Replication Progress Tracking

    +Chapter 50. Replication Progress Tracking

    Chapter 50. Replication Progress Tracking

    Replication origins are intended to make it easier to implement logical replication solutions on top of logical decoding. @@ -65,4 +65,4 @@ to filter the logical decoding change stream based on the source. While less flexible, filtering via that callback is considerably more efficient than doing it in the output plugin. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/resources.html postgresql-15-15.18/doc/src/sgml/html/resources.html --- postgresql-15-15.17/doc/src/sgml/html/resources.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/resources.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -4. Further Information

    4. Further Information

    +4. Further Information

    4. Further Information

    Besides the documentation, that is, this book, there are other resources about PostgreSQL: @@ -29,4 +29,4 @@ up and contribute it. If you add features to the code, contribute them.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/role-attributes.html postgresql-15-15.18/doc/src/sgml/html/role-attributes.html --- postgresql-15-15.17/doc/src/sgml/html/role-attributes.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/role-attributes.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -22.2. Role Attributes

    22.2. Role Attributes

    +22.2. Role Attributes

    22.2. Role Attributes

    A database role can have a number of attributes that define its privileges and interact with the client authentication system. @@ -117,4 +117,4 @@ Note that role-specific defaults attached to roles without LOGIN privilege are fairly useless, since they will never be invoked. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/role-membership.html postgresql-15-15.18/doc/src/sgml/html/role-membership.html --- postgresql-15-15.17/doc/src/sgml/html/role-membership.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/role-membership.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -22.3. Role Membership

    22.3. Role Membership

    +22.3. Role Membership

    22.3. Role Membership

    It is frequently convenient to group users together to ease management of privileges: that way, privileges can be granted to, or revoked from, a group as a whole. In PostgreSQL @@ -104,4 +104,4 @@

    Any memberships in the group role are automatically revoked (but the member roles are not otherwise affected). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/role-removal.html postgresql-15-15.18/doc/src/sgml/html/role-removal.html --- postgresql-15-15.17/doc/src/sgml/html/role-removal.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/role-removal.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -22.4. Dropping Roles

    22.4. Dropping Roles

    +22.4. Dropping Roles

    22.4. Dropping Roles

    Because roles can own database objects and can hold privileges to access other objects, dropping a role is often not just a matter of a quick DROP ROLE. Any objects owned by the role must @@ -51,4 +51,4 @@ If DROP ROLE is attempted while dependent objects still remain, it will issue messages identifying which objects need to be reassigned or dropped. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/routine-reindex.html postgresql-15-15.18/doc/src/sgml/html/routine-reindex.html --- postgresql-15-15.17/doc/src/sgml/html/routine-reindex.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/routine-reindex.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -25.2. Routine Reindexing

    25.2. Routine Reindexing

    +25.2. Routine Reindexing

    25.2. Routine Reindexing

    In some situations it is worthwhile to rebuild indexes periodically with the REINDEX command or a series of individual rebuilding steps. @@ -28,4 +28,4 @@ default, hence it is often preferable to execute it with its CONCURRENTLY option, which requires only a SHARE UPDATE EXCLUSIVE lock. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/routine-vacuuming.html postgresql-15-15.18/doc/src/sgml/html/routine-vacuuming.html --- postgresql-15-15.17/doc/src/sgml/html/routine-vacuuming.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/routine-vacuuming.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -25.1. Routine Vacuuming

    25.1. Routine Vacuuming

    +25.1. Routine Vacuuming

    25.1. Routine Vacuuming

    PostgreSQL databases require periodic maintenance known as vacuuming. For many installations, it is sufficient to let vacuuming be performed by the autovacuum @@ -696,4 +696,4 @@ Regularly running commands that acquire locks conflicting with a SHARE UPDATE EXCLUSIVE lock (e.g., ANALYZE) can effectively prevent autovacuums from ever completing. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/row-estimation-examples.html postgresql-15-15.18/doc/src/sgml/html/row-estimation-examples.html --- postgresql-15-15.17/doc/src/sgml/html/row-estimation-examples.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/row-estimation-examples.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -75.1. Row Estimation Examples

    75.1. Row Estimation Examples

    +75.1. Row Estimation Examples

    75.1. Row Estimation Examples

    The examples shown below use tables in the PostgreSQL regression test database. The outputs shown are taken from version 8.3. @@ -396,4 +396,4 @@ src/backend/optimizer/path/clausesel.c. The operator-specific selectivity functions are mostly found in src/backend/utils/adt/selfuncs.c. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/rowtypes.html postgresql-15-15.18/doc/src/sgml/html/rowtypes.html --- postgresql-15-15.17/doc/src/sgml/html/rowtypes.html 2026-02-23 22:14:20.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/rowtypes.html 2026-05-11 20:02:32.000000000 +0000 @@ -1,5 +1,5 @@ -8.16. Composite Types

    8.16. Composite Types

    +8.16. Composite Types

    8.16. Composite Types

    A composite type represents the structure of a row or record; it is essentially just a list of field names and their data types. PostgreSQL allows composite types to be @@ -421,4 +421,4 @@ commands. In ROW, individual field values are written the same way they would be written when not members of a composite. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/rule-system.html postgresql-15-15.18/doc/src/sgml/html/rule-system.html --- postgresql-15-15.17/doc/src/sgml/html/rule-system.html 2026-02-23 22:14:38.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/rule-system.html 2026-05-11 20:02:50.000000000 +0000 @@ -1,5 +1,5 @@ -52.4. The PostgreSQL Rule System

    52.4. The PostgreSQL Rule System

    +52.4. The PostgreSQL Rule System

    52.4. The PostgreSQL Rule System

    PostgreSQL supports a powerful rule system for the specification of views and ambiguous view updates. @@ -27,4 +27,4 @@ rewriter are query trees, that is, there is no change in the representation or level of semantic detail in the trees. Rewriting can be thought of as a form of macro expansion. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/rules-materializedviews.html postgresql-15-15.18/doc/src/sgml/html/rules-materializedviews.html --- postgresql-15-15.17/doc/src/sgml/html/rules-materializedviews.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/rules-materializedviews.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -41.3. Materialized Views

    41.3. Materialized Views

    +41.3. Materialized Views

    41.3. Materialized Views

    Materialized views in PostgreSQL use the rule system like views do, but persist the results in a table-like form. The main differences between: @@ -179,4 +179,4 @@ If you can tolerate periodic update of the remote data to the local database, the performance benefit can be substantial. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/rules-privileges.html postgresql-15-15.18/doc/src/sgml/html/rules-privileges.html --- postgresql-15-15.17/doc/src/sgml/html/rules-privileges.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/rules-privileges.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -41.5. Rules and Privileges

    41.5. Rules and Privileges

    +41.5. Rules and Privileges

    41.5. Rules and Privileges

    Due to rewriting of queries by the PostgreSQL rule system, other tables/views than those used in the original query get accessed. When update rules are used, this can include write access @@ -157,4 +157,4 @@ the optimizer statistics, the choice of plan). If these types of "covert channel" attacks are of concern, it is probably unwise to grant any access to the data at all. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/rules-status.html postgresql-15-15.18/doc/src/sgml/html/rules-status.html --- postgresql-15-15.17/doc/src/sgml/html/rules-status.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/rules-status.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -41.6. Rules and Command Status

    41.6. Rules and Command Status

    +41.6. Rules and Command Status

    41.6. Rules and Command Status

    The PostgreSQL server returns a command status string, such as INSERT 149592 1, for each command it receives. This is simple enough when there are no rules @@ -32,4 +32,4 @@ that sets the command status in the second case, by giving it the alphabetically last rule name among the active rules, so that it gets applied last. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/rules-triggers.html postgresql-15-15.18/doc/src/sgml/html/rules-triggers.html --- postgresql-15-15.17/doc/src/sgml/html/rules-triggers.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/rules-triggers.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -41.7. Rules Versus Triggers

    41.7. Rules Versus Triggers

    +41.7. Rules Versus Triggers

    41.7. Rules Versus Triggers

    Many things that can be done using triggers can also be implemented using the PostgreSQL rule system. One of the things that cannot be implemented by @@ -175,4 +175,4 @@ The summary is, rules will only be significantly slower than triggers if their actions result in large and badly qualified joins, a situation where the planner fails. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/rules-update.html postgresql-15-15.18/doc/src/sgml/html/rules-update.html --- postgresql-15-15.17/doc/src/sgml/html/rules-update.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/rules-update.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -41.4. Rules on INSERT, UPDATE, and DELETE

    41.4. Rules on INSERT, UPDATE, and DELETE

    +41.4. Rules on INSERT, UPDATE, and DELETE

    41.4. Rules on INSERT, UPDATE, and DELETE

    Rules that are defined on INSERT, UPDATE, and DELETE are significantly different from the view rules described in the previous section. First, their CREATE @@ -747,4 +747,4 @@ There are probably only a few situations out in the real world where such a construct is necessary. But it makes you feel comfortable that it works. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/rules-views.html postgresql-15-15.18/doc/src/sgml/html/rules-views.html --- postgresql-15-15.17/doc/src/sgml/html/rules-views.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/rules-views.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -41.2. Views and the Rule System

    41.2. Views and the Rule System

    +41.2. Views and the Rule System

    41.2. Views and the Rule System

    Views in PostgreSQL are implemented using the rule system. In fact, there is essentially no difference between: @@ -503,4 +503,4 @@ triggers for the view, and the rewriter cannot automatically rewrite the query as an update on the underlying base relation, an error will be thrown because the executor cannot update a view as such. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/rules.html postgresql-15-15.18/doc/src/sgml/html/rules.html --- postgresql-15-15.17/doc/src/sgml/html/rules.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/rules.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 41. The Rule System

    Chapter 41. The Rule System

    +Chapter 41. The Rule System

    Chapter 41. The Rule System

    This chapter discusses the rule system in PostgreSQL. Production rule systems are conceptually simple, but there are many subtle points @@ -18,4 +18,4 @@ such as query language procedures, views, and versions. The theoretical foundations and the power of this rule system are also discussed in [ston90b] and [ong90]. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-autovacuum.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-autovacuum.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-autovacuum.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-autovacuum.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.10. Automatic Vacuuming

    20.10. Automatic Vacuuming

    +20.10. Automatic Vacuuming

    20.10. Automatic Vacuuming

    These settings control the behavior of the autovacuum feature. Refer to Section 25.1.6 for more information. Note that many of these settings can be overridden on a per-table @@ -160,4 +160,4 @@ file or on the server command line; but the setting can be overridden for individual tables by changing table storage parameters. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-client.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-client.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-client.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-client.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.11. Client Connection Defaults

    20.11. Client Connection Defaults

    20.11.1. Statement Behavior

    client_min_messages (enum) +20.11. Client Connection Defaults

    20.11. Client Connection Defaults

    20.11.1. Statement Behavior

    client_min_messages (enum)

    Controls which @@ -858,4 +858,4 @@

    Soft upper limit of the size of the set returned by GIN index scans. For more information see Section 70.5. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-compatible.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-compatible.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-compatible.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-compatible.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.13. Version and Platform Compatibility

    20.13. Version and Platform Compatibility

    20.13.1. Previous PostgreSQL Versions

    array_nulls (boolean) +20.13. Version and Platform Compatibility

    20.13. Version and Platform Compatibility

    20.13.1. Previous PostgreSQL Versions

    array_nulls (boolean)

    This controls whether the array input parser recognizes @@ -140,4 +140,4 @@ Thus, this option is not a general fix for bad programming.

    Refer to Section 9.2 for related information. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-connection.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-connection.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-connection.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-connection.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.3. Connections and Authentication

    20.3. Connections and Authentication

    20.3.1. Connection Settings

    listen_addresses (string) +20.3. Connections and Authentication

    20.3. Connections and Authentication

    20.3.1. Connection Settings

    listen_addresses (string)

    Specifies the TCP/IP address(es) on which the server is @@ -548,4 +548,4 @@

    This parameter can only be set in the postgresql.conf file or on the server command line. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-custom.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-custom.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-custom.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-custom.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.16. Customized Options

    20.16. Customized Options

    +20.16. Customized Options

    20.16. Customized Options

    This feature was designed to allow parameters not normally known to PostgreSQL to be added by add-on modules (such as procedural languages). This allows extension modules to be @@ -18,4 +18,4 @@ those definitions. If there are any unrecognized placeholders that begin with its extension name, warnings are issued and those placeholders are removed. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-developer.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-developer.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-developer.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-developer.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.17. Developer Options

    20.17. Developer Options

    +20.17. Developer Options

    20.17. Developer Options

    The following parameters are intended for developer testing, and should never be used on a production database. However, some of them can be used to assist with the recovery of severely damaged @@ -333,7 +333,9 @@ If LLVM has the required functionality, register generated functions with GDB. This makes debugging easier. The default setting is off. - This parameter can only be set at server start. + Only superusers and users with the appropriate SET + privilege can change this parameter at session start, + and it cannot be changed at all within a session.

    jit_dump_bitcode (boolean)

    @@ -357,7 +359,9 @@ This writes out files to ~/.debug/jit/; the user is responsible for performing cleanup when desired. The default setting is off. - This parameter can only be set at server start. + Only superusers and users with the appropriate SET + privilege can change this parameter at session start, + and it cannot be changed at all within a session.

    jit_tuple_deforming (boolean)

    @@ -374,4 +378,4 @@ may however result in accumulation of useless files. This parameter can only be set in the postgresql.conf file or on the server command line. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-error-handling.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-error-handling.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-error-handling.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-error-handling.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.14. Error Handling

    20.14. Error Handling

    exit_on_error (boolean) +20.14. Error Handling

    20.14. Error Handling

    exit_on_error (boolean)

    If on, any error will terminate the current session. By default, @@ -68,4 +68,4 @@

    This parameter can only be set in the postgresql.conf file or on the server command line. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-file-locations.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-file-locations.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-file-locations.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-file-locations.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.2. File Locations

    20.2. File Locations

    +20.2. File Locations

    20.2. File Locations

    In addition to the postgresql.conf file already mentioned, PostgreSQL uses two other manually-edited configuration files, which control @@ -71,4 +71,4 @@ When setting any of these parameters, a relative path will be interpreted with respect to the directory in which postgres is started. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-locks.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-locks.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-locks.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-locks.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.12. Lock Management

    20.12. Lock Management

    deadlock_timeout (integer) +20.12. Lock Management

    20.12. Lock Management

    deadlock_timeout (integer) @@ -81,4 +81,4 @@ before the lock is promoted to covering the whole page. The default is 2. This parameter can only be set in the postgresql.conf file or on the server command line. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-logging.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-logging.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-logging.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-logging.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.8. Error Reporting and Logging

    20.8. Error Reporting and Logging

    20.8.1. Where to Log

    log_destination (string) +20.8. Error Reporting and Logging

    20.8. Error Reporting and Logging

    20.8.1. Where to Log

    log_destination (string)

    PostgreSQL supports several methods @@ -934,4 +934,4 @@ overhead for updating the process title. Only superusers and users with the appropriate SET privilege can change this setting. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-preset.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-preset.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-preset.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-preset.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.15. Preset Options

    20.15. Preset Options

    +20.15. Preset Options

    20.15. Preset Options

    The following parameters are read-only. As such, they have been excluded from the sample postgresql.conf file. These options report @@ -149,4 +149,4 @@

    Reports the size of write ahead log segments. The default value is 16MB. See Section 30.5 for more information. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-query.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-query.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-query.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-query.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.7. Query Planning

    20.7. Query Planning

    20.7.1. Planner Method Configuration

    +20.7. Query Planning

    20.7. Query Planning

    20.7.1. Planner Method Configuration

    These configuration parameters provide a crude method of influencing the query plans chosen by the query optimizer. If the default plan chosen by the optimizer for a particular query @@ -552,4 +552,4 @@ has low fan-out from one step to the next, as for example in shortest-path queries. Graph analytics queries may benefit from larger-than-default values. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-replication.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-replication.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-replication.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-replication.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.6. Replication

    20.6. Replication

    +20.6. Replication

    20.6. Replication

    These settings control the behavior of the built-in streaming replication feature (see Section 27.2.5). Servers will be either a @@ -559,4 +559,4 @@ The default value is 2. This parameter can only be set in the postgresql.conf file or on the server command line. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-resource.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-resource.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-resource.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-resource.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.4. Resource Consumption

    20.4. Resource Consumption

    20.4.1. Memory

    shared_buffers (integer) +20.4. Resource Consumption

    20.4. Resource Consumption

    20.4.1. Memory

    shared_buffers (integer)

    Sets the amount of memory the database server uses for shared @@ -714,4 +714,4 @@ affected by this setting, such as system catalogs. For such tables this setting will neither reduce bloat nor create a possibility of a snapshot too old error on scanning. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-short.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-short.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-short.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-short.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -20.18. Short Options

    20.18. Short Options

    +20.18. Short Options

    20.18. Short Options

    For convenience there are also single letter command-line option switches available for some parameters. They are described in Table 20.4. Some of these @@ -21,4 +21,4 @@ enable_tidscan = off -Ffsync = off-h xlisten_addresses = x-ilisten_addresses = '*'-k xunix_socket_directories = x-lssl = on-N xmax_connections = x-Oallow_system_table_mods = on-p xport = x-Pignore_system_indexes = on-slog_statement_stats = on-S xwork_mem = x-tpa, -tpl, -telog_parser_stats = on, log_planner_stats = on, - log_executor_stats = on-W xpost_auth_delay = x


    \ No newline at end of file + log_executor_stats = on-W xpost_auth_delay = x
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-statistics.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-statistics.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-statistics.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-statistics.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.9. Run-time Statistics

    20.9. Run-time Statistics

    20.9.1. Cumulative Query and Index Statistics

    +20.9. Run-time Statistics

    20.9. Run-time Statistics

    20.9.1. Cumulative Query and Index Statistics

    These parameters control the server-wide cumulative statistics system. When enabled, the data that is collected can be accessed via the pg_stat and pg_statio @@ -146,4 +146,4 @@ default. Only superusers and users with the appropriate SET privilege can change these settings. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config-wal.html postgresql-15-15.18/doc/src/sgml/html/runtime-config-wal.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config-wal.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config-wal.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -20.5. Write Ahead Log

    20.5. Write Ahead Log

    +20.5. Write Ahead Log

    20.5. Write Ahead Log

    For additional information on tuning these settings, see Section 30.5.

    20.5.1. Settings

    wal_level (enum) @@ -829,4 +829,4 @@ In any case, if a recovery target is configured but the archive recovery ends before the target is reached, the server will shut down with a fatal error. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime-config.html postgresql-15-15.18/doc/src/sgml/html/runtime-config.html --- postgresql-15-15.17/doc/src/sgml/html/runtime-config.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime-config.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,7 +1,7 @@ -Chapter 20. Server Configuration

    Chapter 20. Server Configuration

    Table of Contents

    20.1. Setting Parameters
    20.1.1. Parameter Names and Values
    20.1.2. Parameter Interaction via the Configuration File
    20.1.3. Parameter Interaction via SQL
    20.1.4. Parameter Interaction via the Shell
    20.1.5. Managing Configuration File Contents
    20.2. File Locations
    20.3. Connections and Authentication
    20.3.1. Connection Settings
    20.3.2. Authentication
    20.3.3. SSL
    20.4. Resource Consumption
    20.4.1. Memory
    20.4.2. Disk
    20.4.3. Kernel Resource Usage
    20.4.4. Cost-based Vacuum Delay
    20.4.5. Background Writer
    20.4.6. Asynchronous Behavior
    20.5. Write Ahead Log
    20.5.1. Settings
    20.5.2. Checkpoints
    20.5.3. Archiving
    20.5.4. Recovery
    20.5.5. Archive Recovery
    20.5.6. Recovery Target
    20.6. Replication
    20.6.1. Sending Servers
    20.6.2. Primary Server
    20.6.3. Standby Servers
    20.6.4. Subscribers
    20.7. Query Planning
    20.7.1. Planner Method Configuration
    20.7.2. Planner Cost Constants
    20.7.3. Genetic Query Optimizer
    20.7.4. Other Planner Options
    20.8. Error Reporting and Logging
    20.8.1. Where to Log
    20.8.2. When to Log
    20.8.3. What to Log
    20.8.4. Using CSV-Format Log Output
    20.8.5. Using JSON-Format Log Output
    20.8.6. Process Title
    20.9. Run-time Statistics
    20.9.1. Cumulative Query and Index Statistics
    20.9.2. Statistics Monitoring
    20.10. Automatic Vacuuming
    20.11. Client Connection Defaults
    20.11.1. Statement Behavior
    20.11.2. Locale and Formatting
    20.11.3. Shared Library Preloading
    20.11.4. Other Defaults
    20.12. Lock Management
    20.13. Version and Platform Compatibility
    20.13.1. Previous PostgreSQL Versions
    20.13.2. Platform and Client Compatibility
    20.14. Error Handling
    20.15. Preset Options
    20.16. Customized Options
    20.17. Developer Options
    20.18. Short Options

    +Chapter 20. Server Configuration

    Chapter 20. Server Configuration

    Table of Contents

    20.1. Setting Parameters
    20.1.1. Parameter Names and Values
    20.1.2. Parameter Interaction via the Configuration File
    20.1.3. Parameter Interaction via SQL
    20.1.4. Parameter Interaction via the Shell
    20.1.5. Managing Configuration File Contents
    20.2. File Locations
    20.3. Connections and Authentication
    20.3.1. Connection Settings
    20.3.2. Authentication
    20.3.3. SSL
    20.4. Resource Consumption
    20.4.1. Memory
    20.4.2. Disk
    20.4.3. Kernel Resource Usage
    20.4.4. Cost-based Vacuum Delay
    20.4.5. Background Writer
    20.4.6. Asynchronous Behavior
    20.5. Write Ahead Log
    20.5.1. Settings
    20.5.2. Checkpoints
    20.5.3. Archiving
    20.5.4. Recovery
    20.5.5. Archive Recovery
    20.5.6. Recovery Target
    20.6. Replication
    20.6.1. Sending Servers
    20.6.2. Primary Server
    20.6.3. Standby Servers
    20.6.4. Subscribers
    20.7. Query Planning
    20.7.1. Planner Method Configuration
    20.7.2. Planner Cost Constants
    20.7.3. Genetic Query Optimizer
    20.7.4. Other Planner Options
    20.8. Error Reporting and Logging
    20.8.1. Where to Log
    20.8.2. When to Log
    20.8.3. What to Log
    20.8.4. Using CSV-Format Log Output
    20.8.5. Using JSON-Format Log Output
    20.8.6. Process Title
    20.9. Run-time Statistics
    20.9.1. Cumulative Query and Index Statistics
    20.9.2. Statistics Monitoring
    20.10. Automatic Vacuuming
    20.11. Client Connection Defaults
    20.11.1. Statement Behavior
    20.11.2. Locale and Formatting
    20.11.3. Shared Library Preloading
    20.11.4. Other Defaults
    20.12. Lock Management
    20.13. Version and Platform Compatibility
    20.13.1. Previous PostgreSQL Versions
    20.13.2. Platform and Client Compatibility
    20.14. Error Handling
    20.15. Preset Options
    20.16. Customized Options
    20.17. Developer Options
    20.18. Short Options

    There are many configuration parameters that affect the behavior of the database system. In the first section of this chapter we describe how to interact with configuration parameters. The subsequent sections discuss each parameter in detail. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/runtime.html postgresql-15-15.18/doc/src/sgml/html/runtime.html --- postgresql-15-15.17/doc/src/sgml/html/runtime.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/runtime.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 19. Server Setup and Operation

    Chapter 19. Server Setup and Operation

    +Chapter 19. Server Setup and Operation

    \ No newline at end of file + Microsoft Windows SDK Home 19.1. The PostgreSQL User Account
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sasl-authentication.html postgresql-15-15.18/doc/src/sgml/html/sasl-authentication.html --- postgresql-15-15.17/doc/src/sgml/html/sasl-authentication.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sasl-authentication.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -55.3. SASL Authentication

    55.3. SASL Authentication

    +55.3. SASL Authentication

    55.3. SASL Authentication

    SASL is a framework for authentication in connection-oriented protocols. At the moment, PostgreSQL implements two SASL authentication mechanisms, SCRAM-SHA-256 and SCRAM-SHA-256-PLUS. More @@ -101,4 +101,4 @@ Server sends an AuthenticationSASLFinal message, with the SCRAM server-final-message, followed immediately by an AuthenticationOk message. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/seg.html postgresql-15-15.18/doc/src/sgml/html/seg.html --- postgresql-15-15.17/doc/src/sgml/html/seg.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/seg.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.39. seg

    F.39. seg

    +F.39. seg

    F.39. seg

    This module implements a data type seg for representing line segments, or floating point intervals. seg can represent uncertainty in the interval endpoints, @@ -219,4 +219,4 @@ myself to create my own world and live undisturbed in it. And I would like to acknowledge my gratitude to Argonne Lab and to the U.S. Department of Energy for the years of faithful support of my database research. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sepgsql.html postgresql-15-15.18/doc/src/sgml/html/sepgsql.html --- postgresql-15-15.17/doc/src/sgml/html/sepgsql.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sepgsql.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.40. sepgsql

    F.40. sepgsql

    +F.40. sepgsql

    F.40. sepgsql

    sepgsql is a loadable module that supports label-based mandatory access control (MAC) based on SELinux security policy. @@ -517,4 +517,4 @@ It focuses primarily on Fedora, but is not limited to Fedora.

    F.40.9. Author

    KaiGai Kohei -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/server-programming.html postgresql-15-15.18/doc/src/sgml/html/server-programming.html --- postgresql-15-15.17/doc/src/sgml/html/server-programming.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/server-programming.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -Part V. Server Programming

    Part V. Server Programming

    +Part V. Server Programming

    Part V. Server Programming

    This part is about extending the server functionality with user-defined functions, data types, triggers, etc. These are advanced topics which should probably be approached only after all @@ -10,4 +10,4 @@ general issues concerning server-side programming languages. It is essential to read at least the earlier sections of Chapter 38 (covering functions) before diving into the material about server-side programming languages. -

    Table of Contents

    38. Extending SQL
    38.1. How Extensibility Works
    38.2. The PostgreSQL Type System
    38.3. User-Defined Functions
    38.4. User-Defined Procedures
    38.5. Query Language (SQL) Functions
    38.6. Function Overloading
    38.7. Function Volatility Categories
    38.8. Procedural Language Functions
    38.9. Internal Functions
    38.10. C-Language Functions
    38.11. Function Optimization Information
    38.12. User-Defined Aggregates
    38.13. User-Defined Types
    38.14. User-Defined Operators
    38.15. Operator Optimization Information
    38.16. Interfacing Extensions to Indexes
    38.17. Packaging Related Objects into an Extension
    38.18. Extension Building Infrastructure
    39. Triggers
    39.1. Overview of Trigger Behavior
    39.2. Visibility of Data Changes
    39.3. Writing Trigger Functions in C
    39.4. A Complete Trigger Example
    40. Event Triggers
    40.1. Overview of Event Trigger Behavior
    40.2. Event Trigger Firing Matrix
    40.3. Writing Event Trigger Functions in C
    40.4. A Complete Event Trigger Example
    40.5. A Table Rewrite Event Trigger Example
    41. The Rule System
    41.1. The Query Tree
    41.2. Views and the Rule System
    41.3. Materialized Views
    41.4. Rules on INSERT, UPDATE, and DELETE
    41.5. Rules and Privileges
    41.6. Rules and Command Status
    41.7. Rules Versus Triggers
    42. Procedural Languages
    42.1. Installing Procedural Languages
    43. PL/pgSQLSQL Procedural Language
    43.1. Overview
    43.2. Structure of PL/pgSQL
    43.3. Declarations
    43.4. Expressions
    43.5. Basic Statements
    43.6. Control Structures
    43.7. Cursors
    43.8. Transaction Management
    43.9. Errors and Messages
    43.10. Trigger Functions
    43.11. PL/pgSQL under the Hood
    43.12. Tips for Developing in PL/pgSQL
    43.13. Porting from Oracle PL/SQL
    44. PL/Tcl — Tcl Procedural Language
    44.1. Overview
    44.2. PL/Tcl Functions and Arguments
    44.3. Data Values in PL/Tcl
    44.4. Global Data in PL/Tcl
    44.5. Database Access from PL/Tcl
    44.6. Trigger Functions in PL/Tcl
    44.7. Event Trigger Functions in PL/Tcl
    44.8. Error Handling in PL/Tcl
    44.9. Explicit Subtransactions in PL/Tcl
    44.10. Transaction Management
    44.11. PL/Tcl Configuration
    44.12. Tcl Procedure Names
    45. PL/Perl — Perl Procedural Language
    45.1. PL/Perl Functions and Arguments
    45.2. Data Values in PL/Perl
    45.3. Built-in Functions
    45.4. Global Values in PL/Perl
    45.5. Trusted and Untrusted PL/Perl
    45.6. PL/Perl Triggers
    45.7. PL/Perl Event Triggers
    45.8. PL/Perl Under the Hood
    46. PL/Python — Python Procedural Language
    46.1. PL/Python Functions
    46.2. Data Values
    46.3. Sharing Data
    46.4. Anonymous Code Blocks
    46.5. Trigger Functions
    46.6. Database Access
    46.7. Explicit Subtransactions
    46.8. Transaction Management
    46.9. Utility Functions
    46.10. Python 2 vs. Python 3
    46.11. Environment Variables
    47. Server Programming Interface
    47.1. Interface Functions
    47.2. Interface Support Functions
    47.3. Memory Management
    47.4. Transaction Management
    47.5. Visibility of Data Changes
    47.6. Examples
    48. Background Worker Processes
    49. Logical Decoding
    49.1. Logical Decoding Examples
    49.2. Logical Decoding Concepts
    49.3. Streaming Replication Protocol Interface
    49.4. Logical Decoding SQL Interface
    49.5. System Catalogs Related to Logical Decoding
    49.6. Logical Decoding Output Plugins
    49.7. Logical Decoding Output Writers
    49.8. Synchronous Replication Support for Logical Decoding
    49.9. Streaming of Large Transactions for Logical Decoding
    49.10. Two-phase Commit Support for Logical Decoding
    50. Replication Progress Tracking
    51. Archive Modules
    51.1. Initialization Functions
    51.2. Archive Module Callbacks
    \ No newline at end of file +

    Table of Contents

    38. Extending SQL
    38.1. How Extensibility Works
    38.2. The PostgreSQL Type System
    38.3. User-Defined Functions
    38.4. User-Defined Procedures
    38.5. Query Language (SQL) Functions
    38.6. Function Overloading
    38.7. Function Volatility Categories
    38.8. Procedural Language Functions
    38.9. Internal Functions
    38.10. C-Language Functions
    38.11. Function Optimization Information
    38.12. User-Defined Aggregates
    38.13. User-Defined Types
    38.14. User-Defined Operators
    38.15. Operator Optimization Information
    38.16. Interfacing Extensions to Indexes
    38.17. Packaging Related Objects into an Extension
    38.18. Extension Building Infrastructure
    39. Triggers
    39.1. Overview of Trigger Behavior
    39.2. Visibility of Data Changes
    39.3. Writing Trigger Functions in C
    39.4. A Complete Trigger Example
    40. Event Triggers
    40.1. Overview of Event Trigger Behavior
    40.2. Event Trigger Firing Matrix
    40.3. Writing Event Trigger Functions in C
    40.4. A Complete Event Trigger Example
    40.5. A Table Rewrite Event Trigger Example
    41. The Rule System
    41.1. The Query Tree
    41.2. Views and the Rule System
    41.3. Materialized Views
    41.4. Rules on INSERT, UPDATE, and DELETE
    41.5. Rules and Privileges
    41.6. Rules and Command Status
    41.7. Rules Versus Triggers
    42. Procedural Languages
    42.1. Installing Procedural Languages
    43. PL/pgSQLSQL Procedural Language
    43.1. Overview
    43.2. Structure of PL/pgSQL
    43.3. Declarations
    43.4. Expressions
    43.5. Basic Statements
    43.6. Control Structures
    43.7. Cursors
    43.8. Transaction Management
    43.9. Errors and Messages
    43.10. Trigger Functions
    43.11. PL/pgSQL under the Hood
    43.12. Tips for Developing in PL/pgSQL
    43.13. Porting from Oracle PL/SQL
    44. PL/Tcl — Tcl Procedural Language
    44.1. Overview
    44.2. PL/Tcl Functions and Arguments
    44.3. Data Values in PL/Tcl
    44.4. Global Data in PL/Tcl
    44.5. Database Access from PL/Tcl
    44.6. Trigger Functions in PL/Tcl
    44.7. Event Trigger Functions in PL/Tcl
    44.8. Error Handling in PL/Tcl
    44.9. Explicit Subtransactions in PL/Tcl
    44.10. Transaction Management
    44.11. PL/Tcl Configuration
    44.12. Tcl Procedure Names
    45. PL/Perl — Perl Procedural Language
    45.1. PL/Perl Functions and Arguments
    45.2. Data Values in PL/Perl
    45.3. Built-in Functions
    45.4. Global Values in PL/Perl
    45.5. Trusted and Untrusted PL/Perl
    45.6. PL/Perl Triggers
    45.7. PL/Perl Event Triggers
    45.8. PL/Perl Under the Hood
    46. PL/Python — Python Procedural Language
    46.1. PL/Python Functions
    46.2. Data Values
    46.3. Sharing Data
    46.4. Anonymous Code Blocks
    46.5. Trigger Functions
    46.6. Database Access
    46.7. Explicit Subtransactions
    46.8. Transaction Management
    46.9. Utility Functions
    46.10. Python 2 vs. Python 3
    46.11. Environment Variables
    47. Server Programming Interface
    47.1. Interface Functions
    47.2. Interface Support Functions
    47.3. Memory Management
    47.4. Transaction Management
    47.5. Visibility of Data Changes
    47.6. Examples
    48. Background Worker Processes
    49. Logical Decoding
    49.1. Logical Decoding Examples
    49.2. Logical Decoding Concepts
    49.3. Streaming Replication Protocol Interface
    49.4. Logical Decoding SQL Interface
    49.5. System Catalogs Related to Logical Decoding
    49.6. Logical Decoding Output Plugins
    49.7. Logical Decoding Output Writers
    49.8. Synchronous Replication Support for Logical Decoding
    49.9. Streaming of Large Transactions for Logical Decoding
    49.10. Two-phase Commit Support for Logical Decoding
    50. Replication Progress Tracking
    51. Archive Modules
    51.1. Initialization Functions
    51.2. Archive Module Callbacks
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/server-shutdown.html postgresql-15-15.18/doc/src/sgml/html/server-shutdown.html --- postgresql-15-15.17/doc/src/sgml/html/server-shutdown.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/server-shutdown.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -19.5. Shutting Down the Server

    19.5. Shutting Down the Server

    +19.5. Shutting Down the Server

    19.5. Shutting Down the Server

    There are several ways to shut down the database server. Under the hood, they all reduce to sending a signal to the supervisor postgres process. @@ -63,4 +63,4 @@ continue, use pg_terminate_backend() (see Table 9.88) or send a SIGTERM signal to the child process associated with the session. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/server-start.html postgresql-15-15.18/doc/src/sgml/html/server-start.html --- postgresql-15-15.17/doc/src/sgml/html/server-start.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/server-start.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -19.3. Starting the Database Server

    19.3. Starting the Database Server

    +19.3. Starting the Database Server

    19.3. Starting the Database Server

    Before anyone can access the database, you must start the database server. The database server program is called postgres. @@ -256,4 +256,4 @@ such as Connection timed out might indicate more fundamental problems, like lack of network connectivity, or a firewall blocking the connection. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/source-conventions.html postgresql-15-15.18/doc/src/sgml/html/source-conventions.html --- postgresql-15-15.17/doc/src/sgml/html/source-conventions.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/source-conventions.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -56.4. Miscellaneous Coding Conventions

    56.4. Miscellaneous Coding Conventions

    C Standard

    +56.4. Miscellaneous Coding Conventions

    56.4. Miscellaneous Coding Conventions

    C Standard

    Code in PostgreSQL should only rely on language features available in the C99 standard. That means a conforming C99 compiler has to be able to compile postgres, at least aside @@ -103,4 +103,4 @@

     paramInfo->paramFetch(paramInfo, paramId);
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/source-format.html postgresql-15-15.18/doc/src/sgml/html/source-format.html --- postgresql-15-15.17/doc/src/sgml/html/source-format.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/source-format.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -56.1. Formatting

    56.1. Formatting

    +56.1. Formatting

    56.1. Formatting

    Source code formatting uses 4 column tab spacing, with tabs preserved (i.e., tabs are not expanded to spaces). Each logical indentation level is one additional tab stop. @@ -60,4 +60,4 @@ less -x4

    to make them show tabs appropriately. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/source.html postgresql-15-15.18/doc/src/sgml/html/source.html --- postgresql-15-15.17/doc/src/sgml/html/source.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/source.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 56. PostgreSQL Coding Conventions \ No newline at end of file +Chapter 56. PostgreSQL Coding Conventions \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sourcerepo.html postgresql-15-15.18/doc/src/sgml/html/sourcerepo.html --- postgresql-15-15.17/doc/src/sgml/html/sourcerepo.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sourcerepo.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -Appendix I. The Source Code Repository

    Appendix I. The Source Code Repository

    +Appendix I. The Source Code Repository

    Appendix I. The Source Code Repository

    The PostgreSQL source code is stored and managed using the Git version control system. A public mirror of the master repository is available; it is updated within a minute @@ -14,4 +14,4 @@ to build from a distribution tarball, because the files that these tools are used to build are included in the tarball. Other tool requirements are the same as shown in Section 17.2. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spgist-builtin-opclasses.html postgresql-15-15.18/doc/src/sgml/html/spgist-builtin-opclasses.html --- postgresql-15-15.17/doc/src/sgml/html/spgist-builtin-opclasses.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spgist-builtin-opclasses.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -69.2. Built-in Operator Classes

    69.2. Built-in Operator Classes

    +69.2. Built-in Operator Classes

    69.2. Built-in Operator Classes

    The core PostgreSQL distribution includes the SP-GiST operator classes shown in Table 69.1. @@ -13,4 +13,4 @@ poly_ops operator classes support the <-> ordering operator, which enables the k-nearest neighbor (k-NN) search over indexed point or polygon data sets. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spgist-examples.html postgresql-15-15.18/doc/src/sgml/html/spgist-examples.html --- postgresql-15-15.17/doc/src/sgml/html/spgist-examples.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spgist-examples.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,8 +1,8 @@ -69.5. Examples

    69.5. Examples

    +69.5. Examples

    69.5. Examples

    The PostgreSQL source distribution includes several examples of index operator classes for SP-GiST, as described in Table 69.1. Look into src/backend/access/spgist/ and src/backend/utils/adt/ to see the code. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spgist-extensibility.html postgresql-15-15.18/doc/src/sgml/html/spgist-extensibility.html --- postgresql-15-15.17/doc/src/sgml/html/spgist-extensibility.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spgist-extensibility.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -69.3. Extensibility

    69.3. Extensibility

    +69.3. Extensibility

    69.3. Extensibility

    SP-GiST offers an interface with a high level of abstraction, requiring the access method developer to implement only methods specific to a given data type. The SP-GiST core @@ -618,4 +618,4 @@ If the indexed column is of a collatable data type, the index collation will be passed to all the support methods, using the standard PG_GET_COLLATION() mechanism. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spgist-implementation.html postgresql-15-15.18/doc/src/sgml/html/spgist-implementation.html --- postgresql-15-15.17/doc/src/sgml/html/spgist-implementation.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spgist-implementation.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -69.4. Implementation

    69.4. Implementation

    +69.4. Implementation

    69.4. Implementation

    This section covers implementation details and other tricks that are useful for implementers of SP-GiST operator classes to know. @@ -87,4 +87,4 @@ all equivalent. This may or may not require any special-case code, depending on how much the inner_consistent function normally assumes about the meaning of the nodes. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spgist-intro.html postgresql-15-15.18/doc/src/sgml/html/spgist-intro.html --- postgresql-15-15.17/doc/src/sgml/html/spgist-intro.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spgist-intro.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -69.1. Introduction

    69.1. Introduction

    +69.1. Introduction

    69.1. Introduction

    SP-GiST is an abbreviation for space-partitioned GiST. SP-GiST supports partitioned search trees, which facilitate development of a wide range of different @@ -31,4 +31,4 @@ Sigaev and Oleg Bartunov, and there is more information on their web site. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spgist.html postgresql-15-15.18/doc/src/sgml/html/spgist.html --- postgresql-15-15.17/doc/src/sgml/html/spgist.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spgist.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 69. SP-GiST Indexes \ No newline at end of file +Chapter 69. SP-GiST Indexes \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-examples.html postgresql-15-15.18/doc/src/sgml/html/spi-examples.html --- postgresql-15-15.17/doc/src/sgml/html/spi-examples.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-examples.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -47.6. Examples

    47.6. Examples

    +47.6. Examples

    47.6. Examples

    This section contains a very simple example of SPI usage. The C function execq takes an SQL command as its first argument and a row count as its second, executes the command @@ -167,4 +167,4 @@ 6 -- 3 rows (2 + 1 just inserted) * 2 (x in second row) (4 rows)

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-interface-support.html postgresql-15-15.18/doc/src/sgml/html/spi-interface-support.html --- postgresql-15-15.17/doc/src/sgml/html/spi-interface-support.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-interface-support.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,9 +1,9 @@ -47.2. Interface Support Functions

    47.2. Interface Support Functions

    SPI_fname — determine the column name for the specified column number
    SPI_fnumber — determine the column number for the specified column name
    SPI_getvalue — return the string value of the specified column
    SPI_getbinval — return the binary value of the specified column
    SPI_gettype — return the data type name of the specified column
    SPI_gettypeid — return the data type OID of the specified column
    SPI_getrelname — return the name of the specified relation
    SPI_getnspname — return the namespace of the specified relation
    SPI_result_code_string — return error code as string

    +47.2. Interface Support Functions

    47.2. Interface Support Functions

    SPI_fname — determine the column name for the specified column number
    SPI_fnumber — determine the column number for the specified column name
    SPI_getvalue — return the string value of the specified column
    SPI_getbinval — return the binary value of the specified column
    SPI_gettype — return the data type name of the specified column
    SPI_gettypeid — return the data type OID of the specified column
    SPI_getrelname — return the name of the specified relation
    SPI_getnspname — return the namespace of the specified relation
    SPI_result_code_string — return error code as string

    The functions described here provide an interface for extracting information from result sets returned by SPI_execute and other SPI functions.

    All functions described in this section can be used by both connected and unconnected C functions. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-interface.html postgresql-15-15.18/doc/src/sgml/html/spi-interface.html --- postgresql-15-15.17/doc/src/sgml/html/spi-interface.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-interface.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,6 +1,6 @@ -47.1. Interface Functions

    47.1. Interface Functions

    SPI_connect — connect a C function to the SPI manager
    SPI_finish — disconnect a C function from the SPI manager
    SPI_execute — execute a command
    SPI_exec — execute a read/write command
    SPI_execute_extended — execute a command with out-of-line parameters
    SPI_execute_with_args — execute a command with out-of-line parameters
    SPI_prepare — prepare a statement, without executing it yet
    SPI_prepare_cursor — prepare a statement, without executing it yet
    SPI_prepare_extended — prepare a statement, without executing it yet
    SPI_prepare_params — prepare a statement, without executing it yet
    SPI_getargcount — return the number of arguments needed by a statement +47.1. Interface Functions

    47.1. Interface Functions

    SPI_connect — connect a C function to the SPI manager
    SPI_finish — disconnect a C function from the SPI manager
    SPI_execute — execute a command
    SPI_exec — execute a read/write command
    SPI_execute_extended — execute a command with out-of-line parameters
    SPI_execute_with_args — execute a command with out-of-line parameters
    SPI_prepare — prepare a statement, without executing it yet
    SPI_prepare_cursor — prepare a statement, without executing it yet
    SPI_prepare_extended — prepare a statement, without executing it yet
    SPI_prepare_params — prepare a statement, without executing it yet
    SPI_getargcount — return the number of arguments needed by a statement prepared by SPI_prepare
    SPI_getargtypeid — return the data type OID for an argument of a statement prepared by SPI_prepare
    SPI_is_cursor_plan — return true if a statement prepared by SPI_prepare can be used with - SPI_cursor_open
    SPI_execute_plan — execute a statement prepared by SPI_prepare
    SPI_execute_plan_extended — execute a statement prepared by SPI_prepare
    SPI_execute_plan_with_paramlist — execute a statement prepared by SPI_prepare
    SPI_execp — execute a statement in read/write mode
    SPI_cursor_open — set up a cursor using a statement created with SPI_prepare
    SPI_cursor_open_with_args — set up a cursor using a query and parameters
    SPI_cursor_open_with_paramlist — set up a cursor using parameters
    SPI_cursor_parse_open — set up a cursor using a query string and parameters
    SPI_cursor_find — find an existing cursor by name
    SPI_cursor_fetch — fetch some rows from a cursor
    SPI_cursor_move — move a cursor
    SPI_scroll_cursor_fetch — fetch some rows from a cursor
    SPI_scroll_cursor_move — move a cursor
    SPI_cursor_close — close a cursor
    SPI_keepplan — save a prepared statement
    SPI_saveplan — save a prepared statement
    SPI_register_relation — make an ephemeral named relation available by name in SPI queries
    SPI_unregister_relation — remove an ephemeral named relation from the registry
    SPI_register_trigger_data — make ephemeral trigger data available in SPI queries
    \ No newline at end of file + SPI_cursor_open
    SPI_execute_plan — execute a statement prepared by SPI_prepare
    SPI_execute_plan_extended — execute a statement prepared by SPI_prepare
    SPI_execute_plan_with_paramlist — execute a statement prepared by SPI_prepare
    SPI_execp — execute a statement in read/write mode
    SPI_cursor_open — set up a cursor using a statement created with SPI_prepare
    SPI_cursor_open_with_args — set up a cursor using a query and parameters
    SPI_cursor_open_with_paramlist — set up a cursor using parameters
    SPI_cursor_parse_open — set up a cursor using a query string and parameters
    SPI_cursor_find — find an existing cursor by name
    SPI_cursor_fetch — fetch some rows from a cursor
    SPI_cursor_move — move a cursor
    SPI_scroll_cursor_fetch — fetch some rows from a cursor
    SPI_scroll_cursor_move — move a cursor
    SPI_cursor_close — close a cursor
    SPI_keepplan — save a prepared statement
    SPI_saveplan — save a prepared statement
    SPI_register_relation — make an ephemeral named relation available by name in SPI queries
    SPI_unregister_relation — remove an ephemeral named relation from the registry
    SPI_register_trigger_data — make ephemeral trigger data available in SPI queries
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-memory.html postgresql-15-15.18/doc/src/sgml/html/spi-memory.html --- postgresql-15-15.17/doc/src/sgml/html/spi-memory.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-memory.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -47.3. Memory Management

    47.3. Memory Management

    SPI_palloc — allocate memory in the upper executor context
    SPI_repalloc — reallocate memory in the upper executor context
    SPI_pfree — free memory in the upper executor context
    SPI_copytuple — make a copy of a row in the upper executor context
    SPI_returntuple — prepare to return a tuple as a Datum
    SPI_modifytuple — create a row by replacing selected fields of a given row
    SPI_freetuple — free a row allocated in the upper executor context
    SPI_freetuptable — free a row set created by SPI_execute or a similar +47.3. Memory Management

    47.3. Memory Management

    SPI_palloc — allocate memory in the upper executor context
    SPI_repalloc — reallocate memory in the upper executor context
    SPI_pfree — free memory in the upper executor context
    SPI_copytuple — make a copy of a row in the upper executor context
    SPI_returntuple — prepare to return a tuple as a Datum
    SPI_modifytuple — create a row by replacing selected fields of a given row
    SPI_freetuple — free a row allocated in the upper executor context
    SPI_freetuptable — free a row set created by SPI_execute or a similar function
    SPI_freeplan — free a previously saved prepared statement

    PostgreSQL allocates memory within @@ -43,4 +43,4 @@ SPI_finish) the current context is restored to the upper executor context, and all allocations made in the C function memory context are freed and cannot be used any more. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-realloc.html postgresql-15-15.18/doc/src/sgml/html/spi-realloc.html --- postgresql-15-15.17/doc/src/sgml/html/spi-realloc.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-realloc.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_repalloc

    SPI_repalloc

    SPI_repalloc — reallocate memory in the upper executor context

    Synopsis

    +SPI_repalloc

    SPI_repalloc

    SPI_repalloc — reallocate memory in the upper executor context

    Synopsis

     void * SPI_repalloc(void * pointer, Size size)
     

    Description

    SPI_repalloc changes the size of a memory @@ -15,4 +15,4 @@

    Return Value

    pointer to new storage space of specified size with the contents copied from the existing area -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-commit.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-commit.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-commit.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-commit.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_commit

    SPI_commit

    SPI_commit, SPI_commit_and_chain — commit the current transaction

    Synopsis

    +SPI_commit

    SPI_commit

    SPI_commit, SPI_commit_and_chain — commit the current transaction

    Synopsis

     void SPI_commit(void)
     
     void SPI_commit_and_chain(void)
    @@ -20,4 +20,4 @@
       

    These functions can only be executed if the SPI connection has been set as nonatomic in the call to SPI_connect_ext. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-connect.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-connect.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-connect.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-connect.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_connect

    SPI_connect

    SPI_connect, SPI_connect_ext — connect a C function to the SPI manager

    Synopsis

    +SPI_connect

    SPI_connect

    SPI_connect, SPI_connect_ext — connect a C function to the SPI manager

    Synopsis

     int SPI_connect(void)
     
     int SPI_connect_ext(int options)
    @@ -25,4 +25,4 @@
           on success
          

    SPI_ERROR_CONNECT

    on error -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-copytuple.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-copytuple.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-copytuple.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-copytuple.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_copytuple

    SPI_copytuple

    SPI_copytuple — make a copy of a row in the upper executor context

    Synopsis

    +SPI_copytuple

    SPI_copytuple

    SPI_copytuple — make a copy of a row in the upper executor context

    Synopsis

     HeapTuple SPI_copytuple(HeapTuple row)
     

    Description

    SPI_copytuple makes a copy of a row in the @@ -15,4 +15,4 @@

    Return Value

    the copied row, or NULL on error (see SPI_result for an error indication) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-close.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-close.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-close.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-close.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_cursor_close

    SPI_cursor_close

    SPI_cursor_close — close a cursor

    Synopsis

    +SPI_cursor_close

    SPI_cursor_close

    SPI_cursor_close — close a cursor

    Synopsis

     void SPI_cursor_close(Portal portal)
     

    Description

    SPI_cursor_close closes a previously created @@ -10,4 +10,4 @@ invoked if it is desirable to release resources sooner.

    Arguments

    Portal portal

    portal containing the cursor -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-fetch.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-fetch.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-fetch.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-fetch.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_cursor_fetch

    SPI_cursor_fetch

    SPI_cursor_fetch — fetch some rows from a cursor

    Synopsis

    +SPI_cursor_fetch

    SPI_cursor_fetch

    SPI_cursor_fetch — fetch some rows from a cursor

    Synopsis

     void SPI_cursor_fetch(Portal portal, bool forward, long count)
     

    Description

    SPI_cursor_fetch fetches some rows from a @@ -19,4 +19,4 @@

    Notes

    Fetching backward may fail if the cursor's plan was not created with the CURSOR_OPT_SCROLL option. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-find.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-find.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-find.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-find.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_cursor_find

    SPI_cursor_find

    SPI_cursor_find — find an existing cursor by name

    Synopsis

    +SPI_cursor_find

    SPI_cursor_find

    SPI_cursor_find — find an existing cursor by name

    Synopsis

     Portal SPI_cursor_find(const char * name)
     

    Description

    SPI_cursor_find finds an existing portal by @@ -17,4 +17,4 @@ to other SPI functions, they can defend themselves against such cases, but caution is appropriate when directly inspecting the Portal. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-move.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-move.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-move.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-move.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_cursor_move

    SPI_cursor_move

    SPI_cursor_move — move a cursor

    Synopsis

    +SPI_cursor_move

    SPI_cursor_move

    SPI_cursor_move — move a cursor

    Synopsis

     void SPI_cursor_move(Portal portal, bool forward, long count)
     

    Description

    SPI_cursor_move skips over some number of rows @@ -15,4 +15,4 @@

    Notes

    Moving backward may fail if the cursor's plan was not created with the CURSOR_OPT_SCROLL option. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-open-with-args.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-open-with-args.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-open-with-args.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-open-with-args.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_cursor_open_with_args

    SPI_cursor_open_with_args

    SPI_cursor_open_with_args — set up a cursor using a query and parameters

    Synopsis

    +SPI_cursor_open_with_args

    SPI_cursor_open_with_args

    SPI_cursor_open_with_args — set up a cursor using a query and parameters

    Synopsis

     Portal SPI_cursor_open_with_args(const char *name,
                                      const char *command,
                                      int nargs, Oid *argtypes,
    @@ -56,4 +56,4 @@
          

    Return Value

    Pointer to portal containing the cursor. Note there is no error return convention; any error will be reported via elog. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-open-with-paramlist.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-open-with-paramlist.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-open-with-paramlist.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-open-with-paramlist.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_cursor_open_with_paramlist

    SPI_cursor_open_with_paramlist

    SPI_cursor_open_with_paramlist — set up a cursor using parameters

    Synopsis

    +SPI_cursor_open_with_paramlist

    SPI_cursor_open_with_paramlist

    SPI_cursor_open_with_paramlist — set up a cursor using parameters

    Synopsis

     Portal SPI_cursor_open_with_paramlist(const char *name,
                                           SPIPlanPtr plan,
                                           ParamListInfo params,
    @@ -27,4 +27,4 @@
          

    bool read_only

    true for read-only execution

    Return Value

    Pointer to portal containing the cursor. Note there is no error return convention; any error will be reported via elog. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-open.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-open.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-open.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-open.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_cursor_open

    SPI_cursor_open

    SPI_cursor_open — set up a cursor using a statement created with SPI_prepare

    Synopsis

    +SPI_cursor_open

    SPI_cursor_open

    SPI_cursor_open — set up a cursor using a statement created with SPI_prepare

    Synopsis

     Portal SPI_cursor_open(const char * name, SPIPlanPtr plan,
                            Datum * values, const char * nulls,
                            bool read_only)
    @@ -44,4 +44,4 @@
          

    bool read_only

    true for read-only execution

    Return Value

    Pointer to portal containing the cursor. Note there is no error return convention; any error will be reported via elog. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-parse-open.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-parse-open.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-cursor-parse-open.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-cursor-parse-open.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_cursor_parse_open

    SPI_cursor_parse_open

    SPI_cursor_parse_open — set up a cursor using a query string and parameters

    Synopsis

    +SPI_cursor_parse_open

    SPI_cursor_parse_open

    SPI_cursor_parse_open — set up a cursor using a query string and parameters

    Synopsis

     Portal SPI_cursor_parse_open(const char *name,
                                  const char *command,
                                  const SPIParseOpenOptions * options)
    @@ -44,4 +44,4 @@
          

    bool read_only

    true for read-only execution

    Return Value

    Pointer to portal containing the cursor. Note there is no error return convention; any error will be reported via elog. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-exec.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-exec.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-exec.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-exec.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_exec

    SPI_exec

    SPI_exec — execute a read/write command

    Synopsis

    +SPI_exec

    SPI_exec

    SPI_exec — execute a read/write command

    Synopsis

     int SPI_exec(const char * command, long count)
     

    Description

    SPI_exec is the same as @@ -13,4 +13,4 @@ or 0 for no limit

    Return Value

    See SPI_execute. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-execp.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-execp.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-execp.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-execp.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_execp

    SPI_execp

    SPI_execp — execute a statement in read/write mode

    Synopsis

    +SPI_execp

    SPI_execp

    SPI_execp — execute a statement in read/write mode

    Synopsis

     int SPI_execp(SPIPlanPtr plan, Datum * values, const char * nulls, long count)
     

    Description

    SPI_execp is the same as @@ -33,4 +33,4 @@ SPI_processed and SPI_tuptable are set as in SPI_execute if successful. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute-extended.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute-extended.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute-extended.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute-extended.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_execute_extended

    SPI_execute_extended

    SPI_execute_extended — execute a command with out-of-line parameters

    Synopsis

    +SPI_execute_extended

    SPI_execute_extended

    SPI_execute_extended — execute a command with out-of-line parameters

    Synopsis

     int SPI_execute_extended(const char *command,
                              const SPIExecuteOptions * options)
     

    Description

    @@ -67,4 +67,4 @@ SPI_tuptable is set to NULL. If a tuple count is required, the caller's DestReceiver object must calculate it. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute-plan-extended.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute-plan-extended.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute-plan-extended.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute-plan-extended.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_execute_plan_extended

    SPI_execute_plan_extended

    SPI_execute_plan_extended — execute a statement prepared by SPI_prepare

    Synopsis

    +SPI_execute_plan_extended

    SPI_execute_plan_extended

    SPI_execute_plan_extended — execute a statement prepared by SPI_prepare

    Synopsis

     int SPI_execute_plan_extended(SPIPlanPtr plan,
                                   const SPIExecuteOptions * options)
     

    Description

    @@ -67,4 +67,4 @@ SPI_tuptable is set to NULL. If a tuple count is required, the caller's DestReceiver object must calculate it. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute-plan-with-paramlist.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute-plan-with-paramlist.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute-plan-with-paramlist.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute-plan-with-paramlist.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_execute_plan_with_paramlist

    SPI_execute_plan_with_paramlist

    SPI_execute_plan_with_paramlist — execute a statement prepared by SPI_prepare

    Synopsis

    +SPI_execute_plan_with_paramlist

    SPI_execute_plan_with_paramlist

    SPI_execute_plan_with_paramlist — execute a statement prepared by SPI_prepare

    Synopsis

     int SPI_execute_plan_with_paramlist(SPIPlanPtr plan,
                                         ParamListInfo params,
                                         bool read_only,
    @@ -29,4 +29,4 @@
        SPI_processed and
        SPI_tuptable are set as in
        SPI_execute_plan if successful.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute-plan.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute-plan.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute-plan.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute-plan.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_execute_plan

    SPI_execute_plan

    SPI_execute_plan — execute a statement prepared by SPI_prepare

    Synopsis

    +SPI_execute_plan

    SPI_execute_plan

    SPI_execute_plan — execute a statement prepared by SPI_prepare

    Synopsis

     int SPI_execute_plan(SPIPlanPtr plan, Datum * values, const char * nulls,
                          bool read_only, long count)
     

    Description

    @@ -44,4 +44,4 @@ SPI_processed and SPI_tuptable are set as in SPI_execute if successful. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute-with-args.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute-with-args.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute-with-args.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute-with-args.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_execute_with_args

    SPI_execute_with_args

    SPI_execute_with_args — execute a command with out-of-line parameters

    Synopsis

    +SPI_execute_with_args

    SPI_execute_with_args

    SPI_execute_with_args — execute a command with out-of-line parameters

    Synopsis

     int SPI_execute_with_args(const char *command,
                               int nargs, Oid *argtypes,
                               Datum *values, const char *nulls,
    @@ -57,4 +57,4 @@
        SPI_processed and
        SPI_tuptable are set as in
        SPI_execute if successful.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-execute.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-execute.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_execute

    SPI_execute

    SPI_execute — execute a command

    Synopsis

    +SPI_execute

    SPI_execute

    SPI_execute — execute a command

    Synopsis

     int SPI_execute(const char * command, bool read_only, long count)
     

    Description

    SPI_execute executes the specified SQL command @@ -176,4 +176,4 @@ C function variables if you need to access the result table of SPI_execute or another query-execution function across later calls. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-finish.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-finish.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-finish.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-finish.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_finish

    SPI_finish

    SPI_finish — disconnect a C function from the SPI manager

    Synopsis

    +SPI_finish

    SPI_finish

    SPI_finish — disconnect a C function from the SPI manager

    Synopsis

     int SPI_finish(void)
     

    Description

    SPI_finish closes an existing connection to @@ -12,4 +12,4 @@ if properly disconnected

    SPI_ERROR_UNCONNECTED

    if called from an unconnected C function -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-fname.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-fname.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-fname.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-fname.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_fname

    SPI_fname

    SPI_fname — determine the column name for the specified column number

    Synopsis

    +SPI_fname

    SPI_fname

    SPI_fname — determine the column name for the specified column number

    Synopsis

     char * SPI_fname(TupleDesc rowdesc, int colnumber)
     

    Description

    SPI_fname returns a copy of the column name of the @@ -14,4 +14,4 @@ colnumber is out of range. SPI_result set to SPI_ERROR_NOATTRIBUTE on error. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-fnumber.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-fnumber.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-fnumber.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-fnumber.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_fnumber

    SPI_fnumber

    SPI_fnumber — determine the column number for the specified column name

    Synopsis

    +SPI_fnumber

    SPI_fnumber

    SPI_fnumber — determine the column number for the specified column name

    Synopsis

     int SPI_fnumber(TupleDesc rowdesc, const char * colname)
     

    Description

    SPI_fnumber returns the column number for the @@ -19,4 +19,4 @@ Column number (count starts at 1 for user-defined columns), or SPI_ERROR_NOATTRIBUTE if the named column was not found. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-freeplan.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-freeplan.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-freeplan.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-freeplan.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_freeplan

    SPI_freeplan

    SPI_freeplan — free a previously saved prepared statement

    Synopsis

    +SPI_freeplan

    SPI_freeplan

    SPI_freeplan — free a previously saved prepared statement

    Synopsis

     int SPI_freeplan(SPIPlanPtr plan)
     

    Description

    SPI_freeplan releases a prepared statement @@ -11,4 +11,4 @@ 0 on success; SPI_ERROR_ARGUMENT if plan is NULL or invalid -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-freetuple.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-freetuple.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-freetuple.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-freetuple.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_freetuple

    SPI_freetuple

    SPI_freetuple — free a row allocated in the upper executor context

    Synopsis

    +SPI_freetuple

    SPI_freetuple

    SPI_freetuple — free a row allocated in the upper executor context

    Synopsis

     void SPI_freetuple(HeapTuple row)
     

    Description

    SPI_freetuple frees a row previously allocated @@ -10,4 +10,4 @@ compatibility of existing code.

    Arguments

    HeapTuple row

    row to free -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-freetupletable.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-freetupletable.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-freetupletable.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-freetupletable.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_freetuptable

    SPI_freetuptable

    SPI_freetuptable — free a row set created by SPI_execute or a similar +SPI_freetuptable

    SPI_freetuptable

    SPI_freetuptable — free a row set created by SPI_execute or a similar function

    Synopsis

     void SPI_freetuptable(SPITupleTable * tuptable)
     

    Description

    @@ -23,4 +23,4 @@ releases, duplicate deletions would lead to crashes.

    Arguments

    SPITupleTable * tuptable

    pointer to row set to free, or NULL to do nothing -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-getargcount.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-getargcount.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-getargcount.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-getargcount.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_getargcount

    SPI_getargcount

    SPI_getargcount — return the number of arguments needed by a statement +SPI_getargcount

    SPI_getargcount

    SPI_getargcount — return the number of arguments needed by a statement prepared by SPI_prepare

    Synopsis

     int SPI_getargcount(SPIPlanPtr plan)
     

    Description

    @@ -12,4 +12,4 @@ If the plan is NULL or invalid, SPI_result is set to SPI_ERROR_ARGUMENT and -1 is returned. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-getargtypeid.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-getargtypeid.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-getargtypeid.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-getargtypeid.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_getargtypeid

    SPI_getargtypeid

    SPI_getargtypeid — return the data type OID for an argument of +SPI_getargtypeid

    SPI_getargtypeid

    SPI_getargtypeid — return the data type OID for an argument of a statement prepared by SPI_prepare

    Synopsis

     Oid SPI_getargtypeid(SPIPlanPtr plan, int argIndex)
     

    Description

    @@ -18,4 +18,4 @@ plan, SPI_result is set to SPI_ERROR_ARGUMENT and InvalidOid is returned. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-getbinval.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-getbinval.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-getbinval.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-getbinval.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_getbinval

    SPI_getbinval

    SPI_getbinval — return the binary value of the specified column

    Synopsis

    +SPI_getbinval

    SPI_getbinval

    SPI_getbinval — return the binary value of the specified column

    Synopsis

     Datum SPI_getbinval(HeapTuple row, TupleDesc rowdesc, int colnumber,
                         bool * isnull)
     

    Description

    @@ -24,4 +24,4 @@

    SPI_result is set to SPI_ERROR_NOATTRIBUTE on error. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-getnspname.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-getnspname.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-getnspname.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-getnspname.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_getnspname

    SPI_getnspname

    SPI_getnspname — return the namespace of the specified relation

    Synopsis

    +SPI_getnspname

    SPI_getnspname

    SPI_getnspname — return the namespace of the specified relation

    Synopsis

     char * SPI_getnspname(Relation rel)
     

    Description

    SPI_getnspname returns a copy of the name of @@ -11,4 +11,4 @@ input relation

    Return Value

    The name of the specified relation's namespace. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-getrelname.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-getrelname.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-getrelname.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-getrelname.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_getrelname

    SPI_getrelname

    SPI_getrelname — return the name of the specified relation

    Synopsis

    +SPI_getrelname

    SPI_getrelname

    SPI_getrelname — return the name of the specified relation

    Synopsis

     char * SPI_getrelname(Relation rel)
     

    Description

    SPI_getrelname returns a copy of the name of the @@ -9,4 +9,4 @@ input relation

    Return Value

    The name of the specified relation. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-gettype.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-gettype.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-gettype.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-gettype.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_gettype

    SPI_gettype

    SPI_gettype — return the data type name of the specified column

    Synopsis

    +SPI_gettype

    SPI_gettype

    SPI_gettype — return the data type name of the specified column

    Synopsis

     char * SPI_gettype(TupleDesc rowdesc, int colnumber)
     

    Description

    SPI_gettype returns a copy of the data type name of the @@ -13,4 +13,4 @@ The data type name of the specified column, or NULL on error. SPI_result is set to SPI_ERROR_NOATTRIBUTE on error. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-gettypeid.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-gettypeid.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-gettypeid.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-gettypeid.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_gettypeid

    SPI_gettypeid

    SPI_gettypeid — return the data type OID of the specified column

    Synopsis

    +SPI_gettypeid

    SPI_gettypeid

    SPI_gettypeid — return the data type OID of the specified column

    Synopsis

     Oid SPI_gettypeid(TupleDesc rowdesc, int colnumber)
     

    Description

    SPI_gettypeid returns the @@ -13,4 +13,4 @@ or InvalidOid on error. On error, SPI_result is set to SPI_ERROR_NOATTRIBUTE. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-getvalue.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-getvalue.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-getvalue.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-getvalue.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_getvalue

    SPI_getvalue

    SPI_getvalue — return the string value of the specified column

    Synopsis

    +SPI_getvalue

    SPI_getvalue

    SPI_getvalue — return the string value of the specified column

    Synopsis

     char * SPI_getvalue(HeapTuple row, TupleDesc rowdesc, int colnumber)
     

    Description

    SPI_getvalue returns the string representation @@ -22,4 +22,4 @@ SPI_ERROR_NOATTRIBUTE), or no output function is available (SPI_result is set to SPI_ERROR_NOOUTFUNC). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-is-cursor-plan.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-is-cursor-plan.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-is-cursor-plan.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-is-cursor-plan.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_is_cursor_plan

    SPI_is_cursor_plan

    SPI_is_cursor_plan — return true if a statement +SPI_is_cursor_plan

    SPI_is_cursor_plan

    SPI_is_cursor_plan — return true if a statement prepared by SPI_prepare can be used with SPI_cursor_open

    Synopsis

     bool SPI_is_cursor_plan(SPIPlanPtr plan)
    @@ -24,4 +24,4 @@
         or if called when not connected to SPI), then
         SPI_result is set to a suitable error code
         and false is returned.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-keepplan.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-keepplan.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-keepplan.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-keepplan.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_keepplan

    SPI_keepplan

    SPI_keepplan — save a prepared statement

    Synopsis

    +SPI_keepplan

    SPI_keepplan

    SPI_keepplan — save a prepared statement

    Synopsis

     int SPI_keepplan(SPIPlanPtr plan)
     

    Description

    SPI_keepplan saves a passed statement (prepared by @@ -17,4 +17,4 @@ The passed-in statement is relocated to permanent storage by means of pointer adjustment (no data copying is required). If you later wish to delete it, use SPI_freeplan on it. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-modifytuple.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-modifytuple.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-modifytuple.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-modifytuple.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_modifytuple

    SPI_modifytuple

    SPI_modifytuple — create a row by replacing selected fields of a given row

    Synopsis

    +SPI_modifytuple

    SPI_modifytuple

    SPI_modifytuple — create a row by replacing selected fields of a given row

    Synopsis

     HeapTuple SPI_modifytuple(Relation rel, HeapTuple row, int ncols,
                               int * colnum, Datum * values, const char * nulls)
     

    Description

    @@ -56,4 +56,4 @@

    SPI_ERROR_UNCONNECTED

    if SPI is not active

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-palloc.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-palloc.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-palloc.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-palloc.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_palloc

    SPI_palloc

    SPI_palloc — allocate memory in the upper executor context

    Synopsis

    +SPI_palloc

    SPI_palloc

    SPI_palloc — allocate memory in the upper executor context

    Synopsis

     void * SPI_palloc(Size size)
     

    Description

    SPI_palloc allocates memory in the upper @@ -11,4 +11,4 @@ size in bytes of storage to allocate

    Return Value

    pointer to new storage space of the specified size -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-pfree.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-pfree.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-pfree.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-pfree.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_pfree

    SPI_pfree

    SPI_pfree — free memory in the upper executor context

    Synopsis

    +SPI_pfree

    SPI_pfree

    SPI_pfree — free memory in the upper executor context

    Synopsis

     void SPI_pfree(void * pointer)
     

    Description

    SPI_pfree frees memory previously allocated @@ -11,4 +11,4 @@ compatibility of existing code.

    Arguments

    void * pointer

    pointer to existing storage to free -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-prepare-cursor.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-prepare-cursor.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-prepare-cursor.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-prepare-cursor.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_prepare_cursor

    SPI_prepare_cursor

    SPI_prepare_cursor — prepare a statement, without executing it yet

    Synopsis

    +SPI_prepare_cursor

    SPI_prepare_cursor

    SPI_prepare_cursor — prepare a statement, without executing it yet

    Synopsis

     SPIPlanPtr SPI_prepare_cursor(const char * command, int nargs,
                                   Oid * argtypes, int cursorOptions)
     

    Description

    @@ -32,4 +32,4 @@ CURSOR_OPT_GENERIC_PLAN, and CURSOR_OPT_CUSTOM_PLAN. Note in particular that CURSOR_OPT_HOLD is ignored. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-prepare-extended.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-prepare-extended.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-prepare-extended.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-prepare-extended.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_prepare_extended

    SPI_prepare_extended

    SPI_prepare_extended — prepare a statement, without executing it yet

    Synopsis

    +SPI_prepare_extended

    SPI_prepare_extended

    SPI_prepare_extended — prepare a statement, without executing it yet

    Synopsis

     SPIPlanPtr SPI_prepare_extended(const char * command,
                                     const SPIPrepareOptions * options)
     

    Description

    @@ -31,4 +31,4 @@

    Return Value

    SPI_prepare_extended has the same return conventions as SPI_prepare. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-prepare-params.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-prepare-params.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-prepare-params.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-prepare-params.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_prepare_params

    SPI_prepare_params

    SPI_prepare_params — prepare a statement, without executing it yet

    Synopsis

    +SPI_prepare_params

    SPI_prepare_params

    SPI_prepare_params — prepare a statement, without executing it yet

    Synopsis

     SPIPlanPtr SPI_prepare_params(const char * command,
                                   ParserSetupHook parserSetup,
                                   void * parserSetupArg,
    @@ -24,4 +24,4 @@
          

    Return Value

    SPI_prepare_params has the same return conventions as SPI_prepare. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-prepare.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-prepare.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-prepare.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-prepare.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_prepare

    SPI_prepare

    SPI_prepare — prepare a statement, without executing it yet

    Synopsis

    +SPI_prepare

    SPI_prepare

    SPI_prepare — prepare a statement, without executing it yet

    Synopsis

     SPIPlanPtr SPI_prepare(const char * command, int nargs, Oid * argtypes)
     

    Description

    SPI_prepare creates and returns a prepared @@ -81,4 +81,4 @@

    The name SPIPlanPtr is somewhat historical, since the data structure no longer necessarily contains an execution plan. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-register-relation.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-register-relation.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-register-relation.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-register-relation.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_register_relation

    SPI_register_relation

    SPI_register_relation — make an ephemeral named relation available by name in SPI queries

    Synopsis

    +SPI_register_relation

    SPI_register_relation

    SPI_register_relation — make an ephemeral named relation available by name in SPI queries

    Synopsis

     int SPI_register_relation(EphemeralNamedRelation enr)
     

    Description

    SPI_register_relation makes an ephemeral named @@ -26,4 +26,4 @@ if the name specified in the name field of enr is already registered for this connection

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-register-trigger-data.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-register-trigger-data.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-register-trigger-data.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-register-trigger-data.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_register_trigger_data

    SPI_register_trigger_data

    SPI_register_trigger_data — make ephemeral trigger data available in SPI queries

    Synopsis

    +SPI_register_trigger_data

    SPI_register_trigger_data

    SPI_register_trigger_data — make ephemeral trigger data available in SPI queries

    Synopsis

     int SPI_register_trigger_data(TriggerData *tdata)
     

    Description

    SPI_register_trigger_data makes any ephemeral @@ -29,4 +29,4 @@ if the name of any trigger data transient relation is already registered for this connection

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-result-code-string.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-result-code-string.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-result-code-string.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-result-code-string.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_result_code_string

    SPI_result_code_string

    SPI_result_code_string — return error code as string

    Synopsis

    +SPI_result_code_string

    SPI_result_code_string

    SPI_result_code_string — return error code as string

    Synopsis

     const char * SPI_result_code_string(int code);
     

    Description

    SPI_result_code_string returns a string representation @@ -9,4 +9,4 @@ result code

    Return Value

    A string representation of the result code. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-returntuple.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-returntuple.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-returntuple.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-returntuple.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_returntuple

    SPI_returntuple

    SPI_returntuple — prepare to return a tuple as a Datum

    Synopsis

    +SPI_returntuple

    SPI_returntuple

    SPI_returntuple — prepare to return a tuple as a Datum

    Synopsis

     HeapTupleHeader SPI_returntuple(HeapTuple row, TupleDesc rowdesc)
     

    Description

    SPI_returntuple makes a copy of a row in @@ -23,4 +23,4 @@ HeapTupleHeader pointing to copied row, or NULL on error (see SPI_result for an error indication) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-rollback.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-rollback.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-rollback.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-rollback.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_rollback

    SPI_rollback

    SPI_rollback, SPI_rollback_and_chain — abort the current transaction

    Synopsis

    +SPI_rollback

    SPI_rollback

    SPI_rollback, SPI_rollback_and_chain — abort the current transaction

    Synopsis

     void SPI_rollback(void)
     
     void SPI_rollback_and_chain(void)
    @@ -17,4 +17,4 @@
       

    These functions can only be executed if the SPI connection has been set as nonatomic in the call to SPI_connect_ext. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-saveplan.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-saveplan.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-saveplan.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-saveplan.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_saveplan

    SPI_saveplan

    SPI_saveplan — save a prepared statement

    Synopsis

    +SPI_saveplan

    SPI_saveplan

    SPI_saveplan — save a prepared statement

    Synopsis

     SPIPlanPtr SPI_saveplan(SPIPlanPtr plan)
     

    Description

    SPI_saveplan copies a passed statement (prepared by @@ -27,4 +27,4 @@ In most cases, SPI_keepplan is preferred to this function, since it accomplishes largely the same result without needing to physically copy the prepared statement's data structures. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-scroll-cursor-fetch.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-scroll-cursor-fetch.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-scroll-cursor-fetch.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-scroll-cursor-fetch.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_scroll_cursor_fetch

    SPI_scroll_cursor_fetch

    SPI_scroll_cursor_fetch — fetch some rows from a cursor

    Synopsis

    +SPI_scroll_cursor_fetch

    SPI_scroll_cursor_fetch

    SPI_scroll_cursor_fetch — fetch some rows from a cursor

    Synopsis

     void SPI_scroll_cursor_fetch(Portal portal, FetchDirection direction,
                                  long count)
     

    Description

    @@ -31,4 +31,4 @@ Direction values other than FETCH_FORWARD may fail if the cursor's plan was not created with the CURSOR_OPT_SCROLL option. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-scroll-cursor-move.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-scroll-cursor-move.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-scroll-cursor-move.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-scroll-cursor-move.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_scroll_cursor_move

    SPI_scroll_cursor_move

    SPI_scroll_cursor_move — move a cursor

    Synopsis

    +SPI_scroll_cursor_move

    SPI_scroll_cursor_move

    SPI_scroll_cursor_move — move a cursor

    Synopsis

     void SPI_scroll_cursor_move(Portal portal, FetchDirection direction,
                                 long count)
     

    Description

    @@ -33,4 +33,4 @@ Direction values other than FETCH_FORWARD may fail if the cursor's plan was not created with the CURSOR_OPT_SCROLL option. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-start-transaction.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-start-transaction.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-start-transaction.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-start-transaction.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_start_transaction

    SPI_start_transaction

    SPI_start_transaction — obsolete function

    Synopsis

    +SPI_start_transaction

    SPI_start_transaction

    SPI_start_transaction — obsolete function

    Synopsis

     void SPI_start_transaction(void)
     

    Description

    SPI_start_transaction does nothing, and exists @@ -8,4 +8,4 @@ be required after calling SPI_commit or SPI_rollback, but now those functions start a new transaction automatically. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-spi-unregister-relation.html postgresql-15-15.18/doc/src/sgml/html/spi-spi-unregister-relation.html --- postgresql-15-15.17/doc/src/sgml/html/spi-spi-unregister-relation.html 2026-02-23 22:14:30.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-spi-unregister-relation.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -SPI_unregister_relation

    SPI_unregister_relation

    SPI_unregister_relation — remove an ephemeral named relation from the registry

    Synopsis

    +SPI_unregister_relation

    SPI_unregister_relation

    SPI_unregister_relation — remove an ephemeral named relation from the registry

    Synopsis

     int SPI_unregister_relation(const char * name)
     

    Description

    SPI_unregister_relation removes an ephemeral named @@ -24,4 +24,4 @@ if name is not found in the registry for the current connection

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-transaction.html postgresql-15-15.18/doc/src/sgml/html/spi-transaction.html --- postgresql-15-15.17/doc/src/sgml/html/spi-transaction.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-transaction.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -47.4. Transaction Management

    47.4. Transaction Management

    SPI_commit — commit the current transaction
    SPI_rollback — abort the current transaction
    SPI_start_transaction — obsolete function

    +47.4. Transaction Management

    47.4. Transaction Management

    SPI_commit — commit the current transaction
    SPI_rollback — abort the current transaction
    SPI_start_transaction — obsolete function

    It is not possible to run transaction control commands such as COMMIT and ROLLBACK through SPI functions such as SPI_execute. There are, however, @@ -16,4 +16,4 @@ command, taking the context of the CALL invocation into account. SPI-using procedures implemented in C can implement the same logic, but the details of that are beyond the scope of this documentation. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi-visibility.html postgresql-15-15.18/doc/src/sgml/html/spi-visibility.html --- postgresql-15-15.17/doc/src/sgml/html/spi-visibility.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi-visibility.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -47.5. Visibility of Data Changes

    47.5. Visibility of Data Changes

    +47.5. Visibility of Data Changes

    47.5. Visibility of Data Changes

    The following rules govern the visibility of data changes in functions that use SPI (or any other C function): @@ -35,4 +35,4 @@

    The next section contains an example that illustrates the application of these rules. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/spi.html postgresql-15-15.18/doc/src/sgml/html/spi.html --- postgresql-15-15.17/doc/src/sgml/html/spi.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/spi.html 2026-05-11 20:02:42.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 47. Server Programming Interface

    Chapter 47. Server Programming Interface

    Table of Contents

    47.1. Interface Functions
    SPI_connect — connect a C function to the SPI manager
    SPI_finish — disconnect a C function from the SPI manager
    SPI_execute — execute a command
    SPI_exec — execute a read/write command
    SPI_execute_extended — execute a command with out-of-line parameters
    SPI_execute_with_args — execute a command with out-of-line parameters
    SPI_prepare — prepare a statement, without executing it yet
    SPI_prepare_cursor — prepare a statement, without executing it yet
    SPI_prepare_extended — prepare a statement, without executing it yet
    SPI_prepare_params — prepare a statement, without executing it yet
    SPI_getargcount — return the number of arguments needed by a statement +Chapter 47. Server Programming Interface

    Chapter 47. Server Programming Interface

    Table of Contents

    47.1. Interface Functions
    SPI_connect — connect a C function to the SPI manager
    SPI_finish — disconnect a C function from the SPI manager
    SPI_execute — execute a command
    SPI_exec — execute a read/write command
    SPI_execute_extended — execute a command with out-of-line parameters
    SPI_execute_with_args — execute a command with out-of-line parameters
    SPI_prepare — prepare a statement, without executing it yet
    SPI_prepare_cursor — prepare a statement, without executing it yet
    SPI_prepare_extended — prepare a statement, without executing it yet
    SPI_prepare_params — prepare a statement, without executing it yet
    SPI_getargcount — return the number of arguments needed by a statement prepared by SPI_prepare
    SPI_getargtypeid — return the data type OID for an argument of a statement prepared by SPI_prepare
    SPI_is_cursor_plan — return true if a statement prepared by SPI_prepare can be used with @@ -35,4 +35,4 @@

    Source code files that use SPI must include the header file executor/spi.h. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-abort.html postgresql-15-15.18/doc/src/sgml/html/sql-abort.html --- postgresql-15-15.17/doc/src/sgml/html/sql-abort.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-abort.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ABORT

    ABORT

    ABORT — abort the current transaction

    Synopsis

    +ABORT

    ABORT

    ABORT — abort the current transaction

    Synopsis

     ABORT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
     

    Description

    ABORT rolls back the current transaction and causes @@ -28,4 +28,4 @@ This command is a PostgreSQL extension present for historical reasons. ROLLBACK is the equivalent standard SQL command. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alteraggregate.html postgresql-15-15.18/doc/src/sgml/html/sql-alteraggregate.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alteraggregate.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alteraggregate.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER AGGREGATE

    ALTER AGGREGATE

    ALTER AGGREGATE — change the definition of an aggregate function

    Synopsis

    +ALTER AGGREGATE

    ALTER AGGREGATE

    ALTER AGGREGATE — change the definition of an aggregate function

    Synopsis

     ALTER AGGREGATE name ( aggregate_signature ) RENAME TO new_name
     ALTER AGGREGATE name ( aggregate_signature )
                     OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
    @@ -80,4 +80,4 @@
     

    Compatibility

    There is no ALTER AGGREGATE statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altercollation.html postgresql-15-15.18/doc/src/sgml/html/sql-altercollation.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altercollation.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altercollation.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER COLLATION

    ALTER COLLATION

    ALTER COLLATION — change the definition of a collation

    Synopsis

    +ALTER COLLATION

    ALTER COLLATION

    ALTER COLLATION — change the definition of a collation

    Synopsis

     ALTER COLLATION name REFRESH VERSION
     
     ALTER COLLATION name RENAME TO new_name
    @@ -95,4 +95,4 @@
     

    Compatibility

    There is no ALTER COLLATION statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterconversion.html postgresql-15-15.18/doc/src/sgml/html/sql-alterconversion.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterconversion.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterconversion.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER CONVERSION

    ALTER CONVERSION

    ALTER CONVERSION — change the definition of a conversion

    Synopsis

    +ALTER CONVERSION

    ALTER CONVERSION

    ALTER CONVERSION — change the definition of a conversion

    Synopsis

     ALTER CONVERSION name RENAME TO new_name
     ALTER CONVERSION name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
     ALTER CONVERSION name SET SCHEMA new_schema
    @@ -36,4 +36,4 @@
     

    Compatibility

    There is no ALTER CONVERSION statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterdatabase.html postgresql-15-15.18/doc/src/sgml/html/sql-alterdatabase.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterdatabase.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterdatabase.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER DATABASE

    ALTER DATABASE

    ALTER DATABASE — change a database

    Synopsis

    +ALTER DATABASE

    ALTER DATABASE

    ALTER DATABASE — change a database

    Synopsis

     ALTER DATABASE name [ [ WITH ] option [ ... ] ]
     
     where option can be:
    @@ -109,4 +109,4 @@
     

    Compatibility

    The ALTER DATABASE statement is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterdefaultprivileges.html postgresql-15-15.18/doc/src/sgml/html/sql-alterdefaultprivileges.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterdefaultprivileges.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterdefaultprivileges.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER DEFAULT PRIVILEGES

    ALTER DEFAULT PRIVILEGES

    ALTER DEFAULT PRIVILEGES — define default access privileges

    Synopsis

    +ALTER DEFAULT PRIVILEGES

    ALTER DEFAULT PRIVILEGES

    ALTER DEFAULT PRIVILEGES — define default access privileges

    Synopsis

     ALTER DEFAULT PRIVILEGES
         [ FOR { ROLE | USER } target_role [, ...] ]
         [ IN SCHEMA schema_name [, ...] ]
    @@ -162,4 +162,4 @@
       

    Compatibility

    There is no ALTER DEFAULT PRIVILEGES statement in the SQL standard. -

    See Also

    GRANT, REVOKE
    \ No newline at end of file +

    See Also

    GRANT, REVOKE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterdomain.html postgresql-15-15.18/doc/src/sgml/html/sql-alterdomain.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterdomain.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterdomain.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER DOMAIN

    ALTER DOMAIN

    ALTER DOMAIN — +ALTER DOMAIN

    ALTER DOMAIN

    ALTER DOMAIN — change the definition of a domain

    Synopsis

     ALTER DOMAIN name
    @@ -153,4 +153,4 @@
        PostgreSQL extensions.  The NOT VALID
        clause of the ADD CONSTRAINT variant is also a
        PostgreSQL extension.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altereventtrigger.html postgresql-15-15.18/doc/src/sgml/html/sql-altereventtrigger.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altereventtrigger.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altereventtrigger.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER EVENT TRIGGER

    ALTER EVENT TRIGGER

    ALTER EVENT TRIGGER — change the definition of an event trigger

    Synopsis

    +ALTER EVENT TRIGGER

    ALTER EVENT TRIGGER

    ALTER EVENT TRIGGER — change the definition of an event trigger

    Synopsis

     ALTER EVENT TRIGGER name DISABLE
     ALTER EVENT TRIGGER name ENABLE [ REPLICA | ALWAYS ]
     ALTER EVENT TRIGGER name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
    @@ -22,4 +22,4 @@
          

    Compatibility

    There is no ALTER EVENT TRIGGER statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterextension.html postgresql-15-15.18/doc/src/sgml/html/sql-alterextension.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterextension.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterextension.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER EXTENSION

    ALTER EXTENSION

    ALTER EXTENSION — +ALTER EXTENSION

    ALTER EXTENSION

    ALTER EXTENSION — change the definition of an extension

    Synopsis

     ALTER EXTENSION name UPDATE [ TO new_version ]
    @@ -138,4 +138,4 @@
     

    Compatibility

    ALTER EXTENSION is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterforeigndatawrapper.html postgresql-15-15.18/doc/src/sgml/html/sql-alterforeigndatawrapper.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterforeigndatawrapper.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterforeigndatawrapper.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER FOREIGN DATA WRAPPER

    ALTER FOREIGN DATA WRAPPER

    ALTER FOREIGN DATA WRAPPER — change the definition of a foreign-data wrapper

    Synopsis

    +ALTER FOREIGN DATA WRAPPER

    ALTER FOREIGN DATA WRAPPER

    ALTER FOREIGN DATA WRAPPER — change the definition of a foreign-data wrapper

    Synopsis

     ALTER FOREIGN DATA WRAPPER name
         [ HANDLER handler_function | NO HANDLER ]
         [ VALIDATOR validator_function | NO VALIDATOR ]
    @@ -65,4 +65,4 @@
        9075-9 (SQL/MED), except that the HANDLER,
        VALIDATOR, OWNER TO, and RENAME
        clauses are extensions.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterforeigntable.html postgresql-15-15.18/doc/src/sgml/html/sql-alterforeigntable.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterforeigntable.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterforeigntable.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER FOREIGN TABLE

    ALTER FOREIGN TABLE

    ALTER FOREIGN TABLE — change the definition of a foreign table

    Synopsis

    +ALTER FOREIGN TABLE

    ALTER FOREIGN TABLE

    ALTER FOREIGN TABLE — change the definition of a foreign table

    Synopsis

     ALTER FOREIGN TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
         action [, ... ]
     ALTER FOREIGN TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
    @@ -11,7 +11,7 @@
     
     where action is one of:
     
    -    ADD [ COLUMN ] column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ]
    +    ADD [ COLUMN ] [ IF NOT EXISTS ] column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ]
         DROP [ COLUMN ] [ IF EXISTS ] column_name [ RESTRICT | CASCADE ]
         ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ]
         ALTER [ COLUMN ] column_name SET DEFAULT expression
    @@ -38,13 +38,15 @@
        ALTER FOREIGN TABLE changes the definition of an
        existing foreign table.  There are several subforms:
     
    -  

    ADD COLUMN

    +

    ADD [ COLUMN ] [ IF NOT EXISTS ]

    This form adds a new column to the foreign table, using the same syntax as CREATE FOREIGN TABLE. + If IF NOT EXISTS is specified and a column already + exists with this name, no error is thrown. Unlike the case when adding a column to a regular table, nothing happens to the underlying storage: this action simply declares that some new column is now accessible through the foreign table. -

    DROP COLUMN [ IF EXISTS ]

    +

    DROP [ COLUMN ] [ IF EXISTS ]

    This form drops a column from a foreign table. You will need to say CASCADE if anything outside the table depends on the column; for example, @@ -233,4 +235,4 @@ ALTER FOREIGN TABLE DROP COLUMN can be used to drop the only column of a foreign table, leaving a zero-column table. This is an extension of SQL, which disallows zero-column foreign tables. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterfunction.html postgresql-15-15.18/doc/src/sgml/html/sql-alterfunction.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterfunction.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterfunction.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER FUNCTION

    ALTER FUNCTION

    ALTER FUNCTION — change the definition of a function

    Synopsis

    +ALTER FUNCTION

    ALTER FUNCTION

    ALTER FUNCTION — change the definition of a function

    Synopsis

     ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
         action [ ... ] [ RESTRICT ]
     ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
    @@ -171,4 +171,4 @@
        or change the owner, schema, or volatility of a function. The standard also
        requires the RESTRICT key word, which is optional in
        PostgreSQL.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altergroup.html postgresql-15-15.18/doc/src/sgml/html/sql-altergroup.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altergroup.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altergroup.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER GROUP

    ALTER GROUP

    ALTER GROUP — change role name or membership

    Synopsis

    +ALTER GROUP

    ALTER GROUP

    ALTER GROUP — change role name or membership

    Synopsis

     ALTER GROUP role_specification ADD USER user_name [, ... ]
     ALTER GROUP role_specification DROP USER user_name [, ... ]
     
    @@ -50,4 +50,4 @@
     

    Compatibility

    There is no ALTER GROUP statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterindex.html postgresql-15-15.18/doc/src/sgml/html/sql-alterindex.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterindex.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterindex.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER INDEX

    ALTER INDEX

    ALTER INDEX — change the definition of an index

    Synopsis

    +ALTER INDEX

    ALTER INDEX

    ALTER INDEX — change the definition of an index

    Synopsis

     ALTER INDEX [ IF EXISTS ] name RENAME TO new_name
     ALTER INDEX [ IF EXISTS ] name SET TABLESPACE tablespace_name
     ALTER INDEX name ATTACH PARTITION index_name
    @@ -49,6 +49,10 @@
           index being altered, and have an equivalent definition.  An attached
           index cannot be dropped by itself, and will automatically be dropped
           if its parent index is dropped.
    +     

    + If the named index is already attached to the altered index, the + command will attempt to validate the parent index if the parent is + currently invalid.

    DEPENDS ON EXTENSION extension_name
    NO DEPENDS ON EXTENSION extension_name

    This form marks the index as dependent on the extension, or no longer dependent on that extension if NO is specified. @@ -136,4 +140,4 @@

    Compatibility

    ALTER INDEX is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterlanguage.html postgresql-15-15.18/doc/src/sgml/html/sql-alterlanguage.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterlanguage.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterlanguage.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER LANGUAGE

    ALTER LANGUAGE

    ALTER LANGUAGE — change the definition of a procedural language

    Synopsis

    +ALTER LANGUAGE

    ALTER LANGUAGE

    ALTER LANGUAGE — change the definition of a procedural language

    Synopsis

     ALTER [ PROCEDURAL ] LANGUAGE name RENAME TO new_name
     ALTER [ PROCEDURAL ] LANGUAGE name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
     

    Description

    @@ -16,4 +16,4 @@

    Compatibility

    There is no ALTER LANGUAGE statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterlargeobject.html postgresql-15-15.18/doc/src/sgml/html/sql-alterlargeobject.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterlargeobject.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterlargeobject.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER LARGE OBJECT

    ALTER LARGE OBJECT

    ALTER LARGE OBJECT — change the definition of a large object

    Synopsis

    +ALTER LARGE OBJECT

    ALTER LARGE OBJECT

    ALTER LARGE OBJECT — change the definition of a large object

    Synopsis

     ALTER LARGE OBJECT large_object_oid OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
     

    Description

    ALTER LARGE OBJECT changes the definition of a @@ -17,4 +17,4 @@

    Compatibility

    There is no ALTER LARGE OBJECT statement in the SQL standard. -

    See Also

    Chapter 35
    \ No newline at end of file +

    See Also

    Chapter 35
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altermaterializedview.html postgresql-15-15.18/doc/src/sgml/html/sql-altermaterializedview.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altermaterializedview.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altermaterializedview.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER MATERIALIZED VIEW

    ALTER MATERIALIZED VIEW

    ALTER MATERIALIZED VIEW — change the definition of a materialized view

    Synopsis

    +ALTER MATERIALIZED VIEW

    ALTER MATERIALIZED VIEW

    ALTER MATERIALIZED VIEW — change the definition of a materialized view

    Synopsis

     ALTER MATERIALIZED VIEW [ IF EXISTS ] name
         action [, ... ]
     ALTER MATERIALIZED VIEW name
    @@ -72,4 +72,4 @@
     

    Compatibility

    ALTER MATERIALIZED VIEW is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alteropclass.html postgresql-15-15.18/doc/src/sgml/html/sql-alteropclass.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alteropclass.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alteropclass.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER OPERATOR CLASS

    ALTER OPERATOR CLASS

    ALTER OPERATOR CLASS — change the definition of an operator class

    Synopsis

    +ALTER OPERATOR CLASS

    ALTER OPERATOR CLASS

    ALTER OPERATOR CLASS — change the definition of an operator class

    Synopsis

     ALTER OPERATOR CLASS name USING index_method
         RENAME TO new_name
     
    @@ -33,4 +33,4 @@
          

    Compatibility

    There is no ALTER OPERATOR CLASS statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alteroperator.html postgresql-15-15.18/doc/src/sgml/html/sql-alteroperator.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alteroperator.html 2026-02-23 22:14:31.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alteroperator.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER OPERATOR

    ALTER OPERATOR

    ALTER OPERATOR — change the definition of an operator

    Synopsis

    +ALTER OPERATOR

    ALTER OPERATOR

    ALTER OPERATOR — change the definition of an operator

    Synopsis

     ALTER OPERATOR name ( { left_type | NONE } , right_type )
         OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
     
    @@ -46,4 +46,4 @@
     

    Compatibility

    There is no ALTER OPERATOR statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alteropfamily.html postgresql-15-15.18/doc/src/sgml/html/sql-alteropfamily.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alteropfamily.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alteropfamily.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER OPERATOR FAMILY

    ALTER OPERATOR FAMILY

    ALTER OPERATOR FAMILY — change the definition of an operator family

    Synopsis

    +ALTER OPERATOR FAMILY

    ALTER OPERATOR FAMILY

    ALTER OPERATOR FAMILY — change the definition of an operator family

    Synopsis

     ALTER OPERATOR FAMILY name USING index_method ADD
       {  OPERATOR strategy_number operator_name ( op_type, op_type )
                   [ FOR SEARCH | FOR ORDER BY sort_family_name ]
    @@ -178,4 +178,4 @@
     

    Compatibility

    There is no ALTER OPERATOR FAMILY statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterpolicy.html postgresql-15-15.18/doc/src/sgml/html/sql-alterpolicy.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterpolicy.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterpolicy.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER POLICY

    ALTER POLICY

    ALTER POLICY — change the definition of a row-level security policy

    Synopsis

    +ALTER POLICY

    ALTER POLICY

    ALTER POLICY — change the definition of a row-level security policy

    Synopsis

     ALTER POLICY name ON table_name RENAME TO new_name
     
     ALTER POLICY name ON table_name
    @@ -42,4 +42,4 @@
           See CREATE POLICY for details.
          

    Compatibility

    ALTER POLICY is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterprocedure.html postgresql-15-15.18/doc/src/sgml/html/sql-alterprocedure.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterprocedure.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterprocedure.html 2026-05-11 20:02:43.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER PROCEDURE

    ALTER PROCEDURE

    ALTER PROCEDURE — change the definition of a procedure

    Synopsis

    +ALTER PROCEDURE

    ALTER PROCEDURE

    ALTER PROCEDURE — change the definition of a procedure

    Synopsis

     ALTER PROCEDURE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
         action [ ... ] [ RESTRICT ]
     ALTER PROCEDURE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
    @@ -130,4 +130,4 @@
        or change the owner, schema, or volatility of a procedure. The standard also
        requires the RESTRICT key word, which is optional in
        PostgreSQL.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterpublication.html postgresql-15-15.18/doc/src/sgml/html/sql-alterpublication.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterpublication.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterpublication.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER PUBLICATION

    ALTER PUBLICATION

    ALTER PUBLICATION — change the definition of a publication

    Synopsis

    +ALTER PUBLICATION

    ALTER PUBLICATION

    ALTER PUBLICATION — change the definition of a publication

    Synopsis

     ALTER PUBLICATION name ADD publication_object [, ...]
     ALTER PUBLICATION name SET publication_object [, ...]
     ALTER PUBLICATION name DROP publication_drop_object [, ...]
    @@ -117,4 +117,4 @@
     

    Compatibility

    ALTER PUBLICATION is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterrole.html postgresql-15-15.18/doc/src/sgml/html/sql-alterrole.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterrole.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterrole.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER ROLE

    ALTER ROLE

    ALTER ROLE — change a database role

    Synopsis

    +ALTER ROLE

    ALTER ROLE

    ALTER ROLE — change a database role

    Synopsis

     ALTER ROLE role_specification [ WITH ] option [ ... ]
     
     where option can be:
    @@ -186,4 +186,4 @@
     

    Compatibility

    The ALTER ROLE statement is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterroutine.html postgresql-15-15.18/doc/src/sgml/html/sql-alterroutine.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterroutine.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterroutine.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER ROUTINE

    ALTER ROUTINE

    ALTER ROUTINE — change the definition of a routine

    Synopsis

    +ALTER ROUTINE

    ALTER ROUTINE

    ALTER ROUTINE — change the definition of a routine

    Synopsis

     ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
         action [ ... ] [ RESTRICT ]
     ALTER ROUTINE name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
    @@ -46,4 +46,4 @@
        a PostgreSQL extension.
       

    See Also

    ALTER AGGREGATE, ALTER FUNCTION, ALTER PROCEDURE, DROP ROUTINE

    Note that there is no CREATE ROUTINE command. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterrule.html postgresql-15-15.18/doc/src/sgml/html/sql-alterrule.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterrule.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterrule.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER RULE

    ALTER RULE

    ALTER RULE — change the definition of a rule

    Synopsis

    +ALTER RULE

    ALTER RULE

    ALTER RULE — change the definition of a rule

    Synopsis

     ALTER RULE name ON table_name RENAME TO new_name
     

    Description

    ALTER RULE changes properties of an existing @@ -22,4 +22,4 @@ ALTER RULE is a PostgreSQL language extension, as is the entire query rewrite system. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterschema.html postgresql-15-15.18/doc/src/sgml/html/sql-alterschema.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterschema.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterschema.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER SCHEMA

    ALTER SCHEMA

    ALTER SCHEMA — change the definition of a schema

    Synopsis

    +ALTER SCHEMA

    ALTER SCHEMA

    ALTER SCHEMA — change the definition of a schema

    Synopsis

     ALTER SCHEMA name RENAME TO new_name
     ALTER SCHEMA name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
     

    Description

    @@ -23,4 +23,4 @@

    Compatibility

    There is no ALTER SCHEMA statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altersequence.html postgresql-15-15.18/doc/src/sgml/html/sql-altersequence.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altersequence.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altersequence.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER SEQUENCE

    ALTER SEQUENCE

    ALTER SEQUENCE — +ALTER SEQUENCE

    ALTER SEQUENCE

    ALTER SEQUENCE — change the definition of a sequence generator

    Synopsis

     ALTER SEQUENCE [ IF EXISTS ] name
    @@ -162,4 +162,4 @@
        OWNED BY, OWNER TO, RENAME TO, and
        SET SCHEMA clauses, which are
        PostgreSQL extensions.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterserver.html postgresql-15-15.18/doc/src/sgml/html/sql-alterserver.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterserver.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterserver.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER SERVER

    ALTER SERVER

    ALTER SERVER — change the definition of a foreign server

    Synopsis

    +ALTER SERVER

    ALTER SERVER

    ALTER SERVER — change the definition of a foreign server

    Synopsis

     ALTER SERVER name [ VERSION 'new_version' ]
         [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] ) ]
     ALTER SERVER name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
    @@ -45,4 +45,4 @@
        ALTER SERVER conforms to ISO/IEC 9075-9 (SQL/MED).
        The OWNER TO and RENAME forms are
        PostgreSQL extensions.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterstatistics.html postgresql-15-15.18/doc/src/sgml/html/sql-alterstatistics.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterstatistics.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterstatistics.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER STATISTICS

    ALTER STATISTICS

    ALTER STATISTICS — +ALTER STATISTICS

    ALTER STATISTICS

    ALTER STATISTICS — change the definition of an extended statistics object

    Synopsis

     ALTER STATISTICS name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
    @@ -43,4 +43,4 @@
            

    Compatibility

    There is no ALTER STATISTICS command in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altersubscription.html postgresql-15-15.18/doc/src/sgml/html/sql-altersubscription.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altersubscription.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altersubscription.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER SUBSCRIPTION

    ALTER SUBSCRIPTION

    ALTER SUBSCRIPTION — change the definition of a subscription

    Synopsis

    +ALTER SUBSCRIPTION

    ALTER SUBSCRIPTION

    ALTER SUBSCRIPTION — change the definition of a subscription

    Synopsis

     ALTER SUBSCRIPTION name CONNECTION 'conninfo'
     ALTER SUBSCRIPTION name SET PUBLICATION publication_name [, ...] [ WITH ( publication_option [= value] [, ... ] ) ]
     ALTER SUBSCRIPTION name ADD PUBLICATION publication_name [, ...] [ WITH ( publication_option [= value] [, ... ] ) ]
    @@ -144,4 +144,4 @@
     

    Compatibility

    ALTER SUBSCRIPTION is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altersystem.html postgresql-15-15.18/doc/src/sgml/html/sql-altersystem.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altersystem.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altersystem.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER SYSTEM

    ALTER SYSTEM

    ALTER SYSTEM — change a server configuration parameter

    Synopsis

    +ALTER SYSTEM

    ALTER SYSTEM

    ALTER SYSTEM — change a server configuration parameter

    Synopsis

     ALTER SYSTEM SET configuration_parameter { TO | = } { value [, ...] | DEFAULT }
     
     ALTER SYSTEM RESET configuration_parameter
    @@ -62,4 +62,4 @@
     

    Compatibility

    The ALTER SYSTEM statement is a PostgreSQL extension. -

    See Also

    SET, SHOW
    \ No newline at end of file +

    See Also

    SET, SHOW
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altertable.html postgresql-15-15.18/doc/src/sgml/html/sql-altertable.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altertable.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altertable.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER TABLE

    ALTER TABLE

    ALTER TABLE — change the definition of a table

    Synopsis

    +ALTER TABLE

    ALTER TABLE

    ALTER TABLE — change the definition of a table

    Synopsis

     ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
         action [, ... ]
     ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
    @@ -125,12 +125,12 @@
        acquired unless explicitly noted. When multiple subcommands are given, the
        lock acquired will be the strictest one required by any subcommand.
     
    -  

    ADD COLUMN [ IF NOT EXISTS ]

    +

    ADD [ COLUMN ] [ IF NOT EXISTS ]

    This form adds a new column to the table, using the same syntax as CREATE TABLE. If IF NOT EXISTS is specified and a column already exists with this name, no error is thrown. -

    DROP COLUMN [ IF EXISTS ]

    +

    DROP [ COLUMN ] [ IF EXISTS ]

    This form drops a column from a table. Indexes and table constraints involving the column will be automatically dropped as well. @@ -1088,4 +1088,4 @@ ALTER TABLE DROP COLUMN can be used to drop the only column of a table, leaving a zero-column table. This is an extension of SQL, which disallows zero-column tables. -

    See Also

    CREATE TABLE
    \ No newline at end of file +

    See Also

    CREATE TABLE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altertablespace.html postgresql-15-15.18/doc/src/sgml/html/sql-altertablespace.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altertablespace.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altertablespace.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER TABLESPACE

    ALTER TABLESPACE

    ALTER TABLESPACE — change the definition of a tablespace

    Synopsis

    +ALTER TABLESPACE

    ALTER TABLESPACE

    ALTER TABLESPACE — change the definition of a tablespace

    Synopsis

     ALTER TABLESPACE name RENAME TO new_name
     ALTER TABLESPACE name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
     ALTER TABLESPACE name SET ( tablespace_option = value [, ... ] )
    @@ -47,4 +47,4 @@
     

    Compatibility

    There is no ALTER TABLESPACE statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altertrigger.html postgresql-15-15.18/doc/src/sgml/html/sql-altertrigger.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altertrigger.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altertrigger.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER TRIGGER

    ALTER TRIGGER

    ALTER TRIGGER — change the definition of a trigger

    Synopsis

    +ALTER TRIGGER

    ALTER TRIGGER

    ALTER TRIGGER — change the definition of a trigger

    Synopsis

     ALTER TRIGGER name ON table_name RENAME TO new_name
     ALTER TRIGGER name ON table_name [ NO ] DEPENDS ON EXTENSION extension_name
     

    Description

    @@ -46,4 +46,4 @@

    Compatibility

    ALTER TRIGGER is a PostgreSQL extension of the SQL standard. -

    See Also

    ALTER TABLE
    \ No newline at end of file +

    See Also

    ALTER TABLE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altertsconfig.html postgresql-15-15.18/doc/src/sgml/html/sql-altertsconfig.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altertsconfig.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altertsconfig.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER TEXT SEARCH CONFIGURATION

    ALTER TEXT SEARCH CONFIGURATION

    ALTER TEXT SEARCH CONFIGURATION — change the definition of a text search configuration

    Synopsis

    +ALTER TEXT SEARCH CONFIGURATION

    ALTER TEXT SEARCH CONFIGURATION

    ALTER TEXT SEARCH CONFIGURATION — change the definition of a text search configuration

    Synopsis

     ALTER TEXT SEARCH CONFIGURATION name
         ADD MAPPING FOR token_type [, ... ] WITH dictionary_name [, ... ]
     ALTER TEXT SEARCH CONFIGURATION name
    @@ -65,4 +65,4 @@
     

    Compatibility

    There is no ALTER TEXT SEARCH CONFIGURATION statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altertsdictionary.html postgresql-15-15.18/doc/src/sgml/html/sql-altertsdictionary.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altertsdictionary.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altertsdictionary.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER TEXT SEARCH DICTIONARY

    ALTER TEXT SEARCH DICTIONARY

    ALTER TEXT SEARCH DICTIONARY — change the definition of a text search dictionary

    Synopsis

    +ALTER TEXT SEARCH DICTIONARY

    ALTER TEXT SEARCH DICTIONARY

    ALTER TEXT SEARCH DICTIONARY — change the definition of a text search dictionary

    Synopsis

     ALTER TEXT SEARCH DICTIONARY name (
         option [ = value ] [, ... ]
     )
    @@ -57,4 +57,4 @@
       

    Compatibility

    There is no ALTER TEXT SEARCH DICTIONARY statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altertsparser.html postgresql-15-15.18/doc/src/sgml/html/sql-altertsparser.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altertsparser.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altertsparser.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER TEXT SEARCH PARSER

    ALTER TEXT SEARCH PARSER

    ALTER TEXT SEARCH PARSER — change the definition of a text search parser

    Synopsis

    +ALTER TEXT SEARCH PARSER

    ALTER TEXT SEARCH PARSER

    ALTER TEXT SEARCH PARSER — change the definition of a text search parser

    Synopsis

     ALTER TEXT SEARCH PARSER name RENAME TO new_name
     ALTER TEXT SEARCH PARSER name SET SCHEMA new_schema
     

    Description

    @@ -17,4 +17,4 @@

    Compatibility

    There is no ALTER TEXT SEARCH PARSER statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altertstemplate.html postgresql-15-15.18/doc/src/sgml/html/sql-altertstemplate.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altertstemplate.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altertstemplate.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER TEXT SEARCH TEMPLATE

    ALTER TEXT SEARCH TEMPLATE

    ALTER TEXT SEARCH TEMPLATE — change the definition of a text search template

    Synopsis

    +ALTER TEXT SEARCH TEMPLATE

    ALTER TEXT SEARCH TEMPLATE

    ALTER TEXT SEARCH TEMPLATE — change the definition of a text search template

    Synopsis

     ALTER TEXT SEARCH TEMPLATE name RENAME TO new_name
     ALTER TEXT SEARCH TEMPLATE name SET SCHEMA new_schema
     

    Description

    @@ -17,4 +17,4 @@

    Compatibility

    There is no ALTER TEXT SEARCH TEMPLATE statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-altertype.html postgresql-15-15.18/doc/src/sgml/html/sql-altertype.html --- postgresql-15-15.17/doc/src/sgml/html/sql-altertype.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-altertype.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER TYPE

    ALTER TYPE

    ALTER TYPE — +ALTER TYPE

    ALTER TYPE

    ALTER TYPE — change the definition of a type

    Synopsis

     ALTER TYPE name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
    @@ -223,4 +223,4 @@
     

    Compatibility

    The variants to add and drop attributes are part of the SQL standard; the other variants are PostgreSQL extensions. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alteruser.html postgresql-15-15.18/doc/src/sgml/html/sql-alteruser.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alteruser.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alteruser.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER USER

    ALTER USER

    ALTER USER — change a database role

    Synopsis

    +ALTER USER

    ALTER USER

    ALTER USER — change a database role

    Synopsis

     ALTER USER role_specification [ WITH ] option [ ... ]
     
     where option can be:
    @@ -35,4 +35,4 @@
        The ALTER USER statement is a
        PostgreSQL extension.  The SQL standard
        leaves the definition of users to the implementation.
    -  

    See Also

    ALTER ROLE
    \ No newline at end of file +

    See Also

    ALTER ROLE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterusermapping.html postgresql-15-15.18/doc/src/sgml/html/sql-alterusermapping.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterusermapping.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterusermapping.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER USER MAPPING

    ALTER USER MAPPING

    ALTER USER MAPPING — change the definition of a user mapping

    Synopsis

    +ALTER USER MAPPING

    ALTER USER MAPPING

    ALTER USER MAPPING — change the definition of a user mapping

    Synopsis

     ALTER USER MAPPING FOR { user_name | USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC }
         SERVER server_name
         OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )
    @@ -40,4 +40,4 @@
        for ALTER USER MAPPING, PostgreSQL diverges from
        the standard here in the interest of consistency and
        interoperability.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-alterview.html postgresql-15-15.18/doc/src/sgml/html/sql-alterview.html --- postgresql-15-15.17/doc/src/sgml/html/sql-alterview.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-alterview.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ALTER VIEW

    ALTER VIEW

    ALTER VIEW — change the definition of a view

    Synopsis

    +ALTER VIEW

    ALTER VIEW

    ALTER VIEW — change the definition of a view

    Synopsis

     ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name SET DEFAULT expression
     ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name DROP DEFAULT
     ALTER VIEW [ IF EXISTS ] name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
    @@ -77,4 +77,4 @@
     

    Compatibility

    ALTER VIEW is a PostgreSQL extension of the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-analyze.html postgresql-15-15.18/doc/src/sgml/html/sql-analyze.html --- postgresql-15-15.17/doc/src/sgml/html/sql-analyze.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-analyze.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -ANALYZE

    ANALYZE

    ANALYZE — collect statistics about a database

    Synopsis

    +ANALYZE

    ANALYZE

    ANALYZE — collect statistics about a database

    Synopsis

     ANALYZE [ ( option [, ...] ) ] [ table_and_columns [, ...] ]
     ANALYZE [ VERBOSE ] [ table_and_columns [, ...] ]
     
    @@ -184,4 +184,4 @@
         Section 28.4.1 for details.
       

    Compatibility

    There is no ANALYZE statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-begin.html postgresql-15-15.18/doc/src/sgml/html/sql-begin.html --- postgresql-15-15.17/doc/src/sgml/html/sql-begin.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-begin.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -BEGIN

    BEGIN

    BEGIN — start a transaction block

    Synopsis

    +BEGIN

    BEGIN

    BEGIN — start a transaction block

    Synopsis

     BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]
     
     where transaction_mode is one of:
    @@ -68,4 +68,4 @@
        Incidentally, the BEGIN key word is used for a
        different purpose in embedded SQL. You are advised to be careful
        about the transaction semantics when porting database applications.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-call.html postgresql-15-15.18/doc/src/sgml/html/sql-call.html --- postgresql-15-15.17/doc/src/sgml/html/sql-call.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-call.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -CALL

    CALL

    CALL — invoke a procedure

    Synopsis

    +CALL

    CALL

    CALL — invoke a procedure

    Synopsis

     CALL name ( [ argument ] [, ...] )
     

    Description

    CALL executes a procedure. @@ -44,4 +44,4 @@ except for the handling of output parameters. The standard says that users should write variables to receive the values of output parameters. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-checkpoint.html postgresql-15-15.18/doc/src/sgml/html/sql-checkpoint.html --- postgresql-15-15.17/doc/src/sgml/html/sql-checkpoint.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-checkpoint.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -CHECKPOINT

    CHECKPOINT

    CHECKPOINT — force a write-ahead log checkpoint

    Synopsis

    +CHECKPOINT

    CHECKPOINT

    CHECKPOINT — force a write-ahead log checkpoint

    Synopsis

     CHECKPOINT
     

    Description

    A checkpoint is a point in the write-ahead log sequence at which @@ -25,4 +25,4 @@

    Compatibility

    The CHECKPOINT command is a PostgreSQL language extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-close.html postgresql-15-15.18/doc/src/sgml/html/sql-close.html --- postgresql-15-15.17/doc/src/sgml/html/sql-close.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-close.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -CLOSE

    CLOSE

    CLOSE — close a cursor

    Synopsis

    +CLOSE

    CLOSE

    CLOSE — close a cursor

    Synopsis

     CLOSE { name | ALL }
     

    Description

    CLOSE frees the resources associated with an open cursor. @@ -39,4 +39,4 @@ CLOSE is fully conforming with the SQL standard. CLOSE ALL is a PostgreSQL extension. -

    See Also

    DECLARE, FETCH, MOVE
    \ No newline at end of file +

    See Also

    DECLARE, FETCH, MOVE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-cluster.html postgresql-15-15.18/doc/src/sgml/html/sql-cluster.html --- postgresql-15-15.17/doc/src/sgml/html/sql-cluster.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-cluster.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -CLUSTER

    CLUSTER

    CLUSTER — cluster a table according to an index

    Synopsis

    +CLUSTER

    CLUSTER

    CLUSTER — cluster a table according to an index

    Synopsis

     CLUSTER [VERBOSE] table_name [ USING index_name ]
     CLUSTER ( option [, ...] ) table_name [ USING index_name ]
     CLUSTER [VERBOSE]
    @@ -134,4 +134,4 @@
     

    is also supported for compatibility with pre-8.3 PostgreSQL versions. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-commands.html postgresql-15-15.18/doc/src/sgml/html/sql-commands.html --- postgresql-15-15.17/doc/src/sgml/html/sql-commands.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-commands.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -SQL Commands

    SQL Commands


    +SQL Commands

    SQL Commands


    This part contains reference information for the SQL commands supported by PostgreSQL. By SQL the @@ -16,4 +16,4 @@ change the definition of an extended statistics object

    ALTER SUBSCRIPTION — change the definition of a subscription
    ALTER SYSTEM — change a server configuration parameter
    ALTER TABLE — change the definition of a table
    ALTER TABLESPACE — change the definition of a tablespace
    ALTER TEXT SEARCH CONFIGURATION — change the definition of a text search configuration
    ALTER TEXT SEARCH DICTIONARY — change the definition of a text search dictionary
    ALTER TEXT SEARCH PARSER — change the definition of a text search parser
    ALTER TEXT SEARCH TEMPLATE — change the definition of a text search template
    ALTER TRIGGER — change the definition of a trigger
    ALTER TYPE — change the definition of a type -
    ALTER USER — change a database role
    ALTER USER MAPPING — change the definition of a user mapping
    ALTER VIEW — change the definition of a view
    ANALYZE — collect statistics about a database
    BEGIN — start a transaction block
    CALL — invoke a procedure
    CHECKPOINT — force a write-ahead log checkpoint
    CLOSE — close a cursor
    CLUSTER — cluster a table according to an index
    COMMENT — define or change the comment of an object
    COMMIT — commit the current transaction
    COMMIT PREPARED — commit a transaction that was earlier prepared for two-phase commit
    COPY — copy data between a file and a table
    CREATE ACCESS METHOD — define a new access method
    CREATE AGGREGATE — define a new aggregate function
    CREATE CAST — define a new cast
    CREATE COLLATION — define a new collation
    CREATE CONVERSION — define a new encoding conversion
    CREATE DATABASE — create a new database
    CREATE DOMAIN — define a new domain
    CREATE EVENT TRIGGER — define a new event trigger
    CREATE EXTENSION — install an extension
    CREATE FOREIGN DATA WRAPPER — define a new foreign-data wrapper
    CREATE FOREIGN TABLE — define a new foreign table
    CREATE FUNCTION — define a new function
    CREATE GROUP — define a new database role
    CREATE INDEX — define a new index
    CREATE LANGUAGE — define a new procedural language
    CREATE MATERIALIZED VIEW — define a new materialized view
    CREATE OPERATOR — define a new operator
    CREATE OPERATOR CLASS — define a new operator class
    CREATE OPERATOR FAMILY — define a new operator family
    CREATE POLICY — define a new row-level security policy for a table
    CREATE PROCEDURE — define a new procedure
    CREATE PUBLICATION — define a new publication
    CREATE ROLE — define a new database role
    CREATE RULE — define a new rewrite rule
    CREATE SCHEMA — define a new schema
    CREATE SEQUENCE — define a new sequence generator
    CREATE SERVER — define a new foreign server
    CREATE STATISTICS — define extended statistics
    CREATE SUBSCRIPTION — define a new subscription
    CREATE TABLE — define a new table
    CREATE TABLE AS — define a new table from the results of a query
    CREATE TABLESPACE — define a new tablespace
    CREATE TEXT SEARCH CONFIGURATION — define a new text search configuration
    CREATE TEXT SEARCH DICTIONARY — define a new text search dictionary
    CREATE TEXT SEARCH PARSER — define a new text search parser
    CREATE TEXT SEARCH TEMPLATE — define a new text search template
    CREATE TRANSFORM — define a new transform
    CREATE TRIGGER — define a new trigger
    CREATE TYPE — define a new data type
    CREATE USER — define a new database role
    CREATE USER MAPPING — define a new mapping of a user to a foreign server
    CREATE VIEW — define a new view
    DEALLOCATE — deallocate a prepared statement
    DECLARE — define a cursor
    DELETE — delete rows of a table
    DISCARD — discard session state
    DO — execute an anonymous code block
    DROP ACCESS METHOD — remove an access method
    DROP AGGREGATE — remove an aggregate function
    DROP CAST — remove a cast
    DROP COLLATION — remove a collation
    DROP CONVERSION — remove a conversion
    DROP DATABASE — remove a database
    DROP DOMAIN — remove a domain
    DROP EVENT TRIGGER — remove an event trigger
    DROP EXTENSION — remove an extension
    DROP FOREIGN DATA WRAPPER — remove a foreign-data wrapper
    DROP FOREIGN TABLE — remove a foreign table
    DROP FUNCTION — remove a function
    DROP GROUP — remove a database role
    DROP INDEX — remove an index
    DROP LANGUAGE — remove a procedural language
    DROP MATERIALIZED VIEW — remove a materialized view
    DROP OPERATOR — remove an operator
    DROP OPERATOR CLASS — remove an operator class
    DROP OPERATOR FAMILY — remove an operator family
    DROP OWNED — remove database objects owned by a database role
    DROP POLICY — remove a row-level security policy from a table
    DROP PROCEDURE — remove a procedure
    DROP PUBLICATION — remove a publication
    DROP ROLE — remove a database role
    DROP ROUTINE — remove a routine
    DROP RULE — remove a rewrite rule
    DROP SCHEMA — remove a schema
    DROP SEQUENCE — remove a sequence
    DROP SERVER — remove a foreign server descriptor
    DROP STATISTICS — remove extended statistics
    DROP SUBSCRIPTION — remove a subscription
    DROP TABLE — remove a table
    DROP TABLESPACE — remove a tablespace
    DROP TEXT SEARCH CONFIGURATION — remove a text search configuration
    DROP TEXT SEARCH DICTIONARY — remove a text search dictionary
    DROP TEXT SEARCH PARSER — remove a text search parser
    DROP TEXT SEARCH TEMPLATE — remove a text search template
    DROP TRANSFORM — remove a transform
    DROP TRIGGER — remove a trigger
    DROP TYPE — remove a data type
    DROP USER — remove a database role
    DROP USER MAPPING — remove a user mapping for a foreign server
    DROP VIEW — remove a view
    END — commit the current transaction
    EXECUTE — execute a prepared statement
    EXPLAIN — show the execution plan of a statement
    FETCH — retrieve rows from a query using a cursor
    GRANT — define access privileges
    IMPORT FOREIGN SCHEMA — import table definitions from a foreign server
    INSERT — create new rows in a table
    LISTEN — listen for a notification
    LOAD — load a shared library file
    LOCK — lock a table
    MERGE — conditionally insert, update, or delete rows of a table
    MOVE — position a cursor
    NOTIFY — generate a notification
    PREPARE — prepare a statement for execution
    PREPARE TRANSACTION — prepare the current transaction for two-phase commit
    REASSIGN OWNED — change the ownership of database objects owned by a database role
    REFRESH MATERIALIZED VIEW — replace the contents of a materialized view
    REINDEX — rebuild indexes
    RELEASE SAVEPOINT — destroy a previously defined savepoint
    RESET — restore the value of a run-time parameter to the default value
    REVOKE — remove access privileges
    ROLLBACK — abort the current transaction
    ROLLBACK PREPARED — cancel a transaction that was earlier prepared for two-phase commit
    ROLLBACK TO SAVEPOINT — roll back to a savepoint
    SAVEPOINT — define a new savepoint within the current transaction
    SECURITY LABEL — define or change a security label applied to an object
    SELECT — retrieve rows from a table or view
    SELECT INTO — define a new table from the results of a query
    SET — change a run-time parameter
    SET CONSTRAINTS — set constraint check timing for the current transaction
    SET ROLE — set the current user identifier of the current session
    SET SESSION AUTHORIZATION — set the session user identifier and the current user identifier of the current session
    SET TRANSACTION — set the characteristics of the current transaction
    SHOW — show the value of a run-time parameter
    START TRANSACTION — start a transaction block
    TRUNCATE — empty a table or set of tables
    UNLISTEN — stop listening for a notification
    UPDATE — update rows of a table
    VACUUM — garbage-collect and optionally analyze a database
    VALUES — compute a set of rows
    \ No newline at end of file +
    ALTER USER — change a database role
    ALTER USER MAPPING — change the definition of a user mapping
    ALTER VIEW — change the definition of a view
    ANALYZE — collect statistics about a database
    BEGIN — start a transaction block
    CALL — invoke a procedure
    CHECKPOINT — force a write-ahead log checkpoint
    CLOSE — close a cursor
    CLUSTER — cluster a table according to an index
    COMMENT — define or change the comment of an object
    COMMIT — commit the current transaction
    COMMIT PREPARED — commit a transaction that was earlier prepared for two-phase commit
    COPY — copy data between a file and a table
    CREATE ACCESS METHOD — define a new access method
    CREATE AGGREGATE — define a new aggregate function
    CREATE CAST — define a new cast
    CREATE COLLATION — define a new collation
    CREATE CONVERSION — define a new encoding conversion
    CREATE DATABASE — create a new database
    CREATE DOMAIN — define a new domain
    CREATE EVENT TRIGGER — define a new event trigger
    CREATE EXTENSION — install an extension
    CREATE FOREIGN DATA WRAPPER — define a new foreign-data wrapper
    CREATE FOREIGN TABLE — define a new foreign table
    CREATE FUNCTION — define a new function
    CREATE GROUP — define a new database role
    CREATE INDEX — define a new index
    CREATE LANGUAGE — define a new procedural language
    CREATE MATERIALIZED VIEW — define a new materialized view
    CREATE OPERATOR — define a new operator
    CREATE OPERATOR CLASS — define a new operator class
    CREATE OPERATOR FAMILY — define a new operator family
    CREATE POLICY — define a new row-level security policy for a table
    CREATE PROCEDURE — define a new procedure
    CREATE PUBLICATION — define a new publication
    CREATE ROLE — define a new database role
    CREATE RULE — define a new rewrite rule
    CREATE SCHEMA — define a new schema
    CREATE SEQUENCE — define a new sequence generator
    CREATE SERVER — define a new foreign server
    CREATE STATISTICS — define extended statistics
    CREATE SUBSCRIPTION — define a new subscription
    CREATE TABLE — define a new table
    CREATE TABLE AS — define a new table from the results of a query
    CREATE TABLESPACE — define a new tablespace
    CREATE TEXT SEARCH CONFIGURATION — define a new text search configuration
    CREATE TEXT SEARCH DICTIONARY — define a new text search dictionary
    CREATE TEXT SEARCH PARSER — define a new text search parser
    CREATE TEXT SEARCH TEMPLATE — define a new text search template
    CREATE TRANSFORM — define a new transform
    CREATE TRIGGER — define a new trigger
    CREATE TYPE — define a new data type
    CREATE USER — define a new database role
    CREATE USER MAPPING — define a new mapping of a user to a foreign server
    CREATE VIEW — define a new view
    DEALLOCATE — deallocate a prepared statement
    DECLARE — define a cursor
    DELETE — delete rows of a table
    DISCARD — discard session state
    DO — execute an anonymous code block
    DROP ACCESS METHOD — remove an access method
    DROP AGGREGATE — remove an aggregate function
    DROP CAST — remove a cast
    DROP COLLATION — remove a collation
    DROP CONVERSION — remove a conversion
    DROP DATABASE — remove a database
    DROP DOMAIN — remove a domain
    DROP EVENT TRIGGER — remove an event trigger
    DROP EXTENSION — remove an extension
    DROP FOREIGN DATA WRAPPER — remove a foreign-data wrapper
    DROP FOREIGN TABLE — remove a foreign table
    DROP FUNCTION — remove a function
    DROP GROUP — remove a database role
    DROP INDEX — remove an index
    DROP LANGUAGE — remove a procedural language
    DROP MATERIALIZED VIEW — remove a materialized view
    DROP OPERATOR — remove an operator
    DROP OPERATOR CLASS — remove an operator class
    DROP OPERATOR FAMILY — remove an operator family
    DROP OWNED — remove database objects owned by a database role
    DROP POLICY — remove a row-level security policy from a table
    DROP PROCEDURE — remove a procedure
    DROP PUBLICATION — remove a publication
    DROP ROLE — remove a database role
    DROP ROUTINE — remove a routine
    DROP RULE — remove a rewrite rule
    DROP SCHEMA — remove a schema
    DROP SEQUENCE — remove a sequence
    DROP SERVER — remove a foreign server descriptor
    DROP STATISTICS — remove extended statistics
    DROP SUBSCRIPTION — remove a subscription
    DROP TABLE — remove a table
    DROP TABLESPACE — remove a tablespace
    DROP TEXT SEARCH CONFIGURATION — remove a text search configuration
    DROP TEXT SEARCH DICTIONARY — remove a text search dictionary
    DROP TEXT SEARCH PARSER — remove a text search parser
    DROP TEXT SEARCH TEMPLATE — remove a text search template
    DROP TRANSFORM — remove a transform
    DROP TRIGGER — remove a trigger
    DROP TYPE — remove a data type
    DROP USER — remove a database role
    DROP USER MAPPING — remove a user mapping for a foreign server
    DROP VIEW — remove a view
    END — commit the current transaction
    EXECUTE — execute a prepared statement
    EXPLAIN — show the execution plan of a statement
    FETCH — retrieve rows from a query using a cursor
    GRANT — define access privileges
    IMPORT FOREIGN SCHEMA — import table definitions from a foreign server
    INSERT — create new rows in a table
    LISTEN — listen for a notification
    LOAD — load a shared library file
    LOCK — lock a table
    MERGE — conditionally insert, update, or delete rows of a table
    MOVE — position a cursor
    NOTIFY — generate a notification
    PREPARE — prepare a statement for execution
    PREPARE TRANSACTION — prepare the current transaction for two-phase commit
    REASSIGN OWNED — change the ownership of database objects owned by a database role
    REFRESH MATERIALIZED VIEW — replace the contents of a materialized view
    REINDEX — rebuild indexes
    RELEASE SAVEPOINT — destroy a previously defined savepoint
    RESET — restore the value of a run-time parameter to the default value
    REVOKE — remove access privileges
    ROLLBACK — abort the current transaction
    ROLLBACK PREPARED — cancel a transaction that was earlier prepared for two-phase commit
    ROLLBACK TO SAVEPOINT — roll back to a savepoint
    SAVEPOINT — define a new savepoint within the current transaction
    SECURITY LABEL — define or change a security label applied to an object
    SELECT — retrieve rows from a table or view
    SELECT INTO — define a new table from the results of a query
    SET — change a run-time parameter
    SET CONSTRAINTS — set constraint check timing for the current transaction
    SET ROLE — set the current user identifier of the current session
    SET SESSION AUTHORIZATION — set the session user identifier and the current user identifier of the current session
    SET TRANSACTION — set the characteristics of the current transaction
    SHOW — show the value of a run-time parameter
    START TRANSACTION — start a transaction block
    TRUNCATE — empty a table or set of tables
    UNLISTEN — stop listening for a notification
    UPDATE — update rows of a table
    VACUUM — garbage-collect and optionally analyze a database
    VALUES — compute a set of rows
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-comment.html postgresql-15-15.18/doc/src/sgml/html/sql-comment.html --- postgresql-15-15.17/doc/src/sgml/html/sql-comment.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-comment.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -COMMENT

    COMMENT

    COMMENT — define or change the comment of an object

    Synopsis

    +COMMENT

    COMMENT

    COMMENT — define or change the comment of an object

    Synopsis

     COMMENT ON
     {
       ACCESS METHOD object_name |
    @@ -53,12 +53,14 @@
     [ argmode ] [ argname ] argtype [ , ... ] |
     [ [ argmode ] [ argname ] argtype [ , ... ] ] ORDER BY [ argmode ] [ argname ] argtype [ , ... ]
     

    Description

    - COMMENT stores a comment about a database object. + COMMENT stores, replaces, or removes the comment on a + database object.

    - Only one comment string is stored for each object, so to modify a comment, - issue a new COMMENT command for the same object. To remove a - comment, write NULL in place of the text string. - Comments are automatically dropped when their object is dropped. + Only one comment string is stored for each object. Issuing a new + COMMENT command for the same object replaces the + existing comment. Specifying NULL or an empty + string ('') removes the comment. Comments are + automatically dropped when their object is dropped.

    A SHARE UPDATE EXCLUSIVE lock is acquired on the object to be commented. @@ -122,9 +124,10 @@

    lang_name

    The name of the language of the transform.

    string_literal

    - The new comment contents, written as a string literal. + The new comment contents, written as a string literal. An empty string + ('') removes the comment.

    NULL

    - Write NULL to drop the comment. + Write NULL to remove the comment.

    Notes

    There is presently no security mechanism for viewing comments: any user connected to a database can see all the comments for objects in @@ -193,6 +196,7 @@ COMMENT ON TRIGGER my_trigger ON my_table IS 'Used for RI'; COMMENT ON TYPE complex IS 'Complex number data type'; COMMENT ON VIEW my_view IS 'View of departmental costs'; +COMMENT ON VIEW my_view IS NULL;

    Compatibility

    There is no COMMENT command in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-commit-prepared.html postgresql-15-15.18/doc/src/sgml/html/sql-commit-prepared.html --- postgresql-15-15.17/doc/src/sgml/html/sql-commit-prepared.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-commit-prepared.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -COMMIT PREPARED

    COMMIT PREPARED

    COMMIT PREPARED — commit a transaction that was earlier prepared for two-phase commit

    Synopsis

    +COMMIT PREPARED

    COMMIT PREPARED

    COMMIT PREPARED — commit a transaction that was earlier prepared for two-phase commit

    Synopsis

     COMMIT PREPARED transaction_id
     

    Description

    COMMIT PREPARED commits a transaction that is in @@ -30,4 +30,4 @@ external transaction management systems, some of which are covered by standards (such as X/Open XA), but the SQL side of those systems is not standardized. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-commit.html postgresql-15-15.18/doc/src/sgml/html/sql-commit.html --- postgresql-15-15.17/doc/src/sgml/html/sql-commit.html 2026-02-23 22:14:32.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-commit.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -COMMIT

    COMMIT

    COMMIT — commit the current transaction

    Synopsis

    +COMMIT

    COMMIT

    COMMIT — commit the current transaction

    Synopsis

     COMMIT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
     

    Description

    COMMIT commits the current transaction. All @@ -25,4 +25,4 @@

    Compatibility

    The command COMMIT conforms to the SQL standard. The form COMMIT TRANSACTION is a PostgreSQL extension. -

    See Also

    BEGIN, ROLLBACK
    \ No newline at end of file +

    See Also

    BEGIN, ROLLBACK
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-copy.html postgresql-15-15.18/doc/src/sgml/html/sql-copy.html --- postgresql-15-15.17/doc/src/sgml/html/sql-copy.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-copy.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -COPY

    COPY

    COPY — copy data between a file and a table

    Synopsis

    +COPY

    COPY

    COPY — copy data between a file and a table

    Synopsis

     COPY table_name [ ( column_name [, ...] ) ]
         FROM { 'filename' | PROGRAM 'command' | STDIN }
         [ [ WITH ] ( option [, ...] ) ]
    @@ -638,4 +638,4 @@
         TO { 'filename' | STDOUT }
         [ [USING] DELIMITERS 'delimiter_character' ]
         [ WITH NULL AS 'null_string' ]
    -
    \ No newline at end of file +
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-create-access-method.html postgresql-15-15.18/doc/src/sgml/html/sql-create-access-method.html --- postgresql-15-15.17/doc/src/sgml/html/sql-create-access-method.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-create-access-method.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE ACCESS METHOD

    CREATE ACCESS METHOD

    CREATE ACCESS METHOD — define a new access method

    Synopsis

    +CREATE ACCESS METHOD

    CREATE ACCESS METHOD

    CREATE ACCESS METHOD — define a new access method

    Synopsis

     CREATE ACCESS METHOD name
         TYPE access_method_type
         HANDLER handler_function
    @@ -36,4 +36,4 @@
     

    Compatibility

    CREATE ACCESS METHOD is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createaggregate.html postgresql-15-15.18/doc/src/sgml/html/sql-createaggregate.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createaggregate.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createaggregate.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE AGGREGATE

    CREATE AGGREGATE

    CREATE AGGREGATE — define a new aggregate function

    Synopsis

    +CREATE AGGREGATE

    CREATE AGGREGATE

    CREATE AGGREGATE — define a new aggregate function

    Synopsis

     CREATE [ OR REPLACE ] AGGREGATE name ( [ argmode ] [ argname ] arg_data_type [ , ... ] ) (
         SFUNC = sfunc,
         STYPE = state_data_type
    @@ -507,4 +507,4 @@
        CREATE AGGREGATE is a
        PostgreSQL language extension.  The SQL
        standard does not provide for user-defined aggregate functions.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createcast.html postgresql-15-15.18/doc/src/sgml/html/sql-createcast.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createcast.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createcast.html 2026-05-11 20:02:44.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE CAST

    CREATE CAST

    CREATE CAST — define a new cast

    Synopsis

    +CREATE CAST

    CREATE CAST

    CREATE CAST — define a new cast

    Synopsis

     CREATE CAST (source_type AS target_type)
         WITH FUNCTION function_name [ (argument_type [, ...]) ]
         [ AS ASSIGNMENT | AS IMPLICIT ]
    @@ -253,4 +253,4 @@
        CREATE FUNCTION,
        CREATE TYPE,
        DROP CAST
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createcollation.html postgresql-15-15.18/doc/src/sgml/html/sql-createcollation.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createcollation.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createcollation.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE COLLATION

    CREATE COLLATION

    CREATE COLLATION — define a new collation

    Synopsis

    +CREATE COLLATION

    CREATE COLLATION

    CREATE COLLATION — define a new collation

    Synopsis

     CREATE COLLATION [ IF NOT EXISTS ] name (
         [ LOCALE = locale, ]
         [ LC_COLLATE = lc_collate, ]
    @@ -106,4 +106,4 @@
        standard, but it is limited to copying an existing collation.  The
        syntax to create a new collation is
        a PostgreSQL extension.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createconversion.html postgresql-15-15.18/doc/src/sgml/html/sql-createconversion.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createconversion.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createconversion.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE CONVERSION

    CREATE CONVERSION

    CREATE CONVERSION — define a new encoding conversion

    Synopsis

    +CREATE CONVERSION

    CREATE CONVERSION

    CREATE CONVERSION — define a new encoding conversion

    Synopsis

     CREATE [ DEFAULT ] CONVERSION name
         FOR source_encoding TO dest_encoding FROM function_name
     

    Description

    @@ -69,4 +69,4 @@ There is no CREATE CONVERSION statement in the SQL standard, but a CREATE TRANSLATION statement that is very similar in purpose and syntax. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createdatabase.html postgresql-15-15.18/doc/src/sgml/html/sql-createdatabase.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createdatabase.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createdatabase.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE DATABASE

    CREATE DATABASE

    CREATE DATABASE — create a new database

    Synopsis

    +CREATE DATABASE

    CREATE DATABASE

    CREATE DATABASE — create a new database

    Synopsis

     CREATE DATABASE name
         [ WITH ] [ OWNER [=] user_name ]
                [ TEMPLATE [=] template ]
    @@ -237,4 +237,4 @@
        There is no CREATE DATABASE statement in the SQL
        standard.  Databases are equivalent to catalogs, whose creation is
        implementation-defined.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createdomain.html postgresql-15-15.18/doc/src/sgml/html/sql-createdomain.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createdomain.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createdomain.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE DOMAIN

    CREATE DOMAIN

    CREATE DOMAIN — define a new domain

    Synopsis

    +CREATE DOMAIN

    CREATE DOMAIN

    CREATE DOMAIN — define a new domain

    Synopsis

     CREATE DOMAIN name [ AS ] data_type
         [ COLLATE collation ]
         [ DEFAULT expression ]
    @@ -145,4 +145,4 @@
     

    Compatibility

    The command CREATE DOMAIN conforms to the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createeventtrigger.html postgresql-15-15.18/doc/src/sgml/html/sql-createeventtrigger.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createeventtrigger.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createeventtrigger.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE EVENT TRIGGER

    CREATE EVENT TRIGGER

    CREATE EVENT TRIGGER — define a new event trigger

    Synopsis

    +CREATE EVENT TRIGGER

    CREATE EVENT TRIGGER

    CREATE EVENT TRIGGER — define a new event trigger

    Synopsis

     CREATE EVENT TRIGGER name
         ON event
         [ WHEN filter_variable IN (filter_value [, ... ]) [ AND ... ] ]
    @@ -62,4 +62,4 @@
     

    Compatibility

    There is no CREATE EVENT TRIGGER statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createextension.html postgresql-15-15.18/doc/src/sgml/html/sql-createextension.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createextension.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createextension.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE EXTENSION

    CREATE EXTENSION

    CREATE EXTENSION — install an extension

    Synopsis

    +CREATE EXTENSION

    CREATE EXTENSION

    CREATE EXTENSION — install an extension

    Synopsis

     CREATE EXTENSION [ IF NOT EXISTS ] extension_name
         [ WITH ] [ SCHEMA schema_name ]
                  [ VERSION version ]
    @@ -125,4 +125,4 @@
     

    Compatibility

    CREATE EXTENSION is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createforeigndatawrapper.html postgresql-15-15.18/doc/src/sgml/html/sql-createforeigndatawrapper.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createforeigndatawrapper.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createforeigndatawrapper.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE FOREIGN DATA WRAPPER

    CREATE FOREIGN DATA WRAPPER

    CREATE FOREIGN DATA WRAPPER — define a new foreign-data wrapper

    Synopsis

    +CREATE FOREIGN DATA WRAPPER

    CREATE FOREIGN DATA WRAPPER

    CREATE FOREIGN DATA WRAPPER — define a new foreign-data wrapper

    Synopsis

     CREATE FOREIGN DATA WRAPPER name
         [ HANDLER handler_function | NO HANDLER ]
         [ VALIDATOR validator_function | NO VALIDATOR ]
    @@ -74,4 +74,4 @@
       

    Note, however, that the SQL/MED functionality as a whole is not yet conforming. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createforeigntable.html postgresql-15-15.18/doc/src/sgml/html/sql-createforeigntable.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createforeigntable.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createforeigntable.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE FOREIGN TABLE

    CREATE FOREIGN TABLE

    CREATE FOREIGN TABLE — define a new foreign table

    Synopsis

    +CREATE FOREIGN TABLE

    CREATE FOREIGN TABLE

    CREATE FOREIGN TABLE — define a new foreign table

    Synopsis

     CREATE FOREIGN TABLE [ IF NOT EXISTS ] table_name ( [
       { column_name data_type [ OPTIONS ( option 'value' [, ... ] ) ] [ COLLATE collation ] [ column_constraint [ ... ] ]
         | table_constraint }
    @@ -241,4 +241,4 @@
        The ability to specify column default values is also
        a PostgreSQL extension.  Table inheritance, in the form
        defined by PostgreSQL, is nonstandard.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createfunction.html postgresql-15-15.18/doc/src/sgml/html/sql-createfunction.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createfunction.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createfunction.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE FUNCTION

    CREATE FUNCTION

    CREATE FUNCTION — define a new function

    Synopsis

    +CREATE FUNCTION

    CREATE FUNCTION

    CREATE FUNCTION — define a new function

    Synopsis

     CREATE [ OR REPLACE ] FUNCTION
         name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ] )
         [ RETURNS rettype
    @@ -551,4 +551,4 @@
        More complex functions using advanced features, optimization attributes, or
        other languages will necessarily be specific to PostgreSQL in a significant
        way.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-creategroup.html postgresql-15-15.18/doc/src/sgml/html/sql-creategroup.html --- postgresql-15-15.17/doc/src/sgml/html/sql-creategroup.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-creategroup.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE GROUP

    CREATE GROUP

    CREATE GROUP — define a new database role

    Synopsis

    +CREATE GROUP

    CREATE GROUP

    CREATE GROUP — define a new database role

    Synopsis

     CREATE GROUP name [ [ WITH ] option [ ... ] ]
     
     where option can be:
    @@ -26,4 +26,4 @@
       

    Compatibility

    There is no CREATE GROUP statement in the SQL standard. -

    See Also

    CREATE ROLE
    \ No newline at end of file +

    See Also

    CREATE ROLE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createindex.html postgresql-15-15.18/doc/src/sgml/html/sql-createindex.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createindex.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createindex.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE INDEX

    CREATE INDEX

    CREATE INDEX — define a new index

    Synopsis

    +CREATE INDEX

    CREATE INDEX

    CREATE INDEX — define a new index

    Synopsis

     CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] name ] ON [ ONLY ] table_name [ USING method ]
         ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass [ ( opclass_parameter = value [, ... ] ) ] ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] )
         [ INCLUDE ( column_name [, ...] ) ]
    @@ -577,4 +577,4 @@
        CREATE INDEX is a
        PostgreSQL language extension.  There
        are no provisions for indexes in the SQL standard.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createlanguage.html postgresql-15-15.18/doc/src/sgml/html/sql-createlanguage.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createlanguage.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createlanguage.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE LANGUAGE

    CREATE LANGUAGE

    CREATE LANGUAGE — define a new procedural language

    Synopsis

    +CREATE LANGUAGE

    CREATE LANGUAGE

    CREATE LANGUAGE — define a new procedural language

    Synopsis

     CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name
         HANDLER call_handler [ INLINE inline_handler ] [ VALIDATOR valfunction ]
     CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name
    @@ -117,4 +117,4 @@
     

    Compatibility

    CREATE LANGUAGE is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-creatematerializedview.html postgresql-15-15.18/doc/src/sgml/html/sql-creatematerializedview.html --- postgresql-15-15.17/doc/src/sgml/html/sql-creatematerializedview.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-creatematerializedview.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE MATERIALIZED VIEW

    CREATE MATERIALIZED VIEW

    CREATE MATERIALIZED VIEW — define a new materialized view

    Synopsis

    +CREATE MATERIALIZED VIEW

    CREATE MATERIALIZED VIEW

    CREATE MATERIALIZED VIEW — define a new materialized view

    Synopsis

     CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name
         [ (column_name [, ...] ) ]
         [ USING method ]
    @@ -68,4 +68,4 @@
          

    Compatibility

    CREATE MATERIALIZED VIEW is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createopclass.html postgresql-15-15.18/doc/src/sgml/html/sql-createopclass.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createopclass.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createopclass.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE OPERATOR CLASS

    CREATE OPERATOR CLASS

    CREATE OPERATOR CLASS — define a new operator class

    Synopsis

    +CREATE OPERATOR CLASS

    CREATE OPERATOR CLASS

    CREATE OPERATOR CLASS — define a new operator class

    Synopsis

     CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type
       USING index_method [ FAMILY family_name ] AS
       {  OPERATOR strategy_number operator_name [ ( op_type, op_type ) ] [ FOR SEARCH | FOR ORDER BY sort_family_name ]
    @@ -149,4 +149,4 @@
        PostgreSQL extension.  There is no
        CREATE OPERATOR CLASS statement in the SQL
        standard.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createoperator.html postgresql-15-15.18/doc/src/sgml/html/sql-createoperator.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createoperator.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createoperator.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE OPERATOR

    CREATE OPERATOR

    CREATE OPERATOR — define a new operator

    Synopsis

    +CREATE OPERATOR

    CREATE OPERATOR

    CREATE OPERATOR — define a new operator

    Synopsis

     CREATE OPERATOR name (
         {FUNCTION|PROCEDURE} = function_name
         [, LEFTARG = left_type ] [, RIGHTARG = right_type ]
    @@ -133,4 +133,4 @@
        CREATE OPERATOR is a
        PostgreSQL extension.  There are no
        provisions for user-defined operators in the SQL standard.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createopfamily.html postgresql-15-15.18/doc/src/sgml/html/sql-createopfamily.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createopfamily.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createopfamily.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE OPERATOR FAMILY

    CREATE OPERATOR FAMILY

    CREATE OPERATOR FAMILY — define a new operator family

    Synopsis

    +CREATE OPERATOR FAMILY

    CREATE OPERATOR FAMILY

    CREATE OPERATOR FAMILY — define a new operator family

    Synopsis

     CREATE OPERATOR FAMILY name USING index_method
     

    Description

    CREATE OPERATOR FAMILY creates a new operator family. @@ -40,4 +40,4 @@ PostgreSQL extension. There is no CREATE OPERATOR FAMILY statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createpolicy.html postgresql-15-15.18/doc/src/sgml/html/sql-createpolicy.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createpolicy.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createpolicy.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE POLICY

    CREATE POLICY

    CREATE POLICY — define a new row-level security policy for a table

    Synopsis

    +CREATE POLICY

    CREATE POLICY

    CREATE POLICY — define a new row-level security policy for a table

    Synopsis

     CREATE POLICY name ON table_name
         [ AS { PERMISSIVE | RESTRICTIVE } ]
         [ FOR { ALL | SELECT | INSERT | UPDATE | DELETE } ]
    @@ -434,4 +434,4 @@
       

    Compatibility

    CREATE POLICY is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createprocedure.html postgresql-15-15.18/doc/src/sgml/html/sql-createprocedure.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createprocedure.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createprocedure.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE PROCEDURE

    CREATE PROCEDURE

    CREATE PROCEDURE — define a new procedure

    Synopsis

    +CREATE PROCEDURE

    CREATE PROCEDURE

    CREATE PROCEDURE — define a new procedure

    Synopsis

     CREATE [ OR REPLACE ] PROCEDURE
         name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ] )
       { LANGUAGE lang_name
    @@ -205,4 +205,4 @@
        standard.  The PostgreSQL implementation can be
        used in a compatible way but has many extensions.  For details see also
        CREATE FUNCTION.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createpublication.html postgresql-15-15.18/doc/src/sgml/html/sql-createpublication.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createpublication.html 2026-02-23 22:14:33.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createpublication.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE PUBLICATION

    CREATE PUBLICATION

    CREATE PUBLICATION — define a new publication

    Synopsis

    +CREATE PUBLICATION

    CREATE PUBLICATION

    CREATE PUBLICATION — define a new publication

    Synopsis

     CREATE PUBLICATION name
         [ FOR ALL TABLES
           | FOR publication_object [, ... ] ]
    @@ -76,7 +76,7 @@
           tables, foreign tables, materialized views, and regular views from the
           schema will not be part of the publication.
          

    - When a partitioned table is published via schema level publication, all + When a partitioned table is published via a schema-level publication, all of its existing and future partitions are implicitly considered to be part of the publication, regardless of whether they are from the publication schema or not. So, even operations that are performed directly on a @@ -88,7 +88,7 @@

    publish (string)

    This parameter determines which DML operations will be published by - the new publication to the subscribers. The value is + the new publication to the subscribers. The value is a comma-separated list of operations. The allowed operations are insert, update, delete, and truncate. @@ -235,4 +235,4 @@

    Compatibility

    CREATE PUBLICATION is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createrole.html postgresql-15-15.18/doc/src/sgml/html/sql-createrole.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createrole.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createrole.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE ROLE

    CREATE ROLE

    CREATE ROLE — define a new database role

    Synopsis

    +CREATE ROLE

    CREATE ROLE

    CREATE ROLE — define a new database role

    Synopsis

     CREATE ROLE name [ [ WITH ] option [ ... ] ]
     
     where option can be:
    @@ -266,4 +266,4 @@
        The behavior specified by the SQL standard is most closely approximated
        by giving users the NOINHERIT attribute, while roles are
        given the INHERIT attribute.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createrule.html postgresql-15-15.18/doc/src/sgml/html/sql-createrule.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createrule.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createrule.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE RULE

    CREATE RULE

    CREATE RULE — define a new rewrite rule

    Synopsis

    +CREATE RULE

    CREATE RULE

    CREATE RULE — define a new rewrite rule

    Synopsis

     CREATE [ OR REPLACE ] RULE name AS ON event
         TO table_name [ WHERE condition ]
         DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) }
    @@ -173,4 +173,4 @@
        CREATE RULE is a
        PostgreSQL language extension, as is the
        entire query rewrite system.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createschema.html postgresql-15-15.18/doc/src/sgml/html/sql-createschema.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createschema.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createschema.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE SCHEMA

    CREATE SCHEMA

    CREATE SCHEMA — define a new schema

    Synopsis

    +CREATE SCHEMA

    CREATE SCHEMA

    CREATE SCHEMA — define a new schema

    Synopsis

     CREATE SCHEMA schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ]
     CREATE SCHEMA AUTHORIZATION role_specification [ schema_element [ ... ] ]
     CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION role_specification ]
    @@ -115,4 +115,4 @@
       

    The IF NOT EXISTS option is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createsequence.html postgresql-15-15.18/doc/src/sgml/html/sql-createsequence.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createsequence.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createsequence.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE SEQUENCE

    CREATE SEQUENCE

    CREATE SEQUENCE — define a new sequence generator

    Synopsis

    +CREATE SEQUENCE

    CREATE SEQUENCE

    CREATE SEQUENCE — define a new sequence generator

    Synopsis

     CREATE [ { TEMPORARY | TEMP } | UNLOGGED ] SEQUENCE [ IF NOT EXISTS ] name
         [ AS data_type ]
         [ INCREMENT [ BY ] increment ]
    @@ -211,4 +211,4 @@
          

  • The OWNED BY clause is a PostgreSQL extension. -

  • \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createserver.html postgresql-15-15.18/doc/src/sgml/html/sql-createserver.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createserver.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createserver.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE SERVER

    CREATE SERVER

    CREATE SERVER — define a new foreign server

    Synopsis

    +CREATE SERVER

    CREATE SERVER

    CREATE SERVER — define a new foreign server

    Synopsis

     CREATE SERVER [ IF NOT EXISTS ] server_name [ TYPE 'server_type' ] [ VERSION 'server_version' ]
         FOREIGN DATA WRAPPER fdw_name
         [ OPTIONS ( option 'value' [, ... ] ) ]
    @@ -53,4 +53,4 @@
        See postgres_fdw for more details.
       

    Compatibility

    CREATE SERVER conforms to ISO/IEC 9075-9 (SQL/MED). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createstatistics.html postgresql-15-15.18/doc/src/sgml/html/sql-createstatistics.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createstatistics.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createstatistics.html 2026-05-11 20:02:45.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE STATISTICS

    CREATE STATISTICS

    CREATE STATISTICS — define extended statistics

    Synopsis

    +CREATE STATISTICS

    CREATE STATISTICS

    CREATE STATISTICS — define extended statistics

    Synopsis

     CREATE STATISTICS [ IF NOT EXISTS ] statistics_name
         ON ( expression )
         FROM table_name
    @@ -207,4 +207,4 @@
        more accurate estimates.
       

    Compatibility

    There is no CREATE STATISTICS command in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createsubscription.html postgresql-15-15.18/doc/src/sgml/html/sql-createsubscription.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createsubscription.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createsubscription.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE SUBSCRIPTION

    CREATE SUBSCRIPTION

    CREATE SUBSCRIPTION — define a new subscription

    Synopsis

    +CREATE SUBSCRIPTION

    CREATE SUBSCRIPTION

    CREATE SUBSCRIPTION — define a new subscription

    Synopsis

     CREATE SUBSCRIPTION subscription_name
         CONNECTION 'conninfo'
         PUBLICATION publication_name [, ...]
    @@ -214,4 +214,4 @@
     

    Compatibility

    CREATE SUBSCRIPTION is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createtable.html postgresql-15-15.18/doc/src/sgml/html/sql-createtable.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createtable.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createtable.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE TABLE

    CREATE TABLE

    CREATE TABLE — define a new table

    Synopsis

    +CREATE TABLE

    CREATE TABLE

    CREATE TABLE — define a new table

    Synopsis

     CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name ( [
       { column_name data_type [ COMPRESSION compression_method ] [ COLLATE collation ] [ column_constraint [ ... ] ]
         | table_constraint
    @@ -442,9 +442,10 @@
           available options are:
     
           

    INCLUDING COMMENTS

    - Comments for the copied columns, constraints, and indexes will be + Comments for the copied columns, check constraints, + indexes, and extended statistics will be copied. The default behavior is to exclude comments, resulting in - the copied columns and constraints in the new table having no + the corresponding objects in the new table having no comments.

    INCLUDING COMPRESSION

    Compression method of the columns will be copied. The default @@ -1479,4 +1480,4 @@

    PARTITION OF Clause

    The PARTITION OF clause is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createtableas.html postgresql-15-15.18/doc/src/sgml/html/sql-createtableas.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createtableas.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createtableas.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE TABLE AS

    CREATE TABLE AS

    CREATE TABLE AS — define a new table from the results of a query

    Synopsis

    +CREATE TABLE AS

    CREATE TABLE AS

    CREATE TABLE AS — define a new table from the results of a query

    Synopsis

     CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name
         [ (column_name [, ...] ) ]
         [ USING method ]
    @@ -145,4 +145,4 @@
           The PostgreSQL concept of tablespaces is not
           part of the standard.  Hence, the clause TABLESPACE
           is an extension.
    -     

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createtablespace.html postgresql-15-15.18/doc/src/sgml/html/sql-createtablespace.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createtablespace.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createtablespace.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE TABLESPACE

    CREATE TABLESPACE

    CREATE TABLESPACE — define a new tablespace

    Synopsis

    +CREATE TABLESPACE

    CREATE TABLESPACE

    CREATE TABLESPACE — define a new tablespace

    Synopsis

     CREATE TABLESPACE tablespace_name
         [ OWNER { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER } ]
         LOCATION 'directory'
    @@ -77,4 +77,4 @@
     

    Compatibility

    CREATE TABLESPACE is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createtransform.html postgresql-15-15.18/doc/src/sgml/html/sql-createtransform.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createtransform.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createtransform.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE TRANSFORM

    CREATE TRANSFORM

    CREATE TRANSFORM — define a new transform

    Synopsis

    +CREATE TRANSFORM

    CREATE TRANSFORM

    CREATE TRANSFORM — define a new transform

    Synopsis

     CREATE [ OR REPLACE ] TRANSFORM FOR type_name LANGUAGE lang_name (
         FROM SQL WITH FUNCTION from_sql_function_name [ (argument_type [, ...]) ],
         TO SQL WITH FUNCTION to_sql_function_name [ (argument_type [, ...]) ]
    @@ -103,4 +103,4 @@
        CREATE LANGUAGE,
        CREATE TYPE,
        DROP TRANSFORM
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createtrigger.html postgresql-15-15.18/doc/src/sgml/html/sql-createtrigger.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createtrigger.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createtrigger.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE TRIGGER

    CREATE TRIGGER

    CREATE TRIGGER — define a new trigger

    Synopsis

    +CREATE TRIGGER

    CREATE TRIGGER

    CREATE TRIGGER — define a new trigger

    Synopsis

     CREATE [ OR REPLACE ] [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] }
         ON table_name
         [ FROM referenced_table_name ]
    @@ -460,4 +460,4 @@
        PostgreSQL extension of the SQL
        standard.
        So is the OR REPLACE option.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createtsconfig.html postgresql-15-15.18/doc/src/sgml/html/sql-createtsconfig.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createtsconfig.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createtsconfig.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE TEXT SEARCH CONFIGURATION

    CREATE TEXT SEARCH CONFIGURATION

    CREATE TEXT SEARCH CONFIGURATION — define a new text search configuration

    Synopsis

    +CREATE TEXT SEARCH CONFIGURATION

    CREATE TEXT SEARCH CONFIGURATION

    CREATE TEXT SEARCH CONFIGURATION — define a new text search configuration

    Synopsis

     CREATE TEXT SEARCH CONFIGURATION name (
         PARSER = parser_name |
         COPY = source_config
    @@ -37,4 +37,4 @@
       

    Compatibility

    There is no CREATE TEXT SEARCH CONFIGURATION statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createtsdictionary.html postgresql-15-15.18/doc/src/sgml/html/sql-createtsdictionary.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createtsdictionary.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createtsdictionary.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE TEXT SEARCH DICTIONARY

    CREATE TEXT SEARCH DICTIONARY

    CREATE TEXT SEARCH DICTIONARY — define a new text search dictionary

    Synopsis

    +CREATE TEXT SEARCH DICTIONARY

    CREATE TEXT SEARCH DICTIONARY

    CREATE TEXT SEARCH DICTIONARY — define a new text search dictionary

    Synopsis

     CREATE TEXT SEARCH DICTIONARY name (
         TEMPLATE = template
         [, option = value [, ... ]]
    @@ -44,4 +44,4 @@
     

    Compatibility

    There is no CREATE TEXT SEARCH DICTIONARY statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createtsparser.html postgresql-15-15.18/doc/src/sgml/html/sql-createtsparser.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createtsparser.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createtsparser.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE TEXT SEARCH PARSER

    CREATE TEXT SEARCH PARSER

    CREATE TEXT SEARCH PARSER — define a new text search parser

    Synopsis

    +CREATE TEXT SEARCH PARSER

    CREATE TEXT SEARCH PARSER

    CREATE TEXT SEARCH PARSER — define a new text search parser

    Synopsis

     CREATE TEXT SEARCH PARSER name (
         START = start_function ,
         GETTOKEN = gettoken_function ,
    @@ -48,4 +48,4 @@
        There is no
        CREATE TEXT SEARCH PARSER statement in the SQL
        standard.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createtstemplate.html postgresql-15-15.18/doc/src/sgml/html/sql-createtstemplate.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createtstemplate.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createtstemplate.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE TEXT SEARCH TEMPLATE

    CREATE TEXT SEARCH TEMPLATE

    CREATE TEXT SEARCH TEMPLATE — define a new text search template

    Synopsis

    +CREATE TEXT SEARCH TEMPLATE

    CREATE TEXT SEARCH TEMPLATE

    CREATE TEXT SEARCH TEMPLATE — define a new text search template

    Synopsis

     CREATE TEXT SEARCH TEMPLATE name (
         [ INIT = init_function , ]
         LEXIZE = lexize_function
    @@ -42,4 +42,4 @@
        There is no
        CREATE TEXT SEARCH TEMPLATE statement in the SQL
        standard.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createtype.html postgresql-15-15.18/doc/src/sgml/html/sql-createtype.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createtype.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createtype.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE TYPE

    CREATE TYPE

    CREATE TYPE — define a new data type

    Synopsis

    +CREATE TYPE

    CREATE TYPE

    CREATE TYPE — define a new data type

    Synopsis

     CREATE TYPE name AS
         ( [ attribute_name data_type [ COLLATE collation ] [, ... ] ] )
     
    @@ -652,4 +652,4 @@
        The ability to create a composite type with zero attributes is
        a PostgreSQL-specific deviation from the
        standard (analogous to the same case in CREATE TABLE).
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createuser.html postgresql-15-15.18/doc/src/sgml/html/sql-createuser.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createuser.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createuser.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE USER

    CREATE USER

    CREATE USER — define a new database role

    Synopsis

    +CREATE USER

    CREATE USER

    CREATE USER — define a new database role

    Synopsis

     CREATE USER name [ [ WITH ] option [ ... ] ]
     
     where option can be:
    @@ -32,4 +32,4 @@
        The CREATE USER statement is a
        PostgreSQL extension.  The SQL standard
        leaves the definition of users to the implementation.
    -  

    See Also

    CREATE ROLE
    \ No newline at end of file +

    See Also

    CREATE ROLE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createusermapping.html postgresql-15-15.18/doc/src/sgml/html/sql-createusermapping.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createusermapping.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createusermapping.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE USER MAPPING

    CREATE USER MAPPING

    CREATE USER MAPPING — define a new mapping of a user to a foreign server

    Synopsis

    +CREATE USER MAPPING

    CREATE USER MAPPING

    CREATE USER MAPPING — define a new mapping of a user to a foreign server

    Synopsis

     CREATE USER MAPPING [ IF NOT EXISTS ] FOR { user_name | USER | CURRENT_ROLE | CURRENT_USER | PUBLIC }
         SERVER server_name
         [ OPTIONS ( option 'value' [ , ... ] ) ]
    @@ -39,4 +39,4 @@
     CREATE USER MAPPING FOR bob SERVER foo OPTIONS (user 'bob', password 'secret');
     

    Compatibility

    CREATE USER MAPPING conforms to ISO/IEC 9075-9 (SQL/MED). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-createview.html postgresql-15-15.18/doc/src/sgml/html/sql-createview.html --- postgresql-15-15.17/doc/src/sgml/html/sql-createview.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-createview.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -CREATE VIEW

    CREATE VIEW

    CREATE VIEW — define a new view

    Synopsis

    +CREATE VIEW

    CREATE VIEW

    CREATE VIEW — define a new view

    Synopsis

     CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] VIEW name [ ( column_name [, ...] ) ]
         [ WITH ( view_option_name [= view_option_value] [, ... ] ) ]
         AS query
    @@ -343,4 +343,4 @@
        So is the concept of a temporary view.
        The WITH ( ... ) clause is an extension as well, as are
        security barrier views and security invoker views.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-deallocate.html postgresql-15-15.18/doc/src/sgml/html/sql-deallocate.html --- postgresql-15-15.17/doc/src/sgml/html/sql-deallocate.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-deallocate.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DEALLOCATE

    DEALLOCATE

    DEALLOCATE — deallocate a prepared statement

    Synopsis

    +DEALLOCATE

    DEALLOCATE

    DEALLOCATE — deallocate a prepared statement

    Synopsis

     DEALLOCATE [ PREPARE ] { name | ALL }
     

    Description

    DEALLOCATE is used to deallocate a previously @@ -16,4 +16,4 @@

    Compatibility

    The SQL standard includes a DEALLOCATE statement, but it is only for use in embedded SQL. -

    See Also

    EXECUTE, PREPARE
    \ No newline at end of file +

    See Also

    EXECUTE, PREPARE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-declare.html postgresql-15-15.18/doc/src/sgml/html/sql-declare.html --- postgresql-15-15.17/doc/src/sgml/html/sql-declare.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-declare.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DECLARE

    DECLARE

    DECLARE — define a cursor

    Synopsis

    +DECLARE

    DECLARE

    DECLARE — define a cursor

    Synopsis

     DECLARE name [ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ]
         CURSOR [ { WITH | WITHOUT } HOLD ] FOR query
     

    Description

    @@ -197,4 +197,4 @@

    Binary cursors are a PostgreSQL extension. -

    See Also

    CLOSE, FETCH, MOVE
    \ No newline at end of file +

    See Also

    CLOSE, FETCH, MOVE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-delete.html postgresql-15-15.18/doc/src/sgml/html/sql-delete.html --- postgresql-15-15.17/doc/src/sgml/html/sql-delete.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-delete.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DELETE

    DELETE

    DELETE — delete rows of a table

    Synopsis

    +DELETE

    DELETE

    DELETE — delete rows of a table

    Synopsis

     [ WITH [ RECURSIVE ] with_query [, ...] ]
     DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ]
         [ USING from_item [, ...] ]
    @@ -142,4 +142,4 @@
        that the USING and RETURNING clauses
        are PostgreSQL extensions, as is the ability
        to use WITH with DELETE.
    -  

    See Also

    TRUNCATE
    \ No newline at end of file +

    See Also

    TRUNCATE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-discard.html postgresql-15-15.18/doc/src/sgml/html/sql-discard.html --- postgresql-15-15.17/doc/src/sgml/html/sql-discard.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-discard.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DISCARD

    DISCARD

    DISCARD — discard session state

    Synopsis

    +DISCARD

    DISCARD

    DISCARD — discard session state

    Synopsis

     DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }
     

    Description

    DISCARD releases internal resources associated with a @@ -38,4 +38,4 @@ DISCARD ALL cannot be executed inside a transaction block.

    Compatibility

    DISCARD is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-do.html postgresql-15-15.18/doc/src/sgml/html/sql-do.html --- postgresql-15-15.17/doc/src/sgml/html/sql-do.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-do.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DO

    DO

    DO — execute an anonymous code block

    Synopsis

    +DO

    DO

    DO — execute an anonymous code block

    Synopsis

     DO [ LANGUAGE lang_name ] code
     

    Description

    DO executes an anonymous code block, or in other @@ -46,4 +46,4 @@ END$$;

    Compatibility

    There is no DO statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-drop-access-method.html postgresql-15-15.18/doc/src/sgml/html/sql-drop-access-method.html --- postgresql-15-15.17/doc/src/sgml/html/sql-drop-access-method.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-drop-access-method.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP ACCESS METHOD

    DROP ACCESS METHOD

    DROP ACCESS METHOD — remove an access method

    Synopsis

    +DROP ACCESS METHOD

    DROP ACCESS METHOD

    DROP ACCESS METHOD — remove an access method

    Synopsis

     DROP ACCESS METHOD [ IF EXISTS ] name [ CASCADE | RESTRICT ]
     

    Description

    DROP ACCESS METHOD removes an existing access method. @@ -24,4 +24,4 @@

    Compatibility

    DROP ACCESS METHOD is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-drop-owned.html postgresql-15-15.18/doc/src/sgml/html/sql-drop-owned.html --- postgresql-15-15.17/doc/src/sgml/html/sql-drop-owned.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-drop-owned.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP OWNED

    DROP OWNED

    DROP OWNED — remove database objects owned by a database role

    Synopsis

    +DROP OWNED

    DROP OWNED

    DROP OWNED — remove database objects owned by a database role

    Synopsis

     DROP OWNED BY { name | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP OWNED drops all the objects within the current @@ -38,4 +38,4 @@

    Compatibility

    The DROP OWNED command is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropaggregate.html postgresql-15-15.18/doc/src/sgml/html/sql-dropaggregate.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropaggregate.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropaggregate.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP AGGREGATE

    DROP AGGREGATE

    DROP AGGREGATE — remove an aggregate function

    Synopsis

    +DROP AGGREGATE

    DROP AGGREGATE

    DROP AGGREGATE — remove an aggregate function

    Synopsis

     DROP AGGREGATE [ IF EXISTS ] name ( aggregate_signature ) [, ...] [ CASCADE | RESTRICT ]
     
     where aggregate_signature is:
    @@ -62,4 +62,4 @@
     

    Compatibility

    There is no DROP AGGREGATE statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropcast.html postgresql-15-15.18/doc/src/sgml/html/sql-dropcast.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropcast.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropcast.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP CAST

    DROP CAST

    DROP CAST — remove a cast

    Synopsis

    +DROP CAST

    DROP CAST

    DROP CAST — remove a cast

    Synopsis

     DROP CAST [ IF EXISTS ] (source_type AS target_type) [ CASCADE | RESTRICT ]
     

    Description

    DROP CAST removes a previously defined cast. @@ -23,4 +23,4 @@ DROP CAST (text AS int);

    Compatibility

    The DROP CAST command conforms to the SQL standard. -

    See Also

    CREATE CAST
    \ No newline at end of file +

    See Also

    CREATE CAST
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropcollation.html postgresql-15-15.18/doc/src/sgml/html/sql-dropcollation.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropcollation.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropcollation.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP COLLATION

    DROP COLLATION

    DROP COLLATION — remove a collation

    Synopsis

    +DROP COLLATION

    DROP COLLATION

    DROP COLLATION — remove a collation

    Synopsis

     DROP COLLATION [ IF EXISTS ] name [ CASCADE | RESTRICT ]
     

    Description

    DROP COLLATION removes a previously defined collation. @@ -25,4 +25,4 @@ The DROP COLLATION command conforms to the SQL standard, apart from the IF EXISTS option, which is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropconversion.html postgresql-15-15.18/doc/src/sgml/html/sql-dropconversion.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropconversion.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropconversion.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP CONVERSION

    DROP CONVERSION

    DROP CONVERSION — remove a conversion

    Synopsis

    +DROP CONVERSION

    DROP CONVERSION

    DROP CONVERSION — remove a conversion

    Synopsis

     DROP CONVERSION [ IF EXISTS ] name [ CASCADE | RESTRICT ]
     

    Description

    DROP CONVERSION removes a previously defined conversion. @@ -23,4 +23,4 @@ goes along with the CREATE TRANSLATION statement that is similar to the CREATE CONVERSION statement in PostgreSQL. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropdatabase.html postgresql-15-15.18/doc/src/sgml/html/sql-dropdatabase.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropdatabase.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropdatabase.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP DATABASE

    DROP DATABASE

    DROP DATABASE — remove a database

    Synopsis

    +DROP DATABASE

    DROP DATABASE

    DROP DATABASE — remove a database

    Synopsis

     DROP DATABASE [ IF EXISTS ] name [ [ WITH ] ( option [, ...] ) ]
     
     where option can be:
    @@ -41,4 +41,4 @@
        which is a wrapper around this command.
       

    Compatibility

    There is no DROP DATABASE statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropdomain.html postgresql-15-15.18/doc/src/sgml/html/sql-dropdomain.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropdomain.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropdomain.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP DOMAIN

    DROP DOMAIN

    DROP DOMAIN — remove a domain

    Synopsis

    +DROP DOMAIN

    DROP DOMAIN

    DROP DOMAIN — remove a domain

    Synopsis

     DROP DOMAIN [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP DOMAIN removes a domain. Only the owner of @@ -26,4 +26,4 @@ This command conforms to the SQL standard, except for the IF EXISTS option, which is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropeventtrigger.html postgresql-15-15.18/doc/src/sgml/html/sql-dropeventtrigger.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropeventtrigger.html 2026-02-23 22:14:34.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropeventtrigger.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP EVENT TRIGGER

    DROP EVENT TRIGGER

    DROP EVENT TRIGGER — remove an event trigger

    Synopsis

    +DROP EVENT TRIGGER

    DROP EVENT TRIGGER

    DROP EVENT TRIGGER — remove an event trigger

    Synopsis

     DROP EVENT TRIGGER [ IF EXISTS ] name [ CASCADE | RESTRICT ]
     

    Description

    DROP EVENT TRIGGER removes an existing event trigger. @@ -25,4 +25,4 @@

    Compatibility

    There is no DROP EVENT TRIGGER statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropextension.html postgresql-15-15.18/doc/src/sgml/html/sql-dropextension.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropextension.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropextension.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP EXTENSION

    DROP EXTENSION

    DROP EXTENSION — remove an extension

    Synopsis

    +DROP EXTENSION

    DROP EXTENSION

    DROP EXTENSION — remove an extension

    Synopsis

     DROP EXTENSION [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP EXTENSION removes extensions from the database. @@ -35,4 +35,4 @@

    Compatibility

    DROP EXTENSION is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropforeigndatawrapper.html postgresql-15-15.18/doc/src/sgml/html/sql-dropforeigndatawrapper.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropforeigndatawrapper.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropforeigndatawrapper.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP FOREIGN DATA WRAPPER

    DROP FOREIGN DATA WRAPPER

    DROP FOREIGN DATA WRAPPER — remove a foreign-data wrapper

    Synopsis

    +DROP FOREIGN DATA WRAPPER

    DROP FOREIGN DATA WRAPPER

    DROP FOREIGN DATA WRAPPER — remove a foreign-data wrapper

    Synopsis

     DROP FOREIGN DATA WRAPPER [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP FOREIGN DATA WRAPPER removes an existing @@ -26,4 +26,4 @@ DROP FOREIGN DATA WRAPPER conforms to ISO/IEC 9075-9 (SQL/MED). The IF EXISTS clause is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropforeigntable.html postgresql-15-15.18/doc/src/sgml/html/sql-dropforeigntable.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropforeigntable.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropforeigntable.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP FOREIGN TABLE

    DROP FOREIGN TABLE

    DROP FOREIGN TABLE — remove a foreign table

    Synopsis

    +DROP FOREIGN TABLE

    DROP FOREIGN TABLE

    DROP FOREIGN TABLE — remove a foreign table

    Synopsis

     DROP FOREIGN TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP FOREIGN TABLE removes a foreign table. @@ -27,4 +27,4 @@ standard only allows one foreign table to be dropped per command, and apart from the IF EXISTS option, which is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropfunction.html postgresql-15-15.18/doc/src/sgml/html/sql-dropfunction.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropfunction.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropfunction.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP FUNCTION

    DROP FUNCTION

    DROP FUNCTION — remove a function

    Synopsis

    +DROP FUNCTION

    DROP FUNCTION

    DROP FUNCTION — remove a function

    Synopsis

     DROP FUNCTION [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...]
         [ CASCADE | RESTRICT ]
     

    Description

    @@ -64,4 +64,4 @@

    Compatibility

    This command conforms to the SQL standard, with these PostgreSQL extensions: -

    • The standard only allows one function to be dropped per command.

    • The IF EXISTS option

    • The ability to specify argument modes and names

    \ No newline at end of file +

    • The standard only allows one function to be dropped per command.

    • The IF EXISTS option

    • The ability to specify argument modes and names

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropgroup.html postgresql-15-15.18/doc/src/sgml/html/sql-dropgroup.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropgroup.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropgroup.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,9 +1,9 @@ -DROP GROUP

    DROP GROUP

    DROP GROUP — remove a database role

    Synopsis

    +DROP GROUP

    DROP GROUP

    DROP GROUP — remove a database role

    Synopsis

     DROP GROUP [ IF EXISTS ] name [, ...]
     

    Description

    DROP GROUP is now an alias for DROP ROLE.

    Compatibility

    There is no DROP GROUP statement in the SQL standard. -

    See Also

    DROP ROLE
    \ No newline at end of file +

    See Also

    DROP ROLE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropindex.html postgresql-15-15.18/doc/src/sgml/html/sql-dropindex.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropindex.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropindex.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP INDEX

    DROP INDEX

    DROP INDEX — remove an index

    Synopsis

    +DROP INDEX

    DROP INDEX

    DROP INDEX — remove an index

    Synopsis

     DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP INDEX drops an existing index from the database @@ -47,4 +47,4 @@ DROP INDEX is a PostgreSQL language extension. There are no provisions for indexes in the SQL standard. -

    See Also

    CREATE INDEX
    \ No newline at end of file +

    See Also

    CREATE INDEX
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droplanguage.html postgresql-15-15.18/doc/src/sgml/html/sql-droplanguage.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droplanguage.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droplanguage.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP LANGUAGE

    DROP LANGUAGE

    DROP LANGUAGE — remove a procedural language

    Synopsis

    +DROP LANGUAGE

    DROP LANGUAGE

    DROP LANGUAGE — remove a procedural language

    Synopsis

     DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] name [ CASCADE | RESTRICT ]
     

    Description

    DROP LANGUAGE removes the definition of a @@ -32,4 +32,4 @@

    Compatibility

    There is no DROP LANGUAGE statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropmaterializedview.html postgresql-15-15.18/doc/src/sgml/html/sql-dropmaterializedview.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropmaterializedview.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropmaterializedview.html 2026-05-11 20:02:46.000000000 +0000 @@ -1,5 +1,5 @@ -DROP MATERIALIZED VIEW

    DROP MATERIALIZED VIEW

    DROP MATERIALIZED VIEW — remove a materialized view

    Synopsis

    +DROP MATERIALIZED VIEW

    DROP MATERIALIZED VIEW

    DROP MATERIALIZED VIEW — remove a materialized view

    Synopsis

     DROP MATERIALIZED VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP MATERIALIZED VIEW drops an existing materialized @@ -27,4 +27,4 @@

    Compatibility

    DROP MATERIALIZED VIEW is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropopclass.html postgresql-15-15.18/doc/src/sgml/html/sql-dropopclass.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropopclass.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropopclass.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP OPERATOR CLASS

    DROP OPERATOR CLASS

    DROP OPERATOR CLASS — remove an operator class

    Synopsis

    +DROP OPERATOR CLASS

    DROP OPERATOR CLASS

    DROP OPERATOR CLASS — remove an operator class

    Synopsis

     DROP OPERATOR CLASS [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]
     

    Description

    DROP OPERATOR CLASS drops an existing operator class. @@ -44,4 +44,4 @@

    Compatibility

    There is no DROP OPERATOR CLASS statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropoperator.html postgresql-15-15.18/doc/src/sgml/html/sql-dropoperator.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropoperator.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropoperator.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP OPERATOR

    DROP OPERATOR

    DROP OPERATOR — remove an operator

    Synopsis

    +DROP OPERATOR

    DROP OPERATOR

    DROP OPERATOR — remove an operator

    Synopsis

     DROP OPERATOR [ IF EXISTS ] name ( { left_type | NONE } , right_type ) [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP OPERATOR drops an existing operator from @@ -39,4 +39,4 @@ DROP OPERATOR ~ (none, bit), ^ (integer, integer);

    Compatibility

    There is no DROP OPERATOR statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropopfamily.html postgresql-15-15.18/doc/src/sgml/html/sql-dropopfamily.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropopfamily.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropopfamily.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP OPERATOR FAMILY

    DROP OPERATOR FAMILY

    DROP OPERATOR FAMILY — remove an operator family

    Synopsis

    +DROP OPERATOR FAMILY

    DROP OPERATOR FAMILY

    DROP OPERATOR FAMILY — remove an operator family

    Synopsis

     DROP OPERATOR FAMILY [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]
     

    Description

    DROP OPERATOR FAMILY drops an existing operator family. @@ -37,4 +37,4 @@

    Compatibility

    There is no DROP OPERATOR FAMILY statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droppolicy.html postgresql-15-15.18/doc/src/sgml/html/sql-droppolicy.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droppolicy.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droppolicy.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP POLICY

    DROP POLICY

    DROP POLICY — remove a row-level security policy from a table

    Synopsis

    +DROP POLICY

    DROP POLICY

    DROP POLICY — remove a row-level security policy from a table

    Synopsis

     DROP POLICY [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]
     

    Description

    DROP POLICY removes the specified policy from the table. @@ -27,4 +27,4 @@ DROP POLICY p1 ON my_table;

    Compatibility

    DROP POLICY is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropprocedure.html postgresql-15-15.18/doc/src/sgml/html/sql-dropprocedure.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropprocedure.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropprocedure.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP PROCEDURE

    DROP PROCEDURE

    DROP PROCEDURE — remove a procedure

    Synopsis

    +DROP PROCEDURE

    DROP PROCEDURE

    DROP PROCEDURE — remove a procedure

    Synopsis

     DROP PROCEDURE [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...]
         [ CASCADE | RESTRICT ]
     

    Description

    @@ -93,4 +93,4 @@ This command conforms to the SQL standard, with these PostgreSQL extensions:

    • The standard only allows one procedure to be dropped per command.

    • The IF EXISTS option is an extension.

    • The ability to specify argument modes and names is an - extension, and the lookup rules differ when modes are given.

    \ No newline at end of file + extension, and the lookup rules differ when modes are given.

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droppublication.html postgresql-15-15.18/doc/src/sgml/html/sql-droppublication.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droppublication.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droppublication.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP PUBLICATION

    DROP PUBLICATION

    DROP PUBLICATION — remove a publication

    Synopsis

    +DROP PUBLICATION

    DROP PUBLICATION

    DROP PUBLICATION — remove a publication

    Synopsis

     DROP PUBLICATION [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP PUBLICATION removes an existing publication from @@ -21,4 +21,4 @@

    Compatibility

    DROP PUBLICATION is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droprole.html postgresql-15-15.18/doc/src/sgml/html/sql-droprole.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droprole.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droprole.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP ROLE

    DROP ROLE

    DROP ROLE — remove a database role

    Synopsis

    +DROP ROLE

    DROP ROLE

    DROP ROLE — remove a database role

    Synopsis

     DROP ROLE [ IF EXISTS ] name [, ...]
     

    Description

    DROP ROLE removes the specified role(s). @@ -38,4 +38,4 @@ The SQL standard defines DROP ROLE, but it allows only one role to be dropped at a time, and it specifies different privilege requirements than PostgreSQL uses. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droproutine.html postgresql-15-15.18/doc/src/sgml/html/sql-droproutine.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droproutine.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droproutine.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP ROUTINE

    DROP ROUTINE

    DROP ROUTINE — remove a routine

    Synopsis

    +DROP ROUTINE

    DROP ROUTINE

    DROP ROUTINE — remove a routine

    Synopsis

     DROP ROUTINE [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...]
         [ CASCADE | RESTRICT ]
     

    Description

    @@ -42,4 +42,4 @@

    • The standard only allows one routine to be dropped per command.

    • The IF EXISTS option is an extension.

    • The ability to specify argument modes and names is an extension, and the lookup rules differ when modes are given.

    • User-definable aggregate functions are an extension.

    See Also

    DROP AGGREGATE, DROP FUNCTION, DROP PROCEDURE, ALTER ROUTINE

    Note that there is no CREATE ROUTINE command. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droprule.html postgresql-15-15.18/doc/src/sgml/html/sql-droprule.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droprule.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droprule.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP RULE

    DROP RULE

    DROP RULE — remove a rewrite rule

    Synopsis

    +DROP RULE

    DROP RULE

    DROP RULE — remove a rewrite rule

    Synopsis

     DROP RULE [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]
     

    Description

    DROP RULE drops a rewrite rule. @@ -27,4 +27,4 @@ DROP RULE is a PostgreSQL language extension, as is the entire query rewrite system. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropschema.html postgresql-15-15.18/doc/src/sgml/html/sql-dropschema.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropschema.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropschema.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP SCHEMA

    DROP SCHEMA

    DROP SCHEMA — remove a schema

    Synopsis

    +DROP SCHEMA

    DROP SCHEMA

    DROP SCHEMA — remove a schema

    Synopsis

     DROP SCHEMA [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP SCHEMA removes schemas from the database. @@ -35,4 +35,4 @@ dropped per command, and apart from the IF EXISTS option, which is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropsequence.html postgresql-15-15.18/doc/src/sgml/html/sql-dropsequence.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropsequence.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropsequence.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP SEQUENCE

    DROP SEQUENCE

    DROP SEQUENCE — remove a sequence

    Synopsis

    +DROP SEQUENCE

    DROP SEQUENCE

    DROP SEQUENCE — remove a sequence

    Synopsis

     DROP SEQUENCE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP SEQUENCE removes sequence number @@ -27,4 +27,4 @@ sequence to be dropped per command, and apart from the IF EXISTS option, which is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropserver.html postgresql-15-15.18/doc/src/sgml/html/sql-dropserver.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropserver.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropserver.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP SERVER

    DROP SERVER

    DROP SERVER — remove a foreign server descriptor

    Synopsis

    +DROP SERVER

    DROP SERVER

    DROP SERVER — remove a foreign server descriptor

    Synopsis

     DROP SERVER [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP SERVER removes an existing foreign server @@ -26,4 +26,4 @@ DROP SERVER conforms to ISO/IEC 9075-9 (SQL/MED). The IF EXISTS clause is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropstatistics.html postgresql-15-15.18/doc/src/sgml/html/sql-dropstatistics.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropstatistics.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropstatistics.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP STATISTICS

    DROP STATISTICS

    DROP STATISTICS — remove extended statistics

    Synopsis

    +DROP STATISTICS

    DROP STATISTICS

    DROP STATISTICS — remove extended statistics

    Synopsis

     DROP STATISTICS [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP STATISTICS removes statistics object(s) from the @@ -23,4 +23,4 @@ public.grants_user_role;

    Compatibility

    There is no DROP STATISTICS command in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropsubscription.html postgresql-15-15.18/doc/src/sgml/html/sql-dropsubscription.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropsubscription.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropsubscription.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP SUBSCRIPTION

    DROP SUBSCRIPTION

    DROP SUBSCRIPTION — remove a subscription

    Synopsis

    +DROP SUBSCRIPTION

    DROP SUBSCRIPTION

    DROP SUBSCRIPTION — remove a subscription

    Synopsis

     DROP SUBSCRIPTION [ IF EXISTS ] name [ CASCADE | RESTRICT ]
     

    Description

    DROP SUBSCRIPTION removes a subscription from the @@ -11,7 +11,10 @@ transaction block if the subscription is associated with a replication slot. (You can use ALTER SUBSCRIPTION to unset the slot.) -

    Parameters

    name

    +

    Parameters

    IF EXISTS

    + Do not throw an error if the subscription does not exist. A notice is + issued in this case. +

    name

    The name of a subscription to be dropped.

    CASCADE
    RESTRICT

    These key words do not have any effect, since there are no dependencies @@ -46,4 +49,4 @@

    Compatibility

    DROP SUBSCRIPTION is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droptable.html postgresql-15-15.18/doc/src/sgml/html/sql-droptable.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droptable.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droptable.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP TABLE

    DROP TABLE

    DROP TABLE — remove a table

    Synopsis

    +DROP TABLE

    DROP TABLE

    DROP TABLE — remove a table

    Synopsis

     DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP TABLE removes tables from the database. @@ -39,4 +39,4 @@ allows one table to be dropped per command, and apart from the IF EXISTS option, which is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droptablespace.html postgresql-15-15.18/doc/src/sgml/html/sql-droptablespace.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droptablespace.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droptablespace.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP TABLESPACE

    DROP TABLESPACE

    DROP TABLESPACE — remove a tablespace

    Synopsis

    +DROP TABLESPACE

    DROP TABLESPACE

    DROP TABLESPACE — remove a tablespace

    Synopsis

     DROP TABLESPACE [ IF EXISTS ] name
     

    Description

    DROP TABLESPACE removes a tablespace from the system. @@ -25,4 +25,4 @@

    Compatibility

    DROP TABLESPACE is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droptransform.html postgresql-15-15.18/doc/src/sgml/html/sql-droptransform.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droptransform.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droptransform.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP TRANSFORM

    DROP TRANSFORM

    DROP TRANSFORM — remove a transform

    Synopsis

    +DROP TRANSFORM

    DROP TRANSFORM

    DROP TRANSFORM — remove a transform

    Synopsis

     DROP TRANSFORM [ IF EXISTS ] FOR type_name LANGUAGE lang_name [ CASCADE | RESTRICT ]
     

    Description

    DROP TRANSFORM removes a previously defined transform. @@ -28,4 +28,4 @@

    Compatibility

    This form of DROP TRANSFORM is a PostgreSQL extension. See CREATE TRANSFORM for details. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droptrigger.html postgresql-15-15.18/doc/src/sgml/html/sql-droptrigger.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droptrigger.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droptrigger.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP TRIGGER

    DROP TRIGGER

    DROP TRIGGER — remove a trigger

    Synopsis

    +DROP TRIGGER

    DROP TRIGGER

    DROP TRIGGER — remove a trigger

    Synopsis

     DROP TRIGGER [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]
     

    Description

    DROP TRIGGER removes an existing @@ -32,4 +32,4 @@ standard. In the SQL standard, trigger names are not local to tables, so the command is simply DROP TRIGGER name. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droptsconfig.html postgresql-15-15.18/doc/src/sgml/html/sql-droptsconfig.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droptsconfig.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droptsconfig.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP TEXT SEARCH CONFIGURATION

    DROP TEXT SEARCH CONFIGURATION

    DROP TEXT SEARCH CONFIGURATION — remove a text search configuration

    Synopsis

    +DROP TEXT SEARCH CONFIGURATION

    DROP TEXT SEARCH CONFIGURATION

    DROP TEXT SEARCH CONFIGURATION — remove a text search configuration

    Synopsis

     DROP TEXT SEARCH CONFIGURATION [ IF EXISTS ] name [ CASCADE | RESTRICT ]
     

    Description

    DROP TEXT SEARCH CONFIGURATION drops an existing text @@ -32,4 +32,4 @@

    Compatibility

    There is no DROP TEXT SEARCH CONFIGURATION statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droptsdictionary.html postgresql-15-15.18/doc/src/sgml/html/sql-droptsdictionary.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droptsdictionary.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droptsdictionary.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP TEXT SEARCH DICTIONARY

    DROP TEXT SEARCH DICTIONARY

    DROP TEXT SEARCH DICTIONARY — remove a text search dictionary

    Synopsis

    +DROP TEXT SEARCH DICTIONARY

    DROP TEXT SEARCH DICTIONARY

    DROP TEXT SEARCH DICTIONARY — remove a text search dictionary

    Synopsis

     DROP TEXT SEARCH DICTIONARY [ IF EXISTS ] name [ CASCADE | RESTRICT ]
     

    Description

    DROP TEXT SEARCH DICTIONARY drops an existing text @@ -31,4 +31,4 @@

    Compatibility

    There is no DROP TEXT SEARCH DICTIONARY statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droptsparser.html postgresql-15-15.18/doc/src/sgml/html/sql-droptsparser.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droptsparser.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droptsparser.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP TEXT SEARCH PARSER

    DROP TEXT SEARCH PARSER

    DROP TEXT SEARCH PARSER — remove a text search parser

    Synopsis

    +DROP TEXT SEARCH PARSER

    DROP TEXT SEARCH PARSER

    DROP TEXT SEARCH PARSER — remove a text search parser

    Synopsis

     DROP TEXT SEARCH PARSER [ IF EXISTS ] name [ CASCADE | RESTRICT ]
     

    Description

    DROP TEXT SEARCH PARSER drops an existing text search @@ -29,4 +29,4 @@

    Compatibility

    There is no DROP TEXT SEARCH PARSER statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droptstemplate.html postgresql-15-15.18/doc/src/sgml/html/sql-droptstemplate.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droptstemplate.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droptstemplate.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP TEXT SEARCH TEMPLATE

    DROP TEXT SEARCH TEMPLATE

    DROP TEXT SEARCH TEMPLATE — remove a text search template

    Synopsis

    +DROP TEXT SEARCH TEMPLATE

    DROP TEXT SEARCH TEMPLATE

    DROP TEXT SEARCH TEMPLATE — remove a text search template

    Synopsis

     DROP TEXT SEARCH TEMPLATE [ IF EXISTS ] name [ CASCADE | RESTRICT ]
     

    Description

    DROP TEXT SEARCH TEMPLATE drops an existing text search @@ -30,4 +30,4 @@

    Compatibility

    There is no DROP TEXT SEARCH TEMPLATE statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-droptype.html postgresql-15-15.18/doc/src/sgml/html/sql-droptype.html --- postgresql-15-15.17/doc/src/sgml/html/sql-droptype.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-droptype.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP TYPE

    DROP TYPE

    DROP TYPE — remove a data type

    Synopsis

    +DROP TYPE

    DROP TYPE

    DROP TYPE — remove a data type

    Synopsis

     DROP TYPE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP TYPE removes a user-defined data type. @@ -28,4 +28,4 @@ But note that much of the CREATE TYPE command and the data type extension mechanisms in PostgreSQL differ from the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropuser.html postgresql-15-15.18/doc/src/sgml/html/sql-dropuser.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropuser.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropuser.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP USER

    DROP USER

    DROP USER — remove a database role

    Synopsis

    +DROP USER

    DROP USER

    DROP USER — remove a database role

    Synopsis

     DROP USER [ IF EXISTS ] name [, ...]
     

    Description

    DROP USER is simply an alternate spelling of @@ -8,4 +8,4 @@ The DROP USER statement is a PostgreSQL extension. The SQL standard leaves the definition of users to the implementation. -

    See Also

    DROP ROLE
    \ No newline at end of file +

    See Also

    DROP ROLE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropusermapping.html postgresql-15-15.18/doc/src/sgml/html/sql-dropusermapping.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropusermapping.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropusermapping.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP USER MAPPING

    DROP USER MAPPING

    DROP USER MAPPING — remove a user mapping for a foreign server

    Synopsis

    +DROP USER MAPPING

    DROP USER MAPPING

    DROP USER MAPPING — remove a user mapping for a foreign server

    Synopsis

     DROP USER MAPPING [ IF EXISTS ] FOR { user_name | USER | CURRENT_ROLE | CURRENT_USER | PUBLIC } SERVER server_name
     

    Description

    DROP USER MAPPING removes an existing user @@ -27,4 +27,4 @@ DROP USER MAPPING conforms to ISO/IEC 9075-9 (SQL/MED). The IF EXISTS clause is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-dropview.html postgresql-15-15.18/doc/src/sgml/html/sql-dropview.html --- postgresql-15-15.17/doc/src/sgml/html/sql-dropview.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-dropview.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -DROP VIEW

    DROP VIEW

    DROP VIEW — remove a view

    Synopsis

    +DROP VIEW

    DROP VIEW

    DROP VIEW — remove a view

    Synopsis

     DROP VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
     

    Description

    DROP VIEW drops an existing view. To execute @@ -26,4 +26,4 @@ allows one view to be dropped per command, and apart from the IF EXISTS option, which is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-end.html postgresql-15-15.18/doc/src/sgml/html/sql-end.html --- postgresql-15-15.17/doc/src/sgml/html/sql-end.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-end.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -END

    END

    END — commit the current transaction

    Synopsis

    +END

    END

    END — commit the current transaction

    Synopsis

     END [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
     

    Description

    END commits the current transaction. All changes @@ -27,4 +27,4 @@ END is a PostgreSQL extension that provides functionality equivalent to COMMIT, which is specified in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-execute.html postgresql-15-15.18/doc/src/sgml/html/sql-execute.html --- postgresql-15-15.17/doc/src/sgml/html/sql-execute.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-execute.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -EXECUTE

    EXECUTE

    EXECUTE — execute a prepared statement

    Synopsis

    +EXECUTE

    EXECUTE

    EXECUTE — execute a prepared statement

    Synopsis

     EXECUTE name [ ( parameter [, ...] ) ]
     

    Description

    EXECUTE is used to execute a previously prepared @@ -35,4 +35,4 @@ but it is only for use in embedded SQL. This version of the EXECUTE statement also uses a somewhat different syntax. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-explain.html postgresql-15-15.18/doc/src/sgml/html/sql-explain.html --- postgresql-15-15.17/doc/src/sgml/html/sql-explain.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-explain.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -EXPLAIN

    EXPLAIN

    EXPLAIN — show the execution plan of a statement

    Synopsis

    +EXPLAIN

    EXPLAIN

    EXPLAIN — show the execution plan of a statement

    Synopsis

     EXPLAIN [ ( option [, ...] ) ] statement
     EXPLAIN [ ANALYZE ] [ VERBOSE ] statement
     
    @@ -303,4 +303,4 @@
        in the table has not changed.
       

    Compatibility

    There is no EXPLAIN statement defined in the SQL standard. -

    See Also

    ANALYZE
    \ No newline at end of file +

    See Also

    ANALYZE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-expressions.html postgresql-15-15.18/doc/src/sgml/html/sql-expressions.html --- postgresql-15-15.17/doc/src/sgml/html/sql-expressions.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-expressions.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -4.2. Value Expressions \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-fetch.html postgresql-15-15.18/doc/src/sgml/html/sql-fetch.html --- postgresql-15-15.17/doc/src/sgml/html/sql-fetch.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-fetch.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -FETCH

    FETCH

    FETCH — retrieve rows from a query using a cursor

    Synopsis

    +FETCH

    FETCH

    FETCH — retrieve rows from a query using a cursor

    Synopsis

     FETCH [ direction ] [ FROM | IN ] cursor_name
     
     where direction can be one of:
    @@ -187,4 +187,4 @@
        The SQL standard allows only FROM preceding the cursor
        name; the option to use IN, or to leave them out altogether, is
        an extension.
    -  

    See Also

    CLOSE, DECLARE, MOVE
    \ No newline at end of file +

    See Also

    CLOSE, DECLARE, MOVE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-grant.html postgresql-15-15.18/doc/src/sgml/html/sql-grant.html --- postgresql-15-15.17/doc/src/sgml/html/sql-grant.html 2026-02-23 22:14:35.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-grant.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -GRANT

    GRANT

    GRANT — define access privileges

    Synopsis

    +GRANT

    GRANT

    GRANT — define access privileges

    Synopsis

     GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
         [, ...] | ALL [ PRIVILEGES ] }
         ON { [ TABLE ] table_name [, ...]
    @@ -315,4 +315,4 @@
         Privileges on databases, tablespaces, schemas, languages, and
         configuration parameters are
         PostgreSQL extensions.
    -   

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-importforeignschema.html postgresql-15-15.18/doc/src/sgml/html/sql-importforeignschema.html --- postgresql-15-15.17/doc/src/sgml/html/sql-importforeignschema.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-importforeignschema.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -IMPORT FOREIGN SCHEMA

    IMPORT FOREIGN SCHEMA

    IMPORT FOREIGN SCHEMA — import table definitions from a foreign server

    Synopsis

    +IMPORT FOREIGN SCHEMA

    IMPORT FOREIGN SCHEMA

    IMPORT FOREIGN SCHEMA — import table definitions from a foreign server

    Synopsis

     IMPORT FOREIGN SCHEMA remote_schema
         [ { LIMIT TO | EXCEPT } ( table_name [, ...] ) ]
         FROM SERVER server_name
    @@ -57,4 +57,4 @@
        The IMPORT FOREIGN SCHEMA command conforms to the
        SQL standard, except that the OPTIONS
        clause is a PostgreSQL extension.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-insert.html postgresql-15-15.18/doc/src/sgml/html/sql-insert.html --- postgresql-15-15.17/doc/src/sgml/html/sql-insert.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-insert.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -INSERT

    INSERT

    INSERT — create new rows in a table

    Synopsis

    +INSERT

    INSERT

    INSERT — create new rows in a table

    Synopsis

     [ WITH [ RECURSIVE ] with_query [, ...] ]
     INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ]
         [ OVERRIDING { SYSTEM | USER } VALUE ]
    @@ -493,4 +493,4 @@
       

    Possible limitations of the query clause are documented under SELECT. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-keywords-appendix.html postgresql-15-15.18/doc/src/sgml/html/sql-keywords-appendix.html --- postgresql-15-15.17/doc/src/sgml/html/sql-keywords-appendix.html 2026-02-23 22:14:43.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-keywords-appendix.html 2026-05-11 20:02:55.000000000 +0000 @@ -1,8 +1,8 @@ -Appendix C. SQL Key Words

    Appendix C. SQL Key Words

    +Appendix C. SQL Key Words

    Appendix C. SQL Key Words

    Table C.1 lists all tokens that are key words in the SQL standard and in PostgreSQL - 15.17. Background information can be found in Section 4.1.1. + 15.18. Background information can be found in Section 4.1.1. (For space reasons, only the latest two versions of the SQL standard, and SQL-92 for historical comparison, are included. The differences between those and the other intermediate standard versions are small.) @@ -60,4 +60,4 @@ reserved in PostgreSQL does not mean that the feature related to the word is not implemented. Conversely, the presence of a key word does not indicate the existence of a feature. -

    Table C.1. SQL Key Words

    Key WordPostgreSQLSQL:2016SQL:2011SQL-92
    A non-reservednon-reserved 
    ABORTnon-reserved   
    ABS reservedreserved 
    ABSENT reservednon-reserved 
    ABSOLUTEnon-reservednon-reservednon-reservedreserved
    ACCESSnon-reserved   
    ACCORDING non-reservednon-reserved 
    ACOS reserved  
    ACTIONnon-reservednon-reservednon-reservedreserved
    ADA non-reservednon-reservednon-reserved
    ADDnon-reservednon-reservednon-reservedreserved
    ADMINnon-reservednon-reservednon-reserved 
    AFTERnon-reservednon-reservednon-reserved 
    AGGREGATEnon-reserved   
    ALLreservedreservedreservedreserved
    ALLOCATE reservedreservedreserved
    ALSOnon-reserved   
    ALTERnon-reservedreservedreservedreserved
    ALWAYSnon-reservednon-reservednon-reserved 
    ANALYSEreserved   
    ANALYZEreserved   
    ANDreservedreservedreservedreserved
    ANYreservedreservedreservedreserved
    ARE reservedreservedreserved
    ARRAYreserved, requires ASreservedreserved 
    ARRAY_AGG reservedreserved 
    ARRAY_​MAX_​CARDINALITY reservedreserved 
    ASreserved, requires ASreservedreservedreserved
    ASCreservednon-reservednon-reservedreserved
    ASENSITIVEnon-reservedreservedreserved 
    ASIN reserved  
    ASSERTIONnon-reservednon-reservednon-reservedreserved
    ASSIGNMENTnon-reservednon-reservednon-reserved 
    ASYMMETRICreservedreservedreserved 
    ATnon-reservedreservedreservedreserved
    ATAN reserved  
    ATOMICnon-reservedreservedreserved 
    ATTACHnon-reserved   
    ATTRIBUTEnon-reservednon-reservednon-reserved 
    ATTRIBUTES non-reservednon-reserved 
    AUTHORIZATIONreserved (can be function or type)reservedreservedreserved
    AVG reservedreservedreserved
    BACKWARDnon-reserved   
    BASE64 non-reservednon-reserved 
    BEFOREnon-reservednon-reservednon-reserved 
    BEGINnon-reservedreservedreservedreserved
    BEGIN_FRAME reservedreserved 
    BEGIN_PARTITION reservedreserved 
    BERNOULLI non-reservednon-reserved 
    BETWEENnon-reserved (cannot be function or type)reservedreservedreserved
    BIGINTnon-reserved (cannot be function or type)reservedreserved 
    BINARYreserved (can be function or type)reservedreserved 
    BITnon-reserved (cannot be function or type)  reserved
    BIT_LENGTH   reserved
    BLOB reservedreserved 
    BLOCKED non-reservednon-reserved 
    BOM non-reservednon-reserved 
    BOOLEANnon-reserved (cannot be function or type)reservedreserved 
    BOTHreservedreservedreservedreserved
    BREADTHnon-reservednon-reservednon-reserved 
    BYnon-reservedreservedreservedreserved
    C non-reservednon-reservednon-reserved
    CACHEnon-reserved   
    CALLnon-reservedreservedreserved 
    CALLEDnon-reservedreservedreserved 
    CARDINALITY reservedreserved 
    CASCADEnon-reservednon-reservednon-reservedreserved
    CASCADEDnon-reservedreservedreservedreserved
    CASEreservedreservedreservedreserved
    CASTreservedreservedreservedreserved
    CATALOGnon-reservednon-reservednon-reservedreserved
    CATALOG_NAME non-reservednon-reservednon-reserved
    CEIL reservedreserved 
    CEILING reservedreserved 
    CHAINnon-reservednon-reservednon-reserved 
    CHAINING non-reserved  
    CHARnon-reserved (cannot be function or type), requires ASreservedreservedreserved
    CHARACTERnon-reserved (cannot be function or type), requires ASreservedreservedreserved
    CHARACTERISTICSnon-reservednon-reservednon-reserved 
    CHARACTERS non-reservednon-reserved 
    CHARACTER_LENGTH reservedreservedreserved
    CHARACTER_​SET_​CATALOG non-reservednon-reservednon-reserved
    CHARACTER_SET_NAME non-reservednon-reservednon-reserved
    CHARACTER_SET_SCHEMA non-reservednon-reservednon-reserved
    CHAR_LENGTH reservedreservedreserved
    CHECKreservedreservedreservedreserved
    CHECKPOINTnon-reserved   
    CLASSnon-reserved   
    CLASSIFIER reserved  
    CLASS_ORIGIN non-reservednon-reservednon-reserved
    CLOB reservedreserved 
    CLOSEnon-reservedreservedreservedreserved
    CLUSTERnon-reserved   
    COALESCEnon-reserved (cannot be function or type)reservedreservedreserved
    COBOL non-reservednon-reservednon-reserved
    COLLATEreservedreservedreservedreserved
    COLLATIONreserved (can be function or type)non-reservednon-reservedreserved
    COLLATION_CATALOG non-reservednon-reservednon-reserved
    COLLATION_NAME non-reservednon-reservednon-reserved
    COLLATION_SCHEMA non-reservednon-reservednon-reserved
    COLLECT reservedreserved 
    COLUMNreservedreservedreservedreserved
    COLUMNSnon-reservednon-reservednon-reserved 
    COLUMN_NAME non-reservednon-reservednon-reserved
    COMMAND_FUNCTION non-reservednon-reservednon-reserved
    COMMAND_​FUNCTION_​CODE non-reservednon-reserved 
    COMMENTnon-reserved   
    COMMENTSnon-reserved   
    COMMITnon-reservedreservedreservedreserved
    COMMITTEDnon-reservednon-reservednon-reservednon-reserved
    COMPRESSIONnon-reserved   
    CONCURRENTLYreserved (can be function or type)   
    CONDITION reservedreserved 
    CONDITIONAL non-reserved  
    CONDITION_NUMBER non-reservednon-reservednon-reserved
    CONFIGURATIONnon-reserved   
    CONFLICTnon-reserved   
    CONNECT reservedreservedreserved
    CONNECTIONnon-reservednon-reservednon-reservedreserved
    CONNECTION_NAME non-reservednon-reservednon-reserved
    CONSTRAINTreservedreservedreservedreserved
    CONSTRAINTSnon-reservednon-reservednon-reservedreserved
    CONSTRAINT_CATALOG non-reservednon-reservednon-reserved
    CONSTRAINT_NAME non-reservednon-reservednon-reserved
    CONSTRAINT_SCHEMA non-reservednon-reservednon-reserved
    CONSTRUCTOR non-reservednon-reserved 
    CONTAINS reservedreserved 
    CONTENTnon-reservednon-reservednon-reserved 
    CONTINUEnon-reservednon-reservednon-reservedreserved
    CONTROL non-reservednon-reserved 
    CONVERSIONnon-reserved   
    CONVERT reservedreservedreserved
    COPYnon-reservedreserved  
    CORR reservedreserved 
    CORRESPONDING reservedreservedreserved
    COS reserved  
    COSH reserved  
    COSTnon-reserved   
    COUNT reservedreservedreserved
    COVAR_POP reservedreserved 
    COVAR_SAMP reservedreserved 
    CREATEreserved, requires ASreservedreservedreserved
    CROSSreserved (can be function or type)reservedreservedreserved
    CSVnon-reserved   
    CUBEnon-reservedreservedreserved 
    CUME_DIST reservedreserved 
    CURRENTnon-reservedreservedreservedreserved
    CURRENT_CATALOGreservedreservedreserved 
    CURRENT_DATEreservedreservedreservedreserved
    CURRENT_​DEFAULT_​TRANSFORM_​GROUP reservedreserved 
    CURRENT_PATH reservedreserved 
    CURRENT_ROLEreservedreservedreserved 
    CURRENT_ROW reservedreserved 
    CURRENT_SCHEMAreserved (can be function or type)reservedreserved 
    CURRENT_TIMEreservedreservedreservedreserved
    CURRENT_TIMESTAMPreservedreservedreservedreserved
    CURRENT_​TRANSFORM_​GROUP_​FOR_​TYPE reservedreserved 
    CURRENT_USERreservedreservedreservedreserved
    CURSORnon-reservedreservedreservedreserved
    CURSOR_NAME non-reservednon-reservednon-reserved
    CYCLEnon-reservedreservedreserved 
    DATAnon-reservednon-reservednon-reservednon-reserved
    DATABASEnon-reserved   
    DATALINK reservedreserved 
    DATE reservedreservedreserved
    DATETIME_​INTERVAL_​CODE non-reservednon-reservednon-reserved
    DATETIME_​INTERVAL_​PRECISION non-reservednon-reservednon-reserved
    DAYnon-reserved, requires ASreservedreservedreserved
    DB non-reservednon-reserved 
    DEALLOCATEnon-reservedreservedreservedreserved
    DECnon-reserved (cannot be function or type)reservedreservedreserved
    DECFLOAT reserved  
    DECIMALnon-reserved (cannot be function or type)reservedreservedreserved
    DECLAREnon-reservedreservedreservedreserved
    DEFAULTreservedreservedreservedreserved
    DEFAULTSnon-reservednon-reservednon-reserved 
    DEFERRABLEreservednon-reservednon-reservedreserved
    DEFERREDnon-reservednon-reservednon-reservedreserved
    DEFINE reserved  
    DEFINED non-reservednon-reserved 
    DEFINERnon-reservednon-reservednon-reserved 
    DEGREE non-reservednon-reserved 
    DELETEnon-reservedreservedreservedreserved
    DELIMITERnon-reserved   
    DELIMITERSnon-reserved   
    DENSE_RANK reservedreserved 
    DEPENDSnon-reserved   
    DEPTHnon-reservednon-reservednon-reserved 
    DEREF reservedreserved 
    DERIVED non-reservednon-reserved 
    DESCreservednon-reservednon-reservedreserved
    DESCRIBE reservedreservedreserved
    DESCRIPTOR non-reservednon-reservedreserved
    DETACHnon-reserved   
    DETERMINISTIC reservedreserved 
    DIAGNOSTICS non-reservednon-reservedreserved
    DICTIONARYnon-reserved   
    DISABLEnon-reserved   
    DISCARDnon-reserved   
    DISCONNECT reservedreservedreserved
    DISPATCH non-reservednon-reserved 
    DISTINCTreservedreservedreservedreserved
    DLNEWCOPY reservedreserved 
    DLPREVIOUSCOPY reservedreserved 
    DLURLCOMPLETE reservedreserved 
    DLURLCOMPLETEONLY reservedreserved 
    DLURLCOMPLETEWRITE reservedreserved 
    DLURLPATH reservedreserved 
    DLURLPATHONLY reservedreserved 
    DLURLPATHWRITE reservedreserved 
    DLURLSCHEME reservedreserved 
    DLURLSERVER reservedreserved 
    DLVALUE reservedreserved 
    DOreserved   
    DOCUMENTnon-reservednon-reservednon-reserved 
    DOMAINnon-reservednon-reservednon-reservedreserved
    DOUBLEnon-reservedreservedreservedreserved
    DROPnon-reservedreservedreservedreserved
    DYNAMIC reservedreserved 
    DYNAMIC_FUNCTION non-reservednon-reservednon-reserved
    DYNAMIC_​FUNCTION_​CODE non-reservednon-reserved 
    EACHnon-reservedreservedreserved 
    ELEMENT reservedreserved 
    ELSEreservedreservedreservedreserved
    EMPTY reservednon-reserved 
    ENABLEnon-reserved   
    ENCODINGnon-reservednon-reservednon-reserved 
    ENCRYPTEDnon-reserved   
    ENDreservedreservedreservedreserved
    END-EXEC reservedreservedreserved
    END_FRAME reservedreserved 
    END_PARTITION reservedreserved 
    ENFORCED non-reservednon-reserved 
    ENUMnon-reserved   
    EQUALS reservedreserved 
    ERROR non-reserved  
    ESCAPEnon-reservedreservedreservedreserved
    EVENTnon-reserved   
    EVERY reservedreserved 
    EXCEPTreserved, requires ASreservedreservedreserved
    EXCEPTION   reserved
    EXCLUDEnon-reservednon-reservednon-reserved 
    EXCLUDINGnon-reservednon-reservednon-reserved 
    EXCLUSIVEnon-reserved   
    EXEC reservedreservedreserved
    EXECUTEnon-reservedreservedreservedreserved
    EXISTSnon-reserved (cannot be function or type)reservedreservedreserved
    EXP reservedreserved 
    EXPLAINnon-reserved   
    EXPRESSIONnon-reservednon-reservednon-reserved 
    EXTENSIONnon-reserved   
    EXTERNALnon-reservedreservedreservedreserved
    EXTRACTnon-reserved (cannot be function or type)reservedreservedreserved
    FALSEreservedreservedreservedreserved
    FAMILYnon-reserved   
    FETCHreserved, requires ASreservedreservedreserved
    FILE non-reservednon-reserved 
    FILTERnon-reserved, requires ASreservedreserved 
    FINAL non-reservednon-reserved 
    FINALIZEnon-reserved   
    FINISH non-reserved  
    FIRSTnon-reservednon-reservednon-reservedreserved
    FIRST_VALUE reservedreserved 
    FLAG non-reservednon-reserved 
    FLOATnon-reserved (cannot be function or type)reservedreservedreserved
    FLOOR reservedreserved 
    FOLLOWINGnon-reservednon-reservednon-reserved 
    FORreserved, requires ASreservedreservedreserved
    FORCEnon-reserved   
    FOREIGNreservedreservedreservedreserved
    FORMAT non-reserved  
    FORTRAN non-reservednon-reservednon-reserved
    FORWARDnon-reserved   
    FOUND non-reservednon-reservedreserved
    FRAME_ROW reservedreserved 
    FREE reservedreserved 
    FREEZEreserved (can be function or type)   
    FROMreserved, requires ASreservedreservedreserved
    FS non-reservednon-reserved 
    FULFILL non-reserved  
    FULLreserved (can be function or type)reservedreservedreserved
    FUNCTIONnon-reservedreservedreserved 
    FUNCTIONSnon-reserved   
    FUSION reservedreserved 
    G non-reservednon-reserved 
    GENERAL non-reservednon-reserved 
    GENERATEDnon-reservednon-reservednon-reserved 
    GET reservedreservedreserved
    GLOBALnon-reservedreservedreservedreserved
    GO non-reservednon-reservedreserved
    GOTO non-reservednon-reservedreserved
    GRANTreserved, requires ASreservedreservedreserved
    GRANTEDnon-reservednon-reservednon-reserved 
    GREATESTnon-reserved (cannot be function or type)   
    GROUPreserved, requires ASreservedreservedreserved
    GROUPINGnon-reserved (cannot be function or type)reservedreserved 
    GROUPSnon-reservedreservedreserved 
    HANDLERnon-reserved   
    HAVINGreserved, requires ASreservedreservedreserved
    HEADERnon-reserved   
    HEX non-reservednon-reserved 
    HIERARCHY non-reservednon-reserved 
    HOLDnon-reservedreservedreserved 
    HOURnon-reserved, requires ASreservedreservedreserved
    ID non-reservednon-reserved 
    IDENTITYnon-reservedreservedreservedreserved
    IFnon-reserved   
    IGNORE non-reservednon-reserved 
    ILIKEreserved (can be function or type)   
    IMMEDIATEnon-reservednon-reservednon-reservedreserved
    IMMEDIATELY non-reservednon-reserved 
    IMMUTABLEnon-reserved   
    IMPLEMENTATION non-reservednon-reserved 
    IMPLICITnon-reserved   
    IMPORTnon-reservedreservedreserved 
    INreservedreservedreservedreserved
    INCLUDEnon-reserved   
    INCLUDINGnon-reservednon-reservednon-reserved 
    INCREMENTnon-reservednon-reservednon-reserved 
    INDENT non-reservednon-reserved 
    INDEXnon-reserved   
    INDEXESnon-reserved   
    INDICATOR reservedreservedreserved
    INHERITnon-reserved   
    INHERITSnon-reserved   
    INITIAL reserved  
    INITIALLYreservednon-reservednon-reservedreserved
    INLINEnon-reserved   
    INNERreserved (can be function or type)reservedreservedreserved
    INOUTnon-reserved (cannot be function or type)reservedreserved 
    INPUTnon-reservednon-reservednon-reservedreserved
    INSENSITIVEnon-reservedreservedreservedreserved
    INSERTnon-reservedreservedreservedreserved
    INSTANCE non-reservednon-reserved 
    INSTANTIABLE non-reservednon-reserved 
    INSTEADnon-reservednon-reservednon-reserved 
    INTnon-reserved (cannot be function or type)reservedreservedreserved
    INTEGERnon-reserved (cannot be function or type)reservedreservedreserved
    INTEGRITY non-reservednon-reserved 
    INTERSECTreserved, requires ASreservedreservedreserved
    INTERSECTION reservedreserved 
    INTERVALnon-reserved (cannot be function or type)reservedreservedreserved
    INTOreserved, requires ASreservedreservedreserved
    INVOKERnon-reservednon-reservednon-reserved 
    ISreserved (can be function or type)reservedreservedreserved
    ISNULLreserved (can be function or type), requires AS   
    ISOLATIONnon-reservednon-reservednon-reservedreserved
    JOINreserved (can be function or type)reservedreservedreserved
    JSON_ARRAY reserved  
    JSON_ARRAYAGG reserved  
    JSON_EXISTS reserved  
    JSON_OBJECT reserved  
    JSON_OBJECTAGG reserved  
    JSON_QUERY reserved  
    JSON_TABLE reserved  
    JSON_TABLE_PRIMITIVE reserved  
    JSON_VALUE reserved  
    K non-reservednon-reserved 
    KEEP non-reserved  
    KEYnon-reservednon-reservednon-reservedreserved
    KEYS non-reserved  
    KEY_MEMBER non-reservednon-reserved 
    KEY_TYPE non-reservednon-reserved 
    LABELnon-reserved   
    LAG reservedreserved 
    LANGUAGEnon-reservedreservedreservedreserved
    LARGEnon-reservedreservedreserved 
    LASTnon-reservednon-reservednon-reservedreserved
    LAST_VALUE reservedreserved 
    LATERALreservedreservedreserved 
    LEAD reservedreserved 
    LEADINGreservedreservedreservedreserved
    LEAKPROOFnon-reserved   
    LEASTnon-reserved (cannot be function or type)   
    LEFTreserved (can be function or type)reservedreservedreserved
    LENGTH non-reservednon-reservednon-reserved
    LEVELnon-reservednon-reservednon-reservedreserved
    LIBRARY non-reservednon-reserved 
    LIKEreserved (can be function or type)reservedreservedreserved
    LIKE_REGEX reservedreserved 
    LIMITreserved, requires ASnon-reservednon-reserved 
    LINK non-reservednon-reserved 
    LISTAGG reserved  
    LISTENnon-reserved   
    LN reservedreserved 
    LOADnon-reserved   
    LOCALnon-reservedreservedreservedreserved
    LOCALTIMEreservedreservedreserved 
    LOCALTIMESTAMPreservedreservedreserved 
    LOCATIONnon-reservednon-reservednon-reserved 
    LOCATOR non-reservednon-reserved 
    LOCKnon-reserved   
    LOCKEDnon-reserved   
    LOG reserved  
    LOG10 reserved  
    LOGGEDnon-reserved   
    LOWER reservedreservedreserved
    M non-reservednon-reserved 
    MAP non-reservednon-reserved 
    MAPPINGnon-reservednon-reservednon-reserved 
    MATCHnon-reservedreservedreservedreserved
    MATCHEDnon-reservednon-reservednon-reserved 
    MATCHES reserved  
    MATCH_NUMBER reserved  
    MATCH_RECOGNIZE reserved  
    MATERIALIZEDnon-reserved   
    MAX reservedreservedreserved
    MAXVALUEnon-reservednon-reservednon-reserved 
    MEASURES reserved  
    MEMBER reservedreserved 
    MERGEnon-reservedreservedreserved 
    MESSAGE_LENGTH non-reservednon-reservednon-reserved
    MESSAGE_OCTET_LENGTH non-reservednon-reservednon-reserved
    MESSAGE_TEXT non-reservednon-reservednon-reserved
    METHODnon-reservedreservedreserved 
    MIN reservedreservedreserved
    MINUTEnon-reserved, requires ASreservedreservedreserved
    MINVALUEnon-reservednon-reservednon-reserved 
    MOD reservedreserved 
    MODEnon-reserved   
    MODIFIES reservedreserved 
    MODULE reservedreservedreserved
    MONTHnon-reserved, requires ASreservedreservedreserved
    MORE non-reservednon-reservednon-reserved
    MOVEnon-reserved   
    MULTISET reservedreserved 
    MUMPS non-reservednon-reservednon-reserved
    NAMEnon-reservednon-reservednon-reservednon-reserved
    NAMESnon-reservednon-reservednon-reservedreserved
    NAMESPACE non-reservednon-reserved 
    NATIONALnon-reserved (cannot be function or type)reservedreservedreserved
    NATURALreserved (can be function or type)reservedreservedreserved
    NCHARnon-reserved (cannot be function or type)reservedreservedreserved
    NCLOB reservedreserved 
    NESTED non-reserved  
    NESTING non-reservednon-reserved 
    NEWnon-reservedreservedreserved 
    NEXTnon-reservednon-reservednon-reservedreserved
    NFCnon-reservednon-reservednon-reserved 
    NFDnon-reservednon-reservednon-reserved 
    NFKCnon-reservednon-reservednon-reserved 
    NFKDnon-reservednon-reservednon-reserved 
    NIL non-reservednon-reserved 
    NOnon-reservedreservedreservedreserved
    NONEnon-reserved (cannot be function or type)reservedreserved 
    NORMALIZEnon-reserved (cannot be function or type)reservedreserved 
    NORMALIZEDnon-reservednon-reservednon-reserved 
    NOTreservedreservedreservedreserved
    NOTHINGnon-reserved   
    NOTIFYnon-reserved   
    NOTNULLreserved (can be function or type), requires AS   
    NOWAITnon-reserved   
    NTH_VALUE reservedreserved 
    NTILE reservedreserved 
    NULLreservedreservedreservedreserved
    NULLABLE non-reservednon-reservednon-reserved
    NULLIFnon-reserved (cannot be function or type)reservedreservedreserved
    NULLSnon-reservednon-reservednon-reserved 
    NULL_ORDERING non-reserved  
    NUMBER non-reservednon-reservednon-reserved
    NUMERICnon-reserved (cannot be function or type)reservedreservedreserved
    OBJECTnon-reservednon-reservednon-reserved 
    OCCURRENCE non-reserved  
    OCCURRENCES_REGEX reservedreserved 
    OCTETS non-reservednon-reserved 
    OCTET_LENGTH reservedreservedreserved
    OFnon-reservedreservedreservedreserved
    OFFnon-reservednon-reservednon-reserved 
    OFFSETreserved, requires ASreservedreserved 
    OIDSnon-reserved   
    OLDnon-reservedreservedreserved 
    OMIT reserved  
    ONreserved, requires ASreservedreservedreserved
    ONE reserved  
    ONLYreservedreservedreservedreserved
    OPEN reservedreservedreserved
    OPERATORnon-reserved   
    OPTIONnon-reservednon-reservednon-reservedreserved
    OPTIONSnon-reservednon-reservednon-reserved 
    ORreservedreservedreservedreserved
    ORDERreserved, requires ASreservedreservedreserved
    ORDERING non-reservednon-reserved 
    ORDINALITYnon-reservednon-reservednon-reserved 
    OTHERSnon-reservednon-reservednon-reserved 
    OUTnon-reserved (cannot be function or type)reservedreserved 
    OUTERreserved (can be function or type)reservedreservedreserved
    OUTPUT non-reservednon-reservedreserved
    OVERnon-reserved, requires ASreservedreserved 
    OVERFLOW non-reserved  
    OVERLAPSreserved (can be function or type), requires ASreservedreservedreserved
    OVERLAYnon-reserved (cannot be function or type)reservedreserved 
    OVERRIDINGnon-reservednon-reservednon-reserved 
    OWNEDnon-reserved   
    OWNERnon-reserved   
    P non-reservednon-reserved 
    PAD non-reservednon-reservedreserved
    PARALLELnon-reserved   
    PARAMETERnon-reservedreservedreserved 
    PARAMETER_MODE non-reservednon-reserved 
    PARAMETER_NAME non-reservednon-reserved 
    PARAMETER_​ORDINAL_​POSITION non-reservednon-reserved 
    PARAMETER_​SPECIFIC_​CATALOG non-reservednon-reserved 
    PARAMETER_​SPECIFIC_​NAME non-reservednon-reserved 
    PARAMETER_​SPECIFIC_​SCHEMA non-reservednon-reserved 
    PARSERnon-reserved   
    PARTIALnon-reservednon-reservednon-reservedreserved
    PARTITIONnon-reservedreservedreserved 
    PASCAL non-reservednon-reservednon-reserved
    PASS non-reserved  
    PASSINGnon-reservednon-reservednon-reserved 
    PASSTHROUGH non-reservednon-reserved 
    PASSWORDnon-reserved   
    PAST non-reserved  
    PATH non-reservednon-reserved 
    PATTERN reserved  
    PER reserved  
    PERCENT reservedreserved 
    PERCENTILE_CONT reservedreserved 
    PERCENTILE_DISC reservedreserved 
    PERCENT_RANK reservedreserved 
    PERIOD reservedreserved 
    PERMISSION non-reservednon-reserved 
    PERMUTE reserved  
    PIPE non-reserved  
    PLACINGreservednon-reservednon-reserved 
    PLAN non-reserved  
    PLANSnon-reserved   
    PLI non-reservednon-reservednon-reserved
    POLICYnon-reserved   
    PORTION reservedreserved 
    POSITIONnon-reserved (cannot be function or type)reservedreservedreserved
    POSITION_REGEX reservedreserved 
    POWER reservedreserved 
    PRECEDES reservedreserved 
    PRECEDINGnon-reservednon-reservednon-reserved 
    PRECISIONnon-reserved (cannot be function or type), requires ASreservedreservedreserved
    PREPAREnon-reservedreservedreservedreserved
    PREPAREDnon-reserved   
    PRESERVEnon-reservednon-reservednon-reservedreserved
    PREV non-reserved  
    PRIMARYreservedreservedreservedreserved
    PRIORnon-reservednon-reservednon-reservedreserved
    PRIVATE non-reserved  
    PRIVILEGESnon-reservednon-reservednon-reservedreserved
    PROCEDURALnon-reserved   
    PROCEDUREnon-reservedreservedreservedreserved
    PROCEDURESnon-reserved   
    PROGRAMnon-reserved   
    PRUNE non-reserved  
    PTF reserved  
    PUBLIC non-reservednon-reservedreserved
    PUBLICATIONnon-reserved   
    QUOTEnon-reserved   
    QUOTES non-reserved  
    RANGEnon-reservedreservedreserved 
    RANK reservedreserved 
    READnon-reservednon-reservednon-reservedreserved
    READS reservedreserved 
    REALnon-reserved (cannot be function or type)reservedreservedreserved
    REASSIGNnon-reserved   
    RECHECKnon-reserved   
    RECOVERY non-reservednon-reserved 
    RECURSIVEnon-reservedreservedreserved 
    REFnon-reservedreservedreserved 
    REFERENCESreservedreservedreservedreserved
    REFERENCINGnon-reservedreservedreserved 
    REFRESHnon-reserved   
    REGR_AVGX reservedreserved 
    REGR_AVGY reservedreserved 
    REGR_COUNT reservedreserved 
    REGR_INTERCEPT reservedreserved 
    REGR_R2 reservedreserved 
    REGR_SLOPE reservedreserved 
    REGR_SXX reservedreserved 
    REGR_SXY reservedreserved 
    REGR_SYY reservedreserved 
    REINDEXnon-reserved   
    RELATIVEnon-reservednon-reservednon-reservedreserved
    RELEASEnon-reservedreservedreserved 
    RENAMEnon-reserved   
    REPEATABLEnon-reservednon-reservednon-reservednon-reserved
    REPLACEnon-reserved   
    REPLICAnon-reserved   
    REQUIRING non-reservednon-reserved 
    RESETnon-reserved   
    RESPECT non-reservednon-reserved 
    RESTARTnon-reservednon-reservednon-reserved 
    RESTORE non-reservednon-reserved 
    RESTRICTnon-reservednon-reservednon-reservedreserved
    RESULT reservedreserved 
    RETURNnon-reservedreservedreserved 
    RETURNED_CARDINALITY non-reservednon-reserved 
    RETURNED_LENGTH non-reservednon-reservednon-reserved
    RETURNED_​OCTET_​LENGTH non-reservednon-reservednon-reserved
    RETURNED_SQLSTATE non-reservednon-reservednon-reserved
    RETURNINGreserved, requires ASnon-reservednon-reserved 
    RETURNSnon-reservedreservedreserved 
    REVOKEnon-reservedreservedreservedreserved
    RIGHTreserved (can be function or type)reservedreservedreserved
    ROLEnon-reservednon-reservednon-reserved 
    ROLLBACKnon-reservedreservedreservedreserved
    ROLLUPnon-reservedreservedreserved 
    ROUTINEnon-reservednon-reservednon-reserved 
    ROUTINESnon-reserved   
    ROUTINE_CATALOG non-reservednon-reserved 
    ROUTINE_NAME non-reservednon-reserved 
    ROUTINE_SCHEMA non-reservednon-reserved 
    ROWnon-reserved (cannot be function or type)reservedreserved 
    ROWSnon-reservedreservedreservedreserved
    ROW_COUNT non-reservednon-reservednon-reserved
    ROW_NUMBER reservedreserved 
    RULEnon-reserved   
    RUNNING reserved  
    SAVEPOINTnon-reservedreservedreserved 
    SCALAR non-reserved  
    SCALE non-reservednon-reservednon-reserved
    SCHEMAnon-reservednon-reservednon-reservedreserved
    SCHEMASnon-reserved   
    SCHEMA_NAME non-reservednon-reservednon-reserved
    SCOPE reservedreserved 
    SCOPE_CATALOG non-reservednon-reserved 
    SCOPE_NAME non-reservednon-reserved 
    SCOPE_SCHEMA non-reservednon-reserved 
    SCROLLnon-reservedreservedreservedreserved
    SEARCHnon-reservedreservedreserved 
    SECONDnon-reserved, requires ASreservedreservedreserved
    SECTION non-reservednon-reservedreserved
    SECURITYnon-reservednon-reservednon-reserved 
    SEEK reserved  
    SELECTreservedreservedreservedreserved
    SELECTIVE non-reservednon-reserved 
    SELF non-reservednon-reserved 
    SEMANTICS non-reserved  
    SENSITIVE reservedreserved 
    SEQUENCEnon-reservednon-reservednon-reserved 
    SEQUENCESnon-reserved   
    SERIALIZABLEnon-reservednon-reservednon-reservednon-reserved
    SERVERnon-reservednon-reservednon-reserved 
    SERVER_NAME non-reservednon-reservednon-reserved
    SESSIONnon-reservednon-reservednon-reservedreserved
    SESSION_USERreservedreservedreservedreserved
    SETnon-reservedreservedreservedreserved
    SETOFnon-reserved (cannot be function or type)   
    SETSnon-reservednon-reservednon-reserved 
    SHAREnon-reserved   
    SHOWnon-reservedreserved  
    SIMILARreserved (can be function or type)reservedreserved 
    SIMPLEnon-reservednon-reservednon-reserved 
    SIN reserved  
    SINH reserved  
    SIZE non-reservednon-reservedreserved
    SKIPnon-reservedreserved  
    SMALLINTnon-reserved (cannot be function or type)reservedreservedreserved
    SNAPSHOTnon-reserved   
    SOMEreservedreservedreservedreserved
    SORT_DIRECTION non-reserved  
    SOURCE non-reservednon-reserved 
    SPACE non-reservednon-reservedreserved
    SPECIFIC reservedreserved 
    SPECIFICTYPE reservedreserved 
    SPECIFIC_NAME non-reservednon-reserved 
    SQLnon-reservedreservedreservedreserved
    SQLCODE   reserved
    SQLERROR   reserved
    SQLEXCEPTION reservedreserved 
    SQLSTATE reservedreservedreserved
    SQLWARNING reservedreserved 
    SQRT reservedreserved 
    STABLEnon-reserved   
    STANDALONEnon-reservednon-reservednon-reserved 
    STARTnon-reservedreservedreserved 
    STATE non-reservednon-reserved 
    STATEMENTnon-reservednon-reservednon-reserved 
    STATIC reservedreserved 
    STATISTICSnon-reserved   
    STDDEV_POP reservedreserved 
    STDDEV_SAMP reservedreserved 
    STDINnon-reserved   
    STDOUTnon-reserved   
    STORAGEnon-reserved   
    STOREDnon-reserved   
    STRICTnon-reserved   
    STRING non-reserved  
    STRIPnon-reservednon-reservednon-reserved 
    STRUCTURE non-reservednon-reserved 
    STYLE non-reservednon-reserved 
    SUBCLASS_ORIGIN non-reservednon-reservednon-reserved
    SUBMULTISET reservedreserved 
    SUBSCRIPTIONnon-reserved   
    SUBSET reserved  
    SUBSTRINGnon-reserved (cannot be function or type)reservedreservedreserved
    SUBSTRING_REGEX reservedreserved 
    SUCCEEDS reservedreserved 
    SUM reservedreservedreserved
    SUPPORTnon-reserved   
    SYMMETRICreservedreservedreserved 
    SYSIDnon-reserved   
    SYSTEMnon-reservedreservedreserved 
    SYSTEM_TIME reservedreserved 
    SYSTEM_USER reservedreservedreserved
    T non-reservednon-reserved 
    TABLEreservedreservedreservedreserved
    TABLESnon-reserved   
    TABLESAMPLEreserved (can be function or type)reservedreserved 
    TABLESPACEnon-reserved   
    TABLE_NAME non-reservednon-reservednon-reserved
    TAN reserved  
    TANH reserved  
    TEMPnon-reserved   
    TEMPLATEnon-reserved   
    TEMPORARYnon-reservednon-reservednon-reservedreserved
    TEXTnon-reserved   
    THENreservedreservedreservedreserved
    THROUGH non-reserved  
    TIESnon-reservednon-reservednon-reserved 
    TIMEnon-reserved (cannot be function or type)reservedreservedreserved
    TIMESTAMPnon-reserved (cannot be function or type)reservedreservedreserved
    TIMEZONE_HOUR reservedreservedreserved
    TIMEZONE_MINUTE reservedreservedreserved
    TOreserved, requires ASreservedreservedreserved
    TOKEN non-reservednon-reserved 
    TOP_LEVEL_COUNT non-reservednon-reserved 
    TRAILINGreservedreservedreservedreserved
    TRANSACTIONnon-reservednon-reservednon-reservedreserved
    TRANSACTIONS_​COMMITTED non-reservednon-reserved 
    TRANSACTIONS_​ROLLED_​BACK non-reservednon-reserved 
    TRANSACTION_ACTIVE non-reservednon-reserved 
    TRANSFORMnon-reservednon-reservednon-reserved 
    TRANSFORMS non-reservednon-reserved 
    TRANSLATE reservedreservedreserved
    TRANSLATE_REGEX reservedreserved 
    TRANSLATION reservedreservedreserved
    TREATnon-reserved (cannot be function or type)reservedreserved 
    TRIGGERnon-reservedreservedreserved 
    TRIGGER_CATALOG non-reservednon-reserved 
    TRIGGER_NAME non-reservednon-reserved 
    TRIGGER_SCHEMA non-reservednon-reserved 
    TRIMnon-reserved (cannot be function or type)reservedreservedreserved
    TRIM_ARRAY reservedreserved 
    TRUEreservedreservedreservedreserved
    TRUNCATEnon-reservedreservedreserved 
    TRUSTEDnon-reserved   
    TYPEnon-reservednon-reservednon-reservednon-reserved
    TYPESnon-reserved   
    UESCAPEnon-reservedreservedreserved 
    UNBOUNDEDnon-reservednon-reservednon-reserved 
    UNCOMMITTEDnon-reservednon-reservednon-reservednon-reserved
    UNCONDITIONAL non-reserved  
    UNDER non-reservednon-reserved 
    UNENCRYPTEDnon-reserved   
    UNIONreserved, requires ASreservedreservedreserved
    UNIQUEreservedreservedreservedreserved
    UNKNOWNnon-reservedreservedreservedreserved
    UNLINK non-reservednon-reserved 
    UNLISTENnon-reserved   
    UNLOGGEDnon-reserved   
    UNMATCHED reserved  
    UNNAMED non-reservednon-reservednon-reserved
    UNNEST reservedreserved 
    UNTILnon-reserved   
    UNTYPED non-reservednon-reserved 
    UPDATEnon-reservedreservedreservedreserved
    UPPER reservedreservedreserved
    URI non-reservednon-reserved 
    USAGE non-reservednon-reservedreserved
    USERreservedreservedreservedreserved
    USER_​DEFINED_​TYPE_​CATALOG non-reservednon-reserved 
    USER_​DEFINED_​TYPE_​CODE non-reservednon-reserved 
    USER_​DEFINED_​TYPE_​NAME non-reservednon-reserved 
    USER_​DEFINED_​TYPE_​SCHEMA non-reservednon-reserved 
    USINGreservedreservedreservedreserved
    UTF16 non-reserved  
    UTF32 non-reserved  
    UTF8 non-reserved  
    VACUUMnon-reserved   
    VALIDnon-reservednon-reservednon-reserved 
    VALIDATEnon-reserved   
    VALIDATORnon-reserved   
    VALUEnon-reservedreservedreservedreserved
    VALUESnon-reserved (cannot be function or type)reservedreservedreserved
    VALUE_OF reservedreserved 
    VARBINARY reservedreserved 
    VARCHARnon-reserved (cannot be function or type)reservedreservedreserved
    VARIADICreserved   
    VARYINGnon-reserved, requires ASreservedreservedreserved
    VAR_POP reservedreserved 
    VAR_SAMP reservedreserved 
    VERBOSEreserved (can be function or type)   
    VERSIONnon-reservednon-reservednon-reserved 
    VERSIONING reservedreserved 
    VIEWnon-reservednon-reservednon-reservedreserved
    VIEWSnon-reserved   
    VOLATILEnon-reserved   
    WHENreservedreservedreservedreserved
    WHENEVER reservedreservedreserved
    WHEREreserved, requires ASreservedreservedreserved
    WHITESPACEnon-reservednon-reservednon-reserved 
    WIDTH_BUCKET reservedreserved 
    WINDOWreserved, requires ASreservedreserved 
    WITHreserved, requires ASreservedreservedreserved
    WITHINnon-reserved, requires ASreservedreserved 
    WITHOUTnon-reserved, requires ASreservedreserved 
    WORKnon-reservednon-reservednon-reservedreserved
    WRAPPERnon-reservednon-reservednon-reserved 
    WRITEnon-reservednon-reservednon-reservedreserved
    XMLnon-reservedreservedreserved 
    XMLAGG reservedreserved 
    XMLATTRIBUTESnon-reserved (cannot be function or type)reservedreserved 
    XMLBINARY reservedreserved 
    XMLCAST reservedreserved 
    XMLCOMMENT reservedreserved 
    XMLCONCATnon-reserved (cannot be function or type)reservedreserved 
    XMLDECLARATION non-reservednon-reserved 
    XMLDOCUMENT reservedreserved 
    XMLELEMENTnon-reserved (cannot be function or type)reservedreserved 
    XMLEXISTSnon-reserved (cannot be function or type)reservedreserved 
    XMLFORESTnon-reserved (cannot be function or type)reservedreserved 
    XMLITERATE reservedreserved 
    XMLNAMESPACESnon-reserved (cannot be function or type)reservedreserved 
    XMLPARSEnon-reserved (cannot be function or type)reservedreserved 
    XMLPInon-reserved (cannot be function or type)reservedreserved 
    XMLQUERY reservedreserved 
    XMLROOTnon-reserved (cannot be function or type)   
    XMLSCHEMA non-reservednon-reserved 
    XMLSERIALIZEnon-reserved (cannot be function or type)reservedreserved 
    XMLTABLEnon-reserved (cannot be function or type)reservedreserved 
    XMLTEXT reservedreserved 
    XMLVALIDATE reservedreserved 
    YEARnon-reserved, requires ASreservedreservedreserved
    YESnon-reservednon-reservednon-reserved 
    ZONEnon-reservednon-reservednon-reservedreserved

    \ No newline at end of file +

    Table C.1. SQL Key Words

    Key WordPostgreSQLSQL:2016SQL:2011SQL-92
    A non-reservednon-reserved 
    ABORTnon-reserved   
    ABS reservedreserved 
    ABSENT reservednon-reserved 
    ABSOLUTEnon-reservednon-reservednon-reservedreserved
    ACCESSnon-reserved   
    ACCORDING non-reservednon-reserved 
    ACOS reserved  
    ACTIONnon-reservednon-reservednon-reservedreserved
    ADA non-reservednon-reservednon-reserved
    ADDnon-reservednon-reservednon-reservedreserved
    ADMINnon-reservednon-reservednon-reserved 
    AFTERnon-reservednon-reservednon-reserved 
    AGGREGATEnon-reserved   
    ALLreservedreservedreservedreserved
    ALLOCATE reservedreservedreserved
    ALSOnon-reserved   
    ALTERnon-reservedreservedreservedreserved
    ALWAYSnon-reservednon-reservednon-reserved 
    ANALYSEreserved   
    ANALYZEreserved   
    ANDreservedreservedreservedreserved
    ANYreservedreservedreservedreserved
    ARE reservedreservedreserved
    ARRAYreserved, requires ASreservedreserved 
    ARRAY_AGG reservedreserved 
    ARRAY_​MAX_​CARDINALITY reservedreserved 
    ASreserved, requires ASreservedreservedreserved
    ASCreservednon-reservednon-reservedreserved
    ASENSITIVEnon-reservedreservedreserved 
    ASIN reserved  
    ASSERTIONnon-reservednon-reservednon-reservedreserved
    ASSIGNMENTnon-reservednon-reservednon-reserved 
    ASYMMETRICreservedreservedreserved 
    ATnon-reservedreservedreservedreserved
    ATAN reserved  
    ATOMICnon-reservedreservedreserved 
    ATTACHnon-reserved   
    ATTRIBUTEnon-reservednon-reservednon-reserved 
    ATTRIBUTES non-reservednon-reserved 
    AUTHORIZATIONreserved (can be function or type)reservedreservedreserved
    AVG reservedreservedreserved
    BACKWARDnon-reserved   
    BASE64 non-reservednon-reserved 
    BEFOREnon-reservednon-reservednon-reserved 
    BEGINnon-reservedreservedreservedreserved
    BEGIN_FRAME reservedreserved 
    BEGIN_PARTITION reservedreserved 
    BERNOULLI non-reservednon-reserved 
    BETWEENnon-reserved (cannot be function or type)reservedreservedreserved
    BIGINTnon-reserved (cannot be function or type)reservedreserved 
    BINARYreserved (can be function or type)reservedreserved 
    BITnon-reserved (cannot be function or type)  reserved
    BIT_LENGTH   reserved
    BLOB reservedreserved 
    BLOCKED non-reservednon-reserved 
    BOM non-reservednon-reserved 
    BOOLEANnon-reserved (cannot be function or type)reservedreserved 
    BOTHreservedreservedreservedreserved
    BREADTHnon-reservednon-reservednon-reserved 
    BYnon-reservedreservedreservedreserved
    C non-reservednon-reservednon-reserved
    CACHEnon-reserved   
    CALLnon-reservedreservedreserved 
    CALLEDnon-reservedreservedreserved 
    CARDINALITY reservedreserved 
    CASCADEnon-reservednon-reservednon-reservedreserved
    CASCADEDnon-reservedreservedreservedreserved
    CASEreservedreservedreservedreserved
    CASTreservedreservedreservedreserved
    CATALOGnon-reservednon-reservednon-reservedreserved
    CATALOG_NAME non-reservednon-reservednon-reserved
    CEIL reservedreserved 
    CEILING reservedreserved 
    CHAINnon-reservednon-reservednon-reserved 
    CHAINING non-reserved  
    CHARnon-reserved (cannot be function or type), requires ASreservedreservedreserved
    CHARACTERnon-reserved (cannot be function or type), requires ASreservedreservedreserved
    CHARACTERISTICSnon-reservednon-reservednon-reserved 
    CHARACTERS non-reservednon-reserved 
    CHARACTER_LENGTH reservedreservedreserved
    CHARACTER_​SET_​CATALOG non-reservednon-reservednon-reserved
    CHARACTER_SET_NAME non-reservednon-reservednon-reserved
    CHARACTER_SET_SCHEMA non-reservednon-reservednon-reserved
    CHAR_LENGTH reservedreservedreserved
    CHECKreservedreservedreservedreserved
    CHECKPOINTnon-reserved   
    CLASSnon-reserved   
    CLASSIFIER reserved  
    CLASS_ORIGIN non-reservednon-reservednon-reserved
    CLOB reservedreserved 
    CLOSEnon-reservedreservedreservedreserved
    CLUSTERnon-reserved   
    COALESCEnon-reserved (cannot be function or type)reservedreservedreserved
    COBOL non-reservednon-reservednon-reserved
    COLLATEreservedreservedreservedreserved
    COLLATIONreserved (can be function or type)non-reservednon-reservedreserved
    COLLATION_CATALOG non-reservednon-reservednon-reserved
    COLLATION_NAME non-reservednon-reservednon-reserved
    COLLATION_SCHEMA non-reservednon-reservednon-reserved
    COLLECT reservedreserved 
    COLUMNreservedreservedreservedreserved
    COLUMNSnon-reservednon-reservednon-reserved 
    COLUMN_NAME non-reservednon-reservednon-reserved
    COMMAND_FUNCTION non-reservednon-reservednon-reserved
    COMMAND_​FUNCTION_​CODE non-reservednon-reserved 
    COMMENTnon-reserved   
    COMMENTSnon-reserved   
    COMMITnon-reservedreservedreservedreserved
    COMMITTEDnon-reservednon-reservednon-reservednon-reserved
    COMPRESSIONnon-reserved   
    CONCURRENTLYreserved (can be function or type)   
    CONDITION reservedreserved 
    CONDITIONAL non-reserved  
    CONDITION_NUMBER non-reservednon-reservednon-reserved
    CONFIGURATIONnon-reserved   
    CONFLICTnon-reserved   
    CONNECT reservedreservedreserved
    CONNECTIONnon-reservednon-reservednon-reservedreserved
    CONNECTION_NAME non-reservednon-reservednon-reserved
    CONSTRAINTreservedreservedreservedreserved
    CONSTRAINTSnon-reservednon-reservednon-reservedreserved
    CONSTRAINT_CATALOG non-reservednon-reservednon-reserved
    CONSTRAINT_NAME non-reservednon-reservednon-reserved
    CONSTRAINT_SCHEMA non-reservednon-reservednon-reserved
    CONSTRUCTOR non-reservednon-reserved 
    CONTAINS reservedreserved 
    CONTENTnon-reservednon-reservednon-reserved 
    CONTINUEnon-reservednon-reservednon-reservedreserved
    CONTROL non-reservednon-reserved 
    CONVERSIONnon-reserved   
    CONVERT reservedreservedreserved
    COPYnon-reservedreserved  
    CORR reservedreserved 
    CORRESPONDING reservedreservedreserved
    COS reserved  
    COSH reserved  
    COSTnon-reserved   
    COUNT reservedreservedreserved
    COVAR_POP reservedreserved 
    COVAR_SAMP reservedreserved 
    CREATEreserved, requires ASreservedreservedreserved
    CROSSreserved (can be function or type)reservedreservedreserved
    CSVnon-reserved   
    CUBEnon-reservedreservedreserved 
    CUME_DIST reservedreserved 
    CURRENTnon-reservedreservedreservedreserved
    CURRENT_CATALOGreservedreservedreserved 
    CURRENT_DATEreservedreservedreservedreserved
    CURRENT_​DEFAULT_​TRANSFORM_​GROUP reservedreserved 
    CURRENT_PATH reservedreserved 
    CURRENT_ROLEreservedreservedreserved 
    CURRENT_ROW reservedreserved 
    CURRENT_SCHEMAreserved (can be function or type)reservedreserved 
    CURRENT_TIMEreservedreservedreservedreserved
    CURRENT_TIMESTAMPreservedreservedreservedreserved
    CURRENT_​TRANSFORM_​GROUP_​FOR_​TYPE reservedreserved 
    CURRENT_USERreservedreservedreservedreserved
    CURSORnon-reservedreservedreservedreserved
    CURSOR_NAME non-reservednon-reservednon-reserved
    CYCLEnon-reservedreservedreserved 
    DATAnon-reservednon-reservednon-reservednon-reserved
    DATABASEnon-reserved   
    DATALINK reservedreserved 
    DATE reservedreservedreserved
    DATETIME_​INTERVAL_​CODE non-reservednon-reservednon-reserved
    DATETIME_​INTERVAL_​PRECISION non-reservednon-reservednon-reserved
    DAYnon-reserved, requires ASreservedreservedreserved
    DB non-reservednon-reserved 
    DEALLOCATEnon-reservedreservedreservedreserved
    DECnon-reserved (cannot be function or type)reservedreservedreserved
    DECFLOAT reserved  
    DECIMALnon-reserved (cannot be function or type)reservedreservedreserved
    DECLAREnon-reservedreservedreservedreserved
    DEFAULTreservedreservedreservedreserved
    DEFAULTSnon-reservednon-reservednon-reserved 
    DEFERRABLEreservednon-reservednon-reservedreserved
    DEFERREDnon-reservednon-reservednon-reservedreserved
    DEFINE reserved  
    DEFINED non-reservednon-reserved 
    DEFINERnon-reservednon-reservednon-reserved 
    DEGREE non-reservednon-reserved 
    DELETEnon-reservedreservedreservedreserved
    DELIMITERnon-reserved   
    DELIMITERSnon-reserved   
    DENSE_RANK reservedreserved 
    DEPENDSnon-reserved   
    DEPTHnon-reservednon-reservednon-reserved 
    DEREF reservedreserved 
    DERIVED non-reservednon-reserved 
    DESCreservednon-reservednon-reservedreserved
    DESCRIBE reservedreservedreserved
    DESCRIPTOR non-reservednon-reservedreserved
    DETACHnon-reserved   
    DETERMINISTIC reservedreserved 
    DIAGNOSTICS non-reservednon-reservedreserved
    DICTIONARYnon-reserved   
    DISABLEnon-reserved   
    DISCARDnon-reserved   
    DISCONNECT reservedreservedreserved
    DISPATCH non-reservednon-reserved 
    DISTINCTreservedreservedreservedreserved
    DLNEWCOPY reservedreserved 
    DLPREVIOUSCOPY reservedreserved 
    DLURLCOMPLETE reservedreserved 
    DLURLCOMPLETEONLY reservedreserved 
    DLURLCOMPLETEWRITE reservedreserved 
    DLURLPATH reservedreserved 
    DLURLPATHONLY reservedreserved 
    DLURLPATHWRITE reservedreserved 
    DLURLSCHEME reservedreserved 
    DLURLSERVER reservedreserved 
    DLVALUE reservedreserved 
    DOreserved   
    DOCUMENTnon-reservednon-reservednon-reserved 
    DOMAINnon-reservednon-reservednon-reservedreserved
    DOUBLEnon-reservedreservedreservedreserved
    DROPnon-reservedreservedreservedreserved
    DYNAMIC reservedreserved 
    DYNAMIC_FUNCTION non-reservednon-reservednon-reserved
    DYNAMIC_​FUNCTION_​CODE non-reservednon-reserved 
    EACHnon-reservedreservedreserved 
    ELEMENT reservedreserved 
    ELSEreservedreservedreservedreserved
    EMPTY reservednon-reserved 
    ENABLEnon-reserved   
    ENCODINGnon-reservednon-reservednon-reserved 
    ENCRYPTEDnon-reserved   
    ENDreservedreservedreservedreserved
    END-EXEC reservedreservedreserved
    END_FRAME reservedreserved 
    END_PARTITION reservedreserved 
    ENFORCED non-reservednon-reserved 
    ENUMnon-reserved   
    EQUALS reservedreserved 
    ERROR non-reserved  
    ESCAPEnon-reservedreservedreservedreserved
    EVENTnon-reserved   
    EVERY reservedreserved 
    EXCEPTreserved, requires ASreservedreservedreserved
    EXCEPTION   reserved
    EXCLUDEnon-reservednon-reservednon-reserved 
    EXCLUDINGnon-reservednon-reservednon-reserved 
    EXCLUSIVEnon-reserved   
    EXEC reservedreservedreserved
    EXECUTEnon-reservedreservedreservedreserved
    EXISTSnon-reserved (cannot be function or type)reservedreservedreserved
    EXP reservedreserved 
    EXPLAINnon-reserved   
    EXPRESSIONnon-reservednon-reservednon-reserved 
    EXTENSIONnon-reserved   
    EXTERNALnon-reservedreservedreservedreserved
    EXTRACTnon-reserved (cannot be function or type)reservedreservedreserved
    FALSEreservedreservedreservedreserved
    FAMILYnon-reserved   
    FETCHreserved, requires ASreservedreservedreserved
    FILE non-reservednon-reserved 
    FILTERnon-reserved, requires ASreservedreserved 
    FINAL non-reservednon-reserved 
    FINALIZEnon-reserved   
    FINISH non-reserved  
    FIRSTnon-reservednon-reservednon-reservedreserved
    FIRST_VALUE reservedreserved 
    FLAG non-reservednon-reserved 
    FLOATnon-reserved (cannot be function or type)reservedreservedreserved
    FLOOR reservedreserved 
    FOLLOWINGnon-reservednon-reservednon-reserved 
    FORreserved, requires ASreservedreservedreserved
    FORCEnon-reserved   
    FOREIGNreservedreservedreservedreserved
    FORMAT non-reserved  
    FORTRAN non-reservednon-reservednon-reserved
    FORWARDnon-reserved   
    FOUND non-reservednon-reservedreserved
    FRAME_ROW reservedreserved 
    FREE reservedreserved 
    FREEZEreserved (can be function or type)   
    FROMreserved, requires ASreservedreservedreserved
    FS non-reservednon-reserved 
    FULFILL non-reserved  
    FULLreserved (can be function or type)reservedreservedreserved
    FUNCTIONnon-reservedreservedreserved 
    FUNCTIONSnon-reserved   
    FUSION reservedreserved 
    G non-reservednon-reserved 
    GENERAL non-reservednon-reserved 
    GENERATEDnon-reservednon-reservednon-reserved 
    GET reservedreservedreserved
    GLOBALnon-reservedreservedreservedreserved
    GO non-reservednon-reservedreserved
    GOTO non-reservednon-reservedreserved
    GRANTreserved, requires ASreservedreservedreserved
    GRANTEDnon-reservednon-reservednon-reserved 
    GREATESTnon-reserved (cannot be function or type)   
    GROUPreserved, requires ASreservedreservedreserved
    GROUPINGnon-reserved (cannot be function or type)reservedreserved 
    GROUPSnon-reservedreservedreserved 
    HANDLERnon-reserved   
    HAVINGreserved, requires ASreservedreservedreserved
    HEADERnon-reserved   
    HEX non-reservednon-reserved 
    HIERARCHY non-reservednon-reserved 
    HOLDnon-reservedreservedreserved 
    HOURnon-reserved, requires ASreservedreservedreserved
    ID non-reservednon-reserved 
    IDENTITYnon-reservedreservedreservedreserved
    IFnon-reserved   
    IGNORE non-reservednon-reserved 
    ILIKEreserved (can be function or type)   
    IMMEDIATEnon-reservednon-reservednon-reservedreserved
    IMMEDIATELY non-reservednon-reserved 
    IMMUTABLEnon-reserved   
    IMPLEMENTATION non-reservednon-reserved 
    IMPLICITnon-reserved   
    IMPORTnon-reservedreservedreserved 
    INreservedreservedreservedreserved
    INCLUDEnon-reserved   
    INCLUDINGnon-reservednon-reservednon-reserved 
    INCREMENTnon-reservednon-reservednon-reserved 
    INDENT non-reservednon-reserved 
    INDEXnon-reserved   
    INDEXESnon-reserved   
    INDICATOR reservedreservedreserved
    INHERITnon-reserved   
    INHERITSnon-reserved   
    INITIAL reserved  
    INITIALLYreservednon-reservednon-reservedreserved
    INLINEnon-reserved   
    INNERreserved (can be function or type)reservedreservedreserved
    INOUTnon-reserved (cannot be function or type)reservedreserved 
    INPUTnon-reservednon-reservednon-reservedreserved
    INSENSITIVEnon-reservedreservedreservedreserved
    INSERTnon-reservedreservedreservedreserved
    INSTANCE non-reservednon-reserved 
    INSTANTIABLE non-reservednon-reserved 
    INSTEADnon-reservednon-reservednon-reserved 
    INTnon-reserved (cannot be function or type)reservedreservedreserved
    INTEGERnon-reserved (cannot be function or type)reservedreservedreserved
    INTEGRITY non-reservednon-reserved 
    INTERSECTreserved, requires ASreservedreservedreserved
    INTERSECTION reservedreserved 
    INTERVALnon-reserved (cannot be function or type)reservedreservedreserved
    INTOreserved, requires ASreservedreservedreserved
    INVOKERnon-reservednon-reservednon-reserved 
    ISreserved (can be function or type)reservedreservedreserved
    ISNULLreserved (can be function or type), requires AS   
    ISOLATIONnon-reservednon-reservednon-reservedreserved
    JOINreserved (can be function or type)reservedreservedreserved
    JSON_ARRAY reserved  
    JSON_ARRAYAGG reserved  
    JSON_EXISTS reserved  
    JSON_OBJECT reserved  
    JSON_OBJECTAGG reserved  
    JSON_QUERY reserved  
    JSON_TABLE reserved  
    JSON_TABLE_PRIMITIVE reserved  
    JSON_VALUE reserved  
    K non-reservednon-reserved 
    KEEP non-reserved  
    KEYnon-reservednon-reservednon-reservedreserved
    KEYS non-reserved  
    KEY_MEMBER non-reservednon-reserved 
    KEY_TYPE non-reservednon-reserved 
    LABELnon-reserved   
    LAG reservedreserved 
    LANGUAGEnon-reservedreservedreservedreserved
    LARGEnon-reservedreservedreserved 
    LASTnon-reservednon-reservednon-reservedreserved
    LAST_VALUE reservedreserved 
    LATERALreservedreservedreserved 
    LEAD reservedreserved 
    LEADINGreservedreservedreservedreserved
    LEAKPROOFnon-reserved   
    LEASTnon-reserved (cannot be function or type)   
    LEFTreserved (can be function or type)reservedreservedreserved
    LENGTH non-reservednon-reservednon-reserved
    LEVELnon-reservednon-reservednon-reservedreserved
    LIBRARY non-reservednon-reserved 
    LIKEreserved (can be function or type)reservedreservedreserved
    LIKE_REGEX reservedreserved 
    LIMITreserved, requires ASnon-reservednon-reserved 
    LINK non-reservednon-reserved 
    LISTAGG reserved  
    LISTENnon-reserved   
    LN reservedreserved 
    LOADnon-reserved   
    LOCALnon-reservedreservedreservedreserved
    LOCALTIMEreservedreservedreserved 
    LOCALTIMESTAMPreservedreservedreserved 
    LOCATIONnon-reservednon-reservednon-reserved 
    LOCATOR non-reservednon-reserved 
    LOCKnon-reserved   
    LOCKEDnon-reserved   
    LOG reserved  
    LOG10 reserved  
    LOGGEDnon-reserved   
    LOWER reservedreservedreserved
    M non-reservednon-reserved 
    MAP non-reservednon-reserved 
    MAPPINGnon-reservednon-reservednon-reserved 
    MATCHnon-reservedreservedreservedreserved
    MATCHEDnon-reservednon-reservednon-reserved 
    MATCHES reserved  
    MATCH_NUMBER reserved  
    MATCH_RECOGNIZE reserved  
    MATERIALIZEDnon-reserved   
    MAX reservedreservedreserved
    MAXVALUEnon-reservednon-reservednon-reserved 
    MEASURES reserved  
    MEMBER reservedreserved 
    MERGEnon-reservedreservedreserved 
    MESSAGE_LENGTH non-reservednon-reservednon-reserved
    MESSAGE_OCTET_LENGTH non-reservednon-reservednon-reserved
    MESSAGE_TEXT non-reservednon-reservednon-reserved
    METHODnon-reservedreservedreserved 
    MIN reservedreservedreserved
    MINUTEnon-reserved, requires ASreservedreservedreserved
    MINVALUEnon-reservednon-reservednon-reserved 
    MOD reservedreserved 
    MODEnon-reserved   
    MODIFIES reservedreserved 
    MODULE reservedreservedreserved
    MONTHnon-reserved, requires ASreservedreservedreserved
    MORE non-reservednon-reservednon-reserved
    MOVEnon-reserved   
    MULTISET reservedreserved 
    MUMPS non-reservednon-reservednon-reserved
    NAMEnon-reservednon-reservednon-reservednon-reserved
    NAMESnon-reservednon-reservednon-reservedreserved
    NAMESPACE non-reservednon-reserved 
    NATIONALnon-reserved (cannot be function or type)reservedreservedreserved
    NATURALreserved (can be function or type)reservedreservedreserved
    NCHARnon-reserved (cannot be function or type)reservedreservedreserved
    NCLOB reservedreserved 
    NESTED non-reserved  
    NESTING non-reservednon-reserved 
    NEWnon-reservedreservedreserved 
    NEXTnon-reservednon-reservednon-reservedreserved
    NFCnon-reservednon-reservednon-reserved 
    NFDnon-reservednon-reservednon-reserved 
    NFKCnon-reservednon-reservednon-reserved 
    NFKDnon-reservednon-reservednon-reserved 
    NIL non-reservednon-reserved 
    NOnon-reservedreservedreservedreserved
    NONEnon-reserved (cannot be function or type)reservedreserved 
    NORMALIZEnon-reserved (cannot be function or type)reservedreserved 
    NORMALIZEDnon-reservednon-reservednon-reserved 
    NOTreservedreservedreservedreserved
    NOTHINGnon-reserved   
    NOTIFYnon-reserved   
    NOTNULLreserved (can be function or type), requires AS   
    NOWAITnon-reserved   
    NTH_VALUE reservedreserved 
    NTILE reservedreserved 
    NULLreservedreservedreservedreserved
    NULLABLE non-reservednon-reservednon-reserved
    NULLIFnon-reserved (cannot be function or type)reservedreservedreserved
    NULLSnon-reservednon-reservednon-reserved 
    NULL_ORDERING non-reserved  
    NUMBER non-reservednon-reservednon-reserved
    NUMERICnon-reserved (cannot be function or type)reservedreservedreserved
    OBJECTnon-reservednon-reservednon-reserved 
    OCCURRENCE non-reserved  
    OCCURRENCES_REGEX reservedreserved 
    OCTETS non-reservednon-reserved 
    OCTET_LENGTH reservedreservedreserved
    OFnon-reservedreservedreservedreserved
    OFFnon-reservednon-reservednon-reserved 
    OFFSETreserved, requires ASreservedreserved 
    OIDSnon-reserved   
    OLDnon-reservedreservedreserved 
    OMIT reserved  
    ONreserved, requires ASreservedreservedreserved
    ONE reserved  
    ONLYreservedreservedreservedreserved
    OPEN reservedreservedreserved
    OPERATORnon-reserved   
    OPTIONnon-reservednon-reservednon-reservedreserved
    OPTIONSnon-reservednon-reservednon-reserved 
    ORreservedreservedreservedreserved
    ORDERreserved, requires ASreservedreservedreserved
    ORDERING non-reservednon-reserved 
    ORDINALITYnon-reservednon-reservednon-reserved 
    OTHERSnon-reservednon-reservednon-reserved 
    OUTnon-reserved (cannot be function or type)reservedreserved 
    OUTERreserved (can be function or type)reservedreservedreserved
    OUTPUT non-reservednon-reservedreserved
    OVERnon-reserved, requires ASreservedreserved 
    OVERFLOW non-reserved  
    OVERLAPSreserved (can be function or type), requires ASreservedreservedreserved
    OVERLAYnon-reserved (cannot be function or type)reservedreserved 
    OVERRIDINGnon-reservednon-reservednon-reserved 
    OWNEDnon-reserved   
    OWNERnon-reserved   
    P non-reservednon-reserved 
    PAD non-reservednon-reservedreserved
    PARALLELnon-reserved   
    PARAMETERnon-reservedreservedreserved 
    PARAMETER_MODE non-reservednon-reserved 
    PARAMETER_NAME non-reservednon-reserved 
    PARAMETER_​ORDINAL_​POSITION non-reservednon-reserved 
    PARAMETER_​SPECIFIC_​CATALOG non-reservednon-reserved 
    PARAMETER_​SPECIFIC_​NAME non-reservednon-reserved 
    PARAMETER_​SPECIFIC_​SCHEMA non-reservednon-reserved 
    PARSERnon-reserved   
    PARTIALnon-reservednon-reservednon-reservedreserved
    PARTITIONnon-reservedreservedreserved 
    PASCAL non-reservednon-reservednon-reserved
    PASS non-reserved  
    PASSINGnon-reservednon-reservednon-reserved 
    PASSTHROUGH non-reservednon-reserved 
    PASSWORDnon-reserved   
    PAST non-reserved  
    PATH non-reservednon-reserved 
    PATTERN reserved  
    PER reserved  
    PERCENT reservedreserved 
    PERCENTILE_CONT reservedreserved 
    PERCENTILE_DISC reservedreserved 
    PERCENT_RANK reservedreserved 
    PERIOD reservedreserved 
    PERMISSION non-reservednon-reserved 
    PERMUTE reserved  
    PIPE non-reserved  
    PLACINGreservednon-reservednon-reserved 
    PLAN non-reserved  
    PLANSnon-reserved   
    PLI non-reservednon-reservednon-reserved
    POLICYnon-reserved   
    PORTION reservedreserved 
    POSITIONnon-reserved (cannot be function or type)reservedreservedreserved
    POSITION_REGEX reservedreserved 
    POWER reservedreserved 
    PRECEDES reservedreserved 
    PRECEDINGnon-reservednon-reservednon-reserved 
    PRECISIONnon-reserved (cannot be function or type), requires ASreservedreservedreserved
    PREPAREnon-reservedreservedreservedreserved
    PREPAREDnon-reserved   
    PRESERVEnon-reservednon-reservednon-reservedreserved
    PREV non-reserved  
    PRIMARYreservedreservedreservedreserved
    PRIORnon-reservednon-reservednon-reservedreserved
    PRIVATE non-reserved  
    PRIVILEGESnon-reservednon-reservednon-reservedreserved
    PROCEDURALnon-reserved   
    PROCEDUREnon-reservedreservedreservedreserved
    PROCEDURESnon-reserved   
    PROGRAMnon-reserved   
    PRUNE non-reserved  
    PTF reserved  
    PUBLIC non-reservednon-reservedreserved
    PUBLICATIONnon-reserved   
    QUOTEnon-reserved   
    QUOTES non-reserved  
    RANGEnon-reservedreservedreserved 
    RANK reservedreserved 
    READnon-reservednon-reservednon-reservedreserved
    READS reservedreserved 
    REALnon-reserved (cannot be function or type)reservedreservedreserved
    REASSIGNnon-reserved   
    RECHECKnon-reserved   
    RECOVERY non-reservednon-reserved 
    RECURSIVEnon-reservedreservedreserved 
    REFnon-reservedreservedreserved 
    REFERENCESreservedreservedreservedreserved
    REFERENCINGnon-reservedreservedreserved 
    REFRESHnon-reserved   
    REGR_AVGX reservedreserved 
    REGR_AVGY reservedreserved 
    REGR_COUNT reservedreserved 
    REGR_INTERCEPT reservedreserved 
    REGR_R2 reservedreserved 
    REGR_SLOPE reservedreserved 
    REGR_SXX reservedreserved 
    REGR_SXY reservedreserved 
    REGR_SYY reservedreserved 
    REINDEXnon-reserved   
    RELATIVEnon-reservednon-reservednon-reservedreserved
    RELEASEnon-reservedreservedreserved 
    RENAMEnon-reserved   
    REPEATABLEnon-reservednon-reservednon-reservednon-reserved
    REPLACEnon-reserved   
    REPLICAnon-reserved   
    REQUIRING non-reservednon-reserved 
    RESETnon-reserved   
    RESPECT non-reservednon-reserved 
    RESTARTnon-reservednon-reservednon-reserved 
    RESTORE non-reservednon-reserved 
    RESTRICTnon-reservednon-reservednon-reservedreserved
    RESULT reservedreserved 
    RETURNnon-reservedreservedreserved 
    RETURNED_CARDINALITY non-reservednon-reserved 
    RETURNED_LENGTH non-reservednon-reservednon-reserved
    RETURNED_​OCTET_​LENGTH non-reservednon-reservednon-reserved
    RETURNED_SQLSTATE non-reservednon-reservednon-reserved
    RETURNINGreserved, requires ASnon-reservednon-reserved 
    RETURNSnon-reservedreservedreserved 
    REVOKEnon-reservedreservedreservedreserved
    RIGHTreserved (can be function or type)reservedreservedreserved
    ROLEnon-reservednon-reservednon-reserved 
    ROLLBACKnon-reservedreservedreservedreserved
    ROLLUPnon-reservedreservedreserved 
    ROUTINEnon-reservednon-reservednon-reserved 
    ROUTINESnon-reserved   
    ROUTINE_CATALOG non-reservednon-reserved 
    ROUTINE_NAME non-reservednon-reserved 
    ROUTINE_SCHEMA non-reservednon-reserved 
    ROWnon-reserved (cannot be function or type)reservedreserved 
    ROWSnon-reservedreservedreservedreserved
    ROW_COUNT non-reservednon-reservednon-reserved
    ROW_NUMBER reservedreserved 
    RULEnon-reserved   
    RUNNING reserved  
    SAVEPOINTnon-reservedreservedreserved 
    SCALAR non-reserved  
    SCALE non-reservednon-reservednon-reserved
    SCHEMAnon-reservednon-reservednon-reservedreserved
    SCHEMASnon-reserved   
    SCHEMA_NAME non-reservednon-reservednon-reserved
    SCOPE reservedreserved 
    SCOPE_CATALOG non-reservednon-reserved 
    SCOPE_NAME non-reservednon-reserved 
    SCOPE_SCHEMA non-reservednon-reserved 
    SCROLLnon-reservedreservedreservedreserved
    SEARCHnon-reservedreservedreserved 
    SECONDnon-reserved, requires ASreservedreservedreserved
    SECTION non-reservednon-reservedreserved
    SECURITYnon-reservednon-reservednon-reserved 
    SEEK reserved  
    SELECTreservedreservedreservedreserved
    SELECTIVE non-reservednon-reserved 
    SELF non-reservednon-reserved 
    SEMANTICS non-reserved  
    SENSITIVE reservedreserved 
    SEQUENCEnon-reservednon-reservednon-reserved 
    SEQUENCESnon-reserved   
    SERIALIZABLEnon-reservednon-reservednon-reservednon-reserved
    SERVERnon-reservednon-reservednon-reserved 
    SERVER_NAME non-reservednon-reservednon-reserved
    SESSIONnon-reservednon-reservednon-reservedreserved
    SESSION_USERreservedreservedreservedreserved
    SETnon-reservedreservedreservedreserved
    SETOFnon-reserved (cannot be function or type)   
    SETSnon-reservednon-reservednon-reserved 
    SHAREnon-reserved   
    SHOWnon-reservedreserved  
    SIMILARreserved (can be function or type)reservedreserved 
    SIMPLEnon-reservednon-reservednon-reserved 
    SIN reserved  
    SINH reserved  
    SIZE non-reservednon-reservedreserved
    SKIPnon-reservedreserved  
    SMALLINTnon-reserved (cannot be function or type)reservedreservedreserved
    SNAPSHOTnon-reserved   
    SOMEreservedreservedreservedreserved
    SORT_DIRECTION non-reserved  
    SOURCE non-reservednon-reserved 
    SPACE non-reservednon-reservedreserved
    SPECIFIC reservedreserved 
    SPECIFICTYPE reservedreserved 
    SPECIFIC_NAME non-reservednon-reserved 
    SQLnon-reservedreservedreservedreserved
    SQLCODE   reserved
    SQLERROR   reserved
    SQLEXCEPTION reservedreserved 
    SQLSTATE reservedreservedreserved
    SQLWARNING reservedreserved 
    SQRT reservedreserved 
    STABLEnon-reserved   
    STANDALONEnon-reservednon-reservednon-reserved 
    STARTnon-reservedreservedreserved 
    STATE non-reservednon-reserved 
    STATEMENTnon-reservednon-reservednon-reserved 
    STATIC reservedreserved 
    STATISTICSnon-reserved   
    STDDEV_POP reservedreserved 
    STDDEV_SAMP reservedreserved 
    STDINnon-reserved   
    STDOUTnon-reserved   
    STORAGEnon-reserved   
    STOREDnon-reserved   
    STRICTnon-reserved   
    STRING non-reserved  
    STRIPnon-reservednon-reservednon-reserved 
    STRUCTURE non-reservednon-reserved 
    STYLE non-reservednon-reserved 
    SUBCLASS_ORIGIN non-reservednon-reservednon-reserved
    SUBMULTISET reservedreserved 
    SUBSCRIPTIONnon-reserved   
    SUBSET reserved  
    SUBSTRINGnon-reserved (cannot be function or type)reservedreservedreserved
    SUBSTRING_REGEX reservedreserved 
    SUCCEEDS reservedreserved 
    SUM reservedreservedreserved
    SUPPORTnon-reserved   
    SYMMETRICreservedreservedreserved 
    SYSIDnon-reserved   
    SYSTEMnon-reservedreservedreserved 
    SYSTEM_TIME reservedreserved 
    SYSTEM_USER reservedreservedreserved
    T non-reservednon-reserved 
    TABLEreservedreservedreservedreserved
    TABLESnon-reserved   
    TABLESAMPLEreserved (can be function or type)reservedreserved 
    TABLESPACEnon-reserved   
    TABLE_NAME non-reservednon-reservednon-reserved
    TAN reserved  
    TANH reserved  
    TEMPnon-reserved   
    TEMPLATEnon-reserved   
    TEMPORARYnon-reservednon-reservednon-reservedreserved
    TEXTnon-reserved   
    THENreservedreservedreservedreserved
    THROUGH non-reserved  
    TIESnon-reservednon-reservednon-reserved 
    TIMEnon-reserved (cannot be function or type)reservedreservedreserved
    TIMESTAMPnon-reserved (cannot be function or type)reservedreservedreserved
    TIMEZONE_HOUR reservedreservedreserved
    TIMEZONE_MINUTE reservedreservedreserved
    TOreserved, requires ASreservedreservedreserved
    TOKEN non-reservednon-reserved 
    TOP_LEVEL_COUNT non-reservednon-reserved 
    TRAILINGreservedreservedreservedreserved
    TRANSACTIONnon-reservednon-reservednon-reservedreserved
    TRANSACTIONS_​COMMITTED non-reservednon-reserved 
    TRANSACTIONS_​ROLLED_​BACK non-reservednon-reserved 
    TRANSACTION_ACTIVE non-reservednon-reserved 
    TRANSFORMnon-reservednon-reservednon-reserved 
    TRANSFORMS non-reservednon-reserved 
    TRANSLATE reservedreservedreserved
    TRANSLATE_REGEX reservedreserved 
    TRANSLATION reservedreservedreserved
    TREATnon-reserved (cannot be function or type)reservedreserved 
    TRIGGERnon-reservedreservedreserved 
    TRIGGER_CATALOG non-reservednon-reserved 
    TRIGGER_NAME non-reservednon-reserved 
    TRIGGER_SCHEMA non-reservednon-reserved 
    TRIMnon-reserved (cannot be function or type)reservedreservedreserved
    TRIM_ARRAY reservedreserved 
    TRUEreservedreservedreservedreserved
    TRUNCATEnon-reservedreservedreserved 
    TRUSTEDnon-reserved   
    TYPEnon-reservednon-reservednon-reservednon-reserved
    TYPESnon-reserved   
    UESCAPEnon-reservedreservedreserved 
    UNBOUNDEDnon-reservednon-reservednon-reserved 
    UNCOMMITTEDnon-reservednon-reservednon-reservednon-reserved
    UNCONDITIONAL non-reserved  
    UNDER non-reservednon-reserved 
    UNENCRYPTEDnon-reserved   
    UNIONreserved, requires ASreservedreservedreserved
    UNIQUEreservedreservedreservedreserved
    UNKNOWNnon-reservedreservedreservedreserved
    UNLINK non-reservednon-reserved 
    UNLISTENnon-reserved   
    UNLOGGEDnon-reserved   
    UNMATCHED reserved  
    UNNAMED non-reservednon-reservednon-reserved
    UNNEST reservedreserved 
    UNTILnon-reserved   
    UNTYPED non-reservednon-reserved 
    UPDATEnon-reservedreservedreservedreserved
    UPPER reservedreservedreserved
    URI non-reservednon-reserved 
    USAGE non-reservednon-reservedreserved
    USERreservedreservedreservedreserved
    USER_​DEFINED_​TYPE_​CATALOG non-reservednon-reserved 
    USER_​DEFINED_​TYPE_​CODE non-reservednon-reserved 
    USER_​DEFINED_​TYPE_​NAME non-reservednon-reserved 
    USER_​DEFINED_​TYPE_​SCHEMA non-reservednon-reserved 
    USINGreservedreservedreservedreserved
    UTF16 non-reserved  
    UTF32 non-reserved  
    UTF8 non-reserved  
    VACUUMnon-reserved   
    VALIDnon-reservednon-reservednon-reserved 
    VALIDATEnon-reserved   
    VALIDATORnon-reserved   
    VALUEnon-reservedreservedreservedreserved
    VALUESnon-reserved (cannot be function or type)reservedreservedreserved
    VALUE_OF reservedreserved 
    VARBINARY reservedreserved 
    VARCHARnon-reserved (cannot be function or type)reservedreservedreserved
    VARIADICreserved   
    VARYINGnon-reserved, requires ASreservedreservedreserved
    VAR_POP reservedreserved 
    VAR_SAMP reservedreserved 
    VERBOSEreserved (can be function or type)   
    VERSIONnon-reservednon-reservednon-reserved 
    VERSIONING reservedreserved 
    VIEWnon-reservednon-reservednon-reservedreserved
    VIEWSnon-reserved   
    VOLATILEnon-reserved   
    WHENreservedreservedreservedreserved
    WHENEVER reservedreservedreserved
    WHEREreserved, requires ASreservedreservedreserved
    WHITESPACEnon-reservednon-reservednon-reserved 
    WIDTH_BUCKET reservedreserved 
    WINDOWreserved, requires ASreservedreserved 
    WITHreserved, requires ASreservedreservedreserved
    WITHINnon-reserved, requires ASreservedreserved 
    WITHOUTnon-reserved, requires ASreservedreserved 
    WORKnon-reservednon-reservednon-reservedreserved
    WRAPPERnon-reservednon-reservednon-reserved 
    WRITEnon-reservednon-reservednon-reservedreserved
    XMLnon-reservedreservedreserved 
    XMLAGG reservedreserved 
    XMLATTRIBUTESnon-reserved (cannot be function or type)reservedreserved 
    XMLBINARY reservedreserved 
    XMLCAST reservedreserved 
    XMLCOMMENT reservedreserved 
    XMLCONCATnon-reserved (cannot be function or type)reservedreserved 
    XMLDECLARATION non-reservednon-reserved 
    XMLDOCUMENT reservedreserved 
    XMLELEMENTnon-reserved (cannot be function or type)reservedreserved 
    XMLEXISTSnon-reserved (cannot be function or type)reservedreserved 
    XMLFORESTnon-reserved (cannot be function or type)reservedreserved 
    XMLITERATE reservedreserved 
    XMLNAMESPACESnon-reserved (cannot be function or type)reservedreserved 
    XMLPARSEnon-reserved (cannot be function or type)reservedreserved 
    XMLPInon-reserved (cannot be function or type)reservedreserved 
    XMLQUERY reservedreserved 
    XMLROOTnon-reserved (cannot be function or type)   
    XMLSCHEMA non-reservednon-reserved 
    XMLSERIALIZEnon-reserved (cannot be function or type)reservedreserved 
    XMLTABLEnon-reserved (cannot be function or type)reservedreserved 
    XMLTEXT reservedreserved 
    XMLVALIDATE reservedreserved 
    YEARnon-reserved, requires ASreservedreservedreserved
    YESnon-reservednon-reservednon-reserved 
    ZONEnon-reservednon-reservednon-reservedreserved

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-listen.html postgresql-15-15.18/doc/src/sgml/html/sql-listen.html --- postgresql-15-15.17/doc/src/sgml/html/sql-listen.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-listen.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -LISTEN

    LISTEN

    LISTEN — listen for a notification

    Synopsis

    +LISTEN

    LISTEN

    LISTEN — listen for a notification

    Synopsis

     LISTEN channel
     

    Description

    LISTEN registers the current session as a @@ -67,4 +67,4 @@

    Compatibility

    There is no LISTEN statement in the SQL standard. -

    See Also

    NOTIFY, UNLISTEN
    \ No newline at end of file +

    See Also

    NOTIFY, UNLISTEN
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-load.html postgresql-15-15.18/doc/src/sgml/html/sql-load.html --- postgresql-15-15.17/doc/src/sgml/html/sql-load.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-load.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -LOAD

    LOAD

    LOAD — load a shared library file

    Synopsis

    +LOAD

    LOAD

    LOAD — load a shared library file

    Synopsis

     LOAD 'filename'
     

    Description

    This command loads a shared library file into the PostgreSQL @@ -28,4 +28,4 @@ extension.

    See Also

    CREATE FUNCTION -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-lock.html postgresql-15-15.18/doc/src/sgml/html/sql-lock.html --- postgresql-15-15.17/doc/src/sgml/html/sql-lock.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-lock.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -LOCK

    LOCK

    LOCK — lock a table

    Synopsis

    +LOCK

    LOCK

    LOCK — lock a table

    Synopsis

     LOCK [ TABLE ] [ ONLY ] name [ * ] [, ...] [ IN lockmode MODE ] [ NOWAIT ]
     
     where lockmode is one of:
    @@ -164,4 +164,4 @@
        PostgreSQL lock modes and the
        LOCK TABLE syntax are compatible with those
        present in Oracle.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-merge.html postgresql-15-15.18/doc/src/sgml/html/sql-merge.html --- postgresql-15-15.17/doc/src/sgml/html/sql-merge.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-merge.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -MERGE

    MERGE

    MERGE — conditionally insert, update, or delete rows of a table

    Synopsis

    +MERGE

    MERGE

    MERGE — conditionally insert, update, or delete rows of a table

    Synopsis

     [ WITH with_query [, ...] ]
     MERGE INTO [ ONLY ] target_table_name [ * ] [ [ AS ] target_alias ]
         USING data_source ON join_condition
    @@ -393,4 +393,4 @@
       

    The WITH clause and DO NOTHING action are extensions to the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-move.html postgresql-15-15.18/doc/src/sgml/html/sql-move.html --- postgresql-15-15.17/doc/src/sgml/html/sql-move.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-move.html 2026-05-11 20:02:47.000000000 +0000 @@ -1,5 +1,5 @@ -MOVE

    MOVE

    MOVE — position a cursor

    Synopsis

    +MOVE

    MOVE

    MOVE — position a cursor

    Synopsis

     MOVE [ direction ] [ FROM | IN ] cursor_name
     
     where direction can be one of:
    @@ -56,4 +56,4 @@
     COMMIT WORK;
     

    Compatibility

    There is no MOVE statement in the SQL standard. -

    See Also

    CLOSE, DECLARE, FETCH
    \ No newline at end of file +

    See Also

    CLOSE, DECLARE, FETCH
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-notify.html postgresql-15-15.18/doc/src/sgml/html/sql-notify.html --- postgresql-15-15.17/doc/src/sgml/html/sql-notify.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-notify.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -NOTIFY

    NOTIFY

    NOTIFY — generate a notification

    Synopsis

    +NOTIFY

    NOTIFY

    NOTIFY — generate a notification

    Synopsis

     NOTIFY channel [ , payload ]
     

    Description

    The NOTIFY command sends a notification event together @@ -129,4 +129,4 @@

    Compatibility

    There is no NOTIFY statement in the SQL standard. -

    See Also

    LISTEN, UNLISTEN
    \ No newline at end of file +

    See Also

    LISTEN, UNLISTEN
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-prepare-transaction.html postgresql-15-15.18/doc/src/sgml/html/sql-prepare-transaction.html --- postgresql-15-15.17/doc/src/sgml/html/sql-prepare-transaction.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-prepare-transaction.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -PREPARE TRANSACTION

    PREPARE TRANSACTION

    PREPARE TRANSACTION — prepare the current transaction for two-phase commit

    Synopsis

    +PREPARE TRANSACTION

    PREPARE TRANSACTION

    PREPARE TRANSACTION — prepare the current transaction for two-phase commit

    Synopsis

     PREPARE TRANSACTION transaction_id
     

    Description

    PREPARE TRANSACTION prepares the current transaction @@ -87,4 +87,4 @@ external transaction management systems, some of which are covered by standards (such as X/Open XA), but the SQL side of those systems is not standardized. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-prepare.html postgresql-15-15.18/doc/src/sgml/html/sql-prepare.html --- postgresql-15-15.17/doc/src/sgml/html/sql-prepare.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-prepare.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -PREPARE

    PREPARE

    PREPARE — prepare a statement for execution

    Synopsis

    +PREPARE

    PREPARE

    PREPARE — prepare a statement for execution

    Synopsis

     PREPARE name [ ( data_type [, ...] ) ] AS statement
     

    Description

    PREPARE creates a prepared statement. A prepared @@ -148,4 +148,4 @@ but it is only for use in embedded SQL. This version of the PREPARE statement also uses a somewhat different syntax. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-reassign-owned.html postgresql-15-15.18/doc/src/sgml/html/sql-reassign-owned.html --- postgresql-15-15.17/doc/src/sgml/html/sql-reassign-owned.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-reassign-owned.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -REASSIGN OWNED

    REASSIGN OWNED

    REASSIGN OWNED — change the ownership of database objects owned by a database role

    Synopsis

    +REASSIGN OWNED

    REASSIGN OWNED

    REASSIGN OWNED — change the ownership of database objects owned by a database role

    Synopsis

     REASSIGN OWNED BY { old_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...]
                    TO { new_role | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
     

    Description

    @@ -39,4 +39,4 @@

    Compatibility

    The REASSIGN OWNED command is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-refreshmaterializedview.html postgresql-15-15.18/doc/src/sgml/html/sql-refreshmaterializedview.html --- postgresql-15-15.17/doc/src/sgml/html/sql-refreshmaterializedview.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-refreshmaterializedview.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -REFRESH MATERIALIZED VIEW

    REFRESH MATERIALIZED VIEW

    REFRESH MATERIALIZED VIEW — replace the contents of a materialized view

    Synopsis

    +REFRESH MATERIALIZED VIEW

    REFRESH MATERIALIZED VIEW

    REFRESH MATERIALIZED VIEW — replace the contents of a materialized view

    Synopsis

     REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name
         [ WITH [ NO ] DATA ]
     

    Description

    @@ -56,4 +56,4 @@

    Compatibility

    REFRESH MATERIALIZED VIEW is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-reindex.html postgresql-15-15.18/doc/src/sgml/html/sql-reindex.html --- postgresql-15-15.17/doc/src/sgml/html/sql-reindex.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-reindex.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -REINDEX

    REINDEX

    REINDEX — rebuild indexes

    Synopsis

    +REINDEX

    REINDEX

    REINDEX — rebuild indexes

    Synopsis

     REINDEX [ ( option [, ...] ) ] { INDEX | TABLE | SCHEMA | DATABASE | SYSTEM } [ CONCURRENTLY ] name
     
     where option can be one of:
    @@ -327,4 +327,4 @@
     REINDEX TABLE CONCURRENTLY my_broken_table;
     

    Compatibility

    There is no REINDEX command in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-release-savepoint.html postgresql-15-15.18/doc/src/sgml/html/sql-release-savepoint.html --- postgresql-15-15.17/doc/src/sgml/html/sql-release-savepoint.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-release-savepoint.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -RELEASE SAVEPOINT

    RELEASE SAVEPOINT

    RELEASE SAVEPOINT — destroy a previously defined savepoint

    Synopsis

    +RELEASE SAVEPOINT

    RELEASE SAVEPOINT

    RELEASE SAVEPOINT — destroy a previously defined savepoint

    Synopsis

     RELEASE [ SAVEPOINT ] savepoint_name
     

    Description

    RELEASE SAVEPOINT destroys a savepoint previously defined @@ -42,4 +42,4 @@ specifies that the key word SAVEPOINT is mandatory, but PostgreSQL allows it to be omitted. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-reset.html postgresql-15-15.18/doc/src/sgml/html/sql-reset.html --- postgresql-15-15.17/doc/src/sgml/html/sql-reset.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-reset.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -RESET

    RESET

    RESET — restore the value of a run-time parameter to the default value

    Synopsis

    +RESET

    RESET

    RESET — restore the value of a run-time parameter to the default value

    Synopsis

     RESET configuration_parameter
     RESET ALL
     

    Description

    @@ -36,4 +36,4 @@ RESET timezone;

    Compatibility

    RESET is a PostgreSQL extension. -

    See Also

    SET, SHOW
    \ No newline at end of file +

    See Also

    SET, SHOW
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-revoke.html postgresql-15-15.18/doc/src/sgml/html/sql-revoke.html --- postgresql-15-15.17/doc/src/sgml/html/sql-revoke.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-revoke.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -REVOKE

    REVOKE

    REVOKE — remove access privileges

    Synopsis

    +REVOKE

    REVOKE

    REVOKE — remove access privileges

    Synopsis

     REVOKE [ GRANT OPTION FOR ]
         { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
         [, ...] | ALL [ PRIVILEGES ] }
    @@ -246,4 +246,4 @@
         The keyword RESTRICT or CASCADE
         is required according to the standard, but PostgreSQL
         assumes RESTRICT by default.
    -   

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-rollback-prepared.html postgresql-15-15.18/doc/src/sgml/html/sql-rollback-prepared.html --- postgresql-15-15.17/doc/src/sgml/html/sql-rollback-prepared.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-rollback-prepared.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -ROLLBACK PREPARED

    ROLLBACK PREPARED

    ROLLBACK PREPARED — cancel a transaction that was earlier prepared for two-phase commit

    Synopsis

    +ROLLBACK PREPARED

    ROLLBACK PREPARED

    ROLLBACK PREPARED — cancel a transaction that was earlier prepared for two-phase commit

    Synopsis

     ROLLBACK PREPARED transaction_id
     

    Description

    ROLLBACK PREPARED rolls back a transaction that is in @@ -30,4 +30,4 @@ external transaction management systems, some of which are covered by standards (such as X/Open XA), but the SQL side of those systems is not standardized. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-rollback-to.html postgresql-15-15.18/doc/src/sgml/html/sql-rollback-to.html --- postgresql-15-15.17/doc/src/sgml/html/sql-rollback-to.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-rollback-to.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -ROLLBACK TO SAVEPOINT

    ROLLBACK TO SAVEPOINT

    ROLLBACK TO SAVEPOINT — roll back to a savepoint

    Synopsis

    +ROLLBACK TO SAVEPOINT

    ROLLBACK TO SAVEPOINT

    ROLLBACK TO SAVEPOINT — roll back to a savepoint

    Synopsis

     ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_name
     

    Description

    Roll back all commands that were executed after the savepoint was @@ -68,4 +68,4 @@ AND [ NO ] CHAIN which is not currently supported by PostgreSQL. Otherwise, this command conforms to the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-rollback.html postgresql-15-15.18/doc/src/sgml/html/sql-rollback.html --- postgresql-15-15.17/doc/src/sgml/html/sql-rollback.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-rollback.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -ROLLBACK

    ROLLBACK

    ROLLBACK — abort the current transaction

    Synopsis

    +ROLLBACK

    ROLLBACK

    ROLLBACK — abort the current transaction

    Synopsis

     ROLLBACK [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]
     

    Description

    ROLLBACK rolls back the current transaction and causes @@ -24,4 +24,4 @@

    Compatibility

    The command ROLLBACK conforms to the SQL standard. The form ROLLBACK TRANSACTION is a PostgreSQL extension. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-savepoint.html postgresql-15-15.18/doc/src/sgml/html/sql-savepoint.html --- postgresql-15-15.17/doc/src/sgml/html/sql-savepoint.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-savepoint.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -SAVEPOINT

    SAVEPOINT

    SAVEPOINT — define a new savepoint within the current transaction

    Synopsis

    +SAVEPOINT

    SAVEPOINT

    SAVEPOINT — define a new savepoint within the current transaction

    Synopsis

     SAVEPOINT savepoint_name
     

    Description

    SAVEPOINT establishes a new savepoint within @@ -76,4 +76,4 @@ to again become accessible to ROLLBACK TO SAVEPOINT and RELEASE SAVEPOINT.) Otherwise, SAVEPOINT is fully SQL conforming. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-security-label.html postgresql-15-15.18/doc/src/sgml/html/sql-security-label.html --- postgresql-15-15.17/doc/src/sgml/html/sql-security-label.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-security-label.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -SECURITY LABEL

    SECURITY LABEL

    SECURITY LABEL — define or change a security label applied to an object

    Synopsis

    +SECURITY LABEL

    SECURITY LABEL

    SECURITY LABEL — define or change a security label applied to an object

    Synopsis

     SECURITY LABEL [ FOR provider ] ON
     {
       TABLE object_name |
    @@ -100,4 +100,4 @@
     

    Compatibility

    There is no SECURITY LABEL command in the SQL standard. -

    See Also

    sepgsql, src/test/modules/dummy_seclabel
    \ No newline at end of file +

    See Also

    sepgsql, src/test/modules/dummy_seclabel
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-select.html postgresql-15-15.18/doc/src/sgml/html/sql-select.html --- postgresql-15-15.17/doc/src/sgml/html/sql-select.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-select.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -SELECT

    SELECT

    SELECT, TABLE, WITH — retrieve rows from a table or view

    Synopsis

    +SELECT

    SELECT

    SELECT, TABLE, WITH — retrieve rows from a table or view

    Synopsis

     [ WITH [ RECURSIVE ] with_query [, ...] ]
     SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
         [ { * | expression [ [ AS ] output_name ] } [, ...] ]
    @@ -1602,4 +1602,4 @@
         The MATERIALIZED and NOT
         MATERIALIZED options of WITH are extensions
         of the SQL standard.
    -   

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-selectinto.html postgresql-15-15.18/doc/src/sgml/html/sql-selectinto.html --- postgresql-15-15.17/doc/src/sgml/html/sql-selectinto.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-selectinto.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -SELECT INTO

    SELECT INTO

    SELECT INTO — define a new table from the results of a query

    Synopsis

    +SELECT INTO

    SELECT INTO

    SELECT INTO — define a new table from the results of a query

    Synopsis

     [ WITH [ RECURSIVE ] with_query [, ...] ]
     SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
         [ { * | expression [ [ AS ] output_name ] } [, ...] ]
    @@ -65,4 +65,4 @@
        most SQL implementations support CREATE TABLE AS
        instead).  Apart from such compatibility considerations, it is best to use
        CREATE TABLE AS for this purpose in new code.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-set-constraints.html postgresql-15-15.18/doc/src/sgml/html/sql-set-constraints.html --- postgresql-15-15.17/doc/src/sgml/html/sql-set-constraints.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-set-constraints.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -SET CONSTRAINTS

    SET CONSTRAINTS

    SET CONSTRAINTS — set constraint check timing for the current transaction

    Synopsis

    +SET CONSTRAINTS

    SET CONSTRAINTS

    SET CONSTRAINTS — set constraint check timing for the current transaction

    Synopsis

     SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }
     

    Description

    SET CONSTRAINTS sets the behavior of constraint @@ -68,4 +68,4 @@ Also, PostgreSQL checks non-deferrable uniqueness constraints immediately, not at end of statement as the standard would suggest. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-set-role.html postgresql-15-15.18/doc/src/sgml/html/sql-set-role.html --- postgresql-15-15.17/doc/src/sgml/html/sql-set-role.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-set-role.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -SET ROLE

    SET ROLE

    SET ROLE — set the current user identifier of the current session

    Synopsis

    +SET ROLE

    SET ROLE

    SET ROLE — set the current user identifier of the current session

    Synopsis

     SET [ SESSION | LOCAL ] ROLE role_name
     SET [ SESSION | LOCAL ] ROLE NONE
     RESET ROLE
    @@ -82,4 +82,4 @@
        The SESSION and LOCAL modifiers are a
        PostgreSQL extension, as is the
        RESET syntax.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-set-session-authorization.html postgresql-15-15.18/doc/src/sgml/html/sql-set-session-authorization.html --- postgresql-15-15.17/doc/src/sgml/html/sql-set-session-authorization.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-set-session-authorization.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -SET SESSION AUTHORIZATION

    SET SESSION AUTHORIZATION

    SET SESSION AUTHORIZATION — set the session user identifier and the current user identifier of the current session

    Synopsis

    +SET SESSION AUTHORIZATION

    SET SESSION AUTHORIZATION

    SET SESSION AUTHORIZATION — set the session user identifier and the current user identifier of the current session

    Synopsis

     SET [ SESSION | LOCAL ] SESSION AUTHORIZATION user_name
     SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT
     RESET SESSION AUTHORIZATION
    @@ -61,4 +61,4 @@
       

    The privileges necessary to execute this command are left implementation-defined by the standard. -

    See Also

    SET ROLE
    \ No newline at end of file +

    See Also

    SET ROLE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-set-transaction.html postgresql-15-15.18/doc/src/sgml/html/sql-set-transaction.html --- postgresql-15-15.17/doc/src/sgml/html/sql-set-transaction.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-set-transaction.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -SET TRANSACTION

    SET TRANSACTION

    SET TRANSACTION — set the characteristics of the current transaction

    Synopsis

    +SET TRANSACTION

    SET TRANSACTION

    SET TRANSACTION — set the characteristics of the current transaction

    Synopsis

     SET TRANSACTION transaction_mode [, ...]
     SET TRANSACTION SNAPSHOT snapshot_id
     SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode [, ...]
    @@ -176,4 +176,4 @@
        The SQL standard requires commas between successive transaction_modes, but for historical
        reasons PostgreSQL allows the commas to be
        omitted.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-set.html postgresql-15-15.18/doc/src/sgml/html/sql-set.html --- postgresql-15-15.17/doc/src/sgml/html/sql-set.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-set.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -SET

    SET

    SET — change a run-time parameter

    Synopsis

    +SET

    SET

    SET — change a run-time parameter

    Synopsis

     SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }
     SET [ SESSION | LOCAL ] TIME ZONE { value | 'value' | LOCAL | DEFAULT }
     

    Description

    @@ -152,4 +152,4 @@ PostgreSQL allows more flexible time-zone specifications. All other SET features are PostgreSQL extensions. -

    See Also

    RESET, SHOW
    \ No newline at end of file +

    See Also

    RESET, SHOW
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-show.html postgresql-15-15.18/doc/src/sgml/html/sql-show.html --- postgresql-15-15.17/doc/src/sgml/html/sql-show.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-show.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -SHOW

    SHOW

    SHOW — show the value of a run-time parameter

    Synopsis

    +SHOW

    SHOW

    SHOW — show the value of a run-time parameter

    Synopsis

     SHOW name
     SHOW ALL
     

    Description

    @@ -79,4 +79,4 @@

    Compatibility

    The SHOW command is a PostgreSQL extension. -

    See Also

    SET, RESET
    \ No newline at end of file +

    See Also

    SET, RESET
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-start-transaction.html postgresql-15-15.18/doc/src/sgml/html/sql-start-transaction.html --- postgresql-15-15.17/doc/src/sgml/html/sql-start-transaction.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-start-transaction.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -START TRANSACTION

    START TRANSACTION

    START TRANSACTION — start a transaction block

    Synopsis

    +START TRANSACTION

    START TRANSACTION

    START TRANSACTION — start a transaction block

    Synopsis

     START TRANSACTION [ transaction_mode [, ...] ]
     
     where transaction_mode is one of:
    @@ -34,4 +34,4 @@
        omitted.
       

    See also the compatibility section of SET TRANSACTION. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-syntax-calling-funcs.html postgresql-15-15.18/doc/src/sgml/html/sql-syntax-calling-funcs.html --- postgresql-15-15.17/doc/src/sgml/html/sql-syntax-calling-funcs.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-syntax-calling-funcs.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -4.3. Calling Functions

    4.3. Calling Functions

    +4.3. Calling Functions

    4.3. Calling Functions

    PostgreSQL allows functions that have named parameters to be called using either positional or named notation. Named notation is especially @@ -129,4 +129,4 @@ Named and mixed call notations currently cannot be used when calling an aggregate function (but they do work when an aggregate function is used as a window function). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-syntax-lexical.html postgresql-15-15.18/doc/src/sgml/html/sql-syntax-lexical.html --- postgresql-15-15.17/doc/src/sgml/html/sql-syntax-lexical.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-syntax-lexical.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -4.1. Lexical Structure

    4.1. Lexical Structure

    +4.1. Lexical Structure

    4.1. Lexical Structure

    SQL input consists of a sequence of commands. A command is composed of a sequence of tokens, terminated by a @@ -644,4 +644,4 @@ in no such operator failures which can be resolved by adding parentheses. However there are corner cases in which a query might change behavior without any parsing error being reported. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-syntax.html postgresql-15-15.18/doc/src/sgml/html/sql-syntax.html --- postgresql-15-15.17/doc/src/sgml/html/sql-syntax.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-syntax.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 4. SQL Syntax

    Chapter 4. SQL Syntax

    +Chapter 4. SQL Syntax

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-truncate.html postgresql-15-15.18/doc/src/sgml/html/sql-truncate.html --- postgresql-15-15.17/doc/src/sgml/html/sql-truncate.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-truncate.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -TRUNCATE

    TRUNCATE

    TRUNCATE — empty a table or set of tables

    Synopsis

    +TRUNCATE

    TRUNCATE

    TRUNCATE — empty a table or set of tables

    Synopsis

     TRUNCATE [ TABLE ] [ ONLY ] name [ * ] [, ... ]
         [ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]
     

    Description

    @@ -116,4 +116,4 @@ meanings. Some of the concurrency behavior of this command is left implementation-defined by the standard, so the above notes should be considered and compared with other implementations if necessary. -

    See Also

    DELETE
    \ No newline at end of file +

    See Also

    DELETE
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-unlisten.html postgresql-15-15.18/doc/src/sgml/html/sql-unlisten.html --- postgresql-15-15.17/doc/src/sgml/html/sql-unlisten.html 2026-02-23 22:14:36.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-unlisten.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -UNLISTEN

    UNLISTEN

    UNLISTEN — stop listening for a notification

    Synopsis

    +UNLISTEN

    UNLISTEN

    UNLISTEN — stop listening for a notification

    Synopsis

     UNLISTEN { channel | * }
     

    Description

    UNLISTEN is used to remove an existing @@ -45,4 +45,4 @@ -- no NOTIFY event is received

    Compatibility

    There is no UNLISTEN command in the SQL standard. -

    See Also

    LISTEN, NOTIFY
    \ No newline at end of file +

    See Also

    LISTEN, NOTIFY
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-update.html postgresql-15-15.18/doc/src/sgml/html/sql-update.html --- postgresql-15-15.17/doc/src/sgml/html/sql-update.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-update.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -UPDATE

    UPDATE

    UPDATE — update rows of a table

    Synopsis

    +UPDATE

    UPDATE

    UPDATE — update rows of a table

    Synopsis

     [ WITH [ RECURSIVE ] with_query [, ...] ]
     UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ]
         SET { column_name = { expression | DEFAULT } |
    @@ -287,4 +287,4 @@
        constructor or a sub-SELECT.  An individual column's
        updated value can be specified as DEFAULT in the
        row-constructor case, but not inside a sub-SELECT.
    -  

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-vacuum.html postgresql-15-15.18/doc/src/sgml/html/sql-vacuum.html --- postgresql-15-15.17/doc/src/sgml/html/sql-vacuum.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-vacuum.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -VACUUM

    VACUUM

    VACUUM — garbage-collect and optionally analyze a database

    Synopsis

    +VACUUM

    VACUUM

    VACUUM — garbage-collect and optionally analyze a database

    Synopsis

     VACUUM [ ( option [, ...] ) ] [ table_and_columns [, ...] ]
     VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ table_and_columns [, ...] ]
     
    @@ -255,4 +255,4 @@
     VACUUM (VERBOSE, ANALYZE) onek;
     

    Compatibility

    There is no VACUUM statement in the SQL standard. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql-values.html postgresql-15-15.18/doc/src/sgml/html/sql-values.html --- postgresql-15-15.17/doc/src/sgml/html/sql-values.html 2026-02-23 22:14:37.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql-values.html 2026-05-11 20:02:48.000000000 +0000 @@ -1,5 +1,5 @@ -VALUES

    VALUES

    VALUES — compute a set of rows

    Synopsis

    +VALUES

    VALUES

    VALUES — compute a set of rows

    Synopsis

     VALUES ( expression [, ...] ) [, ...]
         [ ORDER BY sort_expression [ ASC | DESC | USING operator ] [, ...] ]
         [ LIMIT { count | ALL } ]
    @@ -135,4 +135,4 @@
        LIMIT and OFFSET are
        PostgreSQL extensions; see also
        under SELECT.
    -  

    See Also

    INSERT, SELECT
    \ No newline at end of file +

    See Also

    INSERT, SELECT
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sql.html postgresql-15-15.18/doc/src/sgml/html/sql.html --- postgresql-15-15.17/doc/src/sgml/html/sql.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sql.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -Part II. The SQL Language

    Part II. The SQL Language

    +Part II. The SQL Language

    Part II. The SQL Language

    This part describes the use of the SQL language in PostgreSQL. We start with describing the general syntax of SQL, then @@ -27,4 +27,4 @@ using the PostgreSQL interactive terminal psql, but other programs that have similar functionality can be used as well. -

    Table of Contents

    4. SQL Syntax
    4.1. Lexical Structure
    4.2. Value Expressions
    4.3. Calling Functions
    5. Data Definition
    5.1. Table Basics
    5.2. Default Values
    5.3. Generated Columns
    5.4. Constraints
    5.5. System Columns
    5.6. Modifying Tables
    5.7. Privileges
    5.8. Row Security Policies
    5.9. Schemas
    5.10. Inheritance
    5.11. Table Partitioning
    5.12. Foreign Data
    5.13. Other Database Objects
    5.14. Dependency Tracking
    6. Data Manipulation
    6.1. Inserting Data
    6.2. Updating Data
    6.3. Deleting Data
    6.4. Returning Data from Modified Rows
    7. Queries
    7.1. Overview
    7.2. Table Expressions
    7.3. Select Lists
    7.4. Combining Queries (UNION, INTERSECT, EXCEPT)
    7.5. Sorting Rows (ORDER BY)
    7.6. LIMIT and OFFSET
    7.7. VALUES Lists
    7.8. WITH Queries (Common Table Expressions)
    8. Data Types
    8.1. Numeric Types
    8.2. Monetary Types
    8.3. Character Types
    8.4. Binary Data Types
    8.5. Date/Time Types
    8.6. Boolean Type
    8.7. Enumerated Types
    8.8. Geometric Types
    8.9. Network Address Types
    8.10. Bit String Types
    8.11. Text Search Types
    8.12. UUID Type
    8.13. XML Type
    8.14. JSON Types
    8.15. Arrays
    8.16. Composite Types
    8.17. Range Types
    8.18. Domain Types
    8.19. Object Identifier Types
    8.20. pg_lsn Type
    8.21. Pseudo-Types
    9. Functions and Operators
    9.1. Logical Operators
    9.2. Comparison Functions and Operators
    9.3. Mathematical Functions and Operators
    9.4. String Functions and Operators
    9.5. Binary String Functions and Operators
    9.6. Bit String Functions and Operators
    9.7. Pattern Matching
    9.8. Data Type Formatting Functions
    9.9. Date/Time Functions and Operators
    9.10. Enum Support Functions
    9.11. Geometric Functions and Operators
    9.12. Network Address Functions and Operators
    9.13. Text Search Functions and Operators
    9.14. UUID Functions
    9.15. XML Functions
    9.16. JSON Functions and Operators
    9.17. Sequence Manipulation Functions
    9.18. Conditional Expressions
    9.19. Array Functions and Operators
    9.20. Range/Multirange Functions and Operators
    9.21. Aggregate Functions
    9.22. Window Functions
    9.23. Subquery Expressions
    9.24. Row and Array Comparisons
    9.25. Set Returning Functions
    9.26. System Information Functions and Operators
    9.27. System Administration Functions
    9.28. Trigger Functions
    9.29. Event Trigger Functions
    9.30. Statistics Information Functions
    10. Type Conversion
    10.1. Overview
    10.2. Operators
    10.3. Functions
    10.4. Value Storage
    10.5. UNION, CASE, and Related Constructs
    10.6. SELECT Output Columns
    11. Indexes
    11.1. Introduction
    11.2. Index Types
    11.3. Multicolumn Indexes
    11.4. Indexes and ORDER BY
    11.5. Combining Multiple Indexes
    11.6. Unique Indexes
    11.7. Indexes on Expressions
    11.8. Partial Indexes
    11.9. Index-Only Scans and Covering Indexes
    11.10. Operator Classes and Operator Families
    11.11. Indexes and Collations
    11.12. Examining Index Usage
    12. Full Text Search
    12.1. Introduction
    12.2. Tables and Indexes
    12.3. Controlling Text Search
    12.4. Additional Features
    12.5. Parsers
    12.6. Dictionaries
    12.7. Configuration Example
    12.8. Testing and Debugging Text Search
    12.9. Preferred Index Types for Text Search
    12.10. psql Support
    12.11. Limitations
    13. Concurrency Control
    13.1. Introduction
    13.2. Transaction Isolation
    13.3. Explicit Locking
    13.4. Data Consistency Checks at the Application Level
    13.5. Serialization Failure Handling
    13.6. Caveats
    13.7. Locking and Indexes
    14. Performance Tips
    14.1. Using EXPLAIN
    14.2. Statistics Used by the Planner
    14.3. Controlling the Planner with Explicit JOIN Clauses
    14.4. Populating a Database
    14.5. Non-Durable Settings
    15. Parallel Query
    15.1. How Parallel Query Works
    15.2. When Can Parallel Query Be Used?
    15.3. Parallel Plans
    15.4. Parallel Safety
    \ No newline at end of file +

    Table of Contents

    4. SQL Syntax
    4.1. Lexical Structure
    4.2. Value Expressions
    4.3. Calling Functions
    5. Data Definition
    5.1. Table Basics
    5.2. Default Values
    5.3. Generated Columns
    5.4. Constraints
    5.5. System Columns
    5.6. Modifying Tables
    5.7. Privileges
    5.8. Row Security Policies
    5.9. Schemas
    5.10. Inheritance
    5.11. Table Partitioning
    5.12. Foreign Data
    5.13. Other Database Objects
    5.14. Dependency Tracking
    6. Data Manipulation
    6.1. Inserting Data
    6.2. Updating Data
    6.3. Deleting Data
    6.4. Returning Data from Modified Rows
    7. Queries
    7.1. Overview
    7.2. Table Expressions
    7.3. Select Lists
    7.4. Combining Queries (UNION, INTERSECT, EXCEPT)
    7.5. Sorting Rows (ORDER BY)
    7.6. LIMIT and OFFSET
    7.7. VALUES Lists
    7.8. WITH Queries (Common Table Expressions)
    8. Data Types
    8.1. Numeric Types
    8.2. Monetary Types
    8.3. Character Types
    8.4. Binary Data Types
    8.5. Date/Time Types
    8.6. Boolean Type
    8.7. Enumerated Types
    8.8. Geometric Types
    8.9. Network Address Types
    8.10. Bit String Types
    8.11. Text Search Types
    8.12. UUID Type
    8.13. XML Type
    8.14. JSON Types
    8.15. Arrays
    8.16. Composite Types
    8.17. Range Types
    8.18. Domain Types
    8.19. Object Identifier Types
    8.20. pg_lsn Type
    8.21. Pseudo-Types
    9. Functions and Operators
    9.1. Logical Operators
    9.2. Comparison Functions and Operators
    9.3. Mathematical Functions and Operators
    9.4. String Functions and Operators
    9.5. Binary String Functions and Operators
    9.6. Bit String Functions and Operators
    9.7. Pattern Matching
    9.8. Data Type Formatting Functions
    9.9. Date/Time Functions and Operators
    9.10. Enum Support Functions
    9.11. Geometric Functions and Operators
    9.12. Network Address Functions and Operators
    9.13. Text Search Functions and Operators
    9.14. UUID Functions
    9.15. XML Functions
    9.16. JSON Functions and Operators
    9.17. Sequence Manipulation Functions
    9.18. Conditional Expressions
    9.19. Array Functions and Operators
    9.20. Range/Multirange Functions and Operators
    9.21. Aggregate Functions
    9.22. Window Functions
    9.23. Subquery Expressions
    9.24. Row and Array Comparisons
    9.25. Set Returning Functions
    9.26. System Information Functions and Operators
    9.27. System Administration Functions
    9.28. Trigger Functions
    9.29. Event Trigger Functions
    9.30. Statistics Information Functions
    10. Type Conversion
    10.1. Overview
    10.2. Operators
    10.3. Functions
    10.4. Value Storage
    10.5. UNION, CASE, and Related Constructs
    10.6. SELECT Output Columns
    11. Indexes
    11.1. Introduction
    11.2. Index Types
    11.3. Multicolumn Indexes
    11.4. Indexes and ORDER BY
    11.5. Combining Multiple Indexes
    11.6. Unique Indexes
    11.7. Indexes on Expressions
    11.8. Partial Indexes
    11.9. Index-Only Scans and Covering Indexes
    11.10. Operator Classes and Operator Families
    11.11. Indexes and Collations
    11.12. Examining Index Usage
    12. Full Text Search
    12.1. Introduction
    12.2. Tables and Indexes
    12.3. Controlling Text Search
    12.4. Additional Features
    12.5. Parsers
    12.6. Dictionaries
    12.7. Configuration Example
    12.8. Testing and Debugging Text Search
    12.9. Preferred Index Types for Text Search
    12.10. psql Support
    12.11. Limitations
    13. Concurrency Control
    13.1. Introduction
    13.2. Transaction Isolation
    13.3. Explicit Locking
    13.4. Data Consistency Checks at the Application Level
    13.5. Serialization Failure Handling
    13.6. Caveats
    13.7. Locking and Indexes
    14. Performance Tips
    14.1. Using EXPLAIN
    14.2. Statistics Used by the Planner
    14.3. Controlling the Planner with Explicit JOIN Clauses
    14.4. Populating a Database
    14.5. Non-Durable Settings
    15. Parallel Query
    15.1. How Parallel Query Works
    15.2. When Can Parallel Query Be Used?
    15.3. Parallel Plans
    15.4. Parallel Safety
    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ssh-tunnels.html postgresql-15-15.18/doc/src/sgml/html/ssh-tunnels.html --- postgresql-15-15.17/doc/src/sgml/html/ssh-tunnels.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ssh-tunnels.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -19.11. Secure TCP/IP Connections with SSH Tunnels

    19.11. Secure TCP/IP Connections with SSH Tunnels

    +19.11. Secure TCP/IP Connections with SSH Tunnels

    19.11. Secure TCP/IP Connections with SSH Tunnels

    It is possible to use SSH to encrypt the network connection between clients and a PostgreSQL server. Done properly, this @@ -73,4 +73,4 @@

    Tip

    Several other applications exist that can provide secure tunnels using a procedure similar in concept to the one just described. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/ssl-tcp.html postgresql-15-15.18/doc/src/sgml/html/ssl-tcp.html --- postgresql-15-15.17/doc/src/sgml/html/ssl-tcp.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/ssl-tcp.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -19.9. Secure TCP/IP Connections with SSL

    19.9. Secure TCP/IP Connections with SSL

    +19.9. Secure TCP/IP Connections with SSL

    19.9. Secure TCP/IP Connections with SSL

    PostgreSQL has native support for using SSL connections to encrypt client/server communications for increased security. This requires that @@ -261,4 +261,4 @@ by a chain of certificates linked to its trusted root certificate. root.key and intermediate.key should be stored offline for use in creating future certificates. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sslinfo.html postgresql-15-15.18/doc/src/sgml/html/sslinfo.html --- postgresql-15-15.17/doc/src/sgml/html/sslinfo.html 2026-02-23 22:14:45.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sslinfo.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.42. sslinfo

    F.42. sslinfo

    +F.42. sslinfo

    F.42. sslinfo

    The sslinfo module provides information about the SSL certificate that the current client provided when connecting to PostgreSQL. The module is useless (most functions @@ -132,4 +132,4 @@

    E-Mail of Cryptocom OpenSSL development group: -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/sspi-auth.html postgresql-15-15.18/doc/src/sgml/html/sspi-auth.html --- postgresql-15-15.17/doc/src/sgml/html/sspi-auth.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/sspi-auth.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -21.7. SSPI Authentication

    21.7. SSPI Authentication

    +21.7. SSPI Authentication

    21.7. SSPI Authentication

    SSPI is a Windows technology for secure authentication with single sign-on. PostgreSQL will use SSPI in @@ -67,4 +67,4 @@ users of any realm can connect, subject to whatever user name mapping is done.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/storage-file-layout.html postgresql-15-15.18/doc/src/sgml/html/storage-file-layout.html --- postgresql-15-15.17/doc/src/sgml/html/storage-file-layout.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/storage-file-layout.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -73.1. Database File Layout

    73.1. Database File Layout

    +73.1. Database File Layout

    73.1. Database File Layout

    This section describes the storage format at the level of files and directories.

    @@ -130,4 +130,4 @@ pgsql_tmpPPP.NNN, where PPP is the PID of the owning backend and NNN distinguishes different temporary files of that backend. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/storage-fsm.html postgresql-15-15.18/doc/src/sgml/html/storage-fsm.html --- postgresql-15-15.17/doc/src/sgml/html/storage-fsm.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/storage-fsm.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -73.3. Free Space Map

    73.3. Free Space Map

    +73.3. Free Space Map

    73.3. Free Space Map

    Each heap and index relation, except for hash indexes, has a Free Space Map (FSM) to keep track of available space in the relation. It's stored alongside the main relation data in a separate relation fork, @@ -23,4 +23,4 @@ how the FSM is structured, and how it's updated and searched. The pg_freespacemap module can be used to examine the information stored in free space maps. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/storage-hot.html postgresql-15-15.18/doc/src/sgml/html/storage-hot.html --- postgresql-15-15.17/doc/src/sgml/html/storage-hot.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/storage-hot.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -73.7. Heap-Only Tuples (HOT)

    73.7. Heap-Only Tuples (HOT)

    +73.7. Heap-Only Tuples (HOT)

    73.7. Heap-Only Tuples (HOT)

    To allow for high concurrency, PostgreSQL uses multiversion concurrency control (MVCC) to store rows. However, @@ -42,4 +42,4 @@ new rows will naturally migrate to new pages and existing pages with sufficient free space for new row versions. The system view pg_stat_all_tables allows monitoring of the occurrence of HOT and non-HOT updates. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/storage-init.html postgresql-15-15.18/doc/src/sgml/html/storage-init.html --- postgresql-15-15.17/doc/src/sgml/html/storage-init.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/storage-init.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,8 +1,8 @@ -73.5. The Initialization Fork

    73.5. The Initialization Fork

    +73.5. The Initialization Fork

    73.5. The Initialization Fork

    Each unlogged table, and each index on an unlogged table, has an initialization fork. The initialization fork is an empty table or index of the appropriate type. When an unlogged table must be reset to empty due to a crash, the initialization fork is copied over the main fork, and any other forks are erased (they will be recreated automatically as needed). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/storage-page-layout.html postgresql-15-15.18/doc/src/sgml/html/storage-page-layout.html --- postgresql-15-15.17/doc/src/sgml/html/storage-page-layout.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/storage-page-layout.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -73.6. Database Page Layout

    73.6. Database Page Layout

    +73.6. Database Page Layout

    73.6. Database Page Layout

    This section provides an overview of the page format used within PostgreSQL tables and indexes.[17] Sequences and TOAST tables are formatted just like a regular table. @@ -154,4 +154,4 @@ always uses this format. All the existing index methods also use the basic format, but the data kept on index metapages usually doesn't follow the item layout rules. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/storage-toast.html postgresql-15-15.18/doc/src/sgml/html/storage-toast.html --- postgresql-15-15.17/doc/src/sgml/html/storage-toast.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/storage-toast.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -73.2. TOAST

    73.2. TOAST

    +73.2. TOAST

    73.2. TOAST

    This section provides an overview of TOAST (The Oversized-Attribute Storage Technique).

    @@ -220,4 +220,4 @@ expanded to normal in-line varlena values before storage — and then possibly converted to on-disk TOAST pointers, if the containing tuple would otherwise be too big. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/storage-vm.html postgresql-15-15.18/doc/src/sgml/html/storage-vm.html --- postgresql-15-15.17/doc/src/sgml/html/storage-vm.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/storage-vm.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -73.4. Visibility Map

    73.4. Visibility Map

    +73.4. Visibility Map

    73.4. Visibility Map

    Each heap relation has a Visibility Map (VM) to keep track of which pages contain only tuples that are known to be visible to all active transactions; it also keeps track of which pages contain @@ -26,4 +26,4 @@

    The pg_visibility module can be used to examine the information stored in the visibility map. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/storage.html postgresql-15-15.18/doc/src/sgml/html/storage.html --- postgresql-15-15.17/doc/src/sgml/html/storage.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/storage.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 73. Database Physical Storage

    Chapter 73. Database Physical Storage

    +Chapter 73. Database Physical Storage

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/supported-platforms.html postgresql-15-15.18/doc/src/sgml/html/supported-platforms.html --- postgresql-15-15.17/doc/src/sgml/html/supported-platforms.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/supported-platforms.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -17.6. Supported Platforms

    17.6. Supported Platforms

    +17.6. Supported Platforms

    17.6. Supported Platforms

    A platform (that is, a CPU architecture and operating system combination) is considered supported by the PostgreSQL development community if the code contains provisions to work on that platform and @@ -36,4 +36,4 @@ in porting PostgreSQL to a new platform, is the appropriate place to discuss that. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/system-catalog-declarations.html postgresql-15-15.18/doc/src/sgml/html/system-catalog-declarations.html --- postgresql-15-15.17/doc/src/sgml/html/system-catalog-declarations.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/system-catalog-declarations.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -74.1. System Catalog Declaration Rules

    74.1. System Catalog Declaration Rules

    +74.1. System Catalog Declaration Rules

    74.1. System Catalog Declaration Rules

    The key part of a catalog header file is a C structure definition describing the layout of each row of the catalog. This begins with a CATALOG macro, which so far as the C compiler is @@ -71,4 +71,4 @@ in pg_attribute, but fortunately genbki.pl handles that chore nowadays.) Avoid making new catalogs be bootstrap catalogs if at all possible. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/system-catalog-initial-data.html postgresql-15-15.18/doc/src/sgml/html/system-catalog-initial-data.html --- postgresql-15-15.17/doc/src/sgml/html/system-catalog-initial-data.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/system-catalog-initial-data.html 2026-05-11 20:02:53.000000000 +0000 @@ -1,5 +1,5 @@ -74.2. System Catalog Initial Data

    74.2. System Catalog Initial Data

    +74.2. System Catalog Initial Data

    74.2. System Catalog Initial Data

    Each catalog that has any manually-created initial data (some do not) has a corresponding .dat file that contains its initial data in an editable format. @@ -401,4 +401,4 @@ and remove_pg_type_oid_symbols.pl attached to this message: https://www.postgresql.org/message-id/CAJVSVGVX8gXnPm+Xa=DxR7kFYprcQ1tNcCT5D0O3ShfnM6jehA@mail.gmail.com -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tableam.html postgresql-15-15.18/doc/src/sgml/html/tableam.html --- postgresql-15-15.17/doc/src/sgml/html/tableam.html 2026-02-23 22:14:41.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tableam.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 63. Table Access Method Interface Definition

    Chapter 63. Table Access Method Interface Definition

    +Chapter 63. Table Access Method Interface Definition

    Chapter 63. Table Access Method Interface Definition

    This chapter explains the interface between the core PostgreSQL system and table access methods, which manage the storage for tables. The core system @@ -69,4 +69,4 @@ the existing heap implementation present in src/backend/access/heap/heapam_handler.c for details of its implementation. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tablefunc.html postgresql-15-15.18/doc/src/sgml/html/tablefunc.html --- postgresql-15-15.17/doc/src/sgml/html/tablefunc.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tablefunc.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.43. tablefunc

    F.43. tablefunc

    +F.43. tablefunc

    F.43. tablefunc

    The tablefunc module includes various functions that return tables (that is, multiple rows). These functions are useful both in their own right and as examples of how to write C functions that return @@ -610,4 +610,4 @@

    F.43.2. Author

    Joe Conway -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tablesample-method.html postgresql-15-15.18/doc/src/sgml/html/tablesample-method.html --- postgresql-15-15.17/doc/src/sgml/html/tablesample-method.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tablesample-method.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 60. Writing a Table Sampling Method

    Chapter 60. Writing a Table Sampling Method

    +Chapter 60. Writing a Table Sampling Method

    Chapter 60. Writing a Table Sampling Method

    PostgreSQL's implementation of the TABLESAMPLE clause supports custom table sampling methods, in addition to the BERNOULLI and SYSTEM methods that are required @@ -54,4 +54,4 @@ the src/backend/access/tablesample subdirectory of the source tree for the built-in sampling methods, and into the contrib subdirectory for add-on methods. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tablesample-support-functions.html postgresql-15-15.18/doc/src/sgml/html/tablesample-support-functions.html --- postgresql-15-15.17/doc/src/sgml/html/tablesample-support-functions.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tablesample-support-functions.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -60.1. Sampling Method Support Functions

    60.1. Sampling Method Support Functions

    +60.1. Sampling Method Support Functions

    60.1. Sampling Method Support Functions

    The TSM handler function returns a palloc'd TsmRoutine struct containing pointers to the support functions described below. Most of the functions are required, but some are optional, and those pointers can @@ -160,4 +160,4 @@ should be cleaned up. This function can be omitted (set the pointer to NULL) in the common case where no such resources exist. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tcn.html postgresql-15-15.18/doc/src/sgml/html/tcn.html --- postgresql-15-15.17/doc/src/sgml/html/tcn.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tcn.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.44. tcn

    F.44. tcn

    +F.44. tcn

    F.44. tcn

    The tcn module provides a trigger function that notifies listeners of changes to any table on which it is attached. It must be used as an AFTER trigger FOR EACH ROW. @@ -52,4 +52,4 @@ DELETE 1 Asynchronous notification "tcn" with payload ""tcndata",D,"a"='1',"b"='2012-12-22'" received from server process with PID 22770.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/test-decoding.html postgresql-15-15.18/doc/src/sgml/html/test-decoding.html --- postgresql-15-15.17/doc/src/sgml/html/test-decoding.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/test-decoding.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.45. test_decoding

    F.45. test_decoding

    +F.45. test_decoding

    F.45. test_decoding

    test_decoding is an example of a logical decoding output plugin. It doesn't do anything especially useful, but can serve as a starting point for developing your own output plugin. @@ -45,4 +45,4 @@ 0/16BEBA0 | 503 | closing a streamed block for transaction TXN 503 (10 rows)

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch-configuration.html postgresql-15-15.18/doc/src/sgml/html/textsearch-configuration.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch-configuration.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch-configuration.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -12.7. Configuration Example

    12.7. Configuration Example

    +12.7. Configuration Example

    12.7. Configuration Example

    A text search configuration specifies all options necessary to transform a document into a tsvector: the parser to use to break text into tokens, and the dictionaries to use to transform each token into a @@ -105,4 +105,4 @@ ---------------------------- public.pg

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch-controls.html postgresql-15-15.18/doc/src/sgml/html/textsearch-controls.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch-controls.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch-controls.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -12.3. Controlling Text Search

    12.3. Controlling Text Search

    +12.3. Controlling Text Search

    12.3. Controlling Text Search

    To implement full text searching there must be a function to create a tsvector from a document and a tsquery from a user query. Also, we need to return results in a useful order, so we need @@ -559,4 +559,4 @@ ts_headline uses the original document, not a tsvector summary, so it can be slow and should be used with care. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch-debugging.html postgresql-15-15.18/doc/src/sgml/html/textsearch-debugging.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch-debugging.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch-debugging.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -12.8. Testing and Debugging Text Search

    12.8. Testing and Debugging Text Search

    +12.8. Testing and Debugging Text Search

    12.8. Testing and Debugging Text Search

    The behavior of a custom text search configuration can easily become confusing. The functions described in this section are useful for testing text search objects. You can @@ -250,4 +250,4 @@ ----------------- 'sn'

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch-dictionaries.html postgresql-15-15.18/doc/src/sgml/html/textsearch-dictionaries.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch-dictionaries.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch-dictionaries.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -12.6. Dictionaries

    12.6. Dictionaries

    +12.6. Dictionaries

    12.6. Dictionaries

    Dictionaries are used to eliminate words that should not be considered in a search (stop words), and to normalize words so that different derived forms of the same word will match. A successfully @@ -658,4 +658,4 @@ at the end of the dictionary list. It is useless to have it before any other dictionary because a token will never pass through it to the next dictionary. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch-features.html postgresql-15-15.18/doc/src/sgml/html/textsearch-features.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch-features.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch-features.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -12.4. Additional Features

    12.4. Additional Features

    +12.4. Additional Features

    12.4. Additional Features

    This section describes additional functions and operators that are useful in connection with text search.

    12.4.1. Manipulating Documents

    @@ -389,4 +389,4 @@ ORDER BY nentry DESC, ndoc DESC, word LIMIT 10;

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch-indexes.html postgresql-15-15.18/doc/src/sgml/html/textsearch-indexes.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch-indexes.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch-indexes.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -12.9. Preferred Index Types for Text Search

    12.9. Preferred Index Types for Text Search

    +12.9. Preferred Index Types for Text Search

    12.9. Preferred Index Types for Text Search

    There are two kinds of indexes that can be used to speed up full text searches: GIN and @@ -77,4 +77,4 @@ servers and collecting external search results, e.g., via Foreign Data access. The latter is possible because ranking functions use only local information. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch-intro.html postgresql-15-15.18/doc/src/sgml/html/textsearch-intro.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch-intro.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch-intro.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -12.1. Introduction

    12.1. Introduction

    +12.1. Introduction

    12.1. Introduction

    Full Text Searching (or just text search) provides the capability to identify natural-language documents that satisfy a query, and optionally to sort them by @@ -336,4 +336,4 @@ parsers and templates, no special privilege is needed to create a new dictionary or configuration. Examples of creating custom dictionaries and configurations appear later in this chapter. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch-limitations.html postgresql-15-15.18/doc/src/sgml/html/textsearch-limitations.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch-limitations.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch-limitations.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -12.11. Limitations

    12.11. Limitations

    +12.11. Limitations

    12.11. Limitations

    The current limitations of PostgreSQL's text search features are:

    • The length of each lexeme must be less than 2 kilobytes

    • The length of a tsvector (lexemes + positions) must be @@ -18,4 +18,4 @@ Another example — the PostgreSQL mailing list archives contained 910,989 unique words with 57,491,343 lexemes in 461,020 messages. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch-parsers.html postgresql-15-15.18/doc/src/sgml/html/textsearch-parsers.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch-parsers.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch-parsers.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -12.5. Parsers

    12.5. Parsers

    +12.5. Parsers

    12.5. Parsers

    Text search parsers are responsible for splitting raw document text into tokens and identifying each token's type, where the set of possible types is defined by the parser itself. @@ -66,4 +66,4 @@ host | Host | example.com url_path | URL path | /stuff/index.html

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch-psql.html postgresql-15-15.18/doc/src/sgml/html/textsearch-psql.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch-psql.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch-psql.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -12.10. psql Support

    12.10. psql Support

    +12.10. psql Support

    12.10. psql Support

    Information about text search configuration objects can be obtained in psql using a set of commands:

    @@ -162,4 +162,4 @@
      pg_catalog | synonym   | synonym dictionary: replace word by its synonym
      pg_catalog | thesaurus | thesaurus dictionary: phrase by phrase substitution
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch-tables.html postgresql-15-15.18/doc/src/sgml/html/textsearch-tables.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch-tables.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch-tables.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -12.2. Tables and Indexes

    12.2. Tables and Indexes

    +12.2. Tables and Indexes

    12.2. Tables and Indexes

    The examples in the previous section illustrated full text matching using simple constant strings. This section shows how to search table data, optionally using indexes. @@ -136,4 +136,4 @@ important when using a GiST index than a GIN index; see Section 12.9.) The expression-index approach is simpler to set up, however, and it requires less disk space since the tsvector representation is not stored explicitly. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/textsearch.html postgresql-15-15.18/doc/src/sgml/html/textsearch.html --- postgresql-15-15.17/doc/src/sgml/html/textsearch.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/textsearch.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 12. Full Text Search \ No newline at end of file +Chapter 12. Full Text Search \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/transaction-iso.html postgresql-15-15.18/doc/src/sgml/html/transaction-iso.html --- postgresql-15-15.17/doc/src/sgml/html/transaction-iso.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/transaction-iso.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -13.2. Transaction Isolation

    13.2. Transaction Isolation

    +13.2. Transaction Isolation

    13.2. Transaction Isolation

    The SQL standard defines four levels of transaction isolation. The most strict is Serializable, which is defined by the standard in a paragraph which says that any @@ -537,4 +537,4 @@ Some differences in behavior and performance may be observed when compared with other systems that use a traditional locking technique. Please see [ports12] for detailed information. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/trigger-datachanges.html postgresql-15-15.18/doc/src/sgml/html/trigger-datachanges.html --- postgresql-15-15.17/doc/src/sgml/html/trigger-datachanges.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/trigger-datachanges.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -39.2. Visibility of Data Changes

    39.2. Visibility of Data Changes

    +39.2. Visibility of Data Changes

    39.2. Visibility of Data Changes

    If you execute SQL commands in your trigger function, and these commands access the table that the trigger is for, then you need to be aware of the data visibility rules, because they determine @@ -43,4 +43,4 @@

    Further information about data visibility rules can be found in Section 47.5. The example in Section 39.4 contains a demonstration of these rules. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/trigger-definition.html postgresql-15-15.18/doc/src/sgml/html/trigger-definition.html --- postgresql-15-15.17/doc/src/sgml/html/trigger-definition.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/trigger-definition.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -39.1. Overview of Trigger Behavior

    39.1. Overview of Trigger Behavior

    +39.1. Overview of Trigger Behavior

    39.1. Overview of Trigger Behavior

    A trigger is a specification that the database should automatically execute a particular function whenever a certain type of operation is performed. Triggers can be attached to tables (partitioned or not), @@ -312,4 +312,4 @@ that is being used, but the typical approach is to make the transition tables act like read-only temporary tables that can be accessed by SQL commands issued within the trigger function. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/trigger-example.html postgresql-15-15.18/doc/src/sgml/html/trigger-example.html --- postgresql-15-15.17/doc/src/sgml/html/trigger-example.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/trigger-example.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -39.4. A Complete Trigger Example

    39.4. A Complete Trigger Example

    +39.4. A Complete Trigger Example

    39.4. A Complete Trigger Example

    Here is a very simple example of a trigger function written in C. (Examples of triggers written in procedural languages can be found in the documentation of the procedural languages.) @@ -177,4 +177,4 @@ There are more complex examples in src/test/regress/regress.c and in spi. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/trigger-interface.html postgresql-15-15.18/doc/src/sgml/html/trigger-interface.html --- postgresql-15-15.17/doc/src/sgml/html/trigger-interface.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/trigger-interface.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -39.3. Writing Trigger Functions in C

    39.3. Writing Trigger Functions in C

    +39.3. Writing Trigger Functions in C

    39.3. Writing Trigger Functions in C

    This section describes the low-level details of the interface to a trigger function. This information is only needed when writing trigger functions in C. If you are using a higher-level language then @@ -181,4 +181,4 @@ Be careful to return either tg_trigtuple or tg_newtuple, as appropriate, if you don't want to modify the row being operated on. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/triggers.html postgresql-15-15.18/doc/src/sgml/html/triggers.html --- postgresql-15-15.17/doc/src/sgml/html/triggers.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/triggers.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 39. Triggers

    Chapter 39. Triggers

    +Chapter 39. Triggers

    Chapter 39. Triggers

    This chapter provides general information about writing trigger functions. Trigger functions can be written in most of the available procedural languages, including @@ -15,4 +15,4 @@ most people find it easier to use one of the procedural languages. It is not currently possible to write a trigger function in the plain SQL function language. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tsm-system-rows.html postgresql-15-15.18/doc/src/sgml/html/tsm-system-rows.html --- postgresql-15-15.17/doc/src/sgml/html/tsm-system-rows.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tsm-system-rows.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.46. tsm_system_rows

    F.46. tsm_system_rows

    +F.46. tsm_system_rows

    F.46. tsm_system_rows

    The tsm_system_rows module provides the table sampling method SYSTEM_ROWS, which can be used in the TABLESAMPLE clause of a SELECT @@ -36,4 +36,4 @@ This command will return a sample of 100 rows from the table my_table (unless the table does not have 100 visible rows, in which case all its rows are returned). -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tsm-system-time.html postgresql-15-15.18/doc/src/sgml/html/tsm-system-time.html --- postgresql-15-15.17/doc/src/sgml/html/tsm-system-time.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tsm-system-time.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.47. tsm_system_time

    F.47. tsm_system_time

    +F.47. tsm_system_time

    F.47. tsm_system_time

    The tsm_system_time module provides the table sampling method SYSTEM_TIME, which can be used in the TABLESAMPLE clause of a SELECT @@ -38,4 +38,4 @@ This command will return as large a sample of my_table as it can read in 1 second (1000 milliseconds). Of course, if the whole table can be read in under 1 second, all its rows will be returned. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-accessdb.html postgresql-15-15.18/doc/src/sgml/html/tutorial-accessdb.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-accessdb.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-accessdb.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -1.4. Accessing a Database

    1.4. Accessing a Database

    +1.4. Accessing a Database

    1.4. Accessing a Database

    Once you have created a database, you can access it by:

    • @@ -32,7 +32,7 @@ In psql, you will be greeted with the following message:

      -psql (15.17)
      +psql (15.18)
       Type "help" for help.
       
       mydb=>
      @@ -63,7 +63,7 @@
       mydb=> SELECT version();
                                                version
       -------------------------------------------------------------------​-----------------------
      - PostgreSQL 15.17 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit
      + PostgreSQL 15.18 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit
       (1 row)
       
       mydb=> SELECT current_date;
      @@ -100,4 +100,4 @@
           full capabilities of psql are documented in
           psql.  In this tutorial we will not use these
           features explicitly, but you can use them yourself when it is helpful.
      -   

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-advanced-intro.html postgresql-15-15.18/doc/src/sgml/html/tutorial-advanced-intro.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-advanced-intro.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-advanced-intro.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -3.1. Introduction

    3.1. Introduction

    +3.1. Introduction

    3.1. Introduction

    In the previous chapter we have covered the basics of using SQL to store and access your data in PostgreSQL. We will now discuss some @@ -15,4 +15,4 @@ file also contains some sample data to load, which is not repeated here. (Refer to Section 2.1 for how to use the file.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-advanced.html postgresql-15-15.18/doc/src/sgml/html/tutorial-advanced.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-advanced.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-advanced.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 3. Advanced Features \ No newline at end of file +Chapter 3. Advanced Features \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-agg.html postgresql-15-15.18/doc/src/sgml/html/tutorial-agg.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-agg.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-agg.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -2.7. Aggregate Functions

    2.7. Aggregate Functions

    +2.7. Aggregate Functions

    2.7. Aggregate Functions

    Like most other relational database products, PostgreSQL supports aggregate functions. @@ -169,4 +169,4 @@ rows with temp_lo below 45; but the max aggregate is still applied to all rows, so it still finds the reading of 46. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-arch.html postgresql-15-15.18/doc/src/sgml/html/tutorial-arch.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-arch.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-arch.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -1.2. Architectural Fundamentals

    1.2. Architectural Fundamentals

    +1.2. Architectural Fundamentals

    1.2. Architectural Fundamentals

    Before we proceed, you should understand the basic PostgreSQL system architecture. Understanding how the parts of @@ -46,4 +46,4 @@ client connections, whereas client and associated server processes come and go. (All of this is of course invisible to the user. We only mention it here for completeness.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-concepts.html postgresql-15-15.18/doc/src/sgml/html/tutorial-concepts.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-concepts.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-concepts.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -2.2. Concepts

    2.2. Concepts

    +2.2. Concepts

    2.2. Concepts

    @@ -34,4 +34,4 @@ Tables are grouped into databases, and a collection of databases managed by a single PostgreSQL server instance constitutes a database cluster. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-conclusion.html postgresql-15-15.18/doc/src/sgml/html/tutorial-conclusion.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-conclusion.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-conclusion.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -3.7. Conclusion

    3.7. Conclusion

    +3.7. Conclusion

    3.7. Conclusion

    PostgreSQL has many features not touched upon in this tutorial introduction, which has been oriented toward newer users of SQL. These @@ -9,4 +9,4 @@ If you feel you need more introductory material, please visit the PostgreSQL web site for links to more resources. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-createdb.html postgresql-15-15.18/doc/src/sgml/html/tutorial-createdb.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-createdb.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-createdb.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -1.3. Creating a Database

    1.3. Creating a Database

    +1.3. Creating a Database

    1.3. Creating a Database

    The first test to see whether you can access the database server is to try to create a database. A running PostgreSQL server can manage many @@ -115,4 +115,4 @@ create databases. Instead of logging in as that user you can also specify the -U option everywhere to select a PostgreSQL user name to connect as. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-delete.html postgresql-15-15.18/doc/src/sgml/html/tutorial-delete.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-delete.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-delete.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -2.9. Deletions

    2.9. Deletions

    +2.9. Deletions

    2.9. Deletions

    Rows can be removed from a table using the DELETE command. Suppose you are no longer interested in the weather of Hayward. @@ -31,4 +31,4 @@ remove all rows from the given table, leaving it empty. The system will not request confirmation before doing this! -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-fk.html postgresql-15-15.18/doc/src/sgml/html/tutorial-fk.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-fk.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-fk.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -3.3. Foreign Keys

    3.3. Foreign Keys

    +3.3. Foreign Keys

    3.3. Foreign Keys

    Recall the weather and cities tables from Chapter 2. Consider the following problem: You want to make sure that no one can insert rows in the @@ -48,4 +48,4 @@ for more information. Making correct use of foreign keys will definitely improve the quality of your database applications, so you are strongly encouraged to learn about them. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-inheritance.html postgresql-15-15.18/doc/src/sgml/html/tutorial-inheritance.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-inheritance.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-inheritance.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -3.6. Inheritance

    3.6. Inheritance

    +3.6. Inheritance

    3.6. Inheritance

    Inheritance is a concept from object-oriented databases. It opens up interesting new possibilities of database design.

    @@ -110,4 +110,4 @@ Although inheritance is frequently useful, it has not been integrated with unique constraints or foreign keys, which limits its usefulness. See Section 5.10 for more detail. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-install.html postgresql-15-15.18/doc/src/sgml/html/tutorial-install.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-install.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-install.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -1.1. Installation

    1.1. Installation

    +1.1. Installation

    1.1. Installation

    Before you can use PostgreSQL you need to install it, of course. It is possible that PostgreSQL is already installed at your @@ -35,4 +35,4 @@ site administrator or, if that is you, the documentation to make sure that your environment is properly set up. If you did not understand the preceding paragraph then read the next section. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-join.html postgresql-15-15.18/doc/src/sgml/html/tutorial-join.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-join.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-join.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -2.6. Joins Between Tables

    2.6. Joins Between Tables

    +2.6. Joins Between Tables

    2.6. Joins Between Tables

    Thus far, our queries have only accessed one table at a time. Queries can access multiple tables at once, or access the same table in such a way that multiple rows of the table are being @@ -159,4 +159,4 @@ This is only a conceptual model. The join is usually performed in a more efficient manner than actually comparing each possible pair of rows, but this is invisible to the user. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-populate.html postgresql-15-15.18/doc/src/sgml/html/tutorial-populate.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-populate.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-populate.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -2.4. Populating a Table With Rows

    2.4. Populating a Table With Rows

    +2.4. Populating a Table With Rows

    2.4. Populating a Table With Rows

    The INSERT statement is used to populate a table with rows: @@ -66,4 +66,4 @@ You can read more about the COPY command in COPY. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-select.html postgresql-15-15.18/doc/src/sgml/html/tutorial-select.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-select.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-select.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -2.5. Querying a Table

    2.5. Querying a Table

    +2.5. Querying a Table

    2.5. Querying a Table

    @@ -139,4 +139,4 @@ required by the SQL standard, and current PostgreSQL does not guarantee that DISTINCT causes the rows to be ordered. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-sql-intro.html postgresql-15-15.18/doc/src/sgml/html/tutorial-sql-intro.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-sql-intro.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-sql-intro.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -2.1. Introduction

    2.1. Introduction

    +2.1. Introduction

    2.1. Introduction

    This chapter provides an overview of how to use SQL to perform simple operations. This tutorial is only intended to give you an introduction and is in no @@ -40,4 +40,4 @@ single step mode which pauses before sending each statement to the server. The commands used in this section are in the file basics.sql. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-sql.html postgresql-15-15.18/doc/src/sgml/html/tutorial-sql.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-sql.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-sql.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 2. The SQL Language \ No newline at end of file +Chapter 2. The SQL Language \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-start.html postgresql-15-15.18/doc/src/sgml/html/tutorial-start.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-start.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-start.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,2 +1,2 @@ -Chapter 1. Getting Started \ No newline at end of file +Chapter 1. Getting Started \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-table.html postgresql-15-15.18/doc/src/sgml/html/tutorial-table.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-table.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-table.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -2.3. Creating a New Table

    2.3. Creating a New Table

    +2.3. Creating a New Table

    2.3. Creating a New Table

    You can create a new table by specifying the table name, along with all column names and their types: @@ -66,4 +66,4 @@

     DROP TABLE tablename;
     

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-transactions.html postgresql-15-15.18/doc/src/sgml/html/tutorial-transactions.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-transactions.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-transactions.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -3.4. Transactions

    3.4. Transactions

    +3.4. Transactions

    3.4. Transactions

    Transactions are a fundamental concept of all database systems. The essential point of a transaction is that it bundles multiple steps into a single, all-or-nothing operation. The intermediate @@ -139,4 +139,4 @@ transaction block that was put in aborted state by the system due to an error, short of rolling it back completely and starting again. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-update.html postgresql-15-15.18/doc/src/sgml/html/tutorial-update.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-update.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-update.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -2.8. Updates

    2.8. Updates

    +2.8. Updates

    2.8. Updates

    You can update existing rows using the UPDATE command. Suppose you discover the temperature readings are @@ -23,4 +23,4 @@ Hayward | 35 | 52 | | 1994-11-29 (3 rows)

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-views.html postgresql-15-15.18/doc/src/sgml/html/tutorial-views.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-views.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-views.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -3.2. Views

    3.2. Views

    +3.2. Views

    3.2. Views

    Refer back to the queries in Section 2.6. Suppose the combined listing of weather records and city location is of particular interest to your application, but you do not want @@ -23,4 +23,4 @@

    Views can be used in almost any place a real table can be used. Building views upon other views is not uncommon. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial-window.html postgresql-15-15.18/doc/src/sgml/html/tutorial-window.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial-window.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial-window.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -3.5. Window Functions

    3.5. Window Functions

    +3.5. Window Functions

    3.5. Window Functions

    A window function performs a calculation across a set of table rows that are somehow related to the current row. This is comparable to the type of calculation that can be done with an aggregate function. @@ -199,4 +199,4 @@ There are options to define the window frame in other ways, but this tutorial does not cover them. See Section 4.2.8 for details. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/tutorial.html postgresql-15-15.18/doc/src/sgml/html/tutorial.html --- postgresql-15-15.17/doc/src/sgml/html/tutorial.html 2026-02-23 22:14:19.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/tutorial.html 2026-05-11 20:02:31.000000000 +0000 @@ -1,5 +1,5 @@ -Part I. Tutorial \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/typeconv-func.html postgresql-15-15.18/doc/src/sgml/html/typeconv-func.html --- postgresql-15-15.17/doc/src/sgml/html/typeconv-func.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/typeconv-func.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -10.3. Functions

    10.3. Functions

    +10.3. Functions

    10.3. Functions

    The specific function that is referenced by a function call is determined using the following procedure.

    Function Type Resolution

    1. @@ -265,4 +265,4 @@ is no need to have a special case. See CREATE CAST for additional commentary. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/typeconv-oper.html postgresql-15-15.18/doc/src/sgml/html/typeconv-oper.html --- postgresql-15-15.17/doc/src/sgml/html/typeconv-oper.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/typeconv-oper.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -10.2. Operators

    10.2. Operators

    +10.2. Operators

    10.2. Operators

    The specific operator that is referenced by an operator expression is determined using the following procedure. Note that this procedure is indirectly affected @@ -244,4 +244,4 @@ search path containing schemas that permit untrusted users to create objects is not a secure schema usage pattern. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/typeconv-overview.html postgresql-15-15.18/doc/src/sgml/html/typeconv-overview.html --- postgresql-15-15.17/doc/src/sgml/html/typeconv-overview.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/typeconv-overview.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -10.1. Overview

    10.1. Overview

    +10.1. Overview

    10.1. Overview

    SQL is a strongly typed language. That is, every data item has an associated data type which determines its behavior and allowed usage. PostgreSQL has an extensible type system that is @@ -110,4 +110,4 @@ if then the user defines a new function with the correct argument types, the parser should use this new function and no longer do implicit conversion to use the old function.

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/typeconv-query.html postgresql-15-15.18/doc/src/sgml/html/typeconv-query.html --- postgresql-15-15.17/doc/src/sgml/html/typeconv-query.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/typeconv-query.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -10.4. Value Storage

    10.4. Value Storage

    +10.4. Value Storage

    10.4. Value Storage

    Values to be inserted into a table are converted to the destination column's data type according to the following steps. @@ -52,4 +52,4 @@ and applied to the operator's result and the stored column length. This type-specific function performs the required length check and addition of padding spaces. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/typeconv-select.html postgresql-15-15.18/doc/src/sgml/html/typeconv-select.html --- postgresql-15-15.17/doc/src/sgml/html/typeconv-select.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/typeconv-select.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -10.6. SELECT Output Columns

    10.6. SELECT Output Columns

    +10.6. SELECT Output Columns

    10.6. SELECT Output Columns

    The rules given in the preceding sections will result in assignment of non-unknown data types to all expressions in an SQL query, except for unspecified-type literals that appear as simple output @@ -27,4 +27,4 @@ unspecified-type literals in a SELECT output list were left as type unknown. That had assorted bad consequences, so it's been changed. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/typeconv-union-case.html postgresql-15-15.18/doc/src/sgml/html/typeconv-union-case.html --- postgresql-15-15.17/doc/src/sgml/html/typeconv-union-case.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/typeconv-union-case.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -10.5. UNION, CASE, and Related Constructs

    10.5. UNION, CASE, and Related Constructs

    +10.5. UNION, CASE, and Related Constructs

    10.5. UNION, CASE, and Related Constructs

    SQL UNION constructs must match up possibly dissimilar types to become a single result set. The resolution algorithm is applied separately to each output column of a union query. The @@ -111,4 +111,4 @@ input, with the THEN clauses(s) considered after that. In all other cases, left to right means the order in which the expressions appear in the query text. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/typeconv.html postgresql-15-15.18/doc/src/sgml/html/typeconv.html --- postgresql-15-15.17/doc/src/sgml/html/typeconv.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/typeconv.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 10. Type Conversion

    Chapter 10. Type Conversion

    +Chapter 10. Type Conversion

    Chapter 10. Type Conversion

    SQL statements can, intentionally or not, require the mixing of different data types in the same expression. PostgreSQL has extensive facilities for @@ -16,4 +16,4 @@ Refer to the relevant sections in Chapter 8 and Chapter 9 for more information on specific data types and allowed functions and operators. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/unaccent.html postgresql-15-15.18/doc/src/sgml/html/unaccent.html --- postgresql-15-15.17/doc/src/sgml/html/unaccent.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/unaccent.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.48. unaccent

    F.48. unaccent

    +F.48. unaccent

    F.48. unaccent

    unaccent is a text search dictionary that removes accents (diacritic signs) from lexemes. It's a filtering dictionary, which means its output is @@ -128,4 +128,4 @@ SELECT unaccent('unaccent', 'Hôtel'); SELECT unaccent('Hôtel');

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/unsupported-features-sql-standard.html postgresql-15-15.18/doc/src/sgml/html/unsupported-features-sql-standard.html --- postgresql-15-15.17/doc/src/sgml/html/unsupported-features-sql-standard.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/unsupported-features-sql-standard.html 2026-05-11 20:02:55.000000000 +0000 @@ -1,9 +1,9 @@ -D.2. Unsupported Features

    D.2. Unsupported Features

    +D.2. Unsupported Features

    D.2. Unsupported Features

    The following features defined in SQL:2016 are not implemented in this release of PostgreSQL. In a few cases, equivalent functionality is available.

    IdentifierCore?DescriptionComment
    B011 Embedded Ada 
    B013 Embedded COBOL 
    B014 Embedded Fortran 
    B015 Embedded MUMPS 
    B016 Embedded Pascal 
    B017 Embedded PL/I 
    B031 Basic dynamic SQL 
    B032 Extended dynamic SQL 
    B032-01 <describe input statement> 
    B033 Untyped SQL-invoked function arguments 
    B034 Dynamic specification of cursor attributes 
    B035 Non-extended descriptor names 
    B041 Extensions to embedded SQL exception declarations 
    B051 Enhanced execution rights 
    B111 Module language Ada 
    B112 Module language C 
    B113 Module language COBOL 
    B114 Module language Fortran 
    B115 Module language MUMPS 
    B116 Module language Pascal 
    B117 Module language PL/I 
    B121 Routine language Ada 
    B122 Routine language C 
    B123 Routine language COBOL 
    B124 Routine language Fortran 
    B125 Routine language MUMPS 
    B126 Routine language Pascal 
    B127 Routine language PL/I 
    B200 Polymorphic table functions 
    B201 More than one PTF generic table parameter 
    B202 PTF Copartitioning 
    B203 More than one copartition specification 
    B204 PRUNE WHEN EMPTY 
    B205 Pass-through columns 
    B206 PTF descriptor parameters 
    B207 Cross products of partitionings 
    B208 PTF component procedure interface 
    B209 PTF extended names 
    B211 Module language Ada: VARCHAR and NUMERIC support 
    B221 Routine language Ada: VARCHAR and NUMERIC support 
    F054 TIMESTAMP in DATE type precedence list 
    F121 Basic diagnostics management 
    F121-01 GET DIAGNOSTICS statement 
    F121-02 SET TRANSACTION statement: DIAGNOSTICS SIZE clause 
    F122 Enhanced diagnostics management 
    F123 All diagnostics 
    F263 Comma-separated predicates in simple CASE expression 
    F291 UNIQUE predicate 
    F301 CORRESPONDING in query expressions 
    F403 Partitioned joined tables 
    F451 Character set definition 
    F461 Named character sets 
    F492 Optional table constraint enforcement 
    F521 Assertions 
    F671 Subqueries in CHECKintentionally omitted
    F673 Reads SQL-data routine invocations in CHECK constraints 
    F693 SQL-session and client module collations 
    F695 Translation support 
    F696 Additional translation documentation 
    F721 Deferrable constraintsforeign and unique keys only
    F741 Referential MATCH typesno partial match yet
    F812CoreBasic flagging 
    F813 Extended flagging 
    F821 Local table references 
    F831 Full cursor update 
    F831-01 Updatable scrollable cursors 
    F831-02 Updatable ordered cursors 
    F841 LIKE_REGEX predicateconsider regexp_like()
    F842 OCCURRENCES_REGEX functionconsider regexp_matches()
    F843 POSITION_REGEX functionconsider regexp_instr()
    F844 SUBSTRING_REGEX functionconsider regexp_substr()
    F845 TRANSLATE_REGEX functionconsider regexp_replace()
    F846 Octet support in regular expression operators 
    F847 Nonconstant regular expressions 
    F866 FETCH FIRST clause: PERCENT option 
    R010 Row pattern recognition: FROM clause 
    R020 Row pattern recognition: WINDOW clause 
    R030 Row pattern recognition: full aggregate support 
    S011CoreDistinct data types 
    S011-01CoreUSER_DEFINED_TYPES view 
    S023 Basic structured types 
    S024 Enhanced structured types 
    S025 Final structured types 
    S026 Self-referencing structured types 
    S027 Create method by specific method name 
    S028 Permutable UDT options list 
    S041 Basic reference types 
    S043 Enhanced reference types 
    S051 Create table of typepartially supported
    S081 Subtables 
    S091 Basic array supportpartially supported
    S091-02 Arrays of distinct types 
    S094 Arrays of reference types 
    S097 Array element assignment 
    S151 Type predicatesee pg_typeof()
    S161 Subtype treatment 
    S162 Subtype treatment for references 
    S202 SQL-invoked routines on multisets 
    S231 Structured type locators 
    S232 Array locators 
    S233 Multiset locators 
    S241 Transform functions 
    S242 Alter transform statement 
    S251 User-defined orderings 
    S261 Specific type method 
    S271 Basic multiset support 
    S272 Multisets of user-defined types 
    S274 Multisets of reference types 
    S275 Advanced multiset support 
    S281 Nested collection types 
    S291 Unique constraint on entire row 
    S401 Distinct types based on array types 
    S402 Distinct types based on distinct types 
    S403 ARRAY_MAX_CARDINALITY 
    T011 Timestamp in Information Schema 
    T021 BINARY and VARBINARY data types 
    T022 Advanced support for BINARY and VARBINARY data types 
    T023 Compound binary literal 
    T024 Spaces in binary literals 
    T041 Basic LOB data type support 
    T041-01 BLOB data type 
    T041-02 CLOB data type 
    T041-03 POSITION, LENGTH, LOWER, TRIM, UPPER, and SUBSTRING functions for LOB data types 
    T041-04 Concatenation of LOB data types 
    T041-05 LOB locator: non-holdable 
    T042 Extended LOB data type support 
    T043 Multiplier T 
    T044 Multiplier P 
    T051 Row types 
    T053 Explicit aliases for all-fields reference 
    T061 UCS support 
    T076 DECFLOAT data type 
    T101 Enhanced nullability determination 
    T111 Updatable joins, unions, and columns 
    T175 Generated columnsmostly supported
    T176 Sequence generator supportsupported except for NEXT VALUE FOR
    T180 System-versioned tables 
    T181 Application-time period tables 
    T211 Basic trigger capability 
    T211-06 Support for run-time rules for the interaction of triggers and constraints 
    T211-08 Multiple triggers for the same event are executed in the order in which they were created in the catalogintentionally omitted
    T231 Sensitive cursors 
    T251 SET TRANSACTION statement: LOCAL option 
    T272 Enhanced savepoint management 
    T301 Functional dependenciespartially supported
    T321CoreBasic SQL-invoked routinespartially supported
    T322 Declared data type attributes 
    T324 Explicit security for SQL routines 
    T326 Table functions 
    T471 Result sets return value 
    T472 DESCRIBE CURSOR 
    T495 Combined data change and retrievaldifferent syntax
    T502 Period predicates 
    T511 Transaction counts 
    T522 Default values for IN parameters of SQL-invoked proceduressupported except DEFAULT key word in invocation
    T561 Holdable locators 
    T571 Array-returning external SQL-invoked functions 
    T572 Multiset-returning external SQL-invoked functions 
    T601 Local cursor references 
    T616 Null treatment option for LEAD and LAG functions 
    T618 NTH_VALUE functionfunction exists, but some options missing
    T619 Nested window functions 
    T625 LISTAGG 
    T641 Multiple column assignmentonly some syntax variants supported
    T652 SQL-dynamic statements in SQL routines 
    T654 SQL-dynamic statements in external routines 
    T811 Basic SQL/JSON constructor functions 
    T812 SQL/JSON: JSON_OBJECTAGG 
    T813 SQL/JSON: JSON_ARRAYAGG with ORDER BY 
    T814 Colon in JSON_OBJECT or JSON_OBJECTAGG 
    T821 Basic SQL/JSON query operators 
    T822 SQL/JSON: IS JSON WITH UNIQUE KEYS predicate 
    T823 SQL/JSON: PASSING clause 
    T824 JSON_TABLE: specific PLAN clause 
    T825 SQL/JSON: ON EMPTY and ON ERROR clauses 
    T826 General value expression in ON ERROR or ON EMPTY clauses 
    T827 JSON_TABLE: sibling NESTED COLUMNS clauses 
    T828 JSON_QUERY 
    T829 JSON_QUERY: array wrapper options 
    T830 Enforcing unique keys in SQL/JSON constructor functions 
    T838 JSON_TABLE: PLAN DEFAULT clause 
    T839 Formatted cast of datetimes to/from character strings 
    M001 Datalinks 
    M002 Datalinks via SQL/CLI 
    M003 Datalinks via Embedded SQL 
    M004 Foreign data supportpartially supported
    M005 Foreign schema support 
    M006 GetSQLString routine 
    M007 TransmitRequest 
    M009 GetOpts and GetStatistics routines 
    M010 Foreign data wrapper supportdifferent API
    M011 Datalinks via Ada 
    M012 Datalinks via C 
    M013 Datalinks via COBOL 
    M014 Datalinks via Fortran 
    M015 Datalinks via M 
    M016 Datalinks via Pascal 
    M017 Datalinks via PL/I 
    M018 Foreign data wrapper interface routines in Ada 
    M019 Foreign data wrapper interface routines in Cdifferent API
    M020 Foreign data wrapper interface routines in COBOL 
    M021 Foreign data wrapper interface routines in Fortran 
    M022 Foreign data wrapper interface routines in MUMPS 
    M023 Foreign data wrapper interface routines in Pascal 
    M024 Foreign data wrapper interface routines in PL/I 
    M030 SQL-server foreign data support 
    M031 Foreign data wrapper general routines 
    X012 Multisets of XML type 
    X013 Distinct types of XML type 
    X015 Fields of XML type 
    X025 XMLCast 
    X030 XMLDocument 
    X038 XMLText 
    X065 XMLParse: BLOB input and CONTENT option 
    X066 XMLParse: BLOB input and DOCUMENT option 
    X068 XMLSerialize: BOM 
    X069 XMLSerialize: INDENT 
    X073 XMLSerialize: BLOB serialization and CONTENT option 
    X074 XMLSerialize: BLOB serialization and DOCUMENT option 
    X075 XMLSerialize: BLOB serialization 
    X076 XMLSerialize: VERSION 
    X077 XMLSerialize: explicit ENCODING option 
    X078 XMLSerialize: explicit XML declaration 
    X080 Namespaces in XML publishing 
    X081 Query-level XML namespace declarations 
    X082 XML namespace declarations in DML 
    X083 XML namespace declarations in DDL 
    X084 XML namespace declarations in compound statements 
    X085 Predefined namespace prefixes 
    X086 XML namespace declarations in XMLTable 
    X091 XML content predicate 
    X096 XMLExistsXPath 1.0 only
    X100 Host language support for XML: CONTENT option 
    X101 Host language support for XML: DOCUMENT option 
    X110 Host language support for XML: VARCHAR mapping 
    X111 Host language support for XML: CLOB mapping 
    X112 Host language support for XML: BLOB mapping 
    X113 Host language support for XML: STRIP WHITESPACE option 
    X114 Host language support for XML: PRESERVE WHITESPACE option 
    X131 Query-level XMLBINARY clause 
    X132 XMLBINARY clause in DML 
    X133 XMLBINARY clause in DDL 
    X134 XMLBINARY clause in compound statements 
    X135 XMLBINARY clause in subqueries 
    X141 IS VALID predicate: data-driven case 
    X142 IS VALID predicate: ACCORDING TO clause 
    X143 IS VALID predicate: ELEMENT clause 
    X144 IS VALID predicate: schema location 
    X145 IS VALID predicate outside check constraints 
    X151 IS VALID predicate with DOCUMENT option 
    X152 IS VALID predicate with CONTENT option 
    X153 IS VALID predicate with SEQUENCE option 
    X155 IS VALID predicate: NAMESPACE without ELEMENT clause 
    X157 IS VALID predicate: NO NAMESPACE with ELEMENT clause 
    X160 Basic Information Schema for registered XML Schemas 
    X161 Advanced Information Schema for registered XML Schemas 
    X170 XML null handling options 
    X171 NIL ON NO CONTENT option 
    X181 XML(DOCUMENT(UNTYPED)) type 
    X182 XML(DOCUMENT(ANY)) type 
    X190 XML(SEQUENCE) type 
    X191 XML(DOCUMENT(XMLSCHEMA)) type 
    X192 XML(CONTENT(XMLSCHEMA)) type 
    X200 XMLQuery 
    X201 XMLQuery: RETURNING CONTENT 
    X202 XMLQuery: RETURNING SEQUENCE 
    X203 XMLQuery: passing a context item 
    X204 XMLQuery: initializing an XQuery variable 
    X205 XMLQuery: EMPTY ON EMPTY option 
    X206 XMLQuery: NULL ON EMPTY option 
    X211 XML 1.1 support 
    X222 XML passing mechanism BY REFparser accepts BY REF but ignores it; passing is always BY VALUE
    X231 XML(CONTENT(UNTYPED)) type 
    X232 XML(CONTENT(ANY)) type 
    X241 RETURNING CONTENT in XML publishing 
    X242 RETURNING SEQUENCE in XML publishing 
    X251 Persistent XML values of XML(DOCUMENT(UNTYPED)) type 
    X252 Persistent XML values of XML(DOCUMENT(ANY)) type 
    X253 Persistent XML values of XML(CONTENT(UNTYPED)) type 
    X254 Persistent XML values of XML(CONTENT(ANY)) type 
    X255 Persistent XML values of XML(SEQUENCE) type 
    X256 Persistent XML values of XML(DOCUMENT(XMLSCHEMA)) type 
    X257 Persistent XML values of XML(CONTENT(XMLSCHEMA)) type 
    X260 XML type: ELEMENT clause 
    X261 XML type: NAMESPACE without ELEMENT clause 
    X263 XML type: NO NAMESPACE with ELEMENT clause 
    X264 XML type: schema location 
    X271 XMLValidate: data-driven case 
    X272 XMLValidate: ACCORDING TO clause 
    X273 XMLValidate: ELEMENT clause 
    X274 XMLValidate: schema location 
    X281 XMLValidate with DOCUMENT option 
    X282 XMLValidate with CONTENT option 
    X283 XMLValidate with SEQUENCE option 
    X284 XMLValidate: NAMESPACE without ELEMENT clause 
    X286 XMLValidate: NO NAMESPACE with ELEMENT clause 
    X300 XMLTableXPath 1.0 only
    X305 XMLTable: initializing an XQuery variable 

    -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/upgrading.html postgresql-15-15.18/doc/src/sgml/html/upgrading.html --- postgresql-15-15.17/doc/src/sgml/html/upgrading.html 2026-02-23 22:14:24.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/upgrading.html 2026-05-11 20:02:36.000000000 +0000 @@ -1,5 +1,5 @@ -19.6. Upgrading a PostgreSQL Cluster

    19.6. Upgrading a PostgreSQL Cluster

    +19.6. Upgrading a PostgreSQL Cluster

    19.6. Upgrading a PostgreSQL Cluster

    This section discusses how to upgrade your database data from one PostgreSQL release to a newer one.

    @@ -100,7 +100,7 @@ To make the backup, you can use the pg_dumpall command from the version you are currently running; see Section 26.1.2 for more details. For best results, however, try to use the pg_dumpall - command from PostgreSQL 15.17, + command from PostgreSQL 15.18, since this version contains bug fixes and improvements over older versions. While this advice might seem idiosyncratic since you haven't installed the new version yet, it is advisable to follow @@ -192,4 +192,4 @@ systems such as pglogical, Slony, Londiste, and Bucardo. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/user-manag.html postgresql-15-15.18/doc/src/sgml/html/user-manag.html --- postgresql-15-15.17/doc/src/sgml/html/user-manag.html 2026-02-23 22:14:25.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/user-manag.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 22. Database Roles

    Chapter 22. Database Roles

    +Chapter 22. Database Roles

    Chapter 22. Database Roles

    PostgreSQL manages database access permissions using the concept of roles. A role can be thought of as either a database user, or a group of database users, depending on how @@ -17,4 +17,4 @@ This chapter describes how to create and manage roles. More information about the effects of role privileges on various database objects can be found in Section 5.7. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/using-explain.html postgresql-15-15.18/doc/src/sgml/html/using-explain.html --- postgresql-15-15.17/doc/src/sgml/html/using-explain.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/using-explain.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -14.1. Using EXPLAIN

    14.1. Using EXPLAIN

    +14.1. Using EXPLAIN

    14.1. Using EXPLAIN

    PostgreSQL devises a query plan for each query it receives. Choosing the right plan to match the query structure and the properties of the data @@ -801,4 +801,4 @@ the EXPLAIN output and a Subplans Removed: N annotation appears instead. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/uuid-ossp.html postgresql-15-15.18/doc/src/sgml/html/uuid-ossp.html --- postgresql-15-15.17/doc/src/sgml/html/uuid-ossp.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/uuid-ossp.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.49. uuid-ossp

    F.49. uuid-ossp

    +F.49. uuid-ossp

    F.49. uuid-ossp

    The uuid-ossp module provides functions to generate universally unique identifiers (UUIDs) using one of several standard algorithms. There are also functions to produce certain special UUID constants. @@ -141,4 +141,4 @@ machine, so configure does not automatically choose one.

    F.49.3. Author

    Peter Eisentraut -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/vacuumlo.html postgresql-15-15.18/doc/src/sgml/html/vacuumlo.html --- postgresql-15-15.17/doc/src/sgml/html/vacuumlo.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/vacuumlo.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -vacuumlo

    vacuumlo

    vacuumlo — remove orphaned large objects from a PostgreSQL database

    Synopsis

    vacuumlo [option...] dbname...

    Description

    +vacuumlo

    vacuumlo

    vacuumlo — remove orphaned large objects from a PostgreSQL database

    Synopsis

    vacuumlo [option...] dbname...

    Description

    vacuumlo is a simple utility program that will remove any orphaned large objects from a PostgreSQL database. An orphaned large object (LO) is @@ -71,4 +71,4 @@ temporary table identify orphaned LOs. These are removed.

    Author

    Peter Mount -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-available-extension-versions.html postgresql-15-15.18/doc/src/sgml/html/view-pg-available-extension-versions.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-available-extension-versions.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-available-extension-versions.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.3. pg_available_extension_versions

    54.3. pg_available_extension_versions

    +54.3. pg_available_extension_versions

    54.3. pg_available_extension_versions

    The pg_available_extension_versions view lists the specific extension versions that are available for installation. See also the pg_extension @@ -62,4 +62,4 @@


    The pg_available_extension_versions view is read-only. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-available-extensions.html postgresql-15-15.18/doc/src/sgml/html/view-pg-available-extensions.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-available-extensions.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-available-extensions.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.2. pg_available_extensions

    54.2. pg_available_extensions

    +54.2. pg_available_extensions

    54.2. pg_available_extensions

    The pg_available_extensions view lists the extensions that are available for installation. See also the @@ -34,4 +34,4 @@ Comment string from the extension's control file


    The pg_available_extensions view is read-only. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-backend-memory-contexts.html postgresql-15-15.18/doc/src/sgml/html/view-pg-backend-memory-contexts.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-backend-memory-contexts.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-backend-memory-contexts.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.4. pg_backend_memory_contexts

    54.4. pg_backend_memory_contexts

    +54.4. pg_backend_memory_contexts

    54.4. pg_backend_memory_contexts

    The view pg_backend_memory_contexts displays all the memory contexts of the server process attached to the current session.

    @@ -59,4 +59,4 @@ By default, the pg_backend_memory_contexts view can be read only by superusers or roles with the privileges of the pg_read_all_stats role. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-config.html postgresql-15-15.18/doc/src/sgml/html/view-pg-config.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-config.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-config.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.5. pg_config

    54.5. pg_config

    +54.5. pg_config

    54.5. pg_config

    The view pg_config describes the compile-time configuration parameters of the currently installed version of PostgreSQL. It is intended, for example, to @@ -26,4 +26,4 @@

    The parameter value -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-cursors.html postgresql-15-15.18/doc/src/sgml/html/view-pg-cursors.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-cursors.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-cursors.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.6. pg_cursors

    54.6. pg_cursors

    +54.6. pg_cursors

    54.6. pg_cursors

    The pg_cursors view lists the cursors that are currently available. Cursors can be defined in several ways:

    • @@ -69,4 +69,4 @@ The time at which the cursor was declared


    The pg_cursors view is read-only. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-file-settings.html postgresql-15-15.18/doc/src/sgml/html/view-pg-file-settings.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-file-settings.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-file-settings.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.7. pg_file_settings

    54.7. pg_file_settings

    +54.7. pg_file_settings

    54.7. pg_file_settings

    The view pg_file_settings provides a summary of the contents of the server's configuration file(s). A row appears in this view for each name = value entry appearing in the files, @@ -74,4 +74,4 @@

    See Section 20.1 for more information about the various ways to change run-time parameters. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-group.html postgresql-15-15.18/doc/src/sgml/html/view-pg-group.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-group.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-group.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.8. pg_group

    54.8. pg_group

    +54.8. pg_group

    54.8. pg_group

    The view pg_group exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. @@ -29,4 +29,4 @@

    An array containing the IDs of the roles in this group -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-hba-file-rules.html postgresql-15-15.18/doc/src/sgml/html/view-pg-hba-file-rules.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-hba-file-rules.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-hba-file-rules.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.9. pg_hba_file_rules

    54.9. pg_hba_file_rules

    +54.9. pg_hba_file_rules

    54.9. pg_hba_file_rules

    The view pg_hba_file_rules provides a summary of the contents of the client authentication configuration file, pg_hba.conf. @@ -73,4 +73,4 @@

    See Chapter 21 for more information about client authentication configuration. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-ident-file-mappings.html postgresql-15-15.18/doc/src/sgml/html/view-pg-ident-file-mappings.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-ident-file-mappings.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-ident-file-mappings.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.10. pg_ident_file_mappings

    54.10. pg_ident_file_mappings

    +54.10. pg_ident_file_mappings

    54.10. pg_ident_file_mappings

    The view pg_ident_file_mappings provides a summary of the contents of the client user name mapping configuration file, pg_ident.conf. @@ -50,4 +50,4 @@

    See Chapter 21 for more information about client authentication configuration. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-indexes.html postgresql-15-15.18/doc/src/sgml/html/view-pg-indexes.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-indexes.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-indexes.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.11. pg_indexes

    54.11. pg_indexes

    +54.11. pg_indexes

    54.11. pg_indexes

    The view pg_indexes provides access to useful information about each index in the database.

    Table 54.11. pg_indexes Columns

    @@ -37,4 +37,4 @@

    Index definition (a reconstructed CREATE INDEX command) -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-locks.html postgresql-15-15.18/doc/src/sgml/html/view-pg-locks.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-locks.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-locks.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.12. pg_locks

    54.12. pg_locks

    +54.12. pg_locks

    54.12. pg_locks

    The view pg_locks provides access to information about the locks held by active processes within the database server. See Chapter 13 for more discussion @@ -252,4 +252,4 @@ The locks are held only for the minimum amount of time necessary to obtain data from the lock managers, but this does not completely eliminate the possibility of a performance impact. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-matviews.html postgresql-15-15.18/doc/src/sgml/html/view-pg-matviews.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-matviews.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-matviews.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.13. pg_matviews

    54.13. pg_matviews

    +54.13. pg_matviews

    54.13. pg_matviews

    The view pg_matviews provides access to useful information about each materialized view in the database.

    Table 54.13. pg_matviews Columns

    @@ -46,4 +46,4 @@

    Materialized view definition (a reconstructed SELECT query) -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-policies.html postgresql-15-15.18/doc/src/sgml/html/view-pg-policies.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-policies.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-policies.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.14. pg_policies

    54.14. pg_policies

    +54.14. pg_policies

    54.14. pg_policies

    The view pg_policies provides access to useful information about each row-level security policy in the database.

    Table 54.14. pg_policies Columns

    @@ -52,4 +52,4 @@

    The expression added to the WITH CHECK qualifications for queries that attempt to add rows to this table -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-prepared-statements.html postgresql-15-15.18/doc/src/sgml/html/view-pg-prepared-statements.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-prepared-statements.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-prepared-statements.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.15. pg_prepared_statements

    54.15. pg_prepared_statements

    +54.15. pg_prepared_statements

    54.15. pg_prepared_statements

    The pg_prepared_statements view displays all the prepared statements that are available in the current session. See PREPARE for more information about prepared @@ -62,4 +62,4 @@ Number of times custom plan was chosen


    The pg_prepared_statements view is read-only. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-prepared-xacts.html postgresql-15-15.18/doc/src/sgml/html/view-pg-prepared-xacts.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-prepared-xacts.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-prepared-xacts.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.16. pg_prepared_xacts

    54.16. pg_prepared_xacts

    +54.16. pg_prepared_xacts

    54.16. pg_prepared_xacts

    The view pg_prepared_xacts displays information about transactions that are currently prepared for two-phase commit (see PREPARE TRANSACTION for details). @@ -47,4 +47,4 @@ normal operations longer than necessary. Nonetheless there could be some impact on database performance if this view is frequently accessed. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-publication-tables.html postgresql-15-15.18/doc/src/sgml/html/view-pg-publication-tables.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-publication-tables.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-publication-tables.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.17. pg_publication_tables

    54.17. pg_publication_tables

    +54.17. pg_publication_tables

    54.17. pg_publication_tables

    The view pg_publication_tables provides information about the mapping between publications and information of tables they contain. Unlike the underlying catalog @@ -43,4 +43,4 @@

    Expression for the table's publication qualifying condition -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-replication-origin-status.html postgresql-15-15.18/doc/src/sgml/html/view-pg-replication-origin-status.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-replication-origin-status.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-replication-origin-status.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.18. pg_replication_origin_status

    54.18. pg_replication_origin_status

    +54.18. pg_replication_origin_status

    54.18. pg_replication_origin_status

    The pg_replication_origin_status view contains information about how far replay for a certain origin has progressed. For more on replication origins @@ -33,4 +33,4 @@ This node's LSN at which remote_lsn has been replicated. Used to flush commit records before persisting data to disk when using asynchronous commits. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-replication-slots.html postgresql-15-15.18/doc/src/sgml/html/view-pg-replication-slots.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-replication-slots.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-replication-slots.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.19. pg_replication_slots

    54.19. pg_replication_slots

    +54.19. pg_replication_slots

    54.19. pg_replication_slots

    The pg_replication_slots view provides a listing of all replication slots that currently exist on the database cluster, along with their current state. @@ -127,4 +127,4 @@

    True if the slot is enabled for decoding prepared transactions. Always false for physical slots. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-roles.html postgresql-15-15.18/doc/src/sgml/html/view-pg-roles.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-roles.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-roles.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.20. pg_roles

    54.20. pg_roles

    +54.20. pg_roles

    54.20. pg_roles

    The view pg_roles provides access to information about database roles. This is simply a publicly readable view of @@ -82,4 +82,4 @@

    ID of role -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-rules.html postgresql-15-15.18/doc/src/sgml/html/view-pg-rules.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-rules.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-rules.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.21. pg_rules

    54.21. pg_rules

    +54.21. pg_rules

    54.21. pg_rules

    The view pg_rules provides access to useful information about query rewrite rules.

    Table 54.21. pg_rules Columns

    @@ -34,4 +34,4 @@ The pg_rules view excludes the ON SELECT rules of views and materialized views; those can be seen in pg_views and pg_matviews. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-seclabels.html postgresql-15-15.18/doc/src/sgml/html/view-pg-seclabels.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-seclabels.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-seclabels.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.22. pg_seclabels

    54.22. pg_seclabels

    +54.22. pg_seclabels

    54.22. pg_seclabels

    The view pg_seclabels provides information about security labels. It as an easier-to-query version of the pg_seclabel catalog. @@ -57,4 +57,4 @@

    The security label applied to this object. -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-sequences.html postgresql-15-15.18/doc/src/sgml/html/view-pg-sequences.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-sequences.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-sequences.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.23. pg_sequences

    54.23. pg_sequences

    +54.23. pg_sequences

    54.23. pg_sequences

    The view pg_sequences provides access to useful information about each sequence in the database.

    Table 54.23. pg_sequences Columns

    @@ -79,4 +79,4 @@

  • The sequence is unlogged and the server is a standby.

  • -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-settings.html postgresql-15-15.18/doc/src/sgml/html/view-pg-settings.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-settings.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-settings.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.24. pg_settings

    54.24. pg_settings

    +54.24. pg_settings

    54.24. pg_settings

    The view pg_settings provides access to run-time parameters of the server. It is essentially an alternative interface to the SHOW @@ -198,4 +198,4 @@ this view will not display any customized options defined by such modules unless special action is taken to load them into the backend process executing the query. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-shadow.html postgresql-15-15.18/doc/src/sgml/html/view-pg-shadow.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-shadow.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-shadow.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.25. pg_shadow

    54.25. pg_shadow

    +54.25. pg_shadow

    54.25. pg_shadow

    The view pg_shadow exists for backwards compatibility: it emulates a catalog that existed in PostgreSQL before version 8.1. @@ -68,4 +68,4 @@

    Session defaults for run-time configuration variables -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-shmem-allocations.html postgresql-15-15.18/doc/src/sgml/html/view-pg-shmem-allocations.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-shmem-allocations.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-shmem-allocations.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.26. pg_shmem_allocations

    54.26. pg_shmem_allocations

    +54.26. pg_shmem_allocations

    54.26. pg_shmem_allocations

    The pg_shmem_allocations view shows allocations made from the server's main shared memory segment. This includes both memory allocated by PostgreSQL itself and memory @@ -49,4 +49,4 @@ By default, the pg_shmem_allocations view can be read only by superusers or roles with privileges of the pg_read_all_stats role. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-stats-ext-exprs.html postgresql-15-15.18/doc/src/sgml/html/view-pg-stats-ext-exprs.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-stats-ext-exprs.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-stats-ext-exprs.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.29. pg_stats_ext_exprs

    54.29. pg_stats_ext_exprs

    +54.29. pg_stats_ext_exprs

    54.29. pg_stats_ext_exprs

    The view pg_stats_ext_exprs provides access to information about all expressions included in extended statistics objects, combining information stored in the pg_statistic_ext @@ -144,4 +144,4 @@ column-by-column basis using the ALTER TABLE SET STATISTICS command, or globally by setting the default_statistics_target run-time parameter. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-stats-ext.html postgresql-15-15.18/doc/src/sgml/html/view-pg-stats-ext.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-stats-ext.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-stats-ext.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.28. pg_stats_ext

    54.28. pg_stats_ext

    +54.28. pg_stats_ext

    54.28. pg_stats_ext

    The view pg_stats_ext provides access to information about each extended statistics object in the database, combining information stored in the pg_statistic_ext @@ -121,4 +121,4 @@ column-by-column basis using the ALTER TABLE SET STATISTICS command, or globally by setting the default_statistics_target run-time parameter. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-stats.html postgresql-15-15.18/doc/src/sgml/html/view-pg-stats.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-stats.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-stats.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,5 +1,5 @@ -54.27. pg_stats

    54.27. pg_stats

    +54.27. pg_stats

    54.27. pg_stats

    The view pg_stats provides access to the information stored in the pg_statistic catalog. This view allows access only to rows of @@ -125,4 +125,4 @@ TABLE SET STATISTICS command, or globally by setting the default_statistics_target run-time parameter. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-tables.html postgresql-15-15.18/doc/src/sgml/html/view-pg-tables.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-tables.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-tables.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -54.30. pg_tables

    54.30. pg_tables

    +54.30. pg_tables

    54.30. pg_tables

    The view pg_tables provides access to useful information about each table in the database.

    Table 54.30. pg_tables Columns

    @@ -55,4 +55,4 @@

    True if row security is enabled on the table -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-timezone-abbrevs.html postgresql-15-15.18/doc/src/sgml/html/view-pg-timezone-abbrevs.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-timezone-abbrevs.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-timezone-abbrevs.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -54.31. pg_timezone_abbrevs

    54.31. pg_timezone_abbrevs

    +54.31. pg_timezone_abbrevs

    54.31. pg_timezone_abbrevs

    The view pg_timezone_abbrevs provides a list of time zone abbreviations that are currently recognized by the datetime input routines. The contents of this view change when the @@ -29,4 +29,4 @@ there are some that have historically varied in value (see Section B.4 for more information). In such cases this view presents their current meaning. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-timezone-names.html postgresql-15-15.18/doc/src/sgml/html/view-pg-timezone-names.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-timezone-names.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-timezone-names.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -54.32. pg_timezone_names

    54.32. pg_timezone_names

    +54.32. pg_timezone_names

    54.32. pg_timezone_names

    The view pg_timezone_names provides a list of time zone names that are recognized by SET TIMEZONE, along with their associated abbreviations, UTC offsets, @@ -35,4 +35,4 @@

    True if currently observing daylight savings -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-user-mappings.html postgresql-15-15.18/doc/src/sgml/html/view-pg-user-mappings.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-user-mappings.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-user-mappings.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -54.34. pg_user_mappings

    54.34. pg_user_mappings

    +54.34. pg_user_mappings

    54.34. pg_user_mappings

    The view pg_user_mappings provides access to information about user mappings. This is essentially a publicly readable view of @@ -57,4 +57,4 @@

  • current user is a superuser

  • -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-user.html postgresql-15-15.18/doc/src/sgml/html/view-pg-user.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-user.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-user.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -54.33. pg_user

    54.33. pg_user

    +54.33. pg_user

    54.33. pg_user

    The view pg_user provides access to information about database users. This is simply a publicly readable view of @@ -57,4 +57,4 @@

    Session defaults for run-time configuration variables -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/view-pg-views.html postgresql-15-15.18/doc/src/sgml/html/view-pg-views.html --- postgresql-15-15.17/doc/src/sgml/html/view-pg-views.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/view-pg-views.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -54.35. pg_views

    54.35. pg_views

    +54.35. pg_views

    54.35. pg_views

    The view pg_views provides access to useful information about each view in the database.

    Table 54.35. pg_views Columns

    @@ -30,4 +30,4 @@

    View definition (a reconstructed SELECT query) -


    \ No newline at end of file +


    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/views-overview.html postgresql-15-15.18/doc/src/sgml/html/views-overview.html --- postgresql-15-15.17/doc/src/sgml/html/views-overview.html 2026-02-23 22:14:39.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/views-overview.html 2026-05-11 20:02:51.000000000 +0000 @@ -1,6 +1,6 @@ -54.1. Overview

    54.1. Overview

    +54.1. Overview

    54.1. Overview

    Table 54.1 lists the system views. More detailed documentation of each catalog follows below. Except where noted, all the views described here are read-only. -

    Table 54.1. System Views

    View NamePurpose
    pg_available_extensionsavailable extensions
    pg_available_extension_versionsavailable versions of extensions
    pg_backend_memory_contextsbackend memory contexts
    pg_configcompile-time configuration parameters
    pg_cursorsopen cursors
    pg_file_settingssummary of configuration file contents
    pg_groupgroups of database users
    pg_hba_file_rulessummary of client authentication configuration file contents
    pg_ident_file_mappingssummary of client user name mapping configuration file contents
    pg_indexesindexes
    pg_lockslocks currently held or awaited
    pg_matviewsmaterialized views
    pg_policiespolicies
    pg_prepared_statementsprepared statements
    pg_prepared_xactsprepared transactions
    pg_publication_tablespublications and information of their associated tables
    pg_replication_origin_statusinformation about replication origins, including replication progress
    pg_replication_slotsreplication slot information
    pg_rolesdatabase roles
    pg_rulesrules
    pg_seclabelssecurity labels
    pg_sequencessequences
    pg_settingsparameter settings
    pg_shadowdatabase users
    pg_shmem_allocationsshared memory allocations
    pg_statsplanner statistics
    pg_stats_extextended planner statistics
    pg_stats_ext_exprsextended planner statistics for expressions
    pg_tablestables
    pg_timezone_abbrevstime zone abbreviations
    pg_timezone_namestime zone names
    pg_userdatabase users
    pg_user_mappingsuser mappings
    pg_viewsviews

    \ No newline at end of file +

    Table 54.1. System Views

    View NamePurpose
    pg_available_extensionsavailable extensions
    pg_available_extension_versionsavailable versions of extensions
    pg_backend_memory_contextsbackend memory contexts
    pg_configcompile-time configuration parameters
    pg_cursorsopen cursors
    pg_file_settingssummary of configuration file contents
    pg_groupgroups of database users
    pg_hba_file_rulessummary of client authentication configuration file contents
    pg_ident_file_mappingssummary of client user name mapping configuration file contents
    pg_indexesindexes
    pg_lockslocks currently held or awaited
    pg_matviewsmaterialized views
    pg_policiespolicies
    pg_prepared_statementsprepared statements
    pg_prepared_xactsprepared transactions
    pg_publication_tablespublications and information of their associated tables
    pg_replication_origin_statusinformation about replication origins, including replication progress
    pg_replication_slotsreplication slot information
    pg_rolesdatabase roles
    pg_rulesrules
    pg_seclabelssecurity labels
    pg_sequencessequences
    pg_settingsparameter settings
    pg_shadowdatabase users
    pg_shmem_allocationsshared memory allocations
    pg_statsplanner statistics
    pg_stats_extextended planner statistics
    pg_stats_ext_exprsextended planner statistics for expressions
    pg_tablestables
    pg_timezone_abbrevstime zone abbreviations
    pg_timezone_namestime zone names
    pg_userdatabase users
    pg_user_mappingsuser mappings
    pg_viewsviews

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/views.html postgresql-15-15.18/doc/src/sgml/html/views.html --- postgresql-15-15.17/doc/src/sgml/html/views.html 2026-02-23 22:14:40.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/views.html 2026-05-11 20:02:52.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 54. System Views

    Chapter 54. System Views

    +Chapter 54. System Views

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/wal-async-commit.html postgresql-15-15.18/doc/src/sgml/html/wal-async-commit.html --- postgresql-15-15.17/doc/src/sgml/html/wal-async-commit.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/wal-async-commit.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -30.4. Asynchronous Commit

    30.4. Asynchronous Commit

    +30.4. Asynchronous Commit

    30.4. Asynchronous Commit

    Asynchronous commit is an option that allows transactions to complete more quickly, at the cost that the most recent transactions may be lost if the database should crash. In many applications this is an @@ -96,4 +96,4 @@ setting can be thought of as a way of increasing the time window in which transactions can join a group about to participate in a single flush, to amortize the cost of the flush among multiple transactions. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/wal-configuration.html postgresql-15-15.18/doc/src/sgml/html/wal-configuration.html --- postgresql-15-15.17/doc/src/sgml/html/wal-configuration.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/wal-configuration.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -30.5. WAL Configuration

    30.5. WAL Configuration

    +30.5. WAL Configuration

    30.5. WAL Configuration

    There are several WAL-related configuration parameters that affect database performance. This section explains their use. Consult Chapter 20 for general information about @@ -292,4 +292,4 @@ concurrency and distance, respectively. By default, it is set to try, which enables the feature on systems where posix_fadvise is available. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/wal-internals.html postgresql-15-15.18/doc/src/sgml/html/wal-internals.html --- postgresql-15-15.17/doc/src/sgml/html/wal-internals.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/wal-internals.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -30.6. WAL Internals

    30.6. WAL Internals

    +30.6. WAL Internals

    30.6. WAL Internals

    WAL is automatically enabled; no action is required from the administrator except ensuring that the disk-space requirements for the WAL logs are met, @@ -67,4 +67,4 @@ to read pg_control itself. So while it is theoretically a weak spot, pg_control does not seem to be a problem in practice. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/wal-intro.html postgresql-15-15.18/doc/src/sgml/html/wal-intro.html --- postgresql-15-15.17/doc/src/sgml/html/wal-intro.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/wal-intro.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -30.3. Write-Ahead Logging (WAL)

    30.3. Write-Ahead Logging (WAL)

    +30.3. Write-Ahead Logging (WAL)

    30.3. Write-Ahead Logging (WAL)

    Write-Ahead Logging (WAL) is a standard method for ensuring data integrity. A detailed description can be found in most (if not all) books about @@ -45,4 +45,4 @@ of the database state — if it is made over some period of time, then replaying the WAL log for that period will fix any internal inconsistencies. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/wal-reliability.html postgresql-15-15.18/doc/src/sgml/html/wal-reliability.html --- postgresql-15-15.17/doc/src/sgml/html/wal-reliability.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/wal-reliability.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -30.1. Reliability

    30.1. Reliability

    +30.1. Reliability

    30.1. Reliability

    Reliability is an important property of any serious database system, and PostgreSQL does everything possible to guarantee reliable operation. One aspect of reliable operation is @@ -158,4 +158,4 @@ PostgreSQL does not protect against correctable memory errors and it is assumed you will operate using RAM that uses industry standard Error Correcting Codes (ECC) or better protection. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/wal.html postgresql-15-15.18/doc/src/sgml/html/wal.html --- postgresql-15-15.17/doc/src/sgml/html/wal.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/wal.html 2026-05-11 20:02:38.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 30. Reliability and the Write-Ahead Log

    Chapter 30. Reliability and the Write-Ahead Log

    +Chapter 30. Reliability and the Write-Ahead Log

    Chapter 30. Reliability and the Write-Ahead Log

    This chapter explains how the Write-Ahead Log is used to obtain efficient, reliable operation. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/warm-standby-failover.html postgresql-15-15.18/doc/src/sgml/html/warm-standby-failover.html --- postgresql-15-15.17/doc/src/sgml/html/warm-standby-failover.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/warm-standby-failover.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -27.3. Failover

    27.3. Failover

    +27.3. Failover

    27.3. Failover

    If the primary server fails then the standby server should begin failover procedures.

    @@ -62,4 +62,4 @@ setting up the reporting servers that are only used to offload read-only queries from the primary, not for high availability purposes, you don't need to promote it. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/warm-standby.html postgresql-15-15.18/doc/src/sgml/html/warm-standby.html --- postgresql-15-15.17/doc/src/sgml/html/warm-standby.html 2026-02-23 22:14:26.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/warm-standby.html 2026-05-11 20:02:37.000000000 +0000 @@ -1,5 +1,5 @@ -27.2. Log-Shipping Standby Servers

    27.2. Log-Shipping Standby Servers

    +27.2. Log-Shipping Standby Servers

    27.2. Log-Shipping Standby Servers

    Continuous archiving can be used to create a high availability (HA) cluster configuration with one or more standby servers ready to take over operations if the @@ -654,4 +654,4 @@ are found in the archive, but not if streaming replication is enabled. When a server is not in recovery mode, there is no difference between on and always modes. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/when-can-parallel-query-be-used.html postgresql-15-15.18/doc/src/sgml/html/when-can-parallel-query-be-used.html --- postgresql-15-15.17/doc/src/sgml/html/when-can-parallel-query-be-used.html 2026-02-23 22:14:23.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/when-can-parallel-query-be-used.html 2026-05-11 20:02:35.000000000 +0000 @@ -1,5 +1,5 @@ -15.2. When Can Parallel Query Be Used?

    15.2. When Can Parallel Query Be Used?

    +15.2. When Can Parallel Query Be Used?

    15.2. When Can Parallel Query Be Used?

    There are several settings that can cause the query planner not to generate a parallel query plan under any circumstances. In order for any parallel query plans whatsoever to be generated, the following @@ -75,4 +75,4 @@ max_parallel_workers_per_gather to zero in sessions where it is likely, so as to avoid generating query plans that may be suboptimal when run serially. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xaggr.html postgresql-15-15.18/doc/src/sgml/html/xaggr.html --- postgresql-15-15.17/doc/src/sgml/html/xaggr.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xaggr.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.12. User-Defined Aggregates

    38.12. User-Defined Aggregates

    +38.12. User-Defined Aggregates

    38.12. User-Defined Aggregates

    Aggregate functions in PostgreSQL are defined in terms of state values and state transition functions. @@ -525,4 +525,4 @@ supposed to implement. Examples can be found in orderedsetaggs.c in the PostgreSQL source code. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xfunc-c.html postgresql-15-15.18/doc/src/sgml/html/xfunc-c.html --- postgresql-15-15.17/doc/src/sgml/html/xfunc-c.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xfunc-c.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.10. C-Language Functions \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xfunc-internal.html postgresql-15-15.18/doc/src/sgml/html/xfunc-internal.html --- postgresql-15-15.17/doc/src/sgml/html/xfunc-internal.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xfunc-internal.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.9. Internal Functions

    38.9. Internal Functions

    +38.9. Internal Functions

    38.9. Internal Functions

    Internal functions are functions written in C that have been statically linked into the PostgreSQL server. The body of the function definition @@ -28,4 +28,4 @@ Not all predefined functions are internal in the above sense. Some predefined functions are written in SQL. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xfunc-optimization.html postgresql-15-15.18/doc/src/sgml/html/xfunc-optimization.html --- postgresql-15-15.17/doc/src/sgml/html/xfunc-optimization.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xfunc-optimization.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.11. Function Optimization Information

    38.11. Function Optimization Information

    +38.11. Function Optimization Information

    38.11. Function Optimization Information

    By default, a function is just a black box that the database system knows very little about the behavior of. However, that means that queries using the function may be executed much less @@ -91,4 +91,4 @@ the index to see if it really passes the WHERE condition or not. To create such conditions, the support function must implement the SupportRequestIndexCondition request type. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xfunc-overload.html postgresql-15-15.18/doc/src/sgml/html/xfunc-overload.html --- postgresql-15-15.17/doc/src/sgml/html/xfunc-overload.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xfunc-overload.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.6. Function Overloading

    38.6. Function Overloading

    +38.6. Function Overloading

    38.6. Function Overloading

    More than one function can be defined with the same SQL name, so long as the arguments they take are different. In other words, function names can be overloaded. Whether or not @@ -64,4 +64,4 @@ LANGUAGE C;

    The names of the C functions here reflect one of many possible conventions. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xfunc-pl.html postgresql-15-15.18/doc/src/sgml/html/xfunc-pl.html --- postgresql-15-15.17/doc/src/sgml/html/xfunc-pl.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xfunc-pl.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.8. Procedural Language Functions

    38.8. Procedural Language Functions

    +38.8. Procedural Language Functions

    38.8. Procedural Language Functions

    PostgreSQL allows user-defined functions to be written in other languages besides SQL and C. These other languages are generically called procedural @@ -9,4 +9,4 @@ by loadable modules. See Chapter 42 and following chapters for more information. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xfunc-sql.html postgresql-15-15.18/doc/src/sgml/html/xfunc-sql.html --- postgresql-15-15.17/doc/src/sgml/html/xfunc-sql.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xfunc-sql.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.5. Query Language (SQL) Functions \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xfunc-volatility.html postgresql-15-15.18/doc/src/sgml/html/xfunc-volatility.html --- postgresql-15-15.17/doc/src/sgml/html/xfunc-volatility.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xfunc-volatility.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.7. Function Volatility Categories

    38.7. Function Volatility Categories

    +38.7. Function Volatility Categories

    38.7. Function Volatility Categories

    Every function has a volatility classification, with the possibilities being VOLATILE, STABLE, or IMMUTABLE. VOLATILE is the default if the @@ -104,4 +104,4 @@ If you do that, you will find that the STABLE or IMMUTABLE function does not notice the database changes applied by the called function, since they are hidden from its snapshot.) -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xfunc.html postgresql-15-15.18/doc/src/sgml/html/xfunc.html --- postgresql-15-15.17/doc/src/sgml/html/xfunc.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xfunc.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.3. User-Defined Functions

    38.3. User-Defined Functions

    +38.3. User-Defined Functions

    38.3. User-Defined Functions

    PostgreSQL provides four kinds of functions: @@ -40,4 +40,4 @@ funcs.c in the src/tutorial directory in the PostgreSQL source distribution. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xindex.html postgresql-15-15.18/doc/src/sgml/html/xindex.html --- postgresql-15-15.17/doc/src/sgml/html/xindex.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xindex.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.16. Interfacing Extensions to Indexes

    38.16. Interfacing Extensions to Indexes

    +38.16. Interfacing Extensions to Indexes

    38.16. Interfacing Extensions to Indexes

    The procedures described thus far let you define new types, new functions, and new operators. However, we cannot yet define an index on a column of a new data type. To do this, we must define an @@ -769,4 +769,4 @@ type of the stored summary values, and operator classes' support procedures are responsible for interpreting the summary values correctly. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xml-limits-conformance.html postgresql-15-15.18/doc/src/sgml/html/xml-limits-conformance.html --- postgresql-15-15.17/doc/src/sgml/html/xml-limits-conformance.html 2026-02-23 22:14:44.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xml-limits-conformance.html 2026-05-11 20:02:55.000000000 +0000 @@ -1,5 +1,5 @@ -D.3. XML Limits and Conformance to SQL/XML

    D.3. XML Limits and Conformance to SQL/XML

    +D.3. XML Limits and Conformance to SQL/XML

    D.3. XML Limits and Conformance to SQL/XML

    Significant revisions to the XML-related specifications in ISO/IEC 9075-14 (SQL/XML) were introduced with SQL:2006. PostgreSQL's implementation of the XML data @@ -201,4 +201,4 @@ well-formed DOCUMENT is the only form of XML value that PostgreSQL can supply as an XPath context item. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xml2.html postgresql-15-15.18/doc/src/sgml/html/xml2.html --- postgresql-15-15.17/doc/src/sgml/html/xml2.html 2026-02-23 22:14:46.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xml2.html 2026-05-11 20:02:57.000000000 +0000 @@ -1,5 +1,5 @@ -F.50. xml2

    F.50. xml2

    +F.50. xml2

    F.50. xml2

    The xml2 module provides XPath querying and XSLT functionality.

    F.50.1. Deprecation Notice

    @@ -271,4 +271,4 @@

    Development of this module was sponsored by Torchbox Ltd. (www.torchbox.com). It has the same BSD license as PostgreSQL. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xoper-optimization.html postgresql-15-15.18/doc/src/sgml/html/xoper-optimization.html --- postgresql-15-15.17/doc/src/sgml/html/xoper-optimization.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xoper-optimization.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.15. Operator Optimization Information

    38.15. Operator Optimization Information

    +38.15. Operator Optimization Information

    38.15. Operator Optimization Information

    A PostgreSQL operator definition can include several optional clauses that tell the system useful things about how the operator behaves. These clauses should be provided whenever @@ -13,7 +13,7 @@

    Additional optimization clauses might be added in future versions of PostgreSQL. The ones described here are all - the ones that release 15.17 understands. + the ones that release 15.18 understands.

    It is also possible to attach a planner support function to the function that underlies an operator, providing another way of telling the system @@ -278,4 +278,4 @@ The function underlying a merge-joinable operator must be marked immutable or stable. If it is volatile, the system will never attempt to use the operator for a merge join. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xoper.html postgresql-15-15.18/doc/src/sgml/html/xoper.html --- postgresql-15-15.17/doc/src/sgml/html/xoper.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xoper.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.14. User-Defined Operators

    38.14. User-Defined Operators

    +38.14. User-Defined Operators

    38.14. User-Defined Operators

    Every operator is syntactic sugar for a call to an underlying function that does the real work; so you must first create the underlying function before you can create @@ -55,4 +55,4 @@ clause shown in the example is an optional hint to the query optimizer. Further details about commutator and other optimizer hints appear in the next section. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xplang-install.html postgresql-15-15.18/doc/src/sgml/html/xplang-install.html --- postgresql-15-15.17/doc/src/sgml/html/xplang-install.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xplang-install.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -42.1. Installing Procedural Languages

    42.1. Installing Procedural Languages

    +42.1. Installing Procedural Languages

    42.1. Installing Procedural Languages

    A procedural language must be installed into each database where it is to be used. But procedural languages installed in the database template1 are automatically available in all @@ -139,4 +139,4 @@ handlers are built and installed if Perl support is configured, and the PL/PythonU handler is installed if Python support is configured, but these languages are not installed by default. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xplang.html postgresql-15-15.18/doc/src/sgml/html/xplang.html --- postgresql-15-15.17/doc/src/sgml/html/xplang.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xplang.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -Chapter 42. Procedural Languages

    Chapter 42. Procedural Languages

    +Chapter 42. Procedural Languages

    Chapter 42. Procedural Languages

    PostgreSQL allows user-defined functions to be written in other languages besides SQL and C. These other languages are generically called procedural @@ -26,4 +26,4 @@ has information about finding them. In addition other languages can be defined by users; the basics of developing a new procedural language are covered in Chapter 58. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xproc.html postgresql-15-15.18/doc/src/sgml/html/xproc.html --- postgresql-15-15.17/doc/src/sgml/html/xproc.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xproc.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.4. User-Defined Procedures

    38.4. User-Defined Procedures

    +38.4. User-Defined Procedures

    38.4. User-Defined Procedures

    A procedure is a database object similar to a function. The key differences are: @@ -38,4 +38,4 @@ and DROP ROUTINE that can operate on functions and procedures without having to know which kind it is. Note, however, that there is no CREATE ROUTINE command. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/html/xtypes.html postgresql-15-15.18/doc/src/sgml/html/xtypes.html --- postgresql-15-15.17/doc/src/sgml/html/xtypes.html 2026-02-23 22:14:29.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/html/xtypes.html 2026-05-11 20:02:41.000000000 +0000 @@ -1,5 +1,5 @@ -38.13. User-Defined Types

    38.13. User-Defined Types

    +38.13. User-Defined Types

    38.13. User-Defined Types

    As described in Section 38.2, PostgreSQL can be extended to support new data types. This section describes how to define new base types, @@ -299,4 +299,4 @@ For examples of working with expanded values, see the standard array infrastructure, particularly src/backend/utils/adt/array_expanded.c. -

    \ No newline at end of file +

    \ No newline at end of file diff -Nru postgresql-15-15.17/doc/src/sgml/libpq.sgml postgresql-15-15.18/doc/src/sgml/libpq.sgml --- postgresql-15-15.17/doc/src/sgml/libpq.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/libpq.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -5743,15 +5743,20 @@ to send simple function calls to the server. - + - This interface is somewhat obsolete, as one can achieve similar + This interface is unsafe and should not be used. When + result_is_int is set to 0, + PQfn may write data beyond the end of + result_buf, regardless of whether the buffer has + enough space for the requested number of bytes. Furthermore, it is + obsolete, as one can achieve similar performance and greater functionality by setting up a prepared statement to define the function call. Then, executing the statement with binary transmission of parameters and results substitutes for a fast-path function call. - + The function PQfnPQfn diff -Nru postgresql-15-15.17/doc/src/sgml/logical-replication.sgml postgresql-15-15.18/doc/src/sgml/logical-replication.sgml --- postgresql-15-15.17/doc/src/sgml/logical-replication.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/logical-replication.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -67,7 +67,7 @@ Replicating between PostgreSQL instances on different platforms (for - example Linux to Windows) + example Linux to Windows). @@ -88,7 +88,7 @@ The subscriber database behaves in the same way as any other PostgreSQL instance and can be used as a publisher for other databases by defining its - own publications. When the subscriber is treated as read-only by + own publications. When the subscriber is treated as read-only by an application, there will be no conflicts from a single subscription. On the other hand, if there are other writes done either by an application or by other subscribers to the same set of tables, conflicts can arise. @@ -170,8 +170,8 @@ A subscription is the downstream side of logical replication. The node where a subscription is defined is referred to as the subscriber. A subscription defines the connection - to another database and set of publications (one or more) to which it wants - to subscribe. + to another database and the set of publications (one or more) to which it + wants to subscribe. @@ -668,7 +668,7 @@ - If the subscriber is in a release prior to 15, copy pre-existing data + If the subscriber is in a release prior to 15, copying pre-existing data doesn't use row filters even if they are defined in the publication. This is because old releases can only copy the entire table data. @@ -1482,7 +1482,7 @@ Initial Snapshot - The initial data in existing subscribed tables are snapshotted and + The initial data in existing subscribed tables is snapshotted and copied in a parallel instance of a special kind of apply process. This process will create its own replication slot and copy the existing data. As soon as the copy is finished the table contents will become diff -Nru postgresql-15-15.17/doc/src/sgml/man1/clusterdb.1 postgresql-15-15.18/doc/src/sgml/man1/clusterdb.1 --- postgresql-15-15.17/doc/src/sgml/man1/clusterdb.1 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/clusterdb.1 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CLUSTERDB" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CLUSTERDB" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/createdb.1 postgresql-15-15.18/doc/src/sgml/man1/createdb.1 --- postgresql-15-15.17/doc/src/sgml/man1/createdb.1 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/createdb.1 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATEDB" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATEDB" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/createuser.1 postgresql-15-15.18/doc/src/sgml/man1/createuser.1 --- postgresql-15-15.17/doc/src/sgml/man1/createuser.1 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/createuser.1 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATEUSER" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATEUSER" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/dropdb.1 postgresql-15-15.18/doc/src/sgml/man1/dropdb.1 --- postgresql-15-15.17/doc/src/sgml/man1/dropdb.1 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/dropdb.1 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROPDB" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROPDB" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/dropuser.1 postgresql-15-15.18/doc/src/sgml/man1/dropuser.1 --- postgresql-15-15.17/doc/src/sgml/man1/dropuser.1 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/dropuser.1 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROPUSER" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROPUSER" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/ecpg.1 postgresql-15-15.18/doc/src/sgml/man1/ecpg.1 --- postgresql-15-15.17/doc/src/sgml/man1/ecpg.1 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/ecpg.1 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ECPG" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ECPG" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/initdb.1 postgresql-15-15.18/doc/src/sgml/man1/initdb.1 --- postgresql-15-15.17/doc/src/sgml/man1/initdb.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/initdb.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "INITDB" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "INITDB" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/oid2name.1 postgresql-15-15.18/doc/src/sgml/man1/oid2name.1 --- postgresql-15-15.17/doc/src/sgml/man1/oid2name.1 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/oid2name.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "OID2NAME" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "OID2NAME" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_amcheck.1 postgresql-15-15.18/doc/src/sgml/man1/pg_amcheck.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_amcheck.1 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_amcheck.1 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_AMCHECK" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_AMCHECK" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_archivecleanup.1 postgresql-15-15.18/doc/src/sgml/man1/pg_archivecleanup.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_archivecleanup.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_archivecleanup.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_ARCHIVECLEANUP" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_ARCHIVECLEANUP" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_basebackup.1 postgresql-15-15.18/doc/src/sgml/man1/pg_basebackup.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_basebackup.1 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_basebackup.1 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_BASEBACKUP" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_BASEBACKUP" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_checksums.1 postgresql-15-15.18/doc/src/sgml/man1/pg_checksums.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_checksums.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_checksums.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_CHECKSUMS" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_CHECKSUMS" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_config.1 postgresql-15-15.18/doc/src/sgml/man1/pg_config.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_config.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_config.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_CONFIG" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_CONFIG" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_controldata.1 postgresql-15-15.18/doc/src/sgml/man1/pg_controldata.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_controldata.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_controldata.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_CONTROLDATA" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_CONTROLDATA" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_ctl.1 postgresql-15-15.18/doc/src/sgml/man1/pg_ctl.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_ctl.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_ctl.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_CTL" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_CTL" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -187,9 +187,7 @@ \fB\-\-log=\fR\fB\fIfilename\fR\fR .RS 4 Append the server log output to -\fIfilename\fR\&. If the file does not exist, it is created\&. The -umask -is set to 077, so access to the log file is disallowed to other users by default\&. +\fIfilename\fR\&. If the file does not exist, it is created\&. By default, only the cluster owner can access the log file\&. If group access is enabled in the cluster, users in the same group as the cluster owner can also read it\&. .RE .PP \fB\-m \fR\fB\fImode\fR\fR diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_dump.1 postgresql-15-15.18/doc/src/sgml/man1/pg_dump.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_dump.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_dump.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_DUMP" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_DUMP" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_dumpall.1 postgresql-15-15.18/doc/src/sgml/man1/pg_dumpall.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_dumpall.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_dumpall.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_DUMPALL" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_DUMPALL" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_isready.1 postgresql-15-15.18/doc/src/sgml/man1/pg_isready.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_isready.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_isready.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_ISREADY" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_ISREADY" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_receivewal.1 postgresql-15-15.18/doc/src/sgml/man1/pg_receivewal.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_receivewal.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_receivewal.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_RECEIVEWAL" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_RECEIVEWAL" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_recvlogical.1 postgresql-15-15.18/doc/src/sgml/man1/pg_recvlogical.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_recvlogical.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_recvlogical.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_RECVLOGICAL" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_RECVLOGICAL" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_resetwal.1 postgresql-15-15.18/doc/src/sgml/man1/pg_resetwal.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_resetwal.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_resetwal.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_RESETWAL" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_RESETWAL" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_restore.1 postgresql-15-15.18/doc/src/sgml/man1/pg_restore.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_restore.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_restore.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_RESTORE" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_RESTORE" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_rewind.1 postgresql-15-15.18/doc/src/sgml/man1/pg_rewind.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_rewind.1 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_rewind.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_REWIND" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_REWIND" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_test_fsync.1 postgresql-15-15.18/doc/src/sgml/man1/pg_test_fsync.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_test_fsync.1 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_test_fsync.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_TEST_FSYNC" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_TEST_FSYNC" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_test_timing.1 postgresql-15-15.18/doc/src/sgml/man1/pg_test_timing.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_test_timing.1 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_test_timing.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_TEST_TIMING" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_TEST_TIMING" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_upgrade.1 postgresql-15-15.18/doc/src/sgml/man1/pg_upgrade.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_upgrade.1 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_upgrade.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_UPGRADE" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_UPGRADE" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_verifybackup.1 postgresql-15-15.18/doc/src/sgml/man1/pg_verifybackup.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_verifybackup.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_verifybackup.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_VERIFYBACKUP" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_VERIFYBACKUP" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pg_waldump.1 postgresql-15-15.18/doc/src/sgml/man1/pg_waldump.1 --- postgresql-15-15.17/doc/src/sgml/man1/pg_waldump.1 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pg_waldump.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PG_WALDUMP" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PG_WALDUMP" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/pgbench.1 postgresql-15-15.18/doc/src/sgml/man1/pgbench.1 --- postgresql-15-15.17/doc/src/sgml/man1/pgbench.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/pgbench.1 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PGBENCH" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PGBENCH" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/postgres.1 postgresql-15-15.18/doc/src/sgml/man1/postgres.1 --- postgresql-15-15.17/doc/src/sgml/man1/postgres.1 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/postgres.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "POSTGRES" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "POSTGRES" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/postmaster.1 postgresql-15-15.18/doc/src/sgml/man1/postmaster.1 --- postgresql-15-15.17/doc/src/sgml/man1/postmaster.1 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/postmaster.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "POSTMASTER" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "POSTMASTER" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/psql.1 postgresql-15-15.18/doc/src/sgml/man1/psql.1 --- postgresql-15-15.17/doc/src/sgml/man1/psql.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/psql.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PSQL" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PSQL" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -650,7 +650,7 @@ .\} .nf $ \fBpsql testdb\fR -psql (15\&.17) +psql (15\&.18) Type "help" for help\&. testdb=> @@ -4180,7 +4180,7 @@ major or minor release identifier to the file name, for example ~/\&.psqlrc\-15 or -~/\&.psqlrc\-15\&.17\&. The most specific version\-matching file will be read in preference to a non\-version\-specific file\&. These version suffixes are added after determining the file path as explained above\&. +~/\&.psqlrc\-15\&.18\&. The most specific version\-matching file will be read in preference to a non\-version\-specific file\&. These version suffixes are added after determining the file path as explained above\&. .RE .PP \&.psql_history diff -Nru postgresql-15-15.17/doc/src/sgml/man1/reindexdb.1 postgresql-15-15.18/doc/src/sgml/man1/reindexdb.1 --- postgresql-15-15.17/doc/src/sgml/man1/reindexdb.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/reindexdb.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "REINDEXDB" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "REINDEXDB" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/vacuumdb.1 postgresql-15-15.18/doc/src/sgml/man1/vacuumdb.1 --- postgresql-15-15.17/doc/src/sgml/man1/vacuumdb.1 2026-02-23 22:14:54.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/vacuumdb.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "VACUUMDB" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "VACUUMDB" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man1/vacuumlo.1 postgresql-15-15.18/doc/src/sgml/man1/vacuumlo.1 --- postgresql-15-15.17/doc/src/sgml/man1/vacuumlo.1 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man1/vacuumlo.1 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "VACUUMLO" "1" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "VACUUMLO" "1" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_commit.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_commit.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_commit.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_commit.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_COMMIT" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_COMMIT" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_connect.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_connect.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_connect.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_connect.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_CONNECT" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_CONNECT" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_copytuple.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_copytuple.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_copytuple.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_copytuple.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_COPYTUPLE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_COPYTUPLE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_close.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_close.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_close.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_close.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_CURSOR_CLOSE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_CURSOR_CLOSE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_fetch.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_fetch.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_fetch.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_fetch.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_CURSOR_FETCH" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_CURSOR_FETCH" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_find.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_find.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_find.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_find.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_CURSOR_FIND" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_CURSOR_FIND" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_move.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_move.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_move.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_move.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_CURSOR_MOVE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_CURSOR_MOVE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_open.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_open.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_open.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_open.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_CURSOR_OPEN" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_CURSOR_OPEN" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_open_with_args.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_open_with_args.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_open_with_args.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_open_with_args.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_CURSOR_OPEN_WITH_ARGS" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_CURSOR_OPEN_WITH_ARGS" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_open_with_paramlist.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_open_with_paramlist.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_open_with_paramlist.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_open_with_paramlist.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_CURSOR_OPEN_WITH_PARAMLIST" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_CURSOR_OPEN_WITH_PARAMLIST" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_parse_open.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_parse_open.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_cursor_parse_open.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_cursor_parse_open.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_CURSOR_PARSE_OPEN" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_CURSOR_PARSE_OPEN" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_exec.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_exec.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_exec.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_exec.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_EXEC" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_EXEC" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_execp.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_execp.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_execp.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_execp.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_EXECP" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_EXECP" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_execute.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_execute.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_execute.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_execute.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_EXECUTE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_EXECUTE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_execute_extended.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_execute_extended.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_execute_extended.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_execute_extended.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_EXECUTE_EXTENDED" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_EXECUTE_EXTENDED" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_execute_plan.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_execute_plan.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_execute_plan.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_execute_plan.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_EXECUTE_PLAN" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_EXECUTE_PLAN" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_execute_plan_extended.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_execute_plan_extended.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_execute_plan_extended.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_execute_plan_extended.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_EXECUTE_PLAN_EXTENDED" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_EXECUTE_PLAN_EXTENDED" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_execute_plan_with_paramlist.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_execute_plan_with_paramlist.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_execute_plan_with_paramlist.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_execute_plan_with_paramlist.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_EXECUTE_PLAN_WITH_PARAMLIST" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_EXECUTE_PLAN_WITH_PARAMLIST" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_execute_with_args.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_execute_with_args.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_execute_with_args.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_execute_with_args.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_EXECUTE_WITH_ARGS" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_EXECUTE_WITH_ARGS" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_finish.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_finish.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_finish.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_finish.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_FINISH" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_FINISH" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_fname.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_fname.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_fname.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_fname.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_FNAME" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_FNAME" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_fnumber.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_fnumber.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_fnumber.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_fnumber.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_FNUMBER" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_FNUMBER" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_freeplan.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_freeplan.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_freeplan.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_freeplan.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_FREEPLAN" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_FREEPLAN" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_freetuple.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_freetuple.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_freetuple.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_freetuple.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_FREETUPLE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_FREETUPLE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_freetuptable.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_freetuptable.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_freetuptable.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_freetuptable.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_FREETUPTABLE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_FREETUPTABLE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_getargcount.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_getargcount.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_getargcount.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_getargcount.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_GETARGCOUNT" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_GETARGCOUNT" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_getargtypeid.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_getargtypeid.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_getargtypeid.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_getargtypeid.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_GETARGTYPEID" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_GETARGTYPEID" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_getbinval.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_getbinval.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_getbinval.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_getbinval.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_GETBINVAL" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_GETBINVAL" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_getnspname.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_getnspname.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_getnspname.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_getnspname.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_GETNSPNAME" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_GETNSPNAME" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_getrelname.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_getrelname.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_getrelname.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_getrelname.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_GETRELNAME" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_GETRELNAME" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_gettype.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_gettype.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_gettype.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_gettype.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_GETTYPE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_GETTYPE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_gettypeid.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_gettypeid.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_gettypeid.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_gettypeid.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_GETTYPEID" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_GETTYPEID" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_getvalue.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_getvalue.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_getvalue.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_getvalue.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_GETVALUE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_GETVALUE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_is_cursor_plan.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_is_cursor_plan.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_is_cursor_plan.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_is_cursor_plan.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_IS_CURSOR_PLAN" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_IS_CURSOR_PLAN" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_keepplan.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_keepplan.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_keepplan.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_keepplan.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_KEEPPLAN" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_KEEPPLAN" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_modifytuple.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_modifytuple.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_modifytuple.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_modifytuple.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_MODIFYTUPLE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_MODIFYTUPLE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_palloc.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_palloc.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_palloc.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_palloc.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_PALLOC" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_PALLOC" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_pfree.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_pfree.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_pfree.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_pfree.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_PFREE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_PFREE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_prepare.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_prepare.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_prepare.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_prepare.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_PREPARE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_PREPARE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_prepare_cursor.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_prepare_cursor.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_prepare_cursor.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_prepare_cursor.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_PREPARE_CURSOR" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_PREPARE_CURSOR" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_prepare_extended.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_prepare_extended.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_prepare_extended.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_prepare_extended.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_PREPARE_EXTENDED" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_PREPARE_EXTENDED" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_prepare_params.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_prepare_params.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_prepare_params.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_prepare_params.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_PREPARE_PARAMS" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_PREPARE_PARAMS" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_register_relation.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_register_relation.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_register_relation.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_register_relation.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_REGISTER_RELATION" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_REGISTER_RELATION" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_register_trigger_data.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_register_trigger_data.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_register_trigger_data.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_register_trigger_data.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_REGISTER_TRIGGER_DATA" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_REGISTER_TRIGGER_DATA" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_repalloc.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_repalloc.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_repalloc.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_repalloc.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_REPALLOC" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_REPALLOC" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_result_code_string.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_result_code_string.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_result_code_string.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_result_code_string.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_RESULT_CODE_STRING" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_RESULT_CODE_STRING" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_returntuple.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_returntuple.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_returntuple.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_returntuple.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_RETURNTUPLE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_RETURNTUPLE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_rollback.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_rollback.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_rollback.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_rollback.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_ROLLBACK" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_ROLLBACK" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_saveplan.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_saveplan.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_saveplan.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_saveplan.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_SAVEPLAN" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_SAVEPLAN" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_scroll_cursor_fetch.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_scroll_cursor_fetch.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_scroll_cursor_fetch.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_scroll_cursor_fetch.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_SCROLL_CURSOR_FETCH" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_SCROLL_CURSOR_FETCH" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_scroll_cursor_move.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_scroll_cursor_move.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_scroll_cursor_move.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_scroll_cursor_move.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_SCROLL_CURSOR_MOVE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_SCROLL_CURSOR_MOVE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_start_transaction.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_start_transaction.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_start_transaction.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_start_transaction.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_START_TRANSACTION" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_START_TRANSACTION" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/SPI_unregister_relation.3 postgresql-15-15.18/doc/src/sgml/man3/SPI_unregister_relation.3 --- postgresql-15-15.17/doc/src/sgml/man3/SPI_unregister_relation.3 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/SPI_unregister_relation.3 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SPI_UNREGISTER_RELATION" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SPI_UNREGISTER_RELATION" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink.3 postgresql-15-15.18/doc/src/sgml/man3/dblink.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_build_sql_delete.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_build_sql_delete.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_build_sql_delete.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_build_sql_delete.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_BUILD_SQL_DELETE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_BUILD_SQL_DELETE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_build_sql_insert.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_build_sql_insert.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_build_sql_insert.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_build_sql_insert.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_BUILD_SQL_INSERT" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_BUILD_SQL_INSERT" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_build_sql_update.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_build_sql_update.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_build_sql_update.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_build_sql_update.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_BUILD_SQL_UPDATE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_BUILD_SQL_UPDATE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_cancel_query.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_cancel_query.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_cancel_query.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_cancel_query.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_CANCEL_QUERY" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_CANCEL_QUERY" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_close.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_close.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_close.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_close.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_CLOSE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_CLOSE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_connect.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_connect.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_connect.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_connect.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_CONNECT" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_CONNECT" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_connect_u.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_connect_u.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_connect_u.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_connect_u.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_CONNECT_U" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_CONNECT_U" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_disconnect.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_disconnect.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_disconnect.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_disconnect.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_DISCONNECT" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_DISCONNECT" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_error_message.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_error_message.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_error_message.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_error_message.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_ERROR_MESSAGE" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_ERROR_MESSAGE" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_exec.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_exec.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_exec.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_exec.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_EXEC" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_EXEC" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_fetch.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_fetch.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_fetch.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_fetch.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_FETCH" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_FETCH" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_get_connections.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_get_connections.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_get_connections.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_get_connections.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_GET_CONNECTIONS" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_GET_CONNECTIONS" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_get_notify.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_get_notify.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_get_notify.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_get_notify.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_GET_NOTIFY" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_GET_NOTIFY" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_get_pkey.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_get_pkey.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_get_pkey.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_get_pkey.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_GET_PKEY" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_GET_PKEY" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_get_result.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_get_result.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_get_result.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_get_result.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_GET_RESULT" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_GET_RESULT" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_is_busy.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_is_busy.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_is_busy.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_is_busy.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_IS_BUSY" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_IS_BUSY" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_open.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_open.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_open.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_open.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_OPEN" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_OPEN" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man3/dblink_send_query.3 postgresql-15-15.18/doc/src/sgml/man3/dblink_send_query.3 --- postgresql-15-15.17/doc/src/sgml/man3/dblink_send_query.3 2026-02-23 22:14:55.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man3/dblink_send_query.3 2026-05-11 20:03:06.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DBLINK_SEND_QUERY" "3" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DBLINK_SEND_QUERY" "3" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ABORT.7 postgresql-15-15.18/doc/src/sgml/man7/ABORT.7 --- postgresql-15-15.17/doc/src/sgml/man7/ABORT.7 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ABORT.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ABORT" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ABORT" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_AGGREGATE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_AGGREGATE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_AGGREGATE.7 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_AGGREGATE.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER AGGREGATE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER AGGREGATE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_COLLATION.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_COLLATION.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_COLLATION.7 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_COLLATION.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER COLLATION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER COLLATION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_CONVERSION.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_CONVERSION.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_CONVERSION.7 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_CONVERSION.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER CONVERSION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER CONVERSION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_DATABASE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_DATABASE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_DATABASE.7 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_DATABASE.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER DATABASE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER DATABASE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_DEFAULT_PRIVILEGES.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_DEFAULT_PRIVILEGES.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_DEFAULT_PRIVILEGES.7 2026-02-23 22:14:50.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_DEFAULT_PRIVILEGES.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER DEFAULT PRIVILEGES" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER DEFAULT PRIVILEGES" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_DOMAIN.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_DOMAIN.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_DOMAIN.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_DOMAIN.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER DOMAIN" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER DOMAIN" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_EVENT_TRIGGER.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_EVENT_TRIGGER.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_EVENT_TRIGGER.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_EVENT_TRIGGER.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER EVENT TRIGGER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER EVENT TRIGGER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_EXTENSION.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_EXTENSION.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_EXTENSION.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_EXTENSION.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER EXTENSION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER EXTENSION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_FOREIGN_DATA_WRAPPER.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_FOREIGN_DATA_WRAPPER.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_FOREIGN_DATA_WRAPPER.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_FOREIGN_DATA_WRAPPER.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER FOREIGN DATA WRAPPER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER FOREIGN DATA WRAPPER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_FOREIGN_TABLE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_FOREIGN_TABLE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_FOREIGN_TABLE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_FOREIGN_TABLE.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER FOREIGN TABLE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER FOREIGN TABLE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -43,7 +43,7 @@ where \fIaction\fR is one of: - ADD [ COLUMN ] \fIcolumn_name\fR \fIdata_type\fR [ COLLATE \fIcollation\fR ] [ \fIcolumn_constraint\fR [ \&.\&.\&. ] ] + ADD [ COLUMN ] [ IF NOT EXISTS ] \fIcolumn_name\fR \fIdata_type\fR [ COLLATE \fIcollation\fR ] [ \fIcolumn_constraint\fR [ \&.\&.\&. ] ] DROP [ COLUMN ] [ IF EXISTS ] \fIcolumn_name\fR [ RESTRICT | CASCADE ] ALTER [ COLUMN ] \fIcolumn_name\fR [ SET DATA ] TYPE \fIdata_type\fR [ COLLATE \fIcollation\fR ] ALTER [ COLUMN ] \fIcolumn_name\fR SET DEFAULT \fIexpression\fR @@ -72,13 +72,15 @@ \fBALTER FOREIGN TABLE\fR changes the definition of an existing foreign table\&. There are several subforms: .PP -ADD COLUMN +ADD [ COLUMN ] [ IF NOT EXISTS ] .RS 4 This form adds a new column to the foreign table, using the same syntax as -\fBCREATE FOREIGN TABLE\fR\&. Unlike the case when adding a column to a regular table, nothing happens to the underlying storage: this action simply declares that some new column is now accessible through the foreign table\&. +\fBCREATE FOREIGN TABLE\fR\&. If +IF NOT EXISTS +is specified and a column already exists with this name, no error is thrown\&. Unlike the case when adding a column to a regular table, nothing happens to the underlying storage: this action simply declares that some new column is now accessible through the foreign table\&. .RE .PP -DROP COLUMN [ IF EXISTS ] +DROP [ COLUMN ] [ IF EXISTS ] .RS 4 This form drops a column from a foreign table\&. You will need to say CASCADE diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_FUNCTION.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_FUNCTION.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_FUNCTION.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_FUNCTION.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER FUNCTION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER FUNCTION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_GROUP.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_GROUP.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_GROUP.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_GROUP.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER GROUP" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER GROUP" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_INDEX.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_INDEX.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_INDEX.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_INDEX.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER INDEX" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER INDEX" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -84,6 +84,8 @@ ATTACH PARTITION \fIindex_name\fR .RS 4 Causes the named index (possibly schema\-qualified) to become attached to the altered index\&. The named index must be on a partition of the table containing the index being altered, and have an equivalent definition\&. An attached index cannot be dropped by itself, and will automatically be dropped if its parent index is dropped\&. +.sp +If the named index is already attached to the altered index, the command will attempt to validate the parent index if the parent is currently invalid\&. .RE .PP DEPENDS ON EXTENSION \fIextension_name\fR diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_LANGUAGE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_LANGUAGE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_LANGUAGE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_LANGUAGE.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER LANGUAGE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER LANGUAGE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_LARGE_OBJECT.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_LARGE_OBJECT.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_LARGE_OBJECT.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_LARGE_OBJECT.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER LARGE OBJECT" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER LARGE OBJECT" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_MATERIALIZED_VIEW.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_MATERIALIZED_VIEW.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_MATERIALIZED_VIEW.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_MATERIALIZED_VIEW.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER MATERIALIZED VIEW" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER MATERIALIZED VIEW" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_OPERATOR.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_OPERATOR.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_OPERATOR.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_OPERATOR.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER OPERATOR" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER OPERATOR" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_OPERATOR_CLASS.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_OPERATOR_CLASS.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_OPERATOR_CLASS.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_OPERATOR_CLASS.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER OPERATOR CLASS" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER OPERATOR CLASS" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_OPERATOR_FAMILY.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_OPERATOR_FAMILY.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_OPERATOR_FAMILY.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_OPERATOR_FAMILY.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER OPERATOR FAMILY" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER OPERATOR FAMILY" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_POLICY.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_POLICY.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_POLICY.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_POLICY.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER POLICY" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER POLICY" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_PROCEDURE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_PROCEDURE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_PROCEDURE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_PROCEDURE.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER PROCEDURE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER PROCEDURE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_PUBLICATION.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_PUBLICATION.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_PUBLICATION.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_PUBLICATION.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER PUBLICATION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER PUBLICATION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_ROLE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_ROLE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_ROLE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_ROLE.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER ROLE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER ROLE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_ROUTINE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_ROUTINE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_ROUTINE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_ROUTINE.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER ROUTINE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER ROUTINE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_RULE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_RULE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_RULE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_RULE.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER RULE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER RULE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_SCHEMA.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_SCHEMA.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_SCHEMA.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_SCHEMA.7 2026-05-11 20:03:02.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER SCHEMA" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER SCHEMA" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_SEQUENCE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_SEQUENCE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_SEQUENCE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_SEQUENCE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER SEQUENCE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER SEQUENCE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_SERVER.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_SERVER.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_SERVER.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_SERVER.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER SERVER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER SERVER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_STATISTICS.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_STATISTICS.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_STATISTICS.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_STATISTICS.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER STATISTICS" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER STATISTICS" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_SUBSCRIPTION.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_SUBSCRIPTION.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_SUBSCRIPTION.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_SUBSCRIPTION.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER SUBSCRIPTION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER SUBSCRIPTION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_SYSTEM.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_SYSTEM.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_SYSTEM.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_SYSTEM.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER SYSTEM" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER SYSTEM" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_TABLE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_TABLE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_TABLE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_TABLE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER TABLE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER TABLE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -158,7 +158,7 @@ ACCESS EXCLUSIVE lock is acquired unless explicitly noted\&. When multiple subcommands are given, the lock acquired will be the strictest one required by any subcommand\&. .PP -ADD COLUMN [ IF NOT EXISTS ] +ADD [ COLUMN ] [ IF NOT EXISTS ] .RS 4 This form adds a new column to the table, using the same syntax as \fBCREATE TABLE\fR\&. If @@ -166,7 +166,7 @@ is specified and a column already exists with this name, no error is thrown\&. .RE .PP -DROP COLUMN [ IF EXISTS ] +DROP [ COLUMN ] [ IF EXISTS ] .RS 4 This form drops a column from a table\&. Indexes and table constraints involving the column will be automatically dropped as well\&. Multivariate statistics referencing the dropped column will also be removed if the removal of the column would cause the statistics to contain data for only a single column\&. You will need to say CASCADE diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_TABLESPACE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_TABLESPACE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_TABLESPACE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_TABLESPACE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER TABLESPACE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER TABLESPACE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_TEXT_SEARCH_CONFIGURATION.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_TEXT_SEARCH_CONFIGURATION.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_TEXT_SEARCH_CONFIGURATION.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_TEXT_SEARCH_CONFIGURATION.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER TEXT SEARCH CONFIGURATION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER TEXT SEARCH CONFIGURATION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_TEXT_SEARCH_DICTIONARY.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_TEXT_SEARCH_DICTIONARY.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_TEXT_SEARCH_DICTIONARY.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_TEXT_SEARCH_DICTIONARY.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER TEXT SEARCH DICTIONARY" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER TEXT SEARCH DICTIONARY" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_TEXT_SEARCH_PARSER.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_TEXT_SEARCH_PARSER.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_TEXT_SEARCH_PARSER.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_TEXT_SEARCH_PARSER.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER TEXT SEARCH PARSER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER TEXT SEARCH PARSER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_TEXT_SEARCH_TEMPLATE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_TEXT_SEARCH_TEMPLATE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_TEXT_SEARCH_TEMPLATE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_TEXT_SEARCH_TEMPLATE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER TEXT SEARCH TEMPLATE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER TEXT SEARCH TEMPLATE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_TRIGGER.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_TRIGGER.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_TRIGGER.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_TRIGGER.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER TRIGGER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER TRIGGER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_TYPE.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_TYPE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_TYPE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_TYPE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER TYPE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER TYPE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_USER.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_USER.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_USER.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_USER.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER USER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER USER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_USER_MAPPING.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_USER_MAPPING.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_USER_MAPPING.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_USER_MAPPING.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER USER MAPPING" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER USER MAPPING" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ALTER_VIEW.7 postgresql-15-15.18/doc/src/sgml/man7/ALTER_VIEW.7 --- postgresql-15-15.17/doc/src/sgml/man7/ALTER_VIEW.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ALTER_VIEW.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ALTER VIEW" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ALTER VIEW" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ANALYZE.7 postgresql-15-15.18/doc/src/sgml/man7/ANALYZE.7 --- postgresql-15-15.17/doc/src/sgml/man7/ANALYZE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ANALYZE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ANALYZE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ANALYZE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/BEGIN.7 postgresql-15-15.18/doc/src/sgml/man7/BEGIN.7 --- postgresql-15-15.17/doc/src/sgml/man7/BEGIN.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/BEGIN.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "BEGIN" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "BEGIN" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CALL.7 postgresql-15-15.18/doc/src/sgml/man7/CALL.7 --- postgresql-15-15.17/doc/src/sgml/man7/CALL.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CALL.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CALL" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CALL" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CHECKPOINT.7 postgresql-15-15.18/doc/src/sgml/man7/CHECKPOINT.7 --- postgresql-15-15.17/doc/src/sgml/man7/CHECKPOINT.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CHECKPOINT.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CHECKPOINT" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CHECKPOINT" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CLOSE.7 postgresql-15-15.18/doc/src/sgml/man7/CLOSE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CLOSE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CLOSE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CLOSE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CLOSE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CLUSTER.7 postgresql-15-15.18/doc/src/sgml/man7/CLUSTER.7 --- postgresql-15-15.17/doc/src/sgml/man7/CLUSTER.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CLUSTER.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CLUSTER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CLUSTER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/COMMENT.7 postgresql-15-15.18/doc/src/sgml/man7/COMMENT.7 --- postgresql-15-15.17/doc/src/sgml/man7/COMMENT.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/COMMENT.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "COMMENT" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "COMMENT" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -88,13 +88,13 @@ .SH "DESCRIPTION" .PP \fBCOMMENT\fR -stores a comment about a database object\&. +stores, replaces, or removes the comment on a database object\&. .PP -Only one comment string is stored for each object, so to modify a comment, issue a new +Only one comment string is stored for each object\&. Issuing a new \fBCOMMENT\fR -command for the same object\&. To remove a comment, write +command for the same object replaces the existing comment\&. Specifying NULL -in place of the text string\&. Comments are automatically dropped when their object is dropped\&. +or an empty string (\*(Aq\*(Aq) removes the comment\&. Comments are automatically dropped when their object is dropped\&. .PP A SHARE UPDATE EXCLUSIVE @@ -224,14 +224,14 @@ .PP \fIstring_literal\fR .RS 4 -The new comment contents, written as a string literal\&. +The new comment contents, written as a string literal\&. An empty string (\*(Aq\*(Aq) removes the comment\&. .RE .PP NULL .RS 4 Write NULL -to drop the comment\&. +to remove the comment\&. .RE .SH "NOTES" .PP @@ -313,6 +313,7 @@ COMMENT ON TRIGGER my_trigger ON my_table IS \*(AqUsed for RI\*(Aq; COMMENT ON TYPE complex IS \*(AqComplex number data type\*(Aq; COMMENT ON VIEW my_view IS \*(AqView of departmental costs\*(Aq; +COMMENT ON VIEW my_view IS NULL; .fi .if n \{\ .RE diff -Nru postgresql-15-15.17/doc/src/sgml/man7/COMMIT.7 postgresql-15-15.18/doc/src/sgml/man7/COMMIT.7 --- postgresql-15-15.17/doc/src/sgml/man7/COMMIT.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/COMMIT.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "COMMIT" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "COMMIT" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/COMMIT_PREPARED.7 postgresql-15-15.18/doc/src/sgml/man7/COMMIT_PREPARED.7 --- postgresql-15-15.17/doc/src/sgml/man7/COMMIT_PREPARED.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/COMMIT_PREPARED.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "COMMIT PREPARED" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "COMMIT PREPARED" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/COPY.7 postgresql-15-15.18/doc/src/sgml/man7/COPY.7 --- postgresql-15-15.17/doc/src/sgml/man7/COPY.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/COPY.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "COPY" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "COPY" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_ACCESS_METHOD.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE ACCESS METHOD" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE ACCESS METHOD" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_AGGREGATE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_AGGREGATE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_AGGREGATE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_AGGREGATE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE AGGREGATE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE AGGREGATE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_CAST.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_CAST.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_CAST.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_CAST.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE CAST" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE CAST" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_COLLATION.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_COLLATION.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_COLLATION.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_COLLATION.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE COLLATION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE COLLATION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_CONVERSION.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_CONVERSION.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_CONVERSION.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_CONVERSION.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE CONVERSION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE CONVERSION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_DATABASE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_DATABASE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_DATABASE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_DATABASE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE DATABASE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE DATABASE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_DOMAIN.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_DOMAIN.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_DOMAIN.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_DOMAIN.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE DOMAIN" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE DOMAIN" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_EVENT_TRIGGER.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_EVENT_TRIGGER.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_EVENT_TRIGGER.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_EVENT_TRIGGER.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE EVENT TRIGGER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE EVENT TRIGGER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_EXTENSION.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_EXTENSION.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_EXTENSION.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_EXTENSION.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE EXTENSION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE EXTENSION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_FOREIGN_DATA_WRAPPER.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_FOREIGN_DATA_WRAPPER.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_FOREIGN_DATA_WRAPPER.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_FOREIGN_DATA_WRAPPER.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE FOREIGN DATA WRAPPER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE FOREIGN DATA WRAPPER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_FOREIGN_TABLE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_FOREIGN_TABLE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_FOREIGN_TABLE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_FOREIGN_TABLE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE FOREIGN TABLE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE FOREIGN TABLE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_FUNCTION.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_FUNCTION.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_FUNCTION.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_FUNCTION.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE FUNCTION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE FUNCTION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_GROUP.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_GROUP.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_GROUP.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_GROUP.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE GROUP" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE GROUP" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_INDEX.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_INDEX.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_INDEX.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_INDEX.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE INDEX" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE INDEX" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_LANGUAGE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_LANGUAGE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_LANGUAGE.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_LANGUAGE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE LANGUAGE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE LANGUAGE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_MATERIALIZED_VIEW.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_MATERIALIZED_VIEW.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_MATERIALIZED_VIEW.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_MATERIALIZED_VIEW.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE MATERIALIZED VIEW" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE MATERIALIZED VIEW" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_OPERATOR.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_OPERATOR.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_OPERATOR.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_OPERATOR.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE OPERATOR" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE OPERATOR" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_OPERATOR_CLASS.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_OPERATOR_CLASS.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_OPERATOR_CLASS.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_OPERATOR_CLASS.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE OPERATOR CLASS" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE OPERATOR CLASS" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_OPERATOR_FAMILY.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_OPERATOR_FAMILY.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_OPERATOR_FAMILY.7 2026-02-23 22:14:51.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_OPERATOR_FAMILY.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE OPERATOR FAMILY" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE OPERATOR FAMILY" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_POLICY.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_POLICY.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_POLICY.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_POLICY.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE POLICY" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE POLICY" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_PROCEDURE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_PROCEDURE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_PROCEDURE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_PROCEDURE.7 2026-05-11 20:03:03.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE PROCEDURE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE PROCEDURE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_PUBLICATION.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_PUBLICATION.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_PUBLICATION.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_PUBLICATION.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE PUBLICATION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE PUBLICATION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -109,7 +109,7 @@ .sp Only persistent base tables and partitioned tables present in the schema will be included as part of the publication\&. Temporary tables, unlogged tables, foreign tables, materialized views, and regular views from the schema will not be part of the publication\&. .sp -When a partitioned table is published via schema level publication, all of its existing and future partitions are implicitly considered to be part of the publication, regardless of whether they are from the publication schema or not\&. So, even operations that are performed directly on a partition are also published via publications that its ancestors are part of\&. +When a partitioned table is published via a schema\-level publication, all of its existing and future partitions are implicitly considered to be part of the publication, regardless of whether they are from the publication schema or not\&. So, even operations that are performed directly on a partition are also published via publications that its ancestors are part of\&. .RE .PP WITH ( \fIpublication_parameter\fR [= \fIvalue\fR] [, \&.\&.\&. ] ) @@ -118,7 +118,7 @@ .PP publish (string) .RS 4 -This parameter determines which DML operations will be published by the new publication to the subscribers\&. The value is comma\-separated list of operations\&. The allowed operations are +This parameter determines which DML operations will be published by the new publication to the subscribers\&. The value is a comma\-separated list of operations\&. The allowed operations are insert, update, delete, and diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_ROLE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_ROLE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_ROLE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_ROLE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE ROLE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE ROLE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_RULE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_RULE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_RULE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_RULE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE RULE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE RULE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_SCHEMA.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_SCHEMA.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_SCHEMA.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_SCHEMA.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE SCHEMA" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE SCHEMA" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_SEQUENCE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_SEQUENCE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_SEQUENCE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_SEQUENCE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE SEQUENCE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE SEQUENCE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_SERVER.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_SERVER.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_SERVER.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_SERVER.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE SERVER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE SERVER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_STATISTICS.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_STATISTICS.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_STATISTICS.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_STATISTICS.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE STATISTICS" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE STATISTICS" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_SUBSCRIPTION.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_SUBSCRIPTION.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_SUBSCRIPTION.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_SUBSCRIPTION.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE SUBSCRIPTION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE SUBSCRIPTION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_TABLE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_TABLE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_TABLE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_TABLE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE TABLE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE TABLE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -456,7 +456,7 @@ .PP INCLUDING COMMENTS .RS 4 -Comments for the copied columns, constraints, and indexes will be copied\&. The default behavior is to exclude comments, resulting in the copied columns and constraints in the new table having no comments\&. +Comments for the copied columns, check constraints, indexes, and extended statistics will be copied\&. The default behavior is to exclude comments, resulting in the corresponding objects in the new table having no comments\&. .RE .PP INCLUDING COMPRESSION diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_TABLESPACE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_TABLESPACE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_TABLESPACE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_TABLESPACE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE TABLESPACE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE TABLESPACE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_TABLE_AS.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_TABLE_AS.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_TABLE_AS.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_TABLE_AS.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE TABLE AS" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE TABLE AS" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_TEXT_SEARCH_CONFIGURATION.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_TEXT_SEARCH_CONFIGURATION.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_TEXT_SEARCH_CONFIGURATION.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_TEXT_SEARCH_CONFIGURATION.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE TEXT SEARCH CONFIGURATION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE TEXT SEARCH CONFIGURATION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_TEXT_SEARCH_DICTIONARY.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_TEXT_SEARCH_DICTIONARY.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_TEXT_SEARCH_DICTIONARY.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_TEXT_SEARCH_DICTIONARY.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE TEXT SEARCH DICTIONARY" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE TEXT SEARCH DICTIONARY" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_TEXT_SEARCH_PARSER.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_TEXT_SEARCH_PARSER.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_TEXT_SEARCH_PARSER.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_TEXT_SEARCH_PARSER.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE TEXT SEARCH PARSER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE TEXT SEARCH PARSER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_TEXT_SEARCH_TEMPLATE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_TEXT_SEARCH_TEMPLATE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_TEXT_SEARCH_TEMPLATE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_TEXT_SEARCH_TEMPLATE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE TEXT SEARCH TEMPLATE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE TEXT SEARCH TEMPLATE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_TRANSFORM.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_TRANSFORM.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_TRANSFORM.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_TRANSFORM.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE TRANSFORM" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE TRANSFORM" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_TRIGGER.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_TRIGGER.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_TRIGGER.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_TRIGGER.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE TRIGGER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE TRIGGER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_TYPE.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_TYPE.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_TYPE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_TYPE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE TYPE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE TYPE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_USER.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_USER.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_USER.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_USER.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE USER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE USER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_USER_MAPPING.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_USER_MAPPING.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_USER_MAPPING.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_USER_MAPPING.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE USER MAPPING" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE USER MAPPING" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/CREATE_VIEW.7 postgresql-15-15.18/doc/src/sgml/man7/CREATE_VIEW.7 --- postgresql-15-15.17/doc/src/sgml/man7/CREATE_VIEW.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/CREATE_VIEW.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "CREATE VIEW" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "CREATE VIEW" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DEALLOCATE.7 postgresql-15-15.18/doc/src/sgml/man7/DEALLOCATE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DEALLOCATE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DEALLOCATE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DEALLOCATE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DEALLOCATE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DECLARE.7 postgresql-15-15.18/doc/src/sgml/man7/DECLARE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DECLARE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DECLARE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DECLARE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DECLARE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DELETE.7 postgresql-15-15.18/doc/src/sgml/man7/DELETE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DELETE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DELETE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DELETE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DELETE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DISCARD.7 postgresql-15-15.18/doc/src/sgml/man7/DISCARD.7 --- postgresql-15-15.17/doc/src/sgml/man7/DISCARD.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DISCARD.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DISCARD" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DISCARD" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DO.7 postgresql-15-15.18/doc/src/sgml/man7/DO.7 --- postgresql-15-15.17/doc/src/sgml/man7/DO.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DO.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DO" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DO" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_ACCESS_METHOD.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_ACCESS_METHOD.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_ACCESS_METHOD.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_ACCESS_METHOD.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP ACCESS METHOD" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP ACCESS METHOD" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_AGGREGATE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_AGGREGATE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_AGGREGATE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_AGGREGATE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP AGGREGATE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP AGGREGATE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_CAST.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_CAST.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_CAST.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_CAST.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP CAST" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP CAST" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_COLLATION.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_COLLATION.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_COLLATION.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_COLLATION.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP COLLATION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP COLLATION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_CONVERSION.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_CONVERSION.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_CONVERSION.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_CONVERSION.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP CONVERSION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP CONVERSION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_DATABASE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_DATABASE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_DATABASE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_DATABASE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP DATABASE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP DATABASE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_DOMAIN.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_DOMAIN.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_DOMAIN.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_DOMAIN.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP DOMAIN" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP DOMAIN" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_EVENT_TRIGGER.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_EVENT_TRIGGER.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_EVENT_TRIGGER.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_EVENT_TRIGGER.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP EVENT TRIGGER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP EVENT TRIGGER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_EXTENSION.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_EXTENSION.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_EXTENSION.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_EXTENSION.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP EXTENSION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP EXTENSION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_FOREIGN_DATA_WRAPPER.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_FOREIGN_DATA_WRAPPER.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_FOREIGN_DATA_WRAPPER.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_FOREIGN_DATA_WRAPPER.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP FOREIGN DATA WRAPPER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP FOREIGN DATA WRAPPER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_FOREIGN_TABLE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_FOREIGN_TABLE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_FOREIGN_TABLE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_FOREIGN_TABLE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP FOREIGN TABLE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP FOREIGN TABLE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_FUNCTION.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_FUNCTION.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_FUNCTION.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_FUNCTION.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP FUNCTION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP FUNCTION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_GROUP.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_GROUP.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_GROUP.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_GROUP.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP GROUP" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP GROUP" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_INDEX.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_INDEX.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_INDEX.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_INDEX.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP INDEX" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP INDEX" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_LANGUAGE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_LANGUAGE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_LANGUAGE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_LANGUAGE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP LANGUAGE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP LANGUAGE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_MATERIALIZED_VIEW.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_MATERIALIZED_VIEW.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_MATERIALIZED_VIEW.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_MATERIALIZED_VIEW.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP MATERIALIZED VIEW" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP MATERIALIZED VIEW" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_OPERATOR.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_OPERATOR.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_OPERATOR.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_OPERATOR.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP OPERATOR" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP OPERATOR" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_OPERATOR_CLASS.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_OPERATOR_CLASS.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_OPERATOR_CLASS.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_OPERATOR_CLASS.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP OPERATOR CLASS" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP OPERATOR CLASS" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_OPERATOR_FAMILY.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_OPERATOR_FAMILY.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_OPERATOR_FAMILY.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_OPERATOR_FAMILY.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP OPERATOR FAMILY" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP OPERATOR FAMILY" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_OWNED.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_OWNED.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_OWNED.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_OWNED.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP OWNED" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP OWNED" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_POLICY.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_POLICY.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_POLICY.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_POLICY.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP POLICY" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP POLICY" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_PROCEDURE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_PROCEDURE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_PROCEDURE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_PROCEDURE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP PROCEDURE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP PROCEDURE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_PUBLICATION.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_PUBLICATION.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_PUBLICATION.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_PUBLICATION.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP PUBLICATION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP PUBLICATION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_ROLE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_ROLE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_ROLE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_ROLE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP ROLE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP ROLE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_ROUTINE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_ROUTINE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_ROUTINE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_ROUTINE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP ROUTINE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP ROUTINE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_RULE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_RULE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_RULE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_RULE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP RULE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP RULE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_SCHEMA.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_SCHEMA.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_SCHEMA.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_SCHEMA.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP SCHEMA" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP SCHEMA" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_SEQUENCE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_SEQUENCE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_SEQUENCE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_SEQUENCE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP SEQUENCE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP SEQUENCE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_SERVER.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_SERVER.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_SERVER.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_SERVER.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP SERVER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP SERVER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_STATISTICS.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_STATISTICS.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_STATISTICS.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_STATISTICS.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP STATISTICS" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP STATISTICS" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_SUBSCRIPTION.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_SUBSCRIPTION.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_SUBSCRIPTION.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_SUBSCRIPTION.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP SUBSCRIPTION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP SUBSCRIPTION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -47,6 +47,11 @@ to unset the slot\&.) .SH "PARAMETERS" .PP +IF EXISTS +.RS 4 +Do not throw an error if the subscription does not exist\&. A notice is issued in this case\&. +.RE +.PP \fIname\fR .RS 4 The name of a subscription to be dropped\&. diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_TABLE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_TABLE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_TABLE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_TABLE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP TABLE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP TABLE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_TABLESPACE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_TABLESPACE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_TABLESPACE.7 2026-02-23 22:14:52.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_TABLESPACE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP TABLESPACE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP TABLESPACE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_TEXT_SEARCH_CONFIGURATION.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_TEXT_SEARCH_CONFIGURATION.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_TEXT_SEARCH_CONFIGURATION.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_TEXT_SEARCH_CONFIGURATION.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP TEXT SEARCH CONFIGURATION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP TEXT SEARCH CONFIGURATION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_TEXT_SEARCH_DICTIONARY.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_TEXT_SEARCH_DICTIONARY.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_TEXT_SEARCH_DICTIONARY.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_TEXT_SEARCH_DICTIONARY.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP TEXT SEARCH DICTIONARY" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP TEXT SEARCH DICTIONARY" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_TEXT_SEARCH_PARSER.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_TEXT_SEARCH_PARSER.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_TEXT_SEARCH_PARSER.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_TEXT_SEARCH_PARSER.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP TEXT SEARCH PARSER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP TEXT SEARCH PARSER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_TEXT_SEARCH_TEMPLATE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_TEXT_SEARCH_TEMPLATE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_TEXT_SEARCH_TEMPLATE.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_TEXT_SEARCH_TEMPLATE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP TEXT SEARCH TEMPLATE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP TEXT SEARCH TEMPLATE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_TRANSFORM.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_TRANSFORM.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_TRANSFORM.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_TRANSFORM.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP TRANSFORM" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP TRANSFORM" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_TRIGGER.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_TRIGGER.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_TRIGGER.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_TRIGGER.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP TRIGGER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP TRIGGER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_TYPE.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_TYPE.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_TYPE.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_TYPE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP TYPE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP TYPE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_USER.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_USER.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_USER.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_USER.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP USER" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP USER" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_USER_MAPPING.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_USER_MAPPING.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_USER_MAPPING.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_USER_MAPPING.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP USER MAPPING" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP USER MAPPING" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/DROP_VIEW.7 postgresql-15-15.18/doc/src/sgml/man7/DROP_VIEW.7 --- postgresql-15-15.17/doc/src/sgml/man7/DROP_VIEW.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/DROP_VIEW.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "DROP VIEW" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "DROP VIEW" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/END.7 postgresql-15-15.18/doc/src/sgml/man7/END.7 --- postgresql-15-15.17/doc/src/sgml/man7/END.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/END.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "END" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "END" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/EXECUTE.7 postgresql-15-15.18/doc/src/sgml/man7/EXECUTE.7 --- postgresql-15-15.17/doc/src/sgml/man7/EXECUTE.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/EXECUTE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "EXECUTE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "EXECUTE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/EXPLAIN.7 postgresql-15-15.18/doc/src/sgml/man7/EXPLAIN.7 --- postgresql-15-15.17/doc/src/sgml/man7/EXPLAIN.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/EXPLAIN.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "EXPLAIN" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "EXPLAIN" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/FETCH.7 postgresql-15-15.18/doc/src/sgml/man7/FETCH.7 --- postgresql-15-15.17/doc/src/sgml/man7/FETCH.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/FETCH.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "FETCH" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "FETCH" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/GRANT.7 postgresql-15-15.18/doc/src/sgml/man7/GRANT.7 --- postgresql-15-15.17/doc/src/sgml/man7/GRANT.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/GRANT.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "GRANT" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "GRANT" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/IMPORT_FOREIGN_SCHEMA.7 postgresql-15-15.18/doc/src/sgml/man7/IMPORT_FOREIGN_SCHEMA.7 --- postgresql-15-15.17/doc/src/sgml/man7/IMPORT_FOREIGN_SCHEMA.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/IMPORT_FOREIGN_SCHEMA.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "IMPORT FOREIGN SCHEMA" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "IMPORT FOREIGN SCHEMA" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/INSERT.7 postgresql-15-15.18/doc/src/sgml/man7/INSERT.7 --- postgresql-15-15.17/doc/src/sgml/man7/INSERT.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/INSERT.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "INSERT" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "INSERT" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/LISTEN.7 postgresql-15-15.18/doc/src/sgml/man7/LISTEN.7 --- postgresql-15-15.17/doc/src/sgml/man7/LISTEN.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/LISTEN.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "LISTEN" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "LISTEN" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/LOAD.7 postgresql-15-15.18/doc/src/sgml/man7/LOAD.7 --- postgresql-15-15.17/doc/src/sgml/man7/LOAD.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/LOAD.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "LOAD" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "LOAD" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/LOCK.7 postgresql-15-15.18/doc/src/sgml/man7/LOCK.7 --- postgresql-15-15.17/doc/src/sgml/man7/LOCK.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/LOCK.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "LOCK" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "LOCK" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/MERGE.7 postgresql-15-15.18/doc/src/sgml/man7/MERGE.7 --- postgresql-15-15.17/doc/src/sgml/man7/MERGE.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/MERGE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "MERGE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "MERGE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/MOVE.7 postgresql-15-15.18/doc/src/sgml/man7/MOVE.7 --- postgresql-15-15.17/doc/src/sgml/man7/MOVE.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/MOVE.7 2026-05-11 20:03:04.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "MOVE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "MOVE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/NOTIFY.7 postgresql-15-15.18/doc/src/sgml/man7/NOTIFY.7 --- postgresql-15-15.17/doc/src/sgml/man7/NOTIFY.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/NOTIFY.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "NOTIFY" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "NOTIFY" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/PREPARE.7 postgresql-15-15.18/doc/src/sgml/man7/PREPARE.7 --- postgresql-15-15.17/doc/src/sgml/man7/PREPARE.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/PREPARE.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PREPARE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PREPARE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/PREPARE_TRANSACTION.7 postgresql-15-15.18/doc/src/sgml/man7/PREPARE_TRANSACTION.7 --- postgresql-15-15.17/doc/src/sgml/man7/PREPARE_TRANSACTION.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/PREPARE_TRANSACTION.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "PREPARE TRANSACTION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "PREPARE TRANSACTION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/REASSIGN_OWNED.7 postgresql-15-15.18/doc/src/sgml/man7/REASSIGN_OWNED.7 --- postgresql-15-15.17/doc/src/sgml/man7/REASSIGN_OWNED.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/REASSIGN_OWNED.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "REASSIGN OWNED" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "REASSIGN OWNED" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/REFRESH_MATERIALIZED_VIEW.7 postgresql-15-15.18/doc/src/sgml/man7/REFRESH_MATERIALIZED_VIEW.7 --- postgresql-15-15.17/doc/src/sgml/man7/REFRESH_MATERIALIZED_VIEW.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/REFRESH_MATERIALIZED_VIEW.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "REFRESH MATERIALIZED VIEW" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "REFRESH MATERIALIZED VIEW" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/REINDEX.7 postgresql-15-15.18/doc/src/sgml/man7/REINDEX.7 --- postgresql-15-15.17/doc/src/sgml/man7/REINDEX.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/REINDEX.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "REINDEX" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "REINDEX" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/RELEASE_SAVEPOINT.7 postgresql-15-15.18/doc/src/sgml/man7/RELEASE_SAVEPOINT.7 --- postgresql-15-15.17/doc/src/sgml/man7/RELEASE_SAVEPOINT.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/RELEASE_SAVEPOINT.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "RELEASE SAVEPOINT" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "RELEASE SAVEPOINT" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/RESET.7 postgresql-15-15.18/doc/src/sgml/man7/RESET.7 --- postgresql-15-15.17/doc/src/sgml/man7/RESET.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/RESET.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "RESET" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "RESET" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/REVOKE.7 postgresql-15-15.18/doc/src/sgml/man7/REVOKE.7 --- postgresql-15-15.17/doc/src/sgml/man7/REVOKE.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/REVOKE.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "REVOKE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "REVOKE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ROLLBACK.7 postgresql-15-15.18/doc/src/sgml/man7/ROLLBACK.7 --- postgresql-15-15.17/doc/src/sgml/man7/ROLLBACK.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ROLLBACK.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ROLLBACK" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ROLLBACK" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ROLLBACK_PREPARED.7 postgresql-15-15.18/doc/src/sgml/man7/ROLLBACK_PREPARED.7 --- postgresql-15-15.17/doc/src/sgml/man7/ROLLBACK_PREPARED.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ROLLBACK_PREPARED.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ROLLBACK PREPARED" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ROLLBACK PREPARED" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/ROLLBACK_TO_SAVEPOINT.7 postgresql-15-15.18/doc/src/sgml/man7/ROLLBACK_TO_SAVEPOINT.7 --- postgresql-15-15.17/doc/src/sgml/man7/ROLLBACK_TO_SAVEPOINT.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/ROLLBACK_TO_SAVEPOINT.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "ROLLBACK TO SAVEPOINT" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "ROLLBACK TO SAVEPOINT" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/SAVEPOINT.7 postgresql-15-15.18/doc/src/sgml/man7/SAVEPOINT.7 --- postgresql-15-15.17/doc/src/sgml/man7/SAVEPOINT.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/SAVEPOINT.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SAVEPOINT" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SAVEPOINT" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/SECURITY_LABEL.7 postgresql-15-15.18/doc/src/sgml/man7/SECURITY_LABEL.7 --- postgresql-15-15.17/doc/src/sgml/man7/SECURITY_LABEL.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/SECURITY_LABEL.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SECURITY LABEL" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SECURITY LABEL" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/SELECT.7 postgresql-15-15.18/doc/src/sgml/man7/SELECT.7 --- postgresql-15-15.17/doc/src/sgml/man7/SELECT.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/SELECT.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SELECT" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SELECT" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/SELECT_INTO.7 postgresql-15-15.18/doc/src/sgml/man7/SELECT_INTO.7 --- postgresql-15-15.17/doc/src/sgml/man7/SELECT_INTO.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/SELECT_INTO.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SELECT INTO" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SELECT INTO" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/SET.7 postgresql-15-15.18/doc/src/sgml/man7/SET.7 --- postgresql-15-15.17/doc/src/sgml/man7/SET.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/SET.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SET" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SET" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/SET_CONSTRAINTS.7 postgresql-15-15.18/doc/src/sgml/man7/SET_CONSTRAINTS.7 --- postgresql-15-15.17/doc/src/sgml/man7/SET_CONSTRAINTS.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/SET_CONSTRAINTS.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SET CONSTRAINTS" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SET CONSTRAINTS" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/SET_ROLE.7 postgresql-15-15.18/doc/src/sgml/man7/SET_ROLE.7 --- postgresql-15-15.17/doc/src/sgml/man7/SET_ROLE.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/SET_ROLE.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SET ROLE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SET ROLE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/SET_SESSION_AUTHORIZATION.7 postgresql-15-15.18/doc/src/sgml/man7/SET_SESSION_AUTHORIZATION.7 --- postgresql-15-15.17/doc/src/sgml/man7/SET_SESSION_AUTHORIZATION.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/SET_SESSION_AUTHORIZATION.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SET SESSION AUTHORIZATION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SET SESSION AUTHORIZATION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/SET_TRANSACTION.7 postgresql-15-15.18/doc/src/sgml/man7/SET_TRANSACTION.7 --- postgresql-15-15.17/doc/src/sgml/man7/SET_TRANSACTION.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/SET_TRANSACTION.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SET TRANSACTION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SET TRANSACTION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/SHOW.7 postgresql-15-15.18/doc/src/sgml/man7/SHOW.7 --- postgresql-15-15.17/doc/src/sgml/man7/SHOW.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/SHOW.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "SHOW" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "SHOW" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/START_TRANSACTION.7 postgresql-15-15.18/doc/src/sgml/man7/START_TRANSACTION.7 --- postgresql-15-15.17/doc/src/sgml/man7/START_TRANSACTION.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/START_TRANSACTION.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "START TRANSACTION" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "START TRANSACTION" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/TRUNCATE.7 postgresql-15-15.18/doc/src/sgml/man7/TRUNCATE.7 --- postgresql-15-15.17/doc/src/sgml/man7/TRUNCATE.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/TRUNCATE.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "TRUNCATE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "TRUNCATE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/UNLISTEN.7 postgresql-15-15.18/doc/src/sgml/man7/UNLISTEN.7 --- postgresql-15-15.17/doc/src/sgml/man7/UNLISTEN.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/UNLISTEN.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "UNLISTEN" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "UNLISTEN" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/UPDATE.7 postgresql-15-15.18/doc/src/sgml/man7/UPDATE.7 --- postgresql-15-15.17/doc/src/sgml/man7/UPDATE.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/UPDATE.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "UPDATE" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "UPDATE" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/VACUUM.7 postgresql-15-15.18/doc/src/sgml/man7/VACUUM.7 --- postgresql-15-15.17/doc/src/sgml/man7/VACUUM.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/VACUUM.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "VACUUM" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "VACUUM" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/man7/VALUES.7 postgresql-15-15.18/doc/src/sgml/man7/VALUES.7 --- postgresql-15-15.17/doc/src/sgml/man7/VALUES.7 2026-02-23 22:14:53.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/man7/VALUES.7 2026-05-11 20:03:05.000000000 +0000 @@ -3,11 +3,11 @@ .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2026 -.\" Manual: PostgreSQL 15.17 Documentation -.\" Source: PostgreSQL 15.17 +.\" Manual: PostgreSQL 15.18 Documentation +.\" Source: PostgreSQL 15.18 .\" Language: English .\" -.TH "VALUES" "7" "2026" "PostgreSQL 15.17" "PostgreSQL 15.17 Documentation" +.TH "VALUES" "7" "2026" "PostgreSQL 15.18" "PostgreSQL 15.18 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff -Nru postgresql-15-15.17/doc/src/sgml/ref/alter_foreign_table.sgml postgresql-15-15.18/doc/src/sgml/ref/alter_foreign_table.sgml --- postgresql-15-15.17/doc/src/sgml/ref/alter_foreign_table.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/ref/alter_foreign_table.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -32,7 +32,7 @@ where action is one of: - ADD [ COLUMN ] column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] + ADD [ COLUMN ] [ IF NOT EXISTS ] column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] DROP [ COLUMN ] [ IF EXISTS ] column_name [ RESTRICT | CASCADE ] ALTER [ COLUMN ] column_name [ SET DATA ] TYPE data_type [ COLLATE collation ] ALTER [ COLUMN ] column_name SET DEFAULT expression @@ -67,11 +67,13 @@ - ADD COLUMN + ADD [ COLUMN ] [ IF NOT EXISTS ] This form adds a new column to the foreign table, using the same syntax as CREATE FOREIGN TABLE. + If IF NOT EXISTS is specified and a column already + exists with this name, no error is thrown. Unlike the case when adding a column to a regular table, nothing happens to the underlying storage: this action simply declares that some new column is now accessible through the foreign table. @@ -80,7 +82,7 @@ - DROP COLUMN [ IF EXISTS ] + DROP [ COLUMN ] [ IF EXISTS ] This form drops a column from a foreign table. diff -Nru postgresql-15-15.17/doc/src/sgml/ref/alter_index.sgml postgresql-15-15.18/doc/src/sgml/ref/alter_index.sgml --- postgresql-15-15.17/doc/src/sgml/ref/alter_index.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/ref/alter_index.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -97,6 +97,11 @@ index cannot be dropped by itself, and will automatically be dropped if its parent index is dropped. + + If the named index is already attached to the altered index, the + command will attempt to validate the parent index if the parent is + currently invalid. + diff -Nru postgresql-15-15.17/doc/src/sgml/ref/alter_table.sgml postgresql-15-15.18/doc/src/sgml/ref/alter_table.sgml --- postgresql-15-15.17/doc/src/sgml/ref/alter_table.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/ref/alter_table.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -154,7 +154,7 @@ - ADD COLUMN [ IF NOT EXISTS ] + ADD [ COLUMN ] [ IF NOT EXISTS ] This form adds a new column to the table, using the same syntax as @@ -166,7 +166,7 @@ - DROP COLUMN [ IF EXISTS ] + DROP [ COLUMN ] [ IF EXISTS ] This form drops a column from a table. Indexes and diff -Nru postgresql-15-15.17/doc/src/sgml/ref/comment.sgml postgresql-15-15.18/doc/src/sgml/ref/comment.sgml --- postgresql-15-15.17/doc/src/sgml/ref/comment.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/ref/comment.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -80,14 +80,16 @@ Description - COMMENT stores a comment about a database object. + COMMENT stores, replaces, or removes the comment on a + database object. - Only one comment string is stored for each object, so to modify a comment, - issue a new COMMENT command for the same object. To remove a - comment, write NULL in place of the text string. - Comments are automatically dropped when their object is dropped. + Only one comment string is stored for each object. Issuing a new + COMMENT command for the same object replaces the + existing comment. Specifying NULL or an empty + string ('') removes the comment. Comments are + automatically dropped when their object is dropped. @@ -265,7 +267,8 @@ string_literal - The new comment contents, written as a string literal. + The new comment contents, written as a string literal. An empty string + ('') removes the comment. @@ -274,7 +277,7 @@ NULL - Write NULL to drop the comment. + Write NULL to remove the comment. @@ -361,6 +364,7 @@ COMMENT ON TRIGGER my_trigger ON my_table IS 'Used for RI'; COMMENT ON TYPE complex IS 'Complex number data type'; COMMENT ON VIEW my_view IS 'View of departmental costs'; +COMMENT ON VIEW my_view IS NULL; diff -Nru postgresql-15-15.17/doc/src/sgml/ref/create_publication.sgml postgresql-15-15.18/doc/src/sgml/ref/create_publication.sgml --- postgresql-15-15.17/doc/src/sgml/ref/create_publication.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/ref/create_publication.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -152,7 +152,7 @@ - When a partitioned table is published via schema level publication, all + When a partitioned table is published via a schema-level publication, all of its existing and future partitions are implicitly considered to be part of the publication, regardless of whether they are from the publication schema or not. So, even operations that are performed directly on a @@ -175,7 +175,7 @@ This parameter determines which DML operations will be published by - the new publication to the subscribers. The value is + the new publication to the subscribers. The value is a comma-separated list of operations. The allowed operations are insert, update, delete, and truncate. diff -Nru postgresql-15-15.17/doc/src/sgml/ref/create_table.sgml postgresql-15-15.18/doc/src/sgml/ref/create_table.sgml --- postgresql-15-15.17/doc/src/sgml/ref/create_table.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/ref/create_table.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -643,9 +643,10 @@ INCLUDING COMMENTS - Comments for the copied columns, constraints, and indexes will be + Comments for the copied columns, check constraints, + indexes, and extended statistics will be copied. The default behavior is to exclude comments, resulting in - the copied columns and constraints in the new table having no + the corresponding objects in the new table having no comments. diff -Nru postgresql-15-15.17/doc/src/sgml/ref/drop_subscription.sgml postgresql-15-15.18/doc/src/sgml/ref/drop_subscription.sgml --- postgresql-15-15.17/doc/src/sgml/ref/drop_subscription.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/ref/drop_subscription.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -50,6 +50,16 @@ + IF EXISTS + + + Do not throw an error if the subscription does not exist. A notice is + issued in this case. + + + + + name diff -Nru postgresql-15-15.17/doc/src/sgml/ref/pg_ctl-ref.sgml postgresql-15-15.18/doc/src/sgml/ref/pg_ctl-ref.sgml --- postgresql-15-15.17/doc/src/sgml/ref/pg_ctl-ref.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/ref/pg_ctl-ref.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -299,8 +299,9 @@ Append the server log output to filename. If the file does not - exist, it is created. The umask is set to 077, - so access to the log file is disallowed to other users by default. + exist, it is created. By default, only the cluster owner can + access the log file. If group access is enabled in the cluster, + users in the same group as the cluster owner can also read it. diff -Nru postgresql-15-15.17/doc/src/sgml/release-15.sgml postgresql-15-15.18/doc/src/sgml/release-15.sgml --- postgresql-15-15.17/doc/src/sgml/release-15.sgml 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/doc/src/sgml/release-15.sgml 2026-05-11 19:49:58.000000000 +0000 @@ -1,6 +1,1264 @@ + + Release 15.18 + + + Release date: + 2026-05-14 + + + + This release contains a variety of fixes from 15.17. + For information about new features in major release 15, see + . + + + + Migration to Version 15.18 + + + A dump/restore is not required for those running 15.X. + + + + However, if you are upgrading from a version earlier than 15.14, + see . + + + + + Changes + + + + + + + Prevent unbounded recursion while processing startup packets + (Michael Paquier) + § + § + + + + A malicious client could crash the connected backend by alternating + rejected SSL and GSS encryption requests indefinitely. + + + + The PostgreSQL Project thanks Calif.io + (in collaboration with Claude and Anthropic Research) for reporting + this problem. + (CVE-2026-6479) + + + + + + + Fix assorted integer overflows in memory-allocation calculations + (Tom Lane, Nathan Bossart, Heikki Linnakangas) + § + § + § + § + § + § + § + § + § + § + + + + Various places were incautious about the possibility of integer + overflow in calculations of how much memory to allocate. Overflow + would lead to allocating a too-small buffer which the caller would + then write past the end of. This would at least trigger server + crashes, and probably could be exploited for arbitrary code + execution. In many but by no means all cases, the hazard exists + only in 32-bit builds. + + + + The PostgreSQL Project thanks Xint Code, + Bruce Dang, Sven Klemm, and Pavel Kohout for reporting these problems. + (CVE-2026-6473) + + + + + + + Reject over-length options in ts_headline() + (Michael Paquier) + § + + + + The StartSel, StopSel + and FragmentDelimiter strings must not exceed + 32Kb in length, but this was not checked for. An over-length value + would typically crash the server. + + + + The PostgreSQL Project thanks + Xint Code for reporting this problem. + (CVE-2026-6473) + + + + + + + Guard against malicious time zone names + in timeofday() + and pg_strftime() (Tom Lane) + § + § + + + + A crafted time zone setting could pass % + sequences to snprintf(), potentially causing + crashes or disclosure of server memory. Another path to similar + results was to overflow the limited-size output buffer used + by pg_strftime(). + + + + The PostgreSQL Project thanks + Xint Code for reporting this problem. + (CVE-2026-6474) + + + + + + + When creating a multirange type, ensure the user + has CREATE privilege on the schema specified for + the multirange type (Jelte Fennema-Nio) + § + + + + The multirange type can be put into a different schema than its + parent range type, but we neglected to apply the required privilege + check when doing so. + + + + The PostgreSQL Project thanks + Jelte Fennema-Nio for reporting this problem. + (CVE-2026-6472) + + + + + + + Use timing-safe string comparisons in authentication code + (Michael Paquier) + § + § + + + + Use timingsafe_bcmp() instead + of memcpy() or strcmp() + when checking passwords, hashes, etc. It is not known whether the + data dependency of those functions is usefully exploitable in any of + these places, but in the interests of safety, replace them. + + + + The PostgreSQL Project thanks + Joe Conway for reporting this problem. + (CVE-2026-6478) + + + + + + + Mark PQfn() as unsafe, and avoid using it + within libpq (Nathan Bossart) + § + + + + For a non-integral result type, PQfn() is not + passed the size of the output buffer, so it cannot check that the + data returned by the server will fit. A malicious server could + therefore overwrite client memory. This is unfixable without an + API change, so mark the function as deprecated. Internally + to libpq, use a variant version that can + apply the missing check. + + + + The PostgreSQL Project thanks + Yu Kunpeng and Martin Heistermann for reporting this problem. + (CVE-2026-6477) + + + + + + + Prevent path traversal in pg_basebackup + and pg_rewind (Michael Paquier) + § + + + + These applications failed to validate output file paths read from + their input, so that a malicious source could overwrite any file + writable by these applications. Constrain where data can be written + by rejecting paths that are absolute or contain parent-directory + references. + + + + The PostgreSQL Project thanks XlabAI Team + of Tencent Xuanwu Lab and Valery Gubanov for reporting this problem. + (CVE-2026-6475) + + + + + + + Guard against field overflow + within contrib/intarray's query_int + type and contrib/ltree's ltxtquery + type (Tom Lane) + § + § + + + + Parsing of these query structures did not check for overflow of + 16-bit fields, so that construction of an invalid query tree was + possible. This can crash the server when executing the query. + + + + The PostgreSQL Project thanks + Xint Code for reporting this problem. + (CVE-2026-6473) + + + + + + + Guard against overly long values + of contrib/ltree's lquery type + (Michael Paquier) + § + + + + Values with more than 64K items caused internal overflows, + potentially resulting in stack smashes or wrong answers. + + + + The PostgreSQL Project thanks + Vergissmeinnicht, A1ex, and Jihe Wang + for reporting this problem. + (CVE-2026-6473) + + + + + + + Prevent SQL injection and buffer overruns + in contrib/spi (Nathan Bossart) + § + + + + check_foreign_key() was insufficiently careful + about quoting key values, and also used fixed-length buffers for + constructing queries. While this module is only meant as example + code, it still shouldn't contain such dangerous errors. + + + + The PostgreSQL Project thanks + Nikolay Samokhvalov for reporting this problem. + (CVE-2026-6637) + + + + + + + Check for nondeterministic collations before assuming that an + equality condition on a collatable type implies uniqueness + (Richard Guo) + § + § + + + + Numerous planner optimizations assume that, for example, at most one + table row can satisfy WHERE x = 'abc' if there is + a unique index on x. However this conclusion is + unsafe in general if the index and the WHERE + clause have different collations attached. It is safe when both + collations are deterministic, because that property essentially + requires that equality of two strings means bitwise equality. But + nondeterministic collations don't act that way, so that optimizing + on the assumption of unique matches can give wrong query answers if + either the WHERE clause or the index has a + nondeterministic collation. + + + + + + + Fix incorrect handling of NEW generated columns + in rule actions and rule qualifications (Richard Guo, Dean Rasheed) + § + + + + Previously, such column references would produce NULL + in INSERT cases, or be equivalent to + the OLD value in UPDATE cases. + + + + + + + Fix spurious generated columns are not supported in COPY FROM + WHERE conditions errors (Tom Lane) + § + + + + Use of a system column in a COPY FROM WHERE + condition could sometimes incorrectly report this error. + + + + + + + Correctly report a serialization failure + when MERGE encounters a concurrently-updated + tuple in repeatable-read or serializable mode (Tender Wang) + § + + + + Previously, such cases behaved the same as in lower isolation + levels. + + + + + + + Fix CREATE TABLE ... LIKE ... INCLUDING + STATISTICS for cases where the source table has dropped + column(s) (Julien Tachoires) + § + + + + In such cases, extended statistics objects could be copied + incorrectly, or the command could give an incorrect error. + + + + + + + Allow ALTER INDEX ... ATTACH PARTITION to mark + the parent index valid if appropriate (Sami Imseih) + § + + + + There are edge cases in which a partitioned index might remain + marked as invalid even when all its leaf indexes are valid. This + change provides a mechanism whereby a user can correct such a + situation without resorting to manual catalog updates. + + + + + + + Fix ALTER FOREIGN DATA WRAPPER to not drop the + wrapper object's dependency on its handler function (Jeff Davis) + § + + + + + + + Disallow making a composite type be a member of itself via a + multirange (Heikki Linnakangas) + § + + + + We already forbade such cases when the intermediate type is a + domain, array, composite type, or range; but multiranges were + overlooked. + + + + + + + Fix datum-image comparisons to be insensitive to sign-extension + variations (David Rowley) + § + + + + This fixes some situations that previously led to could not + find memoization table entry errors or wrong query results. + + + + + + + Fix incorrect logic for hashed IN/NOT + IN with non-strict equality operator (Chengpeng Yan) + § + + + + The previous coding could crash or give wrong answers. All built-in + data types have strict equality operators, so that this issue could + only arise with an extension data type. + + + + + + + Truncate overly-long locale-specific numeric symbols + in to_char() (Tom Lane) + § + + + + If a locale specified a currency symbol, thousands separator, or + decimal or sign symbol more than 8 bytes long, a buffer overrun was + possible. No such locales exist in the real world, and it's + impractical for an unprivileged attacker to install a malicious + locale definition underneath a Postgres server; but for safety's + sake check for overlength symbols and truncate if needed. + + + + + + + Prevent buffer overruns when parsing an affix file for + an Ispell dictionary (Tom Lane) + § + § + + + + A corrupt or malicious affix file could crash the server. + This is not considered a security issue because text search + configuration files are presumed trustworthy, but it still seems + worth fixing. + + + + + + + Guard against integer overflow in calculations of frame start and + end positions for window aggregates (Richard Guo) + § + + + + Very large user-specified offsets (close to INT64_MAX) could result + in errors or incorrect query results. + + + + + + + Fix incorrect behavior + of pg_stat_reset_single_table_counters() on a + shared catalog (Chao Li) + § + + + + Such cases had a side-effect of resetting the + current database's stat_reset_timestamp, which + was unintended. + + + + + + + Fix buffer overread when pglz_decompress() + receives corrupt input (Andrew Dunstan) + § + + + + It was possible to read a few bytes past the end of the input, which + in very unlucky cases might cause a crash. + + + + + + + Ensure that tuplestore data structures are internally consistent + even after an error (Tom Lane) + § + + + + The code was previously careless about this, which is fine most of + the time but is problematic for the tuplestore backing + a WITH HOLD cursor. In v15 and before this + leads to easily-reproducible crashes; later branches are not known + to be vulnerable, but it seems best to preserve consistency in all. + + + + + + + Fix premature NULL lag reporting + in pg_stat_replication (Shinya Kato) + § + + + + The lag columns frequently read as NULL even while replication + activity was happening. + + + + + + + Avoid rare flush failure when working with non-WAL-logged GiST + indexes (Tomas Vondra) + § + + + + A non-logged GiST index could nonetheless sometimes + produce xlog flush request n/nnnn + is not satisfied errors, due to incorrect selection of + a fake LSN to represent an insertion point. + + + + + + + Fix underestimate of required size of DSA page maps for odd-size + segments (Paul Bunn) + § + + + + This miscalculation led to out-of-bounds accesses and hence server + crashes. + + + + + + + Fix possible server crash when processing extended statistics on + expressions of extension data types (Michael Paquier) + § + + + + NULL pointer dereferences were possible if the data type's + typanalyze function does not compute any useful statistics. + No in-core typanalyze function behaves that way, but extensions + could. + + + + + + + If the startup process fails, properly shut down other child + processes before exiting the postmaster (Ayush Tiwari) + § + + + + The handling of this situation relied on a long-obsolete assumption + that no other postmaster children exist while the startup process is + running, so that immediate postmaster exit is acceptable. + Orphaned children would eventually notice the postmaster's death and + exit on their own, but a cleaner shutdown procedure is desirable. + + + + + + + Fix race condition between WAL replay of checkpoints and multixact + ID creations (Heikki Linnakangas) + § + + + + A standby server following WAL from a primary of an older minor + version could get into a crash-and-restart loop complaining + about could not access status of transaction. + + + + + + + Prevent indefinite wait in shutdown of a walsender process + (Anthonin Bonnefoy) + § + § + + + + At shutdown of a cluster that is publishing logical replication + data, the walsender waits for all pending WAL to be written out. + But it did not correctly request that to happen, so that in some + cases this could become an indefinite wait. + + + + + + + Ensure that changes to tables' free space maps are persisted during + recovery (Alexey Makhmutov) + § + + + + Previously, while WAL replay did update the free space map while + replaying operations that should change it, the map page buffer did + not get marked dirty if checksums are enabled, so that the changes + might never get written out. On a standby server, over time this + would result in a map wildly at variance with the table's actual + contents. While the map is only used as a hint, this condition + could cause significant performance degradation for some period of + time after the standby server is promoted to be active, until most + of the map has been repaired by updates. + + + + + + + Fix crashes in some ecpg functions when + called without any established connection (Shruthi Gowda) + § + + + + + + + Fix assorted bugs in backup decompression and tar-parsing code + (Andrew Dunstan, Tom Lane, Chao Li) + § + § + § + + + + The decompression and tar-file reading code used + in pg_basebackup + and pg_verifybackup mishandled tar-file + padding data, could corrupt LZ4-compressed data in edge cases, + failed to check for some unusual error conditions, failed to exit + after compression/decompression errors (leading to cascading error + reports), and leaked memory. + + + + + + + In pg_upgrade, take care to use the + correct protocol version when connecting to older source servers + (Jacob Champion) + § + + + + This could be problematic when attempting to upgrade from a pre-2018 + server. + + + + + + + In contrib/basic_archive, allow the archive + directory to be missing at startup (Nathan Bossart) + § + + + + Previously, the setting + of basic_archive.archive_directory was rejected + if it didn't point to an existing directory. This is undesirable + because archiving will be stuck indefinitely, even if the directory + appears later. + + + + + + + Fix contrib/ltree to cope when case-folding + changes a string's byte length (Jeff Davis) + § + + + + Previously, lquery patterns specifying case-insensitive + matching might fail to match labels they should match. + + + + + + + In contrib/pg_stat_statements, don't leak + memory if an error occurs while parsing the + pgss_query_texts.stat file (Heikki Linnakangas) + § + + + + + + + In contrib/postgres_fdw, avoid crash due to + premature cleanup of a failed connection (Etsuro Fujita) + § + + + + If a remote connection fails abort cleanup, we can't use it any + longer. But delay closing the connection object until end of + transaction, because there might still be references to it within + data structures such as open cursors. + + + + + + + Update time zone data files to tzdata + release 2026b (Tom Lane) + § + + + + British Columbia (America/Vancouver) will be on year-round UTC-07 + (effectively, permanent DST) beginning in November 2026. This + release assumes that their TZ abbreviation will + be MST from that time forward. That seems likely + to change, but it's unclear what new abbreviation will be used. + Also a historical correction for Moldova: they have followed EU DST + transition times since 2022. + + + + + + + + Release 15.17 diff -Nru postgresql-15-15.17/src/backend/access/gist/gistutil.c postgresql-15-15.18/src/backend/access/gist/gistutil.c --- postgresql-15-15.17/src/backend/access/gist/gistutil.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/access/gist/gistutil.c 2026-05-11 19:49:58.000000000 +0000 @@ -1043,7 +1043,7 @@ * last call. */ static XLogRecPtr lastlsn = InvalidXLogRecPtr; - XLogRecPtr currlsn = GetXLogInsertRecPtr(); + XLogRecPtr currlsn = GetXLogInsertEndRecPtr(); /* Shouldn't be called for WAL-logging relations */ Assert(!RelationNeedsWAL(rel)); diff -Nru postgresql-15-15.17/src/backend/access/transam/multixact.c postgresql-15-15.18/src/backend/access/transam/multixact.c --- postgresql-15-15.17/src/backend/access/transam/multixact.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/access/transam/multixact.c 2026-05-11 19:49:58.000000000 +0000 @@ -337,8 +337,18 @@ #define debug_elog6(a,b,c,d,e,f) #endif -/* hack to deal with WAL generated with older minor versions */ -static int pre_initialized_offsets_page = -1; +/* + * Hack to deal with WAL generated with older minor versions. + * + * last_initialized_offsets_page is the XLOG_MULTIXACT_ZERO_OFF_PAGE record + * that we saw during WAL replay, or -1 if we haven't seen any yet. + * + * pre_initialized_offsets_page is the last page that was implicitly + * initialized by replaying a XLOG_MULTIXACT_CREATE_ID record, when we had not + * seen a XLOG_MULTIXACT_ZERO_OFF_PAGE record for the page yet. + */ +static int last_initialized_offsets_page = -1; +static int pre_initialized_offsets_page = -1; /* internal MultiXactId management */ static void MultiXactIdSetOldestVisible(void); @@ -897,24 +907,63 @@ * such a version, the next page might not be initialized yet. Initialize * it now. */ - if (InRecovery && - next_pageno != pageno && - MultiXactOffsetCtl->shared->latest_page_number == pageno) + if (InRecovery && next_pageno != pageno) { - elog(DEBUG1, "next offsets page is not initialized, initializing it now"); + bool init_needed; - /* Create and zero the page */ - slotno = SimpleLruZeroPage(MultiXactOffsetCtl, next_pageno); + /*---------- + * Check if the page exists, and if not, initialize it now. + * + * The straightforward way to check if the page exists is to call + * SimpleLruDoesPhysicalPageExist(). However, there two problems with + * that: + * + * 1. It's somewhat expensive to call on every page switch. + * + * 2. It does not take into account pages that have been initialized + * in the SLRU buffer cache but not yet flushed to disk. For such + * pages, it will incorrectly return false. + * + * To fix both of those problems, if we have replayed any + * XLOG_MULTIXACT_ZERO_OFF_PAGE records, we assume that the last page + * that was zeroed by XLOG_MULTIXACT_ZERO_OFF_PAGE is the last page + * that exists. This works because the XLOG_MULTIXACT_ZERO_OFF_PAGE + * records must appear in the WAL in order, unlike CREATE_ID records. + * We only resort to SimpleLruDoesPhysicalPageExist() if we haven't + * seen any XLOG_MULTIXACT_ZERO_OFF_PAGE records yet, which should + * happen at most once after starting WAL recovery. + * + * As an extra safety measure, if we do resort to + * SimpleLruDoesPhysicalPageExist(), flush the SLRU buffers first so + * that it will return an accurate result. + *---------- + */ + if (last_initialized_offsets_page == -1) + { + SimpleLruWriteAll(MultiXactOffsetCtl, false); + init_needed = !SimpleLruDoesPhysicalPageExist(MultiXactOffsetCtl, next_pageno); + } + else + init_needed = (last_initialized_offsets_page == pageno); - /* Make sure it's written out */ - SimpleLruWritePage(MultiXactOffsetCtl, slotno); - Assert(!MultiXactOffsetCtl->shared->page_dirty[slotno]); + if (init_needed) + { + elog(DEBUG1, "next offsets page is not initialized, initializing it now"); - /* - * Remember that we initialized the page, so that we don't zero it - * again at the XLOG_MULTIXACT_ZERO_OFF_PAGE record. - */ - pre_initialized_offsets_page = next_pageno; + /* Create and zero the page */ + slotno = SimpleLruZeroPage(MultiXactOffsetCtl, next_pageno); + + /* Make sure it's written out */ + SimpleLruWritePage(MultiXactOffsetCtl, slotno); + Assert(!MultiXactOffsetCtl->shared->page_dirty[slotno]); + + /* + * Remember that we initialized the page, so that we don't zero it + * again at the XLOG_MULTIXACT_ZERO_OFF_PAGE record. + */ + pre_initialized_offsets_page = next_pageno; + last_initialized_offsets_page = next_pageno; + } } /* @@ -3370,6 +3419,8 @@ SimpleLruWritePage(MultiXactOffsetCtl, slotno); Assert(!MultiXactOffsetCtl->shared->page_dirty[slotno]); LWLockRelease(MultiXactOffsetSLRULock); + + last_initialized_offsets_page = pageno; } else elog(DEBUG1, "skipping initialization of offsets page %d because it was already initialized on multixid creation", pageno); diff -Nru postgresql-15-15.17/src/backend/access/transam/xlog.c postgresql-15-15.18/src/backend/access/transam/xlog.c --- postgresql-15-15.17/src/backend/access/transam/xlog.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/access/transam/xlog.c 2026-05-11 19:49:58.000000000 +0000 @@ -8933,6 +8933,22 @@ } /* + * Get latest WAL record end pointer + */ +XLogRecPtr +GetXLogInsertEndRecPtr(void) +{ + XLogCtlInsert *Insert = &XLogCtl->Insert; + uint64 current_bytepos; + + SpinLockAcquire(&Insert->insertpos_lck); + current_bytepos = Insert->CurrBytePos; + SpinLockRelease(&Insert->insertpos_lck); + + return XLogBytePosToEndRecPtr(current_bytepos); +} + +/* * Get latest WAL write pointer */ XLogRecPtr diff -Nru postgresql-15-15.17/src/backend/catalog/heap.c postgresql-15-15.18/src/backend/catalog/heap.c --- postgresql-15-15.17/src/backend/catalog/heap.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/catalog/heap.c 2026-05-11 19:49:58.000000000 +0000 @@ -508,9 +508,13 @@ */ for (i = 0; i < natts; i++) { - CheckAttributeType(NameStr(TupleDescAttr(tupdesc, i)->attname), - TupleDescAttr(tupdesc, i)->atttypid, - TupleDescAttr(tupdesc, i)->attcollation, + Form_pg_attribute attr = TupleDescAttr(tupdesc, i); + + if (attr->attisdropped) + continue; + CheckAttributeType(NameStr(attr->attname), + attr->atttypid, + attr->attcollation, NIL, /* assume we're creating a new rowtype */ flags); } @@ -647,6 +651,16 @@ containing_rowtypes, flags); } + else if (att_typtype == TYPTYPE_MULTIRANGE) + { + /* + * If it's a multirange, recurse to check its plain range type. + */ + CheckAttributeType(attname, get_multirange_range(atttypid), + InvalidOid, /* range types are not collatable */ + containing_rowtypes, + flags); + } else if (OidIsValid((att_typelem = get_element_type(atttypid)))) { /* diff -Nru postgresql-15-15.17/src/backend/catalog/pg_type.c postgresql-15-15.18/src/backend/catalog/pg_type.c --- postgresql-15-15.17/src/backend/catalog/pg_type.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/catalog/pg_type.c 2026-05-11 19:49:58.000000000 +0000 @@ -904,7 +904,7 @@ makeMultirangeTypeName(const char *rangeTypeName, Oid typeNamespace) { char *buf; - char *rangestr; + const char *rangestr; /* * If the range type name contains "range" then change that to diff -Nru postgresql-15-15.17/src/backend/commands/copy.c postgresql-15-15.18/src/backend/commands/copy.c --- postgresql-15-15.17/src/backend/commands/copy.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/commands/copy.c 2026-05-11 19:49:58.000000000 +0000 @@ -169,7 +169,8 @@ * generated columns are not yet computed when the filtering * happens. */ - if (TupleDescAttr(RelationGetDescr(rel), attno - 1)->attgenerated) + if (attno > 0 && + TupleDescAttr(RelationGetDescr(rel), attno - 1)->attgenerated) ereport(ERROR, errcode(ERRCODE_INVALID_COLUMN_REFERENCE), errmsg("generated columns are not supported in COPY FROM WHERE conditions"), diff -Nru postgresql-15-15.17/src/backend/commands/event_trigger.c postgresql-15-15.18/src/backend/commands/event_trigger.c --- postgresql-15-15.17/src/backend/commands/event_trigger.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/commands/event_trigger.c 2026-05-11 19:49:58.000000000 +0000 @@ -1908,8 +1908,11 @@ command->in_extension = creating_extension; ObjectAddressSet(command->d.atscfg.address, TSConfigRelationId, cfgId); - command->d.atscfg.dictIds = palloc(sizeof(Oid) * ndicts); - memcpy(command->d.atscfg.dictIds, dictIds, sizeof(Oid) * ndicts); + if (ndicts > 0) + { + command->d.atscfg.dictIds = palloc_array(Oid, ndicts); + memcpy(command->d.atscfg.dictIds, dictIds, sizeof(Oid) * ndicts); + } command->d.atscfg.ndicts = ndicts; command->parsetree = (Node *) copyObject(stmt); diff -Nru postgresql-15-15.17/src/backend/commands/foreigncmds.c postgresql-15-15.18/src/backend/commands/foreigncmds.c --- postgresql-15-15.17/src/backend/commands/foreigncmds.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/commands/foreigncmds.c 2026-05-11 19:49:58.000000000 +0000 @@ -740,6 +740,11 @@ ereport(WARNING, (errmsg("changing the foreign-data wrapper handler can change behavior of existing foreign tables"))); } + else + { + /* handler unchanged */ + fdwhandler = fdwForm->fdwhandler; + } if (validator_given) { diff -Nru postgresql-15-15.17/src/backend/commands/tablecmds.c postgresql-15-15.18/src/backend/commands/tablecmds.c --- postgresql-15-15.17/src/backend/commands/tablecmds.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/commands/tablecmds.c 2026-05-11 19:49:58.000000000 +0000 @@ -19433,7 +19433,10 @@ ObjectAddressSet(address, RelationRelationId, RelationGetRelid(partIdx)); - /* Silently do nothing if already in the right state */ + /* + * Check if the index is already attached to the correct parent, + * ultimately attempting one round of validation if already the case. + */ currParent = partIdx->rd_rel->relispartition ? get_partition_parent(partIdxId, false) : InvalidOid; if (currParent != RelationGetRelid(parentIdx)) @@ -19534,6 +19537,14 @@ validatePartitionedIndex(parentIdx, parentTbl); } + else if (!parentIdx->rd_index->indisvalid) + { + /* + * The index is attached, but the parent is still invalid; see if it + * can be validated now. + */ + validatePartitionedIndex(parentIdx, parentTbl); + } relation_close(parentTbl, AccessShareLock); /* keep these locks till commit */ diff -Nru postgresql-15-15.17/src/backend/commands/typecmds.c postgresql-15-15.18/src/backend/commands/typecmds.c --- postgresql-15-15.17/src/backend/commands/typecmds.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/commands/typecmds.c 2026-05-11 19:49:58.000000000 +0000 @@ -1443,6 +1443,13 @@ /* we can look up the subtype name immediately */ multirangeNamespace = QualifiedNameGetCreationNamespace(defGetQualifiedName(defel), &multirangeTypeName); + + /* Check we have creation rights in target namespace */ + aclresult = pg_namespace_aclcheck(multirangeNamespace, + GetUserId(), ACL_CREATE); + if (aclresult != ACLCHECK_OK) + aclcheck_error(aclresult, OBJECT_SCHEMA, + get_namespace_name(multirangeNamespace)); } else ereport(ERROR, diff -Nru postgresql-15-15.17/src/backend/executor/execExprInterp.c postgresql-15-15.18/src/backend/executor/execExprInterp.c --- postgresql-15-15.17/src/backend/executor/execExprInterp.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/executor/execExprInterp.c 2026-05-11 19:49:58.000000000 +0000 @@ -167,6 +167,14 @@ static Datum ExecJustAssignScanVarVirt(ExprState *state, ExprContext *econtext, bool *isnull); /* execution helper functions */ +static pg_attribute_always_inline void ExecEvalArrayCompareInternal(FunctionCallInfo fcinfo, + ArrayType *arr, + int16 typlen, + bool typbyval, + char typalign, + bool useOr, + Datum *result, + bool *resultnull); static pg_attribute_always_inline void ExecAggPlainTransByVal(AggState *aggstate, AggStatePerTrans pertrans, AggStatePerGroup pergroup, @@ -3319,12 +3327,6 @@ int nitems; Datum result; bool resultnull; - int16 typlen; - bool typbyval; - char typalign; - char *s; - bits8 *bitmap; - int bitmask; /* * If the array is NULL then we return NULL --- it's not very meaningful @@ -3373,13 +3375,42 @@ op->d.scalararrayop.element_type = ARR_ELEMTYPE(arr); } - typlen = op->d.scalararrayop.typlen; - typbyval = op->d.scalararrayop.typbyval; - typalign = op->d.scalararrayop.typalign; + ExecEvalArrayCompareInternal(fcinfo, + arr, + op->d.scalararrayop.typlen, + op->d.scalararrayop.typbyval, + op->d.scalararrayop.typalign, + useOr, + &result, + &resultnull); + + *op->resvalue = result; + *op->resnull = resultnull; +} + +/* + * Shared helper for ExecEvalScalarArrayOp() and the NULL-LHS fallback for + * non-strict ExecEvalHashedScalarArrayOp(). + * + * Callers must handle the strict LHS-is-NULL; return NULL fast path prior to + * calling this. + */ +static pg_attribute_always_inline void +ExecEvalArrayCompareInternal(FunctionCallInfo fcinfo, ArrayType *arr, + int16 typlen, bool typbyval, char typalign, + bool useOr, Datum *result, bool *resultnull) +{ + int nitems; + char *s; + bits8 *bitmap; + int bitmask; + bool strictfunc = fcinfo->flinfo->fn_strict; + + nitems = ArrayGetNItems(ARR_NDIM(arr), ARR_DIMS(arr)); /* Initialize result appropriately depending on useOr */ - result = BoolGetDatum(!useOr); - resultnull = false; + *result = BoolGetDatum(!useOr); + *resultnull = false; /* Loop over the array elements */ s = (char *) ARR_DATA_PTR(arr); @@ -3415,18 +3446,18 @@ else { fcinfo->isnull = false; - thisresult = op->d.scalararrayop.fn_addr(fcinfo); + thisresult = fcinfo->flinfo->fn_addr(fcinfo); } /* Combine results per OR or AND semantics */ if (fcinfo->isnull) - resultnull = true; + *resultnull = true; else if (useOr) { if (DatumGetBool(thisresult)) { - result = BoolGetDatum(true); - resultnull = false; + *result = BoolGetDatum(true); + *resultnull = false; break; /* needn't look at any more elements */ } } @@ -3434,8 +3465,8 @@ { if (!DatumGetBool(thisresult)) { - result = BoolGetDatum(false); - resultnull = false; + *result = BoolGetDatum(false); + *resultnull = false; break; /* needn't look at any more elements */ } } @@ -3451,9 +3482,6 @@ } } } - - *op->resvalue = result; - *op->resnull = resultnull; } /* @@ -3532,7 +3560,7 @@ * If the scalar is NULL, and the function is strict, return NULL; no * point in executing the search. */ - if (fcinfo->args[0].isnull && strictfunc) + if (scalar_isnull && strictfunc) { *op->resnull = true; return; @@ -3630,8 +3658,51 @@ * non-strict functions with a null lhs value if no match is found. */ op->d.hashedscalararrayop.has_nulls = has_nulls; + + /* + * When we have a non-strict equality function, check and cache the + * result from looking up a NULL. Non-strict functions are free to + * treat a NULL as equal to any other value, e.g. a 0 or an empty + * string. Here we perform a linear search over the array and cache + * the outcome so that we can use that result any time we receive a + * NULL. + */ + if (!strictfunc) + { + bool null_lhs_result; + + fcinfo->args[0].value = (Datum) 0; + fcinfo->args[0].isnull = true; + + ExecEvalArrayCompareInternal(fcinfo, arr, typlen, typbyval, + typalign, true, &result, + &resultnull); + + null_lhs_result = DatumGetBool(result); + + /* invert non-NULL results for NOT IN */ + if (!resultnull && !inclause) + null_lhs_result = !null_lhs_result; + + op->d.hashedscalararrayop.null_lhs_isnull = resultnull; + op->d.hashedscalararrayop.null_lhs_result = null_lhs_result; + } + } + + /* + * When looking up an SQL NULL value with non-strict functions, we defer + * to the value we cached when building the hash table. + */ + if (scalar_isnull) + { + Assert(!strictfunc); + + *op->resnull = op->d.hashedscalararrayop.null_lhs_isnull; + *op->resvalue = BoolGetDatum(op->d.hashedscalararrayop.null_lhs_result); + return; } + /* Check the hash to see if we have a match. */ hashfound = NULL != saophash_lookup(elements_tab->hashtab, scalar); diff -Nru postgresql-15-15.17/src/backend/executor/nodeAgg.c postgresql-15-15.18/src/backend/executor/nodeAgg.c --- postgresql-15-15.17/src/backend/executor/nodeAgg.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/executor/nodeAgg.c 2026-05-11 19:49:58.000000000 +0000 @@ -4288,7 +4288,7 @@ { AggregateInstrumentation *si; - Assert(ParallelWorkerNumber <= node->shared_info->num_workers); + Assert(ParallelWorkerNumber < node->shared_info->num_workers); si = &node->shared_info->sinstrument[ParallelWorkerNumber]; si->hash_batches_used = node->hash_batches_used; si->hash_disk_used = node->hash_disk_used; diff -Nru postgresql-15-15.17/src/backend/executor/nodeIncrementalSort.c postgresql-15-15.18/src/backend/executor/nodeIncrementalSort.c --- postgresql-15-15.17/src/backend/executor/nodeIncrementalSort.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/executor/nodeIncrementalSort.c 2026-05-11 19:49:58.000000000 +0000 @@ -103,7 +103,7 @@ if ((node)->shared_info && (node)->am_worker) \ { \ Assert(IsParallelWorker()); \ - Assert(ParallelWorkerNumber <= (node)->shared_info->num_workers); \ + Assert(ParallelWorkerNumber < (node)->shared_info->num_workers); \ instrumentSortedGroup(&(node)->shared_info->sinfo[ParallelWorkerNumber].groupName##GroupInfo, \ (node)->groupName##_state); \ } \ diff -Nru postgresql-15-15.17/src/backend/executor/nodeMemoize.c postgresql-15-15.18/src/backend/executor/nodeMemoize.c --- postgresql-15-15.17/src/backend/executor/nodeMemoize.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/executor/nodeMemoize.c 2026-05-11 19:49:58.000000000 +0000 @@ -1109,7 +1109,7 @@ if (node->stats.mem_peak == 0) node->stats.mem_peak = node->mem_used; - Assert(ParallelWorkerNumber <= node->shared_info->num_workers); + Assert(ParallelWorkerNumber < node->shared_info->num_workers); si = &node->shared_info->sinstrument[ParallelWorkerNumber]; memcpy(si, &node->stats, sizeof(MemoizeInstrumentation)); } diff -Nru postgresql-15-15.17/src/backend/executor/nodeModifyTable.c postgresql-15-15.18/src/backend/executor/nodeModifyTable.c --- postgresql-15-15.17/src/backend/executor/nodeModifyTable.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/executor/nodeModifyTable.c 2026-05-11 19:49:58.000000000 +0000 @@ -3058,6 +3058,11 @@ *inputslot; LockTupleMode lockmode; + if (IsolationUsesXactSnapshot()) + ereport(ERROR, + (errcode(ERRCODE_T_R_SERIALIZATION_FAILURE), + errmsg("could not serialize access due to concurrent update"))); + /* * The target tuple was concurrently updated by some other * transaction. Run EvalPlanQual() with the new version of diff -Nru postgresql-15-15.17/src/backend/executor/nodeSort.c postgresql-15-15.18/src/backend/executor/nodeSort.c --- postgresql-15-15.17/src/backend/executor/nodeSort.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/executor/nodeSort.c 2026-05-11 19:49:58.000000000 +0000 @@ -175,7 +175,7 @@ TuplesortInstrumentation *si; Assert(IsParallelWorker()); - Assert(ParallelWorkerNumber <= node->shared_info->num_workers); + Assert(ParallelWorkerNumber < node->shared_info->num_workers); si = &node->shared_info->sinstrument[ParallelWorkerNumber]; tuplesort_get_stats(tuplesortstate, si); } diff -Nru postgresql-15-15.17/src/backend/executor/nodeWindowAgg.c postgresql-15-15.18/src/backend/executor/nodeWindowAgg.c --- postgresql-15-15.17/src/backend/executor/nodeWindowAgg.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/executor/nodeWindowAgg.c 2026-05-11 19:49:58.000000000 +0000 @@ -37,6 +37,7 @@ #include "catalog/objectaccess.h" #include "catalog/pg_aggregate.h" #include "catalog/pg_proc.h" +#include "common/int.h" #include "executor/executor.h" #include "executor/nodeWindowAgg.h" #include "miscadmin.h" @@ -1423,12 +1424,21 @@ if (frameOptions & FRAMEOPTION_ROWS) { int64 offset = DatumGetInt64(winstate->endOffsetValue); + int64 frameendpos = 0; /* rows after current row + offset are out of frame */ if (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING) offset = -offset; - if (pos > winstate->currentpos + offset) + /* + * If we have an overflow, it means the frame end is beyond the + * range of int64. Since currentpos >= 0, this can only be a + * positive overflow. We treat this as meaning that the frame + * extends to end of partition. + */ + if (!pg_add_s64_overflow(winstate->currentpos, offset, + &frameendpos) && + pos > frameendpos) return -1; } else if (frameOptions & (FRAMEOPTION_RANGE | FRAMEOPTION_GROUPS)) @@ -1563,7 +1573,16 @@ if (frameOptions & FRAMEOPTION_START_OFFSET_PRECEDING) offset = -offset; - winstate->frameheadpos = winstate->currentpos + offset; + /* + * If we have an overflow, it means the frame head is beyond the + * range of int64. Since currentpos >= 0, this can only be a + * positive overflow. We treat this as being beyond end of + * partition. + */ + if (pg_add_s64_overflow(winstate->currentpos, offset, + &winstate->frameheadpos)) + winstate->frameheadpos = PG_INT64_MAX; + /* frame head can't go before first row */ if (winstate->frameheadpos < 0) winstate->frameheadpos = 0; @@ -1675,12 +1694,21 @@ * framehead_slot empty. */ int64 offset = DatumGetInt64(winstate->startOffsetValue); - int64 minheadgroup; + int64 minheadgroup = 0; if (frameOptions & FRAMEOPTION_START_OFFSET_PRECEDING) minheadgroup = winstate->currentgroup - offset; else - minheadgroup = winstate->currentgroup + offset; + { + /* + * If we have an overflow, it means the target group is beyond + * the range of int64. We treat this as "infinity", which + * ensures the loop below advances to end of partition. + */ + if (pg_add_s64_overflow(winstate->currentgroup, offset, + &minheadgroup)) + minheadgroup = PG_INT64_MAX; + } tuplestore_select_read_pointer(winstate->buffer, winstate->framehead_ptr); @@ -1817,7 +1845,18 @@ if (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING) offset = -offset; - winstate->frametailpos = winstate->currentpos + offset + 1; + /* + * If we have an overflow, it means the frame tail is beyond the + * range of int64. Since currentpos >= 0, this can only be a + * positive overflow. We treat this as being beyond end of + * partition. + */ + if (pg_add_s64_overflow(winstate->currentpos, offset, + &winstate->frametailpos) || + pg_add_s64_overflow(winstate->frametailpos, 1, + &winstate->frametailpos)) + winstate->frametailpos = PG_INT64_MAX; + /* smallest allowable value of frametailpos is 0 */ if (winstate->frametailpos < 0) winstate->frametailpos = 0; @@ -1929,12 +1968,21 @@ * leave frametailpos = end+1 and frametail_slot empty. */ int64 offset = DatumGetInt64(winstate->endOffsetValue); - int64 maxtailgroup; + int64 maxtailgroup = 0; if (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING) maxtailgroup = winstate->currentgroup - offset; else - maxtailgroup = winstate->currentgroup + offset; + { + /* + * If we have an overflow, it means the target group is beyond + * the range of int64. We treat this as "infinity", which + * ensures the loop below advances to end of partition. + */ + if (pg_add_s64_overflow(winstate->currentgroup, offset, + &maxtailgroup)) + maxtailgroup = PG_INT64_MAX; + } tuplestore_select_read_pointer(winstate->buffer, winstate->frametail_ptr); diff -Nru postgresql-15-15.17/src/backend/jit/llvm/Makefile postgresql-15-15.18/src/backend/jit/llvm/Makefile --- postgresql-15-15.17/src/backend/jit/llvm/Makefile 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/jit/llvm/Makefile 2026-05-11 19:49:58.000000000 +0000 @@ -39,7 +39,7 @@ # Because this module includes C++ files, we need to use a C++ # compiler for linking. Makefile.shlib uses $(COMPILER) to build # loadable modules. -override COMPILER = $(CXX) $(CFLAGS) +override COMPILER = $(CXX) $(CXXFLAGS) OBJS = \ $(WIN32RES) diff -Nru postgresql-15-15.17/src/backend/jit/llvm/SectionMemoryManager.cpp postgresql-15-15.18/src/backend/jit/llvm/SectionMemoryManager.cpp --- postgresql-15-15.17/src/backend/jit/llvm/SectionMemoryManager.cpp 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/jit/llvm/SectionMemoryManager.cpp 2026-05-11 19:49:58.000000000 +0000 @@ -1,18 +1,11 @@ /* - * This file is from https://github.com/llvm/llvm-project/pull/71968 - * with minor modifications to avoid name clash and work with older - * LLVM versions. The llvm::backport::SectionMemoryManager class is a - * drop-in replacement for llvm::SectionMemoryManager, for use with - * llvm::RuntimeDyld. It fixes a memory layout bug on large memory - * ARM systems (see pull request for details). If the LLVM project - * eventually commits the change, we may need to resynchronize our - * copy with any further modifications, but they would be unlikely to - * backport it into the LLVM versions that we target so we would still - * need this copy. + * This file is from LLVM 22 (originally pull request #71968), with minor + * modifications to avoid name clash and work with older LLVM versions. It + * replaces llvm::SectionMemoryManager, and is injected into llvm::RuntimeDyld + * to fix a memory layout bug on large memory ARM systems on LLVM < 22. * - * In the future we will switch to using JITLink instead of - * RuntimeDyld where possible, and later remove this code (.cpp, .h, - * .LICENSE) after all LLVM versions that we target allow it. + * We can remove this code (.cpp, .h, .LICENSE) once LLVM 22 is our minimum + * supported version or we've switched to JITLink for at least Aarch64. * * This file is a modified copy of a part of the LLVM source code that * we would normally access from the LLVM library. It is therefore diff -Nru postgresql-15-15.17/src/backend/jit/llvm/llvmjit.c postgresql-15-15.18/src/backend/jit/llvm/llvmjit.c --- postgresql-15-15.17/src/backend/jit/llvm/llvmjit.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/jit/llvm/llvmjit.c 2026-05-11 19:49:58.000000000 +0000 @@ -1321,7 +1321,10 @@ static LLVMOrcObjectLayerRef llvm_create_object_layer(void *Ctx, LLVMOrcExecutionSessionRef ES, const char *Triple) { -#ifdef USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER +#if LLVM_VERSION_MAJOR >= 22 + LLVMOrcObjectLayerRef objlayer = + LLVMOrcCreateRTDyldObjectLinkingLayerWithSectionMemoryManagerReserveAlloc(ES, true); +#elif defined(USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER) LLVMOrcObjectLayerRef objlayer = LLVMOrcCreateRTDyldObjectLinkingLayerWithSafeSectionMemoryManager(ES); #else diff -Nru postgresql-15-15.17/src/backend/jit/llvm/llvmjit_expr.c postgresql-15-15.18/src/backend/jit/llvm/llvmjit_expr.c --- postgresql-15-15.17/src/backend/jit/llvm/llvmjit_expr.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/jit/llvm/llvmjit_expr.c 2026-05-11 19:49:58.000000000 +0000 @@ -62,7 +62,9 @@ LLVMValueRef v_state, ExprEvalStep *op, int natts, LLVMValueRef *v_args); +#if LLVM_VERSION_MAJOR < 22 static LLVMValueRef create_LifetimeEnd(LLVMModuleRef mod); +#endif /* macro making it easier to call ExecEval* functions */ #define build_EvalXFunc(b, mod, funcname, v_state, op, ...) \ @@ -2520,14 +2522,11 @@ LLVMModuleRef mod, FunctionCallInfo fcinfo, LLVMValueRef *v_fcinfo_isnull) { - LLVMContextRef lc; LLVMValueRef v_fn; LLVMValueRef v_fcinfo_isnullp; LLVMValueRef v_retval; LLVMValueRef v_fcinfo; - lc = LLVMGetModuleContext(mod); - v_fn = llvm_function_reference(context, b, mod, fcinfo); v_fcinfo = l_ptr_const(fcinfo, l_ptr(StructFunctionCallInfoData)); @@ -2543,11 +2542,14 @@ if (v_fcinfo_isnull) *v_fcinfo_isnull = l_load(b, TypeStorageBool, v_fcinfo_isnullp, ""); +#if LLVM_VERSION_MAJOR < 22 + /* * Add lifetime-end annotation, signaling that writes to memory don't have * to be retained (important for inlining potential). */ { + LLVMContextRef lc = LLVMGetModuleContext(mod); LLVMValueRef v_lifetime = create_LifetimeEnd(mod); LLVMValueRef params[2]; @@ -2559,6 +2561,7 @@ params[1] = l_ptr_const(&fcinfo->isnull, l_ptr(LLVMInt8TypeInContext(lc))); l_call(b, LLVMGetFunctionType(v_lifetime), v_lifetime, params, lengthof(params), ""); } +#endif return v_retval; } @@ -2596,6 +2599,7 @@ return v_ret; } +#if LLVM_VERSION_MAJOR < 22 static LLVMValueRef create_LifetimeEnd(LLVMModuleRef mod) { @@ -2629,3 +2633,4 @@ return fn; } +#endif diff -Nru postgresql-15-15.17/src/backend/libpq/auth-scram.c postgresql-15-15.18/src/backend/libpq/auth-scram.c --- postgresql-15-15.17/src/backend/libpq/auth-scram.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/libpq/auth-scram.c 2026-05-11 19:49:58.000000000 +0000 @@ -555,7 +555,7 @@ * Compare the secret's Server Key with the one computed from the * user-supplied password. */ - return memcmp(computed_key, server_key, SCRAM_KEY_LEN) == 0; + return timingsafe_bcmp(computed_key, server_key, SCRAM_KEY_LEN) == 0; } @@ -1095,9 +1095,9 @@ if (final_nonce_len != client_nonce_len + server_nonce_len) return false; - if (memcmp(state->client_final_nonce, state->client_nonce, client_nonce_len) != 0) + if (timingsafe_bcmp(state->client_final_nonce, state->client_nonce, client_nonce_len) != 0) return false; - if (memcmp(state->client_final_nonce + client_nonce_len, state->server_nonce, server_nonce_len) != 0) + if (timingsafe_bcmp(state->client_final_nonce + client_nonce_len, state->server_nonce, server_nonce_len) != 0) return false; return true; @@ -1151,7 +1151,7 @@ if (scram_H(ClientKey, SCRAM_KEY_LEN, client_StoredKey, &errstr) < 0) elog(ERROR, "could not hash stored key: %s", errstr); - if (memcmp(client_StoredKey, state->StoredKey, SCRAM_KEY_LEN) != 0) + if (timingsafe_bcmp(client_StoredKey, state->StoredKey, SCRAM_KEY_LEN) != 0) return false; return true; diff -Nru postgresql-15-15.17/src/backend/libpq/auth.c postgresql-15-15.18/src/backend/libpq/auth.c --- postgresql-15-15.17/src/backend/libpq/auth.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/libpq/auth.c 2026-05-11 19:49:58.000000000 +0000 @@ -3322,7 +3322,7 @@ } pfree(cryptvector); - if (memcmp(receivepacket->vector, encryptedpassword, RADIUS_VECTOR_LENGTH) != 0) + if (timingsafe_bcmp(receivepacket->vector, encryptedpassword, RADIUS_VECTOR_LENGTH) != 0) { ereport(LOG, (errmsg("RADIUS response from %s has incorrect MD5 signature", diff -Nru postgresql-15-15.17/src/backend/libpq/crypt.c postgresql-15-15.18/src/backend/libpq/crypt.c --- postgresql-15-15.17/src/backend/libpq/crypt.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/libpq/crypt.c 2026-05-11 19:49:58.000000000 +0000 @@ -195,7 +195,8 @@ return STATUS_ERROR; } - if (strcmp(client_pass, crypt_pwd) == 0) + if (strlen(client_pass) == strlen(crypt_pwd) && + timingsafe_bcmp(client_pass, crypt_pwd, strlen(crypt_pwd)) == 0) retval = STATUS_OK; else { @@ -257,7 +258,8 @@ *logdetail = errstr; return STATUS_ERROR; } - if (strcmp(crypt_client_pass, shadow_pass) == 0) + if (strlen(crypt_client_pass) == strlen(shadow_pass) && + timingsafe_bcmp(crypt_client_pass, shadow_pass, strlen(shadow_pass)) == 0) return STATUS_OK; else { diff -Nru postgresql-15-15.17/src/backend/optimizer/path/indxpath.c postgresql-15-15.18/src/backend/optimizer/path/indxpath.c --- postgresql-15-15.17/src/backend/optimizer/path/indxpath.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/optimizer/path/indxpath.c 2026-05-11 19:49:58.000000000 +0000 @@ -3595,16 +3595,19 @@ * The condition's equality operator must be a member of the * index opfamily, else it is not asserting the right kind of * equality behavior for this index. We check this first - * since it's probably cheaper than match_index_to_operand(). + * since it's probably the cheapest test. */ if (!list_member_oid(rinfo->mergeopfamilies, ind->opfamily[c])) continue; /* - * XXX at some point we may need to check collations here too. - * For the moment we assume all collations reduce to the same - * notion of equality. + * The index's collation must agree with the clause's input + * collation on equality, else the index's uniqueness does not + * imply uniqueness under the clause's equality semantics. */ + if (!collations_agree_on_equality(ind->indexcollations[c], + exprInputCollation((Node *) rinfo->clause))) + continue; /* OK, see if the condition operand matches the index key */ if (rinfo->outer_is_left) @@ -3642,10 +3645,13 @@ continue; /* - * XXX at some point we may need to check collations here too. - * For the moment we assume all collations reduce to the same - * notion of equality. + * The index's collation must agree with the operand's + * collation on equality, else the index's uniqueness does not + * imply uniqueness under the operator's equality semantics. */ + if (!collations_agree_on_equality(ind->indexcollations[c], + exprCollation(expr))) + continue; matched = true; /* column is unique */ break; diff -Nru postgresql-15-15.17/src/backend/optimizer/plan/analyzejoins.c postgresql-15-15.18/src/backend/optimizer/plan/analyzejoins.c --- postgresql-15-15.17/src/backend/optimizer/plan/analyzejoins.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/optimizer/plan/analyzejoins.c 2026-05-11 19:49:58.000000000 +0000 @@ -32,6 +32,20 @@ #include "optimizer/tlist.h" #include "utils/lsyscache.h" +/* + * One element of the list passed to query_is_distinct_for_with_collations(). + * Each entry names a subquery output column that the caller needs to be + * distinct over, plus the upper-level equality operator and its input + * collation, so that the subquery's own DISTINCT/GROUP BY/set-op clauses can + * be compared for compatibility. + */ +typedef struct DistinctColInfo +{ + int colno; /* subquery output column resno */ + Oid opid; /* upper-level equality operator */ + Oid collid; /* input collation of opid */ +} DistinctColInfo; + /* local functions */ static bool join_is_removable(PlannerInfo *root, SpecialJoinInfo *sjinfo); static void remove_rel_from_query(PlannerInfo *root, int relid, @@ -40,7 +54,9 @@ static bool rel_supports_distinctness(PlannerInfo *root, RelOptInfo *rel); static bool rel_is_distinct_for(PlannerInfo *root, RelOptInfo *rel, List *clause_list); -static Oid distinct_col_search(int colno, List *colnos, List *opids); +static bool query_is_distinct_for_with_collations(Query *query, + List *distinct_cols); +static DistinctColInfo *distinct_col_search(int colno, List *distinct_cols); static bool is_innerrel_unique_for(PlannerInfo *root, Relids joinrelids, Relids outerrelids, @@ -668,15 +684,17 @@ { Index relid = rel->relid; Query *subquery = root->simple_rte_array[relid]->subquery; - List *colnos = NIL; - List *opids = NIL; + List *distinct_cols = NIL; ListCell *l; /* - * Build the argument lists for query_is_distinct_for: a list of - * output column numbers that the query needs to be distinct over, and - * a list of equality operators that the output columns need to be - * distinct according to. + * Build the argument list for query_is_distinct_for_with_collations: + * a list of DistinctColInfo entries, each holding an output column + * number that the query needs to be distinct over, the equality + * operator that the column needs to be distinct according to, and + * that operator's input collation. The collation matters because the + * subquery's own DISTINCT / GROUP BY / set-op proves uniqueness under + * its own collation, which need not agree with the operator's. * * (XXX we are not considering restriction clauses attached to the * subquery; is that worth doing?) @@ -684,18 +702,18 @@ foreach(l, clause_list) { RestrictInfo *rinfo = lfirst_node(RestrictInfo, l); - Oid op; + OpExpr *opexpr; Var *var; + DistinctColInfo *dcinfo; /* - * Get the equality operator we need uniqueness according to. - * (This might be a cross-type operator and thus not exactly the - * same operator the subquery would consider; that's all right - * since query_is_distinct_for can resolve such cases.) The - * caller's mergejoinability test should have selected only - * OpExprs. + * The caller's mergejoinability test should have selected only + * OpExprs. The operator might be a cross-type operator and thus + * not exactly the same operator the subquery would consider; + * that's all right since query_is_distinct_for_with_collations + * can resolve such cases. */ - op = castNode(OpExpr, rinfo->clause)->opno; + opexpr = castNode(OpExpr, rinfo->clause); /* caller identified the inner side for us */ if (rinfo->outer_is_left) @@ -719,11 +737,14 @@ var->varno != relid || var->varlevelsup != 0) continue; - colnos = lappend_int(colnos, var->varattno); - opids = lappend_oid(opids, op); + dcinfo = palloc(sizeof(DistinctColInfo)); + dcinfo->colno = var->varattno; + dcinfo->opid = opexpr->opno; + dcinfo->collid = opexpr->inputcollid; + distinct_cols = lappend(distinct_cols, dcinfo); } - if (query_is_distinct_for(subquery, colnos, opids)) + if (query_is_distinct_for_with_collations(subquery, distinct_cols)) return true; } return false; @@ -761,31 +782,71 @@ } /* - * query_is_distinct_for - does query never return duplicates of the - * specified columns? + * query_is_distinct_for - ABI-preserving wrapper around + * query_is_distinct_for_with_collations(). * - * query is a not-yet-planned subquery (in current usage, it's always from - * a subquery RTE, which the planner avoids scribbling on). - * - * colnos is an integer list of output column numbers (resno's). We are - * interested in whether rows consisting of just these columns are certain - * to be distinct. "Distinctness" is defined according to whether the - * corresponding upper-level equality operators listed in opids would think - * the values are distinct. (Note: the opids entries could be cross-type - * operators, and thus not exactly the equality operators that the subquery - * would use itself. We use equality_ops_are_compatible() to check - * compatibility. That looks at btree or hash opfamily membership, and so - * should give trustworthy answers for all operators that we might need - * to deal with here.) + * The original signature took parallel colnos/opids lists and did not + * consider collations. External callers built against earlier minor + * releases continue to call it with the historical (collation-blind) + * semantics; we forward with InvalidOid collations, which makes the + * collation check a no-op (see collations_agree_on_equality()). */ bool query_is_distinct_for(Query *query, List *colnos, List *opids) { - ListCell *l; - Oid opid; + List *distinct_cols = NIL; + ListCell *lc1; + ListCell *lc2; Assert(list_length(colnos) == list_length(opids)); + forboth(lc1, colnos, lc2, opids) + { + DistinctColInfo *dcinfo = palloc(sizeof(DistinctColInfo)); + + dcinfo->colno = lfirst_int(lc1); + dcinfo->opid = lfirst_oid(lc2); + dcinfo->collid = InvalidOid; + distinct_cols = lappend(distinct_cols, dcinfo); + } + + return query_is_distinct_for_with_collations(query, distinct_cols); +} + +/* + * query_is_distinct_for_with_collations - does query never return duplicates + * of the specified columns? + * + * query is a not-yet-planned subquery (in current usage, it's always from + * a subquery RTE, which the planner avoids scribbling on). + * + * distinct_cols is a list of DistinctColInfo, one per requested output column. + * Each entry names the subquery output column number we want distinct, the + * upper-level equality operator we'll compare values with, and that operator's + * input collation. We are interested in whether rows consisting of just these + * columns are certain to be distinct. + * + * "Distinctness" is defined according to whether the corresponding upper-level + * equality operators would think the values are distinct. (Note: each opid + * could be a cross-type operator, and thus not exactly the equality operator + * that the subquery would use itself. We use equality_ops_are_compatible() to + * check compatibility. That looks at opfamily membership for index AMs that + * have declared that they support consistent equality semantics within an + * opfamily, and so should give trustworthy answers for all operators that we + * might need to deal with here.) + * + * The collid must also agree on equality with the collation the subquery's own + * DISTINCT/GROUP BY/set-op uses to deduplicate the column, else the subquery's + * distinctness does not carry over to the caller's equality semantics. Two + * collations agree on equality if they match or if both are deterministic (in + * which case both reduce equality to byte-equality; see CREATE COLLATION). + */ +static bool +query_is_distinct_for_with_collations(Query *query, List *distinct_cols) +{ + ListCell *l; + DistinctColInfo *dcinfo; + /* * DISTINCT (including DISTINCT ON) guarantees uniqueness if all the * columns in the DISTINCT clause appear in colnos and operator semantics @@ -800,9 +861,11 @@ TargetEntry *tle = get_sortgroupclause_tle(sgc, query->targetList); - opid = distinct_col_search(tle->resno, colnos, opids); - if (!OidIsValid(opid) || - !equality_ops_are_compatible(opid, sgc->eqop)) + dcinfo = distinct_col_search(tle->resno, distinct_cols); + if (dcinfo == NULL || + !equality_ops_are_compatible(dcinfo->opid, sgc->eqop) || + !collations_agree_on_equality(dcinfo->collid, + exprCollation((Node *) tle->expr))) break; /* exit early if no match */ } if (l == NULL) /* had matches for all? */ @@ -831,9 +894,11 @@ TargetEntry *tle = get_sortgroupclause_tle(sgc, query->targetList); - opid = distinct_col_search(tle->resno, colnos, opids); - if (!OidIsValid(opid) || - !equality_ops_are_compatible(opid, sgc->eqop)) + dcinfo = distinct_col_search(tle->resno, distinct_cols); + if (dcinfo == NULL || + !equality_ops_are_compatible(dcinfo->opid, sgc->eqop) || + !collations_agree_on_equality(dcinfo->collid, + exprCollation((Node *) tle->expr))) break; /* exit early if no match */ } if (l == NULL) /* had matches for all? */ @@ -899,9 +964,11 @@ sgc = (SortGroupClause *) lfirst(lg); lg = lnext(topop->groupClauses, lg); - opid = distinct_col_search(tle->resno, colnos, opids); - if (!OidIsValid(opid) || - !equality_ops_are_compatible(opid, sgc->eqop)) + dcinfo = distinct_col_search(tle->resno, distinct_cols); + if (dcinfo == NULL || + !equality_ops_are_compatible(dcinfo->opid, sgc->eqop) || + !collations_agree_on_equality(dcinfo->collid, + exprCollation((Node *) tle->expr))) break; /* exit early if no match */ } if (l == NULL) /* had matches for all? */ @@ -921,24 +988,27 @@ } /* - * distinct_col_search - subroutine for query_is_distinct_for + * distinct_col_search - subroutine for query_is_distinct_for_with_collations * - * If colno is in colnos, return the corresponding element of opids, - * else return InvalidOid. (Ordinarily colnos would not contain duplicates, - * but if it does, we arbitrarily select the first match.) + * If colno matches the colno field of an entry in distinct_cols, return a + * pointer to that entry; else return NULL. (Ordinarily distinct_cols would + * not contain duplicate colnos, but if it does, we arbitrarily select the + * first match.) */ -static Oid -distinct_col_search(int colno, List *colnos, List *opids) +static DistinctColInfo * +distinct_col_search(int colno, List *distinct_cols) { - ListCell *lc1, - *lc2; + ListCell *lc; - forboth(lc1, colnos, lc2, opids) + foreach(lc, distinct_cols) { - if (colno == lfirst_int(lc1)) - return lfirst_oid(lc2); + DistinctColInfo *dcinfo = (DistinctColInfo *) lfirst(lc); + + if (dcinfo->colno == colno) + return dcinfo; } - return InvalidOid; + + return NULL; } diff -Nru postgresql-15-15.17/src/backend/parser/parse_utilcmd.c postgresql-15-15.18/src/backend/parser/parse_utilcmd.c --- postgresql-15-15.17/src/backend/parser/parse_utilcmd.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/parser/parse_utilcmd.c 2026-05-11 19:49:58.000000000 +0000 @@ -1911,7 +1911,10 @@ * extended statistic "source_statsid", for the rel identified by heapRel and * heapRelid. * - * Attribute numbers in expression Vars are adjusted according to attmap. + * stxkeys in the source statistic holds attribute numbers from the parent + * relation. Those attnums, along with the attribute numbers referenced by + * Vars inside the expression tree, are remapped to the new relation's + * numbering according to attmap. */ static CreateStatsStmt * generateClonedExtStatsStmt(RangeVar *heapRel, Oid heapRelid, @@ -1970,7 +1973,8 @@ StatsElem *selem = makeNode(StatsElem); AttrNumber attnum = statsrec->stxkeys.values[i]; - selem->name = get_attname(heapRelid, attnum, false); + selem->name = + get_attname(heapRelid, attmap->attnums[attnum - 1], false); selem->expr = NULL; def_names = lappend(def_names, selem); diff -Nru postgresql-15-15.17/src/backend/po/es.po postgresql-15-15.18/src/backend/po/es.po --- postgresql-15-15.17/src/backend/po/es.po 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/po/es.po 2026-05-11 19:49:58.000000000 +0000 @@ -67,7 +67,7 @@ "Project-Id-Version: PostgreSQL server 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2026-02-06 21:12+0000\n" -"PO-Revision-Date: 2025-02-15 12:02+0100\n" +"PO-Revision-Date: 2026-02-25 16:52+0100\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -20191,7 +20191,7 @@ #: replication/slot.c:1977 #, c-format msgid "physical replication slot \"%s\" exists, but wal_level < replica" -msgstr "existe el slot de replicación lógica «%s», pero wal_level < logical" +msgstr "existe el slot de replicación física «%s», pero wal_level < replica" # <> hello vim #: replication/slot.c:1979 diff -Nru postgresql-15-15.17/src/backend/po/ru.po postgresql-15-15.18/src/backend/po/ru.po --- postgresql-15-15.17/src/backend/po/ru.po 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/po/ru.po 2026-05-11 19:49:58.000000000 +0000 @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: postgres (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2026-02-21 05:20+0200\n" +"POT-Creation-Date: 2026-05-10 08:02+0300\n" "PO-Revision-Date: 2026-02-21 05:29+0200\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -160,7 +160,7 @@ #: replication/logical/reorderbuffer.c:5074 #: replication/logical/snapbuild.c:1790 replication/logical/snapbuild.c:1897 #: replication/slot.c:1846 replication/walsender.c:645 -#: replication/walsender.c:2740 storage/file/copydir.c:161 +#: replication/walsender.c:2749 storage/file/copydir.c:161 #: storage/file/fd.c:717 storage/file/fd.c:3392 storage/file/fd.c:3622 #: storage/file/fd.c:3712 storage/smgr/md.c:541 utils/cache/relmapper.c:795 #: utils/cache/relmapper.c:912 utils/error/elog.c:1953 @@ -174,7 +174,7 @@ #: access/transam/twophase.c:1753 access/transam/twophase.c:1762 #: access/transam/xlog.c:8770 access/transam/xlogfuncs.c:600 #: backup/basebackup_server.c:173 backup/basebackup_server.c:266 -#: postmaster/postmaster.c:5637 postmaster/syslogger.c:1571 +#: postmaster/postmaster.c:5623 postmaster/syslogger.c:1571 #: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 #: utils/cache/relmapper.c:946 #, c-format @@ -207,9 +207,9 @@ #: access/transam/xlogrecovery.c:587 lib/dshash.c:253 libpq/auth.c:1344 #: libpq/auth.c:1412 libpq/auth.c:1970 libpq/be-secure-gssapi.c:530 #: libpq/be-secure-gssapi.c:702 postmaster/bgworker.c:349 -#: postmaster/bgworker.c:931 postmaster/postmaster.c:2598 -#: postmaster/postmaster.c:4183 postmaster/postmaster.c:5562 -#: postmaster/postmaster.c:5933 +#: postmaster/bgworker.c:931 postmaster/postmaster.c:2599 +#: postmaster/postmaster.c:4169 postmaster/postmaster.c:5548 +#: postmaster/postmaster.c:5919 #: replication/libpqwalreceiver/libpqwalreceiver.c:313 #: replication/logical/logical.c:206 replication/walsender.c:715 #: storage/buffer/localbuf.c:442 storage/file/fd.c:889 storage/file/fd.c:1431 @@ -217,8 +217,8 @@ #: storage/ipc/procarray.c:2292 storage/ipc/procarray.c:2299 #: storage/ipc/procarray.c:2804 storage/ipc/procarray.c:3435 #: tcop/postgres.c:3645 utils/activity/pgstat_shmem.c:503 -#: utils/adt/formatting.c:1732 utils/adt/formatting.c:1854 -#: utils/adt/formatting.c:1977 utils/adt/pg_locale.c:454 +#: utils/adt/formatting.c:1734 utils/adt/formatting.c:1856 +#: utils/adt/formatting.c:1979 utils/adt/pg_locale.c:454 #: utils/adt/pg_locale.c:618 utils/adt/regexp.c:224 utils/fmgr/dfmgr.c:229 #: utils/hash/dynahash.c:513 utils/hash/dynahash.c:613 #: utils/hash/dynahash.c:1116 utils/mb/mbutils.c:410 utils/mb/mbutils.c:438 @@ -318,7 +318,7 @@ msgstr "не удалось получить информацию о файле \"%s\": %m" #: ../common/file_utils.c:161 ../common/pgfnames.c:48 commands/tablespace.c:749 -#: commands/tablespace.c:759 postmaster/postmaster.c:1583 +#: commands/tablespace.c:759 postmaster/postmaster.c:1584 #: storage/file/fd.c:2809 storage/file/reinit.c:126 utils/adt/misc.c:235 #: utils/misc/tzparser.c:338 #, c-format @@ -723,7 +723,7 @@ msgstr "не удалось открыть родительскую таблицу индекса \"%s\"" #: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1087 -#: parser/parse_utilcmd.c:2331 +#: parser/parse_utilcmd.c:2335 #, c-format msgid "index \"%s\" is not valid" msgstr "индекс \"%s\" - нерабочий" @@ -1142,11 +1142,11 @@ "не удалось определить, какое правило сортировки использовать для хеширования " "строк" -#: access/hash/hashfunc.c:281 access/hash/hashfunc.c:338 catalog/heap.c:672 -#: catalog/heap.c:678 commands/createas.c:206 commands/createas.c:515 +#: access/hash/hashfunc.c:281 access/hash/hashfunc.c:338 catalog/heap.c:686 +#: catalog/heap.c:692 commands/createas.c:206 commands/createas.c:515 #: commands/indexcmds.c:1962 commands/tablecmds.c:17808 commands/view.c:86 -#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1690 -#: utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/like.c:190 +#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1692 +#: utils/adt/formatting.c:1814 utils/adt/formatting.c:1937 utils/adt/like.c:190 #: utils/adt/like_support.c:1025 utils/adt/varchar.c:733 #: utils/adt/varchar.c:1004 utils/adt/varchar.c:1065 utils/adt/varlena.c:1544 #, c-format @@ -1271,7 +1271,7 @@ #: access/transam/xlog.c:3965 access/transam/xlog.c:8753 #: access/transam/xlogfuncs.c:594 backup/basebackup_server.c:149 #: backup/basebackup_server.c:242 commands/dbcommands.c:494 -#: postmaster/postmaster.c:4610 postmaster/postmaster.c:5624 +#: postmaster/postmaster.c:4596 postmaster/postmaster.c:5610 #: replication/logical/origin.c:587 replication/slot.c:1691 #: storage/file/copydir.c:167 storage/smgr/md.c:222 utils/time/snapmgr.c:1261 #, c-format @@ -1287,7 +1287,7 @@ #: access/transam/timeline.c:424 access/transam/timeline.c:498 #: access/transam/xlog.c:3039 access/transam/xlog.c:3236 #: access/transam/xlog.c:3977 commands/dbcommands.c:506 -#: postmaster/postmaster.c:4620 postmaster/postmaster.c:4630 +#: postmaster/postmaster.c:4606 postmaster/postmaster.c:4616 #: replication/logical/origin.c:599 replication/logical/origin.c:641 #: replication/logical/origin.c:660 replication/logical/snapbuild.c:1804 #: replication/slot.c:1727 storage/file/buffile.c:537 @@ -1301,7 +1301,7 @@ #: access/heap/rewriteheap.c:1249 access/transam/twophase.c:1713 #: access/transam/xlogarchive.c:119 access/transam/xlogarchive.c:436 -#: postmaster/postmaster.c:1159 postmaster/syslogger.c:1537 +#: postmaster/postmaster.c:1160 postmaster/syslogger.c:1537 #: replication/logical/origin.c:575 replication/logical/reorderbuffer.c:4567 #: replication/logical/snapbuild.c:1749 replication/logical/snapbuild.c:2169 #: replication/slot.c:1830 storage/file/fd.c:792 storage/file/fd.c:3260 @@ -1625,7 +1625,7 @@ msgstr "Возможно, это вызвано переменной природой индексного выражения." #: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:608 -#: parser/parse_utilcmd.c:2377 +#: parser/parse_utilcmd.c:2381 #, c-format msgid "index \"%s\" is not a btree" msgstr "индекс \"%s\" не является b-деревом" @@ -1782,7 +1782,7 @@ msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Убедитесь, что в конфигурации установлен параметр \"%s\"." -#: access/transam/multixact.c:1106 +#: access/transam/multixact.c:1155 #, c-format msgid "" "database is not accepting commands that generate new MultiXactIds to avoid " @@ -1791,8 +1791,8 @@ "база данных не принимает команды, создающие новые MultiXactId, во избежание " "потери данных из-за зацикливания в базе данных \"%s\"" -#: access/transam/multixact.c:1108 access/transam/multixact.c:1115 -#: access/transam/multixact.c:1139 access/transam/multixact.c:1148 +#: access/transam/multixact.c:1157 access/transam/multixact.c:1164 +#: access/transam/multixact.c:1188 access/transam/multixact.c:1197 #, c-format msgid "" "Execute a database-wide VACUUM in that database.\n" @@ -1803,7 +1803,7 @@ "Возможно, вам также придётся зафиксировать или откатить старые " "подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: access/transam/multixact.c:1113 +#: access/transam/multixact.c:1162 #, c-format msgid "" "database is not accepting commands that generate new MultiXactIds to avoid " @@ -1812,7 +1812,7 @@ "база данных не принимает команды, создающие новые MultiXactId, во избежание " "потери данных из-за зацикливания в базе данных с OID %u" -#: access/transam/multixact.c:1134 access/transam/multixact.c:2421 +#: access/transam/multixact.c:1183 access/transam/multixact.c:2470 #, c-format msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used" msgid_plural "" @@ -1827,7 +1827,7 @@ "база данных \"%s\" должна быть очищена, прежде чем будут использованы " "оставшиеся MultiXactId (%u)" -#: access/transam/multixact.c:1143 access/transam/multixact.c:2430 +#: access/transam/multixact.c:1192 access/transam/multixact.c:2479 #, c-format msgid "" "database with OID %u must be vacuumed before %u more MultiXactId is used" @@ -1843,12 +1843,12 @@ "база данных с OID %u должна быть очищена, прежде чем будут использованы " "оставшиеся MultiXactId (%u)" -#: access/transam/multixact.c:1207 +#: access/transam/multixact.c:1256 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "слишком много членов мультитранзакции" -#: access/transam/multixact.c:1208 +#: access/transam/multixact.c:1257 #, c-format msgid "" "This command would create a multixact with %u members, but the remaining " @@ -1866,7 +1866,7 @@ "Мультитранзакция, создаваемая этой командой, должна включать членов: %u, но " "оставшегося места хватает только для %u." -#: access/transam/multixact.c:1213 +#: access/transam/multixact.c:1262 #, c-format msgid "" "Execute a database-wide VACUUM in database with OID %u with reduced " @@ -1876,7 +1876,7 @@ "Выполните очистку (VACUUM) всей базы данных с OID %u, уменьшив значения " "vacuum_multixact_freeze_min_age и vacuum_multixact_freeze_table_age." -#: access/transam/multixact.c:1244 +#: access/transam/multixact.c:1293 #, c-format msgid "" "database with OID %u must be vacuumed before %d more multixact member is used" @@ -1893,7 +1893,7 @@ "база данных с OID %u должна быть очищена, пока не использованы оставшиеся " "члены мультитранзакций (%d)" -#: access/transam/multixact.c:1249 +#: access/transam/multixact.c:1298 #, c-format msgid "" "Execute a database-wide VACUUM in that database with reduced " @@ -1903,22 +1903,22 @@ "Выполните очистку (VACUUM) всей этой базы данных, уменьшив значения " "vacuum_multixact_freeze_min_age и vacuum_multixact_freeze_table_age." -#: access/transam/multixact.c:1388 +#: access/transam/multixact.c:1437 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "MultiXactId %u прекратил существование: видимо, произошло зацикливание" -#: access/transam/multixact.c:1394 +#: access/transam/multixact.c:1443 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %u ещё не был создан: видимо, произошло зацикливание" -#: access/transam/multixact.c:1469 +#: access/transam/multixact.c:1518 #, c-format msgid "MultiXact %u has invalid next offset" msgstr "для мультитранзакции %u получено некорректное следующее смещение" -#: access/transam/multixact.c:2426 access/transam/multixact.c:2435 +#: access/transam/multixact.c:2475 access/transam/multixact.c:2484 #: access/transam/varsup.c:151 access/transam/varsup.c:158 #: access/transam/varsup.c:466 access/transam/varsup.c:473 #, c-format @@ -1932,7 +1932,7 @@ "Возможно, вам также придётся зафиксировать или откатить старые " "подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: access/transam/multixact.c:2709 +#: access/transam/multixact.c:2758 #, c-format msgid "" "MultiXact member wraparound protections are disabled because oldest " @@ -1941,12 +1941,12 @@ "Защита от зацикливания членов мультитранзакций отключена, так как старейшая " "отмеченная мультитранзакция %u не найдена на диске" -#: access/transam/multixact.c:2731 +#: access/transam/multixact.c:2780 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "Защита от зацикливания мультитранзакций сейчас включена" -#: access/transam/multixact.c:3125 +#: access/transam/multixact.c:3174 #, c-format msgid "" "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" @@ -1954,7 +1954,7 @@ "старейшая мультитранзакция %u не найдена, новейшая мультитранзакция: %u, " "усечение пропускается" -#: access/transam/multixact.c:3143 +#: access/transam/multixact.c:3192 #, c-format msgid "" "cannot truncate up to MultiXact %u because it does not exist on disk, " @@ -1963,7 +1963,7 @@ "выполнить усечение до мультитранзакции %u нельзя ввиду её отсутствия на " "диске, усечение пропускается" -#: access/transam/multixact.c:3160 +#: access/transam/multixact.c:3209 #, c-format msgid "" "cannot truncate up to MultiXact %u because it has invalid offset, skipping " @@ -1972,7 +1972,7 @@ "выполнить усечение до мультитранзакции %u нельзя из-за некорректного " "смещения, усечение пропускается" -#: access/transam/multixact.c:3489 +#: access/transam/multixact.c:3540 #, c-format msgid "invalid MultiXactId: %u" msgstr "неверный MultiXactId: %u" @@ -2554,7 +2554,7 @@ msgstr "не удалось записать в файл журнала %s (смещение: %u, длина: %zu): %m" #: access/transam/xlog.c:3472 access/transam/xlogutils.c:847 -#: replication/walsender.c:2734 +#: replication/walsender.c:2743 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "запрошенный сегмент WAL %s уже удалён" @@ -4284,18 +4284,18 @@ msgstr "" "для -X требуется число, равное степени двух, в интервале от 1 МБ до 1 ГБ" -#: bootstrap/bootstrap.c:280 postmaster/postmaster.c:846 tcop/postgres.c:3964 +#: bootstrap/bootstrap.c:280 postmaster/postmaster.c:847 tcop/postgres.c:3964 #, c-format msgid "--%s requires a value" msgstr "для --%s требуется значение" -#: bootstrap/bootstrap.c:285 postmaster/postmaster.c:851 tcop/postgres.c:3969 +#: bootstrap/bootstrap.c:285 postmaster/postmaster.c:852 tcop/postgres.c:3969 #, c-format msgid "-c %s requires a value" msgstr "для -c %s требуется значение" -#: bootstrap/bootstrap.c:296 postmaster/postmaster.c:863 -#: postmaster/postmaster.c:876 +#: bootstrap/bootstrap.c:296 postmaster/postmaster.c:864 +#: postmaster/postmaster.c:877 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Для дополнительной информации попробуйте \"%s --help\".\n" @@ -4455,7 +4455,7 @@ msgstr "предложение IN SCHEMA нельзя использовать в GRANT/REVOKE ON SCHEMAS" #: catalog/aclchk.c:1588 catalog/catalog.c:657 catalog/objectaddress.c:1543 -#: catalog/pg_publication.c:510 commands/analyze.c:391 commands/copy.c:816 +#: catalog/pg_publication.c:510 commands/analyze.c:391 commands/copy.c:817 #: commands/sequence.c:1673 commands/tablecmds.c:7376 commands/tablecmds.c:7532 #: commands/tablecmds.c:7582 commands/tablecmds.c:7656 #: commands/tablecmds.c:7726 commands/tablecmds.c:7838 @@ -4467,8 +4467,8 @@ #: commands/tablecmds.c:12793 commands/tablecmds.c:14013 #: commands/tablecmds.c:16583 commands/trigger.c:954 parser/analyze.c:2517 #: parser/parse_relation.c:725 parser/parse_target.c:1077 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3465 -#: parser/parse_utilcmd.c:3501 parser/parse_utilcmd.c:3543 utils/adt/acl.c:2886 +#: parser/parse_type.c:144 parser/parse_utilcmd.c:3469 +#: parser/parse_utilcmd.c:3505 parser/parse_utilcmd.c:3547 utils/adt/acl.c:2886 #: utils/adt/ruleutils.c:2828 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" @@ -5034,7 +5034,7 @@ msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() можно использовать только для системных каталогов" -#: catalog/catalog.c:649 parser/parse_utilcmd.c:2324 +#: catalog/catalog.c:649 parser/parse_utilcmd.c:2328 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "индекс \"%s\" не принадлежит таблице \"%s\"" @@ -5167,23 +5167,23 @@ msgstr "имя столбца \"%s\" указано неоднократно" #. translator: first %s is an integer not a name -#: catalog/heap.c:579 +#: catalog/heap.c:583 #, c-format msgid "partition key column %s has pseudo-type %s" msgstr "столбец \"%s\" ключа разбиения имеет псевдотип %s" -#: catalog/heap.c:584 +#: catalog/heap.c:588 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "столбец \"%s\" имеет псевдотип %s" -#: catalog/heap.c:615 +#: catalog/heap.c:619 #, c-format msgid "composite type %s cannot be made a member of itself" msgstr "составной тип %s не может содержать себя же" #. translator: first %s is an integer not a name -#: catalog/heap.c:670 +#: catalog/heap.c:684 #, c-format msgid "" "no collation was derived for partition key column %s with collatable type %s" @@ -5191,20 +5191,20 @@ "для входящего в ключ разбиения столбца \"%s\" с сортируемым типом %s не " "удалось получить правило сортировки" -#: catalog/heap.c:676 commands/createas.c:203 commands/createas.c:512 +#: catalog/heap.c:690 commands/createas.c:203 commands/createas.c:512 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "" "для столбца \"%s\" с сортируемым типом %s не удалось получить правило " "сортировки" -#: catalog/heap.c:1152 catalog/index.c:875 commands/createas.c:408 +#: catalog/heap.c:1166 catalog/index.c:875 commands/createas.c:408 #: commands/tablecmds.c:3921 #, c-format msgid "relation \"%s\" already exists" msgstr "отношение \"%s\" уже существует" -#: catalog/heap.c:1168 catalog/pg_type.c:436 catalog/pg_type.c:784 +#: catalog/heap.c:1182 catalog/pg_type.c:436 catalog/pg_type.c:784 #: catalog/pg_type.c:931 commands/typecmds.c:249 commands/typecmds.c:261 #: commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395 #: commands/typecmds.c:1575 commands/typecmds.c:2547 @@ -5212,7 +5212,7 @@ msgid "type \"%s\" already exists" msgstr "тип \"%s\" уже существует" -#: catalog/heap.c:1169 +#: catalog/heap.c:1183 #, c-format msgid "" "A relation has an associated type of the same name, so you must use a name " @@ -5221,53 +5221,53 @@ "С отношением уже связан тип с таким же именем; выберите имя, не " "конфликтующее с существующими типами." -#: catalog/heap.c:1209 +#: catalog/heap.c:1223 #, c-format msgid "toast relfilenode value not set when in binary upgrade mode" msgstr "значение relfilenode для TOAST не задано в режиме двоичного обновления" -#: catalog/heap.c:1220 +#: catalog/heap.c:1234 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "значение OID кучи в pg_class не задано в режиме двоичного обновления" -#: catalog/heap.c:1230 +#: catalog/heap.c:1244 #, c-format msgid "relfilenode value not set when in binary upgrade mode" msgstr "значение relfilenode не задано в режиме двоичного обновления" -#: catalog/heap.c:2192 +#: catalog/heap.c:2206 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "" "добавить ограничение NO INHERIT к секционированной таблице \"%s\" нельзя" -#: catalog/heap.c:2462 +#: catalog/heap.c:2476 #, c-format msgid "check constraint \"%s\" already exists" msgstr "ограничение-проверка \"%s\" уже существует" -#: catalog/heap.c:2632 catalog/index.c:889 catalog/pg_constraint.c:690 +#: catalog/heap.c:2646 catalog/index.c:889 catalog/pg_constraint.c:690 #: commands/tablecmds.c:8972 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "ограничение \"%s\" для отношения \"%s\" уже существует" -#: catalog/heap.c:2639 +#: catalog/heap.c:2653 #, c-format msgid "" "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "" "ограничение \"%s\" конфликтует с ненаследуемым ограничением таблицы \"%s\"" -#: catalog/heap.c:2650 +#: catalog/heap.c:2664 #, c-format msgid "" "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "" "ограничение \"%s\" конфликтует с наследуемым ограничением таблицы \"%s\"" -#: catalog/heap.c:2660 +#: catalog/heap.c:2674 #, c-format msgid "" "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" @@ -5275,64 +5275,64 @@ "ограничение \"%s\" конфликтует с непроверенным (NOT VALID) ограничением " "таблицы \"%s\"" -#: catalog/heap.c:2665 +#: catalog/heap.c:2679 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "слияние ограничения \"%s\" с унаследованным определением" -#: catalog/heap.c:2770 +#: catalog/heap.c:2784 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "" "использовать генерируемый столбец \"%s\" в выражении генерируемого столбца " "нельзя" -#: catalog/heap.c:2772 +#: catalog/heap.c:2786 #, c-format msgid "A generated column cannot reference another generated column." msgstr "" "Генерируемый столбец не может ссылаться на другой генерируемый столбец." -#: catalog/heap.c:2778 +#: catalog/heap.c:2792 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "" "в выражении генерируемого столбца нельзя использовать переменные «вся строка»" -#: catalog/heap.c:2779 +#: catalog/heap.c:2793 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "" "Это сделало бы генерируемый столбец зависимым от собственного значения." -#: catalog/heap.c:2834 +#: catalog/heap.c:2848 #, c-format msgid "generation expression is not immutable" msgstr "генерирующее выражение не является постоянным" -#: catalog/heap.c:2862 rewrite/rewriteHandler.c:1288 +#: catalog/heap.c:2876 rewrite/rewriteHandler.c:1322 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "столбец \"%s\" имеет тип %s, но тип выражения по умолчанию %s" -#: catalog/heap.c:2867 commands/prepare.c:334 parser/analyze.c:2741 +#: catalog/heap.c:2881 commands/prepare.c:334 parser/analyze.c:2741 #: parser/parse_target.c:594 parser/parse_target.c:891 -#: parser/parse_target.c:901 rewrite/rewriteHandler.c:1293 +#: parser/parse_target.c:901 rewrite/rewriteHandler.c:1327 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Перепишите выражение или преобразуйте его тип." -#: catalog/heap.c:2914 +#: catalog/heap.c:2928 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "в ограничении-проверке можно ссылаться только на таблицу \"%s\"" -#: catalog/heap.c:3212 +#: catalog/heap.c:3226 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "неподдерживаемое сочетание внешнего ключа с ON COMMIT" -#: catalog/heap.c:3213 +#: catalog/heap.c:3227 #, c-format msgid "" "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT " @@ -5340,23 +5340,23 @@ msgstr "" "Таблица \"%s\" ссылается на \"%s\", и для них задан разный режим ON COMMIT." -#: catalog/heap.c:3218 +#: catalog/heap.c:3232 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "опустошить таблицу, на которую ссылается внешний ключ, нельзя" -#: catalog/heap.c:3219 +#: catalog/heap.c:3233 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "Таблица \"%s\" ссылается на \"%s\"." -#: catalog/heap.c:3221 +#: catalog/heap.c:3235 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "" "Опустошите таблицу \"%s\" параллельно или используйте TRUNCATE ... CASCADE." -#: catalog/index.c:224 parser/parse_utilcmd.c:2229 +#: catalog/index.c:224 parser/parse_utilcmd.c:2233 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "таблица \"%s\" не может иметь несколько первичных ключей" @@ -5660,7 +5660,7 @@ msgstr "сопоставление для пользователя \"%s\" на сервере \"%s\" не существует" #: catalog/objectaddress.c:1854 commands/foreigncmds.c:441 -#: commands/foreigncmds.c:1004 commands/foreigncmds.c:1367 +#: commands/foreigncmds.c:1009 commands/foreigncmds.c:1372 #: foreign/foreign.c:701 #, c-format msgid "server \"%s\" does not exist" @@ -6125,7 +6125,7 @@ msgid "return type of inverse transition function %s is not %s" msgstr "обратная функция перехода %s должна возвращать тип %s" -#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3006 +#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3054 #, c-format msgid "" "strictness of aggregate's forward and inverse transition functions must match" @@ -6963,7 +6963,7 @@ msgid "foreign-data wrapper \"%s\" already exists" msgstr "обёртка сторонних данных \"%s\" уже существует" -#: commands/alter.c:91 commands/foreigncmds.c:895 +#: commands/alter.c:91 commands/foreigncmds.c:900 #, c-format msgid "server \"%s\" already exists" msgstr "сервер \"%s\" уже существует" @@ -7456,179 +7456,179 @@ "для выполнения COPY с записью в файл нужно быть суперпользователем или иметь " "права роли pg_write_server_files" -#: commands/copy.c:175 +#: commands/copy.c:176 #, c-format msgid "generated columns are not supported in COPY FROM WHERE conditions" msgstr "генерируемые столбцы не поддерживаются в условиях COPY FROM WHERE" -#: commands/copy.c:176 commands/tablecmds.c:12461 commands/tablecmds.c:17648 +#: commands/copy.c:177 commands/tablecmds.c:12461 commands/tablecmds.c:17648 #: commands/tablecmds.c:17727 commands/trigger.c:668 -#: rewrite/rewriteHandler.c:939 rewrite/rewriteHandler.c:974 +#: rewrite/rewriteHandler.c:973 rewrite/rewriteHandler.c:1008 #, c-format msgid "Column \"%s\" is a generated column." msgstr "Столбец \"%s\" является генерируемым." -#: commands/copy.c:225 +#: commands/copy.c:226 #, c-format msgid "COPY FROM not supported with row-level security" msgstr "COPY FROM не поддерживается с защитой на уровне строк." -#: commands/copy.c:226 +#: commands/copy.c:227 #, c-format msgid "Use INSERT statements instead." msgstr "Используйте операторы INSERT." -#: commands/copy.c:320 +#: commands/copy.c:321 #, c-format msgid "MERGE not supported in COPY" msgstr "MERGE не поддерживается в COPY" -#: commands/copy.c:413 +#: commands/copy.c:414 #, c-format msgid "cannot use \"%s\" with HEADER in COPY TO" msgstr "использовать \"%s\" с параметром HEADER в COPY TO нельзя" -#: commands/copy.c:422 +#: commands/copy.c:423 #, c-format msgid "%s requires a Boolean value or \"match\"" msgstr "%s требует логическое значение или \"match\"" -#: commands/copy.c:481 +#: commands/copy.c:482 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "формат \"%s\" для COPY не распознан" -#: commands/copy.c:533 commands/copy.c:546 commands/copy.c:559 -#: commands/copy.c:578 +#: commands/copy.c:534 commands/copy.c:547 commands/copy.c:560 +#: commands/copy.c:579 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "аргументом параметра \"%s\" должен быть список имён столбцов" -#: commands/copy.c:590 +#: commands/copy.c:591 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "аргументом параметра \"%s\" должно быть название допустимой кодировки" -#: commands/copy.c:597 commands/dbcommands.c:849 commands/dbcommands.c:2270 +#: commands/copy.c:598 commands/dbcommands.c:849 commands/dbcommands.c:2270 #, c-format msgid "option \"%s\" not recognized" msgstr "параметр \"%s\" не распознан" -#: commands/copy.c:609 +#: commands/copy.c:610 #, c-format msgid "cannot specify DELIMITER in BINARY mode" msgstr "в режиме BINARY нельзя указывать DELIMITER" -#: commands/copy.c:614 +#: commands/copy.c:615 #, c-format msgid "cannot specify NULL in BINARY mode" msgstr "в режиме BINARY нельзя указывать NULL" -#: commands/copy.c:636 +#: commands/copy.c:637 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "разделитель для COPY должен быть однобайтным символом" -#: commands/copy.c:643 +#: commands/copy.c:644 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "" "разделителем для COPY не может быть символ новой строки или возврата каретки" -#: commands/copy.c:649 +#: commands/copy.c:650 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "" "представление NULL для COPY не может включать символ новой строки или " "возврата каретки" -#: commands/copy.c:666 +#: commands/copy.c:667 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "\"%s\" не может быть разделителем для COPY" -#: commands/copy.c:672 +#: commands/copy.c:673 #, c-format msgid "cannot specify HEADER in BINARY mode" msgstr "в режиме BINARY нельзя использовать HEADER" -#: commands/copy.c:678 +#: commands/copy.c:679 #, c-format msgid "COPY quote available only in CSV mode" msgstr "определить кавычки для COPY можно только в режиме CSV" -#: commands/copy.c:683 +#: commands/copy.c:684 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "символ кавычек для COPY должен быть однобайтным" -#: commands/copy.c:688 +#: commands/copy.c:689 #, c-format msgid "COPY delimiter and quote must be different" msgstr "символ кавычек для COPY должен отличаться от разделителя" -#: commands/copy.c:694 +#: commands/copy.c:695 #, c-format msgid "COPY escape available only in CSV mode" msgstr "определить спецсимвол для COPY можно только в режиме CSV" -#: commands/copy.c:699 +#: commands/copy.c:700 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "спецсимвол для COPY должен быть однобайтным" -#: commands/copy.c:705 +#: commands/copy.c:706 #, c-format msgid "COPY force quote available only in CSV mode" msgstr "параметр force quote для COPY можно использовать только в режиме CSV" -#: commands/copy.c:709 +#: commands/copy.c:710 #, c-format msgid "COPY force quote only available using COPY TO" msgstr "параметр force quote для COPY можно использовать только с COPY TO" -#: commands/copy.c:715 +#: commands/copy.c:716 #, c-format msgid "COPY force not null available only in CSV mode" msgstr "" "параметр force not null для COPY можно использовать только в режиме CSV" -#: commands/copy.c:719 +#: commands/copy.c:720 #, c-format msgid "COPY force not null only available using COPY FROM" msgstr "параметр force not null для COPY можно использовать только с COPY FROM" -#: commands/copy.c:725 +#: commands/copy.c:726 #, c-format msgid "COPY force null available only in CSV mode" msgstr "параметр force null для COPY можно использовать только в режиме CSV" -#: commands/copy.c:730 +#: commands/copy.c:731 #, c-format msgid "COPY force null only available using COPY FROM" msgstr "параметр force null для COPY можно использовать только с COPY FROM" -#: commands/copy.c:736 +#: commands/copy.c:737 #, c-format msgid "COPY delimiter must not appear in the NULL specification" msgstr "разделитель для COPY не должен присутствовать в представлении NULL" -#: commands/copy.c:743 +#: commands/copy.c:744 #, c-format msgid "CSV quote character must not appear in the NULL specification" msgstr "символ кавычек в CSV не должен присутствовать в представлении NULL" -#: commands/copy.c:804 +#: commands/copy.c:805 #, c-format msgid "column \"%s\" is a generated column" msgstr "столбец \"%s\" — генерируемый" -#: commands/copy.c:806 +#: commands/copy.c:807 #, c-format msgid "Generated columns cannot be used in COPY." msgstr "Генерируемые столбцы нельзя использовать в COPY." -#: commands/copy.c:821 commands/indexcmds.c:1833 commands/statscmds.c:263 +#: commands/copy.c:822 commands/indexcmds.c:1833 commands/statscmds.c:263 #: commands/tablecmds.c:2393 commands/tablecmds.c:3049 #: commands/tablecmds.c:3558 parser/parse_relation.c:3669 #: parser/parse_relation.c:3689 utils/adt/tsvector_op.c:2692 @@ -7636,7 +7636,7 @@ msgid "column \"%s\" does not exist" msgstr "столбец \"%s\" не существует" -#: commands/copy.c:828 commands/tablecmds.c:2419 commands/trigger.c:963 +#: commands/copy.c:829 commands/tablecmds.c:2419 commands/trigger.c:963 #: parser/parse_target.c:1093 parser/parse_target.c:1104 #, c-format msgid "column \"%s\" specified more than once" @@ -8635,7 +8635,7 @@ msgid "foreign-data wrapper \"%s\" does not exist, skipping" msgstr "обёртка сторонних данных \"%s\" не существует, пропускается" -#: commands/dropcmds.c:453 commands/foreigncmds.c:1371 +#: commands/dropcmds.c:453 commands/foreigncmds.c:1376 #, c-format msgid "server \"%s\" does not exist, skipping" msgstr "сервер \"%s\" не существует, пропускается" @@ -8721,7 +8721,7 @@ msgid "%s can only be called in a table_rewrite event trigger function" msgstr "%s можно вызывать только в событийной триггерной функции table_rewrite" -#: commands/event_trigger.c:1967 +#: commands/event_trigger.c:1970 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%s можно вызывать только в событийной триггерной функции" @@ -9108,7 +9108,7 @@ "при изменении обработчика в обёртке сторонних данных может измениться " "поведение существующих сторонних таблиц" -#: commands/foreigncmds.c:756 +#: commands/foreigncmds.c:761 #, c-format msgid "" "changing the foreign-data wrapper validator can cause the options for " @@ -9117,46 +9117,46 @@ "при изменении функции проверки в обёртке сторонних данных параметры " "зависимых объектов могут стать неверными" -#: commands/foreigncmds.c:887 +#: commands/foreigncmds.c:892 #, c-format msgid "server \"%s\" already exists, skipping" msgstr "сервер \"%s\" уже существует, пропускается" -#: commands/foreigncmds.c:1155 +#: commands/foreigncmds.c:1160 #, c-format msgid "user mapping for \"%s\" already exists for server \"%s\", skipping" msgstr "" "сопоставление пользователя \"%s\" для сервера \"%s\" уже существует, " "пропускается" -#: commands/foreigncmds.c:1165 +#: commands/foreigncmds.c:1170 #, c-format msgid "user mapping for \"%s\" already exists for server \"%s\"" msgstr "сопоставление пользователя \"%s\" для сервера \"%s\" уже существует" -#: commands/foreigncmds.c:1265 commands/foreigncmds.c:1385 +#: commands/foreigncmds.c:1270 commands/foreigncmds.c:1390 #, c-format msgid "user mapping for \"%s\" does not exist for server \"%s\"" msgstr "сопоставление пользователя \"%s\" для сервера \"%s\" не существует" -#: commands/foreigncmds.c:1390 +#: commands/foreigncmds.c:1395 #, c-format msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping" msgstr "" "сопоставление пользователя \"%s\" для сервера \"%s\" не существует, " "пропускается" -#: commands/foreigncmds.c:1518 foreign/foreign.c:400 +#: commands/foreigncmds.c:1523 foreign/foreign.c:400 #, c-format msgid "foreign-data wrapper \"%s\" has no handler" msgstr "обёртка сторонних данных \"%s\" не имеет обработчика" -#: commands/foreigncmds.c:1524 +#: commands/foreigncmds.c:1529 #, c-format msgid "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA" msgstr "обёртка сторонних данных \"%s\" не поддерживает IMPORT FOREIGN SCHEMA" -#: commands/foreigncmds.c:1626 +#: commands/foreigncmds.c:1631 #, c-format msgid "importing foreign table \"%s\"" msgstr "импорт сторонней таблицы \"%s\"" @@ -9673,8 +9673,8 @@ msgid "functions in index predicate must be marked IMMUTABLE" msgstr "функции в предикате индекса должны быть помечены как IMMUTABLE" -#: commands/indexcmds.c:1828 parser/parse_utilcmd.c:2573 -#: parser/parse_utilcmd.c:2708 +#: commands/indexcmds.c:1828 parser/parse_utilcmd.c:2577 +#: parser/parse_utilcmd.c:2712 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "указанный в ключе столбец \"%s\" не существует" @@ -9715,7 +9715,7 @@ msgstr "не удалось определить правило сортировки для индексного выражения" #: commands/indexcmds.c:1969 commands/tablecmds.c:17815 commands/typecmds.c:807 -#: parser/parse_expr.c:2698 parser/parse_type.c:570 parser/parse_utilcmd.c:3823 +#: parser/parse_expr.c:2698 parser/parse_type.c:570 parser/parse_utilcmd.c:3827 #: utils/adt/misc.c:594 #, c-format msgid "collations are not supported by type %s" @@ -10344,8 +10344,8 @@ msgstr "" "для создания дополнительного процедурного языка нужно быть суперпользователем" -#: commands/publicationcmds.c:135 postmaster/postmaster.c:1224 -#: postmaster/postmaster.c:1323 utils/init/miscinit.c:1703 +#: commands/publicationcmds.c:135 postmaster/postmaster.c:1225 +#: postmaster/postmaster.c:1324 utils/init/miscinit.c:1703 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "неверный формат списка в параметре \"%s\"" @@ -11124,7 +11124,7 @@ "представления." #: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:19425 -#: parser/parse_utilcmd.c:2305 +#: parser/parse_utilcmd.c:2309 #, c-format msgid "index \"%s\" does not exist" msgstr "индекс \"%s\" не существует" @@ -11261,8 +11261,8 @@ msgid "cannot inherit from partition \"%s\"" msgstr "наследование от секции \"%s\" не допускается" -#: commands/tablecmds.c:2489 parser/parse_utilcmd.c:2535 -#: parser/parse_utilcmd.c:2677 +#: commands/tablecmds.c:2489 parser/parse_utilcmd.c:2539 +#: parser/parse_utilcmd.c:2681 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "" @@ -12703,29 +12703,29 @@ msgid "partition \"%s\" was removed concurrently" msgstr "секция \"%s\" была параллельно удалена" -#: commands/tablecmds.c:19459 commands/tablecmds.c:19479 -#: commands/tablecmds.c:19499 commands/tablecmds.c:19518 -#: commands/tablecmds.c:19560 +#: commands/tablecmds.c:19462 commands/tablecmds.c:19482 +#: commands/tablecmds.c:19502 commands/tablecmds.c:19521 +#: commands/tablecmds.c:19571 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "нельзя присоединить индекс \"%s\" в качестве секции индекса \"%s\"" -#: commands/tablecmds.c:19462 +#: commands/tablecmds.c:19465 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Индекс \"%s\" уже присоединён к другому индексу." -#: commands/tablecmds.c:19482 +#: commands/tablecmds.c:19485 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Индекс \"%s\" не является индексом какой-либо секции таблицы \"%s\"." -#: commands/tablecmds.c:19502 +#: commands/tablecmds.c:19505 #, c-format msgid "The index definitions do not match." msgstr "Определения индексов не совпадают." -#: commands/tablecmds.c:19521 +#: commands/tablecmds.c:19524 #, c-format msgid "" "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint " @@ -12734,17 +12734,17 @@ "Индекс \"%s\" принадлежит ограничению в таблице \"%s\", но для индекса " "\"%s\" ограничения нет." -#: commands/tablecmds.c:19563 +#: commands/tablecmds.c:19574 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "К секции \"%s\" уже присоединён другой индекс." -#: commands/tablecmds.c:19800 +#: commands/tablecmds.c:19811 #, c-format msgid "column data type %s does not support compression" msgstr "тим данных столбца %s не поддерживает сжатие" -#: commands/tablecmds.c:19807 +#: commands/tablecmds.c:19818 #, c-format msgid "invalid compression method \"%s\"" msgstr "неверный метод сжатия \"%s\"" @@ -13161,7 +13161,7 @@ #: commands/trigger.c:3472 executor/nodeModifyTable.c:1543 #: executor/nodeModifyTable.c:1617 executor/nodeModifyTable.c:2384 #: executor/nodeModifyTable.c:2475 executor/nodeModifyTable.c:3027 -#: executor/nodeModifyTable.c:3166 +#: executor/nodeModifyTable.c:3171 #, c-format msgid "" "Consider using an AFTER trigger instead of a BEFORE trigger to propagate " @@ -13173,7 +13173,7 @@ #: commands/trigger.c:3513 executor/nodeLockRows.c:229 #: executor/nodeLockRows.c:238 executor/nodeModifyTable.c:337 #: executor/nodeModifyTable.c:1559 executor/nodeModifyTable.c:2401 -#: executor/nodeModifyTable.c:2625 +#: executor/nodeModifyTable.c:2625 executor/nodeModifyTable.c:3064 #, c-format msgid "could not serialize access due to concurrent update" msgstr "не удалось сериализовать доступ из-за параллельного изменения" @@ -14320,7 +14320,7 @@ msgstr "" "для курсора \"%s\" не выполняется обновляемое сканирование таблицы \"%s\"" -#: executor/execCurrent.c:280 executor/execExprInterp.c:2466 +#: executor/execCurrent.c:280 executor/execExprInterp.c:2474 #, c-format msgid "" "type of parameter %d (%s) does not match that when preparing the plan (%s)" @@ -14328,14 +14328,14 @@ "тип параметра %d (%s) не соответствует тому, с которым подготавливался план " "(%s)" -#: executor/execCurrent.c:292 executor/execExprInterp.c:2478 +#: executor/execCurrent.c:292 executor/execExprInterp.c:2486 #, c-format msgid "no value found for parameter %d" msgstr "не найдено значение параметра %d" #: executor/execExpr.c:636 executor/execExpr.c:643 executor/execExpr.c:649 -#: executor/execExprInterp.c:4074 executor/execExprInterp.c:4091 -#: executor/execExprInterp.c:4190 executor/nodeModifyTable.c:206 +#: executor/execExprInterp.c:4145 executor/execExprInterp.c:4162 +#: executor/execExprInterp.c:4261 executor/nodeModifyTable.c:206 #: executor/nodeModifyTable.c:225 executor/nodeModifyTable.c:242 #: executor/nodeModifyTable.c:252 executor/nodeModifyTable.c:262 #, c-format @@ -14353,7 +14353,7 @@ msgstr "" "Запрос выдаёт значение для удалённого столбца (с порядковым номером %d)." -#: executor/execExpr.c:650 executor/execExprInterp.c:4092 +#: executor/execExpr.c:650 executor/execExprInterp.c:4163 #: executor/nodeModifyTable.c:253 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." @@ -14404,23 +14404,23 @@ msgid "type %s does not support subscripted assignment" msgstr "тип %s не поддерживает изменение элемента по индексу" -#: executor/execExprInterp.c:1930 +#: executor/execExprInterp.c:1938 #, c-format msgid "attribute %d of type %s has been dropped" msgstr "атрибут %d типа %s был удалён" -#: executor/execExprInterp.c:1936 +#: executor/execExprInterp.c:1944 #, c-format msgid "attribute %d of type %s has wrong type" msgstr "атрибут %d типа %s имеет неправильный тип" -#: executor/execExprInterp.c:1938 executor/execExprInterp.c:3072 -#: executor/execExprInterp.c:3118 +#: executor/execExprInterp.c:1946 executor/execExprInterp.c:3080 +#: executor/execExprInterp.c:3126 #, c-format msgid "Table has type %s, but query expects %s." msgstr "В таблице задан тип %s, а в запросе ожидается %s." -#: executor/execExprInterp.c:2018 utils/adt/expandedrecord.c:99 +#: executor/execExprInterp.c:2026 utils/adt/expandedrecord.c:99 #: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749 #: utils/cache/typcache.c:1908 utils/cache/typcache.c:2055 #: utils/fmgr/funcapi.c:578 @@ -14428,17 +14428,17 @@ msgid "type %s is not composite" msgstr "тип %s не является составным" -#: executor/execExprInterp.c:2556 +#: executor/execExprInterp.c:2564 #, c-format msgid "WHERE CURRENT OF is not supported for this table type" msgstr "WHERE CURRENT OF для таблиц такого типа не поддерживается" -#: executor/execExprInterp.c:2769 +#: executor/execExprInterp.c:2777 #, c-format msgid "cannot merge incompatible arrays" msgstr "не удалось объединить несовместимые массивы" -#: executor/execExprInterp.c:2770 +#: executor/execExprInterp.c:2778 #, c-format msgid "" "Array with element type %s cannot be included in ARRAY construct with " @@ -14447,7 +14447,7 @@ "Массив с типом элементов %s нельзя включить в конструкцию ARRAY с типом " "элементов %s." -#: executor/execExprInterp.c:2791 utils/adt/arrayfuncs.c:264 +#: executor/execExprInterp.c:2799 utils/adt/arrayfuncs.c:264 #: utils/adt/arrayfuncs.c:564 utils/adt/arrayfuncs.c:1306 #: utils/adt/arrayfuncs.c:3515 utils/adt/arrayfuncs.c:5587 #: utils/adt/arrayfuncs.c:6106 utils/adt/arraysubs.c:150 @@ -14456,7 +14456,7 @@ msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" msgstr "число размерностей массива (%d) превышает предел (%d)" -#: executor/execExprInterp.c:2811 executor/execExprInterp.c:2846 +#: executor/execExprInterp.c:2819 executor/execExprInterp.c:2854 #, c-format msgid "" "multidimensional arrays must have array expressions with matching dimensions" @@ -14464,7 +14464,7 @@ "для многомерных массивов должны задаваться выражения с соответствующими " "размерностями" -#: executor/execExprInterp.c:2823 utils/adt/array_expanded.c:274 +#: executor/execExprInterp.c:2831 utils/adt/array_expanded.c:274 #: utils/adt/arrayfuncs.c:937 utils/adt/arrayfuncs.c:1545 #: utils/adt/arrayfuncs.c:2353 utils/adt/arrayfuncs.c:2368 #: utils/adt/arrayfuncs.c:2630 utils/adt/arrayfuncs.c:2646 @@ -14477,22 +14477,22 @@ msgid "array size exceeds the maximum allowed (%d)" msgstr "размер массива превышает предел (%d)" -#: executor/execExprInterp.c:3071 executor/execExprInterp.c:3117 +#: executor/execExprInterp.c:3079 executor/execExprInterp.c:3125 #, c-format msgid "attribute %d has wrong type" msgstr "атрибут %d имеет неверный тип" -#: executor/execExprInterp.c:3703 utils/adt/domains.c:149 +#: executor/execExprInterp.c:3774 utils/adt/domains.c:149 #, c-format msgid "domain %s does not allow null values" msgstr "домен %s не допускает значения null" -#: executor/execExprInterp.c:3718 utils/adt/domains.c:184 +#: executor/execExprInterp.c:3789 utils/adt/domains.c:184 #, c-format msgid "value for domain %s violates check constraint \"%s\"" msgstr "значение домена %s нарушает ограничение-проверку \"%s\"" -#: executor/execExprInterp.c:4075 +#: executor/execExprInterp.c:4146 #, c-format msgid "Table row contains %d attribute, but query expects %d." msgid_plural "Table row contains %d attributes, but query expects %d." @@ -14500,7 +14500,7 @@ msgstr[1] "Строка таблицы содержит %d атрибута, а в запросе ожидается %d." msgstr[2] "Строка таблицы содержит %d атрибутов, а в запросе ожидается %d." -#: executor/execExprInterp.c:4191 executor/execSRF.c:977 +#: executor/execExprInterp.c:4262 executor/execSRF.c:977 #, c-format msgid "Physical storage mismatch on dropped attribute at ordinal position %d." msgstr "" @@ -14556,14 +14556,14 @@ msgid "cannot change TOAST relation \"%s\"" msgstr "TOAST-отношение \"%s\" изменить нельзя" -#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3152 -#: rewrite/rewriteHandler.c:4057 +#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3217 +#: rewrite/rewriteHandler.c:4122 #, c-format msgid "cannot insert into view \"%s\"" msgstr "вставить данные в представление \"%s\" нельзя" -#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3155 -#: rewrite/rewriteHandler.c:4060 +#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3220 +#: rewrite/rewriteHandler.c:4125 #, c-format msgid "" "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or " @@ -14572,14 +14572,14 @@ "Чтобы представление допускало добавление данных, установите триггер INSTEAD " "OF INSERT или безусловное правило ON INSERT DO INSTEAD." -#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3160 -#: rewrite/rewriteHandler.c:4065 +#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3225 +#: rewrite/rewriteHandler.c:4130 #, c-format msgid "cannot update view \"%s\"" msgstr "изменить данные в представлении \"%s\" нельзя" -#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3163 -#: rewrite/rewriteHandler.c:4068 +#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3228 +#: rewrite/rewriteHandler.c:4133 #, c-format msgid "" "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an " @@ -14588,14 +14588,14 @@ "Чтобы представление допускало изменение данных, установите триггер INSTEAD " "OF UPDATE или безусловное правило ON UPDATE DO INSTEAD." -#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3168 -#: rewrite/rewriteHandler.c:4073 +#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3233 +#: rewrite/rewriteHandler.c:4138 #, c-format msgid "cannot delete from view \"%s\"" msgstr "удалить данные из представления \"%s\" нельзя" -#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3171 -#: rewrite/rewriteHandler.c:4076 +#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3236 +#: rewrite/rewriteHandler.c:4141 #, c-format msgid "" "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an " @@ -15006,7 +15006,7 @@ msgid "return type %s is not supported for SQL functions" msgstr "для SQL-функций тип возврата %s не поддерживается" -#: executor/nodeAgg.c:3922 executor/nodeWindowAgg.c:2990 +#: executor/nodeAgg.c:3922 executor/nodeWindowAgg.c:3038 #, c-format msgid "aggregate %u needs to have compatible input type and transition type" msgstr "" @@ -15122,7 +15122,7 @@ #. translator: %s is a SQL command name #: executor/nodeModifyTable.c:2603 executor/nodeModifyTable.c:3033 -#: executor/nodeModifyTable.c:3172 +#: executor/nodeModifyTable.c:3177 #, c-format msgid "%s command cannot affect row a second time" msgstr "команда %s не может подействовать на строку дважды" @@ -15136,7 +15136,7 @@ "Проверьте, не содержат ли строки, которые должна добавить команда, " "дублирующиеся значения, подпадающие под ограничения." -#: executor/nodeModifyTable.c:3026 executor/nodeModifyTable.c:3165 +#: executor/nodeModifyTable.c:3026 executor/nodeModifyTable.c:3170 #, c-format msgid "" "tuple to be updated or deleted was already modified by an operation " @@ -15145,14 +15145,14 @@ "кортеж, который должен быть изменён или удалён, уже модифицирован в " "операции, вызванной текущей командой" -#: executor/nodeModifyTable.c:3035 executor/nodeModifyTable.c:3174 +#: executor/nodeModifyTable.c:3035 executor/nodeModifyTable.c:3179 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "" "Проверьте, не может ли какой-либо целевой строке соответствовать более одной " "исходной строки." -#: executor/nodeModifyTable.c:3124 +#: executor/nodeModifyTable.c:3129 #, c-format msgid "" "tuple to be deleted was already moved to another partition due to concurrent " @@ -15202,32 +15202,32 @@ msgid "null is not allowed in column \"%s\"" msgstr "в столбце \"%s\" не допускается NULL" -#: executor/nodeWindowAgg.c:356 +#: executor/nodeWindowAgg.c:357 #, c-format msgid "moving-aggregate transition function must not return null" msgstr "функция перехода движимого агрегата не должна возвращать NULL" -#: executor/nodeWindowAgg.c:2081 +#: executor/nodeWindowAgg.c:2129 #, c-format msgid "frame starting offset must not be null" msgstr "смещение начала рамки не может быть NULL" -#: executor/nodeWindowAgg.c:2094 +#: executor/nodeWindowAgg.c:2142 #, c-format msgid "frame starting offset must not be negative" msgstr "смещение начала рамки не может быть отрицательным" -#: executor/nodeWindowAgg.c:2106 +#: executor/nodeWindowAgg.c:2154 #, c-format msgid "frame ending offset must not be null" msgstr "смещение конца рамки не может быть NULL" -#: executor/nodeWindowAgg.c:2119 +#: executor/nodeWindowAgg.c:2167 #, c-format msgid "frame ending offset must not be negative" msgstr "смещение конца рамки не может быть отрицательным" -#: executor/nodeWindowAgg.c:2906 +#: executor/nodeWindowAgg.c:2954 #, c-format msgid "aggregate function %s does not support use as a window function" msgstr "" @@ -17470,7 +17470,7 @@ msgid "ExtensibleNodeMethods \"%s\" was not registered" msgstr "методы расширенного узла \"%s\" не зарегистрированы" -#: nodes/makefuncs.c:150 nodes/makefuncs.c:176 statistics/extended_stats.c:2316 +#: nodes/makefuncs.c:150 nodes/makefuncs.c:176 statistics/extended_stats.c:2326 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "отношение \"%s\" не имеет составного типа" @@ -20112,68 +20112,68 @@ msgid "Index \"%s\" contains a whole-row table reference." msgstr "Индекс \"%s\" ссылается на тип всей строки таблицы." -#: parser/parse_utilcmd.c:2296 +#: parser/parse_utilcmd.c:2300 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "в CREATE TABLE нельзя использовать существующий индекс" -#: parser/parse_utilcmd.c:2316 +#: parser/parse_utilcmd.c:2320 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "индекс \"%s\" уже связан с ограничением" -#: parser/parse_utilcmd.c:2337 +#: parser/parse_utilcmd.c:2341 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\" не является уникальным индексом" -#: parser/parse_utilcmd.c:2338 parser/parse_utilcmd.c:2345 -#: parser/parse_utilcmd.c:2352 parser/parse_utilcmd.c:2429 +#: parser/parse_utilcmd.c:2342 parser/parse_utilcmd.c:2349 +#: parser/parse_utilcmd.c:2356 parser/parse_utilcmd.c:2433 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "" "Создать первичный ключ или ограничение уникальности для такого индекса " "нельзя." -#: parser/parse_utilcmd.c:2344 +#: parser/parse_utilcmd.c:2348 #, c-format msgid "index \"%s\" contains expressions" msgstr "индекс \"%s\" содержит выражения" -#: parser/parse_utilcmd.c:2351 +#: parser/parse_utilcmd.c:2355 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" - частичный индекс" -#: parser/parse_utilcmd.c:2363 +#: parser/parse_utilcmd.c:2367 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" - откладываемый индекс" -#: parser/parse_utilcmd.c:2364 +#: parser/parse_utilcmd.c:2368 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "" "Создать не откладываемое ограничение на базе откладываемого индекса нельзя." -#: parser/parse_utilcmd.c:2428 +#: parser/parse_utilcmd.c:2432 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "" "в индексе \"%s\" для столбца номер %d не определено поведение сортировки по " "умолчанию" -#: parser/parse_utilcmd.c:2585 +#: parser/parse_utilcmd.c:2589 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "столбец \"%s\" фигурирует в первичном ключе дважды" -#: parser/parse_utilcmd.c:2591 +#: parser/parse_utilcmd.c:2595 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "столбец \"%s\" фигурирует в ограничении уникальности дважды" -#: parser/parse_utilcmd.c:2925 +#: parser/parse_utilcmd.c:2929 #, c-format msgid "" "index expressions and predicates can refer only to the table being indexed" @@ -20181,22 +20181,22 @@ "индексные выражения и предикаты могут ссылаться только на индексируемую " "таблицу" -#: parser/parse_utilcmd.c:2997 +#: parser/parse_utilcmd.c:3001 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "выражения статистики могут ссылаться только на целевую таблицу" -#: parser/parse_utilcmd.c:3040 +#: parser/parse_utilcmd.c:3044 #, c-format msgid "rules on materialized views are not supported" msgstr "правила для материализованных представлений не поддерживаются" -#: parser/parse_utilcmd.c:3103 +#: parser/parse_utilcmd.c:3107 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "в условиях WHERE для правил нельзя ссылаться на другие отношения" -#: parser/parse_utilcmd.c:3176 +#: parser/parse_utilcmd.c:3180 #, c-format msgid "" "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE " @@ -20205,158 +20205,158 @@ "правила с условиями WHERE могут содержать только действия SELECT, INSERT, " "UPDATE или DELETE" -#: parser/parse_utilcmd.c:3194 parser/parse_utilcmd.c:3295 -#: rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1022 +#: parser/parse_utilcmd.c:3198 parser/parse_utilcmd.c:3299 +#: rewrite/rewriteHandler.c:540 rewrite/rewriteManip.c:1022 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "условные операторы UNION/INTERSECT/EXCEPT не реализованы" -#: parser/parse_utilcmd.c:3212 +#: parser/parse_utilcmd.c:3216 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "в правиле ON SELECT нельзя использовать OLD" -#: parser/parse_utilcmd.c:3216 +#: parser/parse_utilcmd.c:3220 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "в правиле ON SELECT нельзя использовать NEW" -#: parser/parse_utilcmd.c:3225 +#: parser/parse_utilcmd.c:3229 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "в правиле ON INSERT нельзя использовать OLD" -#: parser/parse_utilcmd.c:3231 +#: parser/parse_utilcmd.c:3235 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "в правиле ON DELETE нельзя использовать NEW" -#: parser/parse_utilcmd.c:3259 +#: parser/parse_utilcmd.c:3263 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "в запросе WITH нельзя ссылаться на OLD" -#: parser/parse_utilcmd.c:3266 +#: parser/parse_utilcmd.c:3270 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "в запросе WITH нельзя ссылаться на NEW" -#: parser/parse_utilcmd.c:3716 +#: parser/parse_utilcmd.c:3720 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "предложение DEFERRABLE расположено неправильно" -#: parser/parse_utilcmd.c:3721 parser/parse_utilcmd.c:3736 +#: parser/parse_utilcmd.c:3725 parser/parse_utilcmd.c:3740 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "DEFERRABLE/NOT DEFERRABLE можно указать только один раз" -#: parser/parse_utilcmd.c:3731 +#: parser/parse_utilcmd.c:3735 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "предложение NOT DEFERRABLE расположено неправильно" -#: parser/parse_utilcmd.c:3744 parser/parse_utilcmd.c:3770 gram.y:5944 +#: parser/parse_utilcmd.c:3748 parser/parse_utilcmd.c:3774 gram.y:5944 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "" "ограничение со свойством INITIALLY DEFERRED должно быть объявлено как " "DEFERRABLE" -#: parser/parse_utilcmd.c:3752 +#: parser/parse_utilcmd.c:3756 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "предложение INITIALLY DEFERRED расположено неправильно" -#: parser/parse_utilcmd.c:3757 parser/parse_utilcmd.c:3783 +#: parser/parse_utilcmd.c:3761 parser/parse_utilcmd.c:3787 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "INITIALLY IMMEDIATE/DEFERRED можно указать только один раз" -#: parser/parse_utilcmd.c:3778 +#: parser/parse_utilcmd.c:3782 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "предложение INITIALLY IMMEDIATE расположено неправильно" -#: parser/parse_utilcmd.c:3971 +#: parser/parse_utilcmd.c:3975 #, c-format msgid "" "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "в CREATE указана схема (%s), отличная от создаваемой (%s)" -#: parser/parse_utilcmd.c:4006 +#: parser/parse_utilcmd.c:4010 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "\"%s\" — не секционированная таблица" -#: parser/parse_utilcmd.c:4013 +#: parser/parse_utilcmd.c:4017 #, c-format msgid "table \"%s\" is not partitioned" msgstr "таблица \"%s\" не является секционированной" -#: parser/parse_utilcmd.c:4020 +#: parser/parse_utilcmd.c:4024 #, c-format msgid "index \"%s\" is not partitioned" msgstr "индекс \"%s\" не секционирован" -#: parser/parse_utilcmd.c:4060 +#: parser/parse_utilcmd.c:4064 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "у секционированной по хешу таблицы не может быть секции по умолчанию" -#: parser/parse_utilcmd.c:4077 +#: parser/parse_utilcmd.c:4081 #, c-format msgid "invalid bound specification for a hash partition" msgstr "неправильное указание ограничения для хеш-секции" -#: parser/parse_utilcmd.c:4083 partitioning/partbounds.c:4824 +#: parser/parse_utilcmd.c:4087 partitioning/partbounds.c:4824 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "модуль для хеш-секции должен быть положительным целым" -#: parser/parse_utilcmd.c:4090 partitioning/partbounds.c:4832 +#: parser/parse_utilcmd.c:4094 partitioning/partbounds.c:4832 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "остаток для хеш-секции должен быть меньше модуля" -#: parser/parse_utilcmd.c:4103 +#: parser/parse_utilcmd.c:4107 #, c-format msgid "invalid bound specification for a list partition" msgstr "неправильное указание ограничения для секции по списку" -#: parser/parse_utilcmd.c:4156 +#: parser/parse_utilcmd.c:4160 #, c-format msgid "invalid bound specification for a range partition" msgstr "неправильное указание ограничения для секции по диапазону" -#: parser/parse_utilcmd.c:4162 +#: parser/parse_utilcmd.c:4166 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "" "во FROM должно указываться ровно одно значение для секционирующего столбца" -#: parser/parse_utilcmd.c:4166 +#: parser/parse_utilcmd.c:4170 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "" "в TO должно указываться ровно одно значение для секционирующего столбца" -#: parser/parse_utilcmd.c:4282 +#: parser/parse_utilcmd.c:4286 #, c-format msgid "cannot specify NULL in range bound" msgstr "указать NULL в диапазонном ограничении нельзя" -#: parser/parse_utilcmd.c:4330 +#: parser/parse_utilcmd.c:4334 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "за границей MAXVALUE могут следовать только границы MAXVALUE" -#: parser/parse_utilcmd.c:4337 +#: parser/parse_utilcmd.c:4341 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "за границей MINVALUE могут следовать только границы MINVALUE" -#: parser/parse_utilcmd.c:4380 +#: parser/parse_utilcmd.c:4384 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "указанное значение нельзя привести к типу %s столбца \"%s\"" @@ -20962,22 +20962,22 @@ msgid "archive modules must register an archive callback" msgstr "модули архивирования должны регистрировать обработчик вызова архивации" -#: postmaster/postmaster.c:744 +#: postmaster/postmaster.c:745 #, c-format msgid "%s: invalid argument for option -f: \"%s\"\n" msgstr "%s: неверный аргумент для параметра -f: \"%s\"\n" -#: postmaster/postmaster.c:823 +#: postmaster/postmaster.c:824 #, c-format msgid "%s: invalid argument for option -t: \"%s\"\n" msgstr "%s: неверный аргумент для параметра -t: \"%s\"\n" -#: postmaster/postmaster.c:874 +#: postmaster/postmaster.c:875 #, c-format msgid "%s: invalid argument: \"%s\"\n" msgstr "%s: неверный аргумент: \"%s\"\n" -#: postmaster/postmaster.c:942 +#: postmaster/postmaster.c:943 #, c-format msgid "" "%s: superuser_reserved_connections (%d) must be less than max_connections " @@ -20986,12 +20986,12 @@ "%s: значение superuser_reserved_connections (%d) должно быть меньше " "max_connections (%d)\n" -#: postmaster/postmaster.c:949 +#: postmaster/postmaster.c:950 #, c-format msgid "WAL archival cannot be enabled when wal_level is \"minimal\"" msgstr "Архивацию WAL нельзя включить, если установлен wal_level \"minimal\"" -#: postmaster/postmaster.c:952 +#: postmaster/postmaster.c:953 #, c-format msgid "" "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or " @@ -21000,97 +21000,97 @@ "Для потоковой трансляции WAL (max_wal_senders > 0) wal_level должен быть " "\"replica\" или \"logical\"" -#: postmaster/postmaster.c:960 +#: postmaster/postmaster.c:961 #, c-format msgid "%s: invalid datetoken tables, please fix\n" msgstr "%s: ошибка в таблицах маркеров времени, требуется исправление\n" -#: postmaster/postmaster.c:1115 +#: postmaster/postmaster.c:1116 #, c-format msgid "could not create I/O completion port for child queue" msgstr "не удалось создать порт завершения ввода/вывода для очереди потомков" -#: postmaster/postmaster.c:1191 +#: postmaster/postmaster.c:1192 #, c-format msgid "ending log output to stderr" msgstr "завершение вывода в stderr" -#: postmaster/postmaster.c:1192 +#: postmaster/postmaster.c:1193 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "В дальнейшем протокол будет выводиться в \"%s\"." -#: postmaster/postmaster.c:1203 +#: postmaster/postmaster.c:1204 #, c-format msgid "starting %s" msgstr "запускается %s" -#: postmaster/postmaster.c:1255 +#: postmaster/postmaster.c:1256 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "не удалось создать принимающий сокет для \"%s\"" -#: postmaster/postmaster.c:1261 +#: postmaster/postmaster.c:1262 #, c-format msgid "could not create any TCP/IP sockets" msgstr "не удалось создать сокеты TCP/IP" -#: postmaster/postmaster.c:1293 +#: postmaster/postmaster.c:1294 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "функция DNSServiceRegister() выдала ошибку с кодом %ld" -#: postmaster/postmaster.c:1345 +#: postmaster/postmaster.c:1346 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "не удалось создать Unix-сокет в каталоге \"%s\"" -#: postmaster/postmaster.c:1351 +#: postmaster/postmaster.c:1352 #, c-format msgid "could not create any Unix-domain sockets" msgstr "ни один Unix-сокет создать не удалось" -#: postmaster/postmaster.c:1363 +#: postmaster/postmaster.c:1364 #, c-format msgid "no socket created for listening" msgstr "отсутствуют принимающие сокеты" -#: postmaster/postmaster.c:1394 +#: postmaster/postmaster.c:1395 #, c-format msgid "%s: could not change permissions of external PID file \"%s\": %s\n" msgstr "%s: не удалось поменять права для внешнего файла PID \"%s\": %s\n" -#: postmaster/postmaster.c:1398 +#: postmaster/postmaster.c:1399 #, c-format msgid "%s: could not write external PID file \"%s\": %s\n" msgstr "%s: не удалось записать внешний файл PID \"%s\": %s\n" -#: postmaster/postmaster.c:1425 utils/init/postinit.c:220 +#: postmaster/postmaster.c:1426 utils/init/postinit.c:220 #, c-format msgid "could not load pg_hba.conf" msgstr "не удалось загрузить pg_hba.conf" -#: postmaster/postmaster.c:1453 +#: postmaster/postmaster.c:1454 #, c-format msgid "postmaster became multithreaded during startup" msgstr "процесс postmaster стал многопоточным при запуске" -#: postmaster/postmaster.c:1454 postmaster/postmaster.c:5114 +#: postmaster/postmaster.c:1455 postmaster/postmaster.c:5100 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "Установите в переменной окружения LC_ALL правильную локаль." -#: postmaster/postmaster.c:1555 +#: postmaster/postmaster.c:1556 #, c-format msgid "%s: could not locate my own executable path" msgstr "%s: не удалось найти путь к собственному исполняемому файлу" -#: postmaster/postmaster.c:1562 +#: postmaster/postmaster.c:1563 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: подходящий исполняемый файл postgres не найден" -#: postmaster/postmaster.c:1585 utils/misc/tzparser.c:340 +#: postmaster/postmaster.c:1586 utils/misc/tzparser.c:340 #, c-format msgid "" "This may indicate an incomplete PostgreSQL installation, or that the file " @@ -21099,7 +21099,7 @@ "Возможно, PostgreSQL установлен не полностью или файла \"%s\" нет в " "положенном месте." -#: postmaster/postmaster.c:1612 +#: postmaster/postmaster.c:1613 #, c-format msgid "" "%s: could not find the database system\n" @@ -21110,45 +21110,45 @@ "Ожидалось найти её в каталоге \"%s\",\n" "но открыть файл \"%s\" не удалось: %s\n" -#: postmaster/postmaster.c:1789 +#: postmaster/postmaster.c:1790 #, c-format msgid "select() failed in postmaster: %m" msgstr "сбой select() в postmaster'е: %m" # well-spelled: неподчиняющимся -#: postmaster/postmaster.c:1920 +#: postmaster/postmaster.c:1921 #, c-format msgid "issuing SIGKILL to recalcitrant children" msgstr "неподчиняющимся потомкам посылается SIGKILL" -#: postmaster/postmaster.c:1941 +#: postmaster/postmaster.c:1942 #, c-format msgid "" "performing immediate shutdown because data directory lock file is invalid" msgstr "" "немедленное отключение из-за ошибочного файла блокировки каталога данных" -#: postmaster/postmaster.c:2044 postmaster/postmaster.c:2072 +#: postmaster/postmaster.c:2045 postmaster/postmaster.c:2073 #, c-format msgid "incomplete startup packet" msgstr "неполный стартовый пакет" -#: postmaster/postmaster.c:2056 postmaster/postmaster.c:2089 +#: postmaster/postmaster.c:2057 postmaster/postmaster.c:2090 #, c-format msgid "invalid length of startup packet" msgstr "неверная длина стартового пакета" -#: postmaster/postmaster.c:2118 +#: postmaster/postmaster.c:2119 #, c-format msgid "failed to send SSL negotiation response: %m" msgstr "не удалось отправить ответ в процессе SSL-согласования: %m" -#: postmaster/postmaster.c:2136 +#: postmaster/postmaster.c:2137 #, c-format msgid "received unencrypted data after SSL request" msgstr "после запроса SSL получены незашифрованные данные" -#: postmaster/postmaster.c:2137 postmaster/postmaster.c:2181 +#: postmaster/postmaster.c:2138 postmaster/postmaster.c:2182 #, c-format msgid "" "This could be either a client-software bug or evidence of an attempted man-" @@ -21157,216 +21157,211 @@ "Это может свидетельствовать об ошибке в клиентском ПО или о попытке атаки " "MITM." -#: postmaster/postmaster.c:2162 +#: postmaster/postmaster.c:2163 #, c-format msgid "failed to send GSSAPI negotiation response: %m" msgstr "не удалось отправить ответ в процессе согласования GSSAPI: %m" -#: postmaster/postmaster.c:2180 +#: postmaster/postmaster.c:2181 #, c-format msgid "received unencrypted data after GSSAPI encryption request" msgstr "после запроса шифрования GSSAPI получены незашифрованные данные" -#: postmaster/postmaster.c:2204 +#: postmaster/postmaster.c:2205 #, c-format msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" msgstr "" "неподдерживаемый протокол клиентского приложения %u.%u; сервер поддерживает " "%u.0 - %u.%u" -#: postmaster/postmaster.c:2268 utils/misc/guc.c:7412 utils/misc/guc.c:7448 +#: postmaster/postmaster.c:2269 utils/misc/guc.c:7412 utils/misc/guc.c:7448 #: utils/misc/guc.c:7518 utils/misc/guc.c:9003 utils/misc/guc.c:12045 #: utils/misc/guc.c:12086 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "неверное значение для параметра \"%s\": \"%s\"" -#: postmaster/postmaster.c:2271 +#: postmaster/postmaster.c:2272 #, c-format msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." msgstr "Допустимые значения: \"false\", 0, \"true\", 1, \"database\"." -#: postmaster/postmaster.c:2316 +#: postmaster/postmaster.c:2317 #, c-format msgid "invalid startup packet layout: expected terminator as last byte" msgstr "" "неверная структура стартового пакета: последним байтом должен быть терминатор" -#: postmaster/postmaster.c:2333 +#: postmaster/postmaster.c:2334 #, c-format msgid "no PostgreSQL user name specified in startup packet" msgstr "в стартовом пакете не указано имя пользователя PostgreSQL" -#: postmaster/postmaster.c:2397 +#: postmaster/postmaster.c:2398 #, c-format msgid "the database system is starting up" msgstr "система баз данных запускается" -#: postmaster/postmaster.c:2403 +#: postmaster/postmaster.c:2404 #, c-format msgid "the database system is not yet accepting connections" msgstr "система БД ещё не принимает подключения" -#: postmaster/postmaster.c:2404 +#: postmaster/postmaster.c:2405 #, c-format msgid "Consistent recovery state has not been yet reached." msgstr "Согласованное состояние восстановления ещё не достигнуто." -#: postmaster/postmaster.c:2408 +#: postmaster/postmaster.c:2409 #, c-format msgid "the database system is not accepting connections" msgstr "система БД не принимает подключения" -#: postmaster/postmaster.c:2409 +#: postmaster/postmaster.c:2410 #, c-format msgid "Hot standby mode is disabled." msgstr "Режим горячего резерва отключён." -#: postmaster/postmaster.c:2414 +#: postmaster/postmaster.c:2415 #, c-format msgid "the database system is shutting down" msgstr "система баз данных останавливается" -#: postmaster/postmaster.c:2419 +#: postmaster/postmaster.c:2420 #, c-format msgid "the database system is in recovery mode" msgstr "система баз данных в режиме восстановления" -#: postmaster/postmaster.c:2424 storage/ipc/procarray.c:493 +#: postmaster/postmaster.c:2425 storage/ipc/procarray.c:493 #: storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:359 #, c-format msgid "sorry, too many clients already" msgstr "извините, уже слишком много клиентов" -#: postmaster/postmaster.c:2511 +#: postmaster/postmaster.c:2512 #, c-format msgid "wrong key in cancel request for process %d" msgstr "неправильный ключ в запросе на отмену процесса %d" -#: postmaster/postmaster.c:2523 +#: postmaster/postmaster.c:2524 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "процесс с кодом %d, полученным в запросе на отмену, не найден" -#: postmaster/postmaster.c:2776 +#: postmaster/postmaster.c:2777 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "получен SIGHUP, файлы конфигурации перезагружаются" #. translator: %s is a configuration file -#: postmaster/postmaster.c:2800 postmaster/postmaster.c:2804 +#: postmaster/postmaster.c:2801 postmaster/postmaster.c:2805 #, c-format msgid "%s was not reloaded" msgstr "%s не был перезагружен" -#: postmaster/postmaster.c:2814 +#: postmaster/postmaster.c:2815 #, c-format msgid "SSL configuration was not reloaded" msgstr "конфигурация SSL не была перезагружена" -#: postmaster/postmaster.c:2870 +#: postmaster/postmaster.c:2871 #, c-format msgid "received smart shutdown request" msgstr "получен запрос на \"вежливое\" выключение" -#: postmaster/postmaster.c:2911 +#: postmaster/postmaster.c:2912 #, c-format msgid "received fast shutdown request" msgstr "получен запрос на быстрое выключение" -#: postmaster/postmaster.c:2929 +#: postmaster/postmaster.c:2930 #, c-format msgid "aborting any active transactions" msgstr "прерывание всех активных транзакций" -#: postmaster/postmaster.c:2953 +#: postmaster/postmaster.c:2954 #, c-format msgid "received immediate shutdown request" msgstr "получен запрос на немедленное выключение" -#: postmaster/postmaster.c:3030 +#: postmaster/postmaster.c:3031 #, c-format msgid "shutdown at recovery target" msgstr "выключение при достижении цели восстановления" -#: postmaster/postmaster.c:3048 postmaster/postmaster.c:3084 +#: postmaster/postmaster.c:3069 msgid "startup process" msgstr "стартовый процесс" -#: postmaster/postmaster.c:3051 -#, c-format -msgid "aborting startup due to startup process failure" -msgstr "прерывание запуска из-за ошибки в стартовом процессе" - -#: postmaster/postmaster.c:3124 +#: postmaster/postmaster.c:3109 #, c-format msgid "database system is ready to accept connections" msgstr "система БД готова принимать подключения" -#: postmaster/postmaster.c:3145 +#: postmaster/postmaster.c:3130 msgid "background writer process" msgstr "процесс фоновой записи" -#: postmaster/postmaster.c:3192 +#: postmaster/postmaster.c:3177 msgid "checkpointer process" msgstr "процесс контрольных точек" -#: postmaster/postmaster.c:3208 +#: postmaster/postmaster.c:3193 msgid "WAL writer process" msgstr "процесс записи WAL" -#: postmaster/postmaster.c:3223 +#: postmaster/postmaster.c:3208 msgid "WAL receiver process" msgstr "процесс считывания WAL" -#: postmaster/postmaster.c:3238 +#: postmaster/postmaster.c:3223 msgid "autovacuum launcher process" msgstr "процесс запуска автоочистки" -#: postmaster/postmaster.c:3256 +#: postmaster/postmaster.c:3241 msgid "archiver process" msgstr "процесс архивации" -#: postmaster/postmaster.c:3269 +#: postmaster/postmaster.c:3254 msgid "system logger process" msgstr "процесс системного протоколирования" -#: postmaster/postmaster.c:3333 +#: postmaster/postmaster.c:3318 #, c-format msgid "background worker \"%s\"" msgstr "фоновый процесс \"%s\"" -#: postmaster/postmaster.c:3412 postmaster/postmaster.c:3432 -#: postmaster/postmaster.c:3439 postmaster/postmaster.c:3457 +#: postmaster/postmaster.c:3397 postmaster/postmaster.c:3417 +#: postmaster/postmaster.c:3424 postmaster/postmaster.c:3442 msgid "server process" msgstr "процесс сервера" -#: postmaster/postmaster.c:3511 +#: postmaster/postmaster.c:3496 #, c-format msgid "terminating any other active server processes" msgstr "завершение всех остальных активных серверных процессов" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3748 +#: postmaster/postmaster.c:3734 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) завершился с кодом выхода %d" -#: postmaster/postmaster.c:3750 postmaster/postmaster.c:3762 -#: postmaster/postmaster.c:3772 postmaster/postmaster.c:3783 +#: postmaster/postmaster.c:3736 postmaster/postmaster.c:3748 +#: postmaster/postmaster.c:3758 postmaster/postmaster.c:3769 #, c-format msgid "Failed process was running: %s" msgstr "Завершившийся процесс выполнял действие: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3759 +#: postmaster/postmaster.c:3745 #, c-format msgid "%s (PID %d) was terminated by exception 0x%X" msgstr "%s (PID %d) был прерван исключением 0x%X" -#: postmaster/postmaster.c:3761 postmaster/shell_archive.c:134 +#: postmaster/postmaster.c:3747 postmaster/shell_archive.c:134 #, c-format msgid "" "See C include file \"ntstatus.h\" for a description of the hexadecimal value." @@ -21376,235 +21371,235 @@ #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3769 +#: postmaster/postmaster.c:3755 #, c-format msgid "%s (PID %d) was terminated by signal %d: %s" msgstr "%s (PID %d) был завершён по сигналу %d: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3781 +#: postmaster/postmaster.c:3767 #, c-format msgid "%s (PID %d) exited with unrecognized status %d" msgstr "%s (PID %d) завершился с нераспознанным кодом состояния %d" -#: postmaster/postmaster.c:3981 +#: postmaster/postmaster.c:3967 #, c-format msgid "abnormal database system shutdown" msgstr "аварийное выключение системы БД" -#: postmaster/postmaster.c:4007 +#: postmaster/postmaster.c:3993 #, c-format msgid "shutting down due to startup process failure" msgstr "сервер останавливается из-за ошибки в стартовом процессе" -#: postmaster/postmaster.c:4013 +#: postmaster/postmaster.c:3999 #, c-format msgid "shutting down because restart_after_crash is off" msgstr "сервер останавливается, так как параметр restart_after_crash равен off" -#: postmaster/postmaster.c:4025 +#: postmaster/postmaster.c:4011 #, c-format msgid "all server processes terminated; reinitializing" msgstr "все серверные процессы завершены... переинициализация" -#: postmaster/postmaster.c:4197 postmaster/postmaster.c:5526 -#: postmaster/postmaster.c:5924 +#: postmaster/postmaster.c:4183 postmaster/postmaster.c:5512 +#: postmaster/postmaster.c:5910 #, c-format msgid "could not generate random cancel key" msgstr "не удалось сгенерировать случайный ключ отмены" -#: postmaster/postmaster.c:4259 +#: postmaster/postmaster.c:4245 #, c-format msgid "could not fork new process for connection: %m" msgstr "породить новый процесс для соединения не удалось: %m" -#: postmaster/postmaster.c:4301 +#: postmaster/postmaster.c:4287 msgid "could not fork new process for connection: " msgstr "породить новый процесс для соединения не удалось: " -#: postmaster/postmaster.c:4407 +#: postmaster/postmaster.c:4393 #, c-format msgid "connection received: host=%s port=%s" msgstr "принято подключение: узел=%s порт=%s" -#: postmaster/postmaster.c:4412 +#: postmaster/postmaster.c:4398 #, c-format msgid "connection received: host=%s" msgstr "принято подключение: узел=%s" -#: postmaster/postmaster.c:4649 +#: postmaster/postmaster.c:4635 #, c-format msgid "could not execute server process \"%s\": %m" msgstr "запустить серверный процесс \"%s\" не удалось: %m" -#: postmaster/postmaster.c:4707 +#: postmaster/postmaster.c:4693 #, c-format msgid "could not create backend parameter file mapping: error code %lu" msgstr "" "создать отображение файла серверных параметров не удалось (код ошибки: %lu)" -#: postmaster/postmaster.c:4716 +#: postmaster/postmaster.c:4702 #, c-format msgid "could not map backend parameter memory: error code %lu" msgstr "" "отобразить файл серверных параметров в память не удалось (код ошибки: %lu)" -#: postmaster/postmaster.c:4743 +#: postmaster/postmaster.c:4729 #, c-format msgid "subprocess command line too long" msgstr "слишком длинная командная строка подпроцесса" -#: postmaster/postmaster.c:4761 +#: postmaster/postmaster.c:4747 #, c-format msgid "CreateProcess() call failed: %m (error code %lu)" msgstr "ошибка в CreateProcess(): %m (код ошибки: %lu)" -#: postmaster/postmaster.c:4788 +#: postmaster/postmaster.c:4774 #, c-format msgid "could not unmap view of backend parameter file: error code %lu" msgstr "" "отключить отображение файла серверных параметров не удалось (код ошибки: %lu)" -#: postmaster/postmaster.c:4792 +#: postmaster/postmaster.c:4778 #, c-format msgid "could not close handle to backend parameter file: error code %lu" msgstr "" "закрыть указатель файла серверных параметров не удалось (код ошибки: %lu)" -#: postmaster/postmaster.c:4814 +#: postmaster/postmaster.c:4800 #, c-format msgid "giving up after too many tries to reserve shared memory" msgstr "" "число повторных попыток резервирования разделяемой памяти достигло предела" -#: postmaster/postmaster.c:4815 +#: postmaster/postmaster.c:4801 #, c-format msgid "This might be caused by ASLR or antivirus software." msgstr "Это может быть вызвано антивирусным ПО или механизмом ASLR." -#: postmaster/postmaster.c:4988 +#: postmaster/postmaster.c:4974 #, c-format msgid "SSL configuration could not be loaded in child process" msgstr "не удалось загрузить конфигурацию SSL в дочерний процесс" -#: postmaster/postmaster.c:5113 +#: postmaster/postmaster.c:5099 #, c-format msgid "postmaster became multithreaded" msgstr "процесс postmaster стал многопоточным" -#: postmaster/postmaster.c:5186 +#: postmaster/postmaster.c:5172 #, c-format msgid "database system is ready to accept read-only connections" msgstr "система БД готова принимать подключения в режиме \"только чтение\"" -#: postmaster/postmaster.c:5450 +#: postmaster/postmaster.c:5436 #, c-format msgid "could not fork startup process: %m" msgstr "породить стартовый процесс не удалось: %m" -#: postmaster/postmaster.c:5454 +#: postmaster/postmaster.c:5440 #, c-format msgid "could not fork archiver process: %m" msgstr "породить процесс архиватора не удалось: %m" -#: postmaster/postmaster.c:5458 +#: postmaster/postmaster.c:5444 #, c-format msgid "could not fork background writer process: %m" msgstr "породить процесс фоновой записи не удалось: %m" -#: postmaster/postmaster.c:5462 +#: postmaster/postmaster.c:5448 #, c-format msgid "could not fork checkpointer process: %m" msgstr "породить процесс контрольных точек не удалось: %m" -#: postmaster/postmaster.c:5466 +#: postmaster/postmaster.c:5452 #, c-format msgid "could not fork WAL writer process: %m" msgstr "породить процесс записи WAL не удалось: %m" -#: postmaster/postmaster.c:5470 +#: postmaster/postmaster.c:5456 #, c-format msgid "could not fork WAL receiver process: %m" msgstr "породить процесс считывания WAL не удалось: %m" -#: postmaster/postmaster.c:5474 +#: postmaster/postmaster.c:5460 #, c-format msgid "could not fork process: %m" msgstr "породить процесс не удалось: %m" -#: postmaster/postmaster.c:5675 postmaster/postmaster.c:5702 +#: postmaster/postmaster.c:5661 postmaster/postmaster.c:5688 #, c-format msgid "database connection requirement not indicated during registration" msgstr "" "при регистрации фонового процесса не указывалось, что ему требуется " "подключение к БД" -#: postmaster/postmaster.c:5686 postmaster/postmaster.c:5713 +#: postmaster/postmaster.c:5672 postmaster/postmaster.c:5699 #, c-format msgid "invalid processing mode in background worker" msgstr "неправильный режим обработки в фоновом процессе" -#: postmaster/postmaster.c:5798 +#: postmaster/postmaster.c:5784 #, c-format msgid "could not fork worker process: %m" msgstr "породить рабочий процесс не удалось: %m" -#: postmaster/postmaster.c:5910 +#: postmaster/postmaster.c:5896 #, c-format msgid "no slot available for new worker process" msgstr "для нового рабочего процесса не нашлось свободного слота" -#: postmaster/postmaster.c:6241 +#: postmaster/postmaster.c:6227 #, c-format msgid "could not duplicate socket %d for use in backend: error code %d" msgstr "" "продублировать сокет %d для серверного процесса не удалось (код ошибки: %d)" -#: postmaster/postmaster.c:6273 +#: postmaster/postmaster.c:6259 #, c-format msgid "could not create inherited socket: error code %d\n" msgstr "создать наследуемый сокет не удалось (код ошибки: %d)\n" -#: postmaster/postmaster.c:6302 +#: postmaster/postmaster.c:6288 #, c-format msgid "could not open backend variables file \"%s\": %s\n" msgstr "открыть файл серверных переменных \"%s\" не удалось: %s\n" -#: postmaster/postmaster.c:6309 +#: postmaster/postmaster.c:6295 #, c-format msgid "could not read from backend variables file \"%s\": %s\n" msgstr "прочитать файл серверных переменных \"%s\" не удалось: %s\n" -#: postmaster/postmaster.c:6318 +#: postmaster/postmaster.c:6304 #, c-format msgid "could not remove file \"%s\": %s\n" msgstr "не удалось стереть файл \"%s\": %s\n" -#: postmaster/postmaster.c:6335 +#: postmaster/postmaster.c:6321 #, c-format msgid "could not map view of backend variables: error code %lu\n" msgstr "отобразить файл серверных переменных не удалось (код ошибки: %lu)\n" -#: postmaster/postmaster.c:6344 +#: postmaster/postmaster.c:6330 #, c-format msgid "could not unmap view of backend variables: error code %lu\n" msgstr "" "отключить отображение файла серверных переменных не удалось (код ошибки: " "%lu)\n" -#: postmaster/postmaster.c:6351 +#: postmaster/postmaster.c:6337 #, c-format msgid "could not close handle to backend parameter variables: error code %lu\n" msgstr "" "закрыть указатель файла серверных переменных не удалось (код ошибки: %lu)\n" -#: postmaster/postmaster.c:6510 +#: postmaster/postmaster.c:6496 #, c-format msgid "could not read exit code for process\n" msgstr "прочитать код завершения процесса не удалось\n" -#: postmaster/postmaster.c:6552 +#: postmaster/postmaster.c:6538 #, c-format msgid "could not post child completion status\n" msgstr "отправить состояние завершения потомка не удалось\n" @@ -22994,26 +22989,26 @@ msgid "terminating walsender process after promotion" msgstr "завершение процесса передачи журнала после повышения" -#: replication/walsender.c:1718 +#: replication/walsender.c:1724 #, c-format msgid "cannot execute new commands while WAL sender is in stopping mode" msgstr "" "нельзя выполнять новые команды, пока процесс передачи WAL находится в режиме " "остановки" -#: replication/walsender.c:1753 +#: replication/walsender.c:1759 #, c-format msgid "cannot execute SQL commands in WAL sender for physical replication" msgstr "" "нельзя выполнять команды SQL в процессе, передающем WAL для физической " "репликации" -#: replication/walsender.c:1786 +#: replication/walsender.c:1792 #, c-format msgid "received replication command: %s" msgstr "получена команда репликации: %s" -#: replication/walsender.c:1794 tcop/fastpath.c:208 tcop/postgres.c:1083 +#: replication/walsender.c:1800 tcop/fastpath.c:208 tcop/postgres.c:1083 #: tcop/postgres.c:1441 tcop/postgres.c:1693 tcop/postgres.c:2174 #: tcop/postgres.c:2607 tcop/postgres.c:2685 #, c-format @@ -23023,22 +23018,22 @@ msgstr "" "текущая транзакция прервана, команды до конца блока транзакции игнорируются" -#: replication/walsender.c:1936 replication/walsender.c:1971 +#: replication/walsender.c:1942 replication/walsender.c:1977 #, c-format msgid "unexpected EOF on standby connection" msgstr "неожиданный обрыв соединения с резервным сервером" -#: replication/walsender.c:1959 +#: replication/walsender.c:1965 #, c-format msgid "invalid standby message type \"%c\"" msgstr "неверный тип сообщения резервного сервера: \"%c\"" -#: replication/walsender.c:2048 +#: replication/walsender.c:2054 #, c-format msgid "unexpected message type \"%c\"" msgstr "неожиданный тип сообщения \"%c\"" -#: replication/walsender.c:2465 +#: replication/walsender.c:2474 #, c-format msgid "terminating walsender process due to replication timeout" msgstr "завершение процесса передачи журнала из-за тайм-аута репликации" @@ -23294,7 +23289,7 @@ msgid "renaming an ON SELECT rule is not allowed" msgstr "переименовывать правило ON SELECT нельзя" -#: rewrite/rewriteHandler.c:583 +#: rewrite/rewriteHandler.c:584 #, c-format msgid "" "WITH query name \"%s\" appears in both a rule action and the query being " @@ -23303,7 +23298,7 @@ "имя запроса WITH \"%s\" оказалось и в действии правила, и в переписываемом " "запросе" -#: rewrite/rewriteHandler.c:613 +#: rewrite/rewriteHandler.c:614 #, c-format msgid "" "INSERT...SELECT rule actions are not supported for queries having data-" @@ -23312,118 +23307,118 @@ "правила INSERT...SELECT не поддерживаются для запросов с операторами, " "изменяющими данные, в WITH" -#: rewrite/rewriteHandler.c:666 +#: rewrite/rewriteHandler.c:700 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "RETURNING можно определить только для одного правила" -#: rewrite/rewriteHandler.c:898 rewrite/rewriteHandler.c:937 +#: rewrite/rewriteHandler.c:932 rewrite/rewriteHandler.c:971 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "в столбец \"%s\" можно вставить только значение по умолчанию" -#: rewrite/rewriteHandler.c:900 rewrite/rewriteHandler.c:966 +#: rewrite/rewriteHandler.c:934 rewrite/rewriteHandler.c:1000 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "" "Столбец \"%s\" является столбцом идентификации со свойством GENERATED ALWAYS." -#: rewrite/rewriteHandler.c:902 +#: rewrite/rewriteHandler.c:936 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Для переопределения укажите OVERRIDING SYSTEM VALUE." -#: rewrite/rewriteHandler.c:964 rewrite/rewriteHandler.c:972 +#: rewrite/rewriteHandler.c:998 rewrite/rewriteHandler.c:1006 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "столбцу \"%s\" можно присвоить только значение DEFAULT" -#: rewrite/rewriteHandler.c:1107 rewrite/rewriteHandler.c:1125 +#: rewrite/rewriteHandler.c:1141 rewrite/rewriteHandler.c:1159 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "многочисленные присвоения одному столбцу \"%s\"" -#: rewrite/rewriteHandler.c:1730 rewrite/rewriteHandler.c:3185 +#: rewrite/rewriteHandler.c:1764 rewrite/rewriteHandler.c:3250 #, c-format msgid "access to non-system view \"%s\" is restricted" msgstr "доступ к несистемному представлению \"%s\" ограничен" -#: rewrite/rewriteHandler.c:2162 rewrite/rewriteHandler.c:4131 +#: rewrite/rewriteHandler.c:2196 rewrite/rewriteHandler.c:4196 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "обнаружена бесконечная рекурсия в правилах для отношения \"%s\"" -#: rewrite/rewriteHandler.c:2267 +#: rewrite/rewriteHandler.c:2301 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "обнаружена бесконечная рекурсия в политике для отношения \"%s\"" -#: rewrite/rewriteHandler.c:2597 +#: rewrite/rewriteHandler.c:2662 msgid "Junk view columns are not updatable." msgstr "Утилизируемые столбцы представлений не обновляются." -#: rewrite/rewriteHandler.c:2602 +#: rewrite/rewriteHandler.c:2667 msgid "" "View columns that are not columns of their base relation are not updatable." msgstr "" "Столбцы представлений, не являющиеся столбцами базовых отношений, не " "обновляются." -#: rewrite/rewriteHandler.c:2605 +#: rewrite/rewriteHandler.c:2670 msgid "View columns that refer to system columns are not updatable." msgstr "" "Столбцы представлений, ссылающиеся на системные столбцы, не обновляются." -#: rewrite/rewriteHandler.c:2608 +#: rewrite/rewriteHandler.c:2673 msgid "View columns that return whole-row references are not updatable." msgstr "" "Столбцы представлений, возвращающие ссылки на всю строку, не обновляются." -#: rewrite/rewriteHandler.c:2669 +#: rewrite/rewriteHandler.c:2734 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Представления с DISTINCT не обновляются автоматически." -#: rewrite/rewriteHandler.c:2672 +#: rewrite/rewriteHandler.c:2737 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Представления с GROUP BY не обновляются автоматически." -#: rewrite/rewriteHandler.c:2675 +#: rewrite/rewriteHandler.c:2740 msgid "Views containing HAVING are not automatically updatable." msgstr "Представления с HAVING не обновляются автоматически." -#: rewrite/rewriteHandler.c:2678 +#: rewrite/rewriteHandler.c:2743 msgid "" "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "" "Представления с UNION, INTERSECT или EXCEPT не обновляются автоматически." -#: rewrite/rewriteHandler.c:2681 +#: rewrite/rewriteHandler.c:2746 msgid "Views containing WITH are not automatically updatable." msgstr "Представления с WITH не обновляются автоматически." -#: rewrite/rewriteHandler.c:2684 +#: rewrite/rewriteHandler.c:2749 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Представления с LIMIT или OFFSET не обновляются автоматически." -#: rewrite/rewriteHandler.c:2696 +#: rewrite/rewriteHandler.c:2761 msgid "Views that return aggregate functions are not automatically updatable." msgstr "" "Представления, возвращающие агрегатные функции, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2699 +#: rewrite/rewriteHandler.c:2764 msgid "Views that return window functions are not automatically updatable." msgstr "" "Представления, возвращающие оконные функции, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2702 +#: rewrite/rewriteHandler.c:2767 msgid "" "Views that return set-returning functions are not automatically updatable." msgstr "" "Представления, возвращающие функции с результатом-множеством, не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:2709 rewrite/rewriteHandler.c:2713 -#: rewrite/rewriteHandler.c:2721 +#: rewrite/rewriteHandler.c:2774 rewrite/rewriteHandler.c:2778 +#: rewrite/rewriteHandler.c:2786 msgid "" "Views that do not select from a single table or view are not automatically " "updatable." @@ -23431,27 +23426,27 @@ "Представления, выбирающие данные не из одной таблицы или представления, не " "обновляются автоматически." -#: rewrite/rewriteHandler.c:2724 +#: rewrite/rewriteHandler.c:2789 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Представления, содержащие TABLESAMPLE, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2748 +#: rewrite/rewriteHandler.c:2813 msgid "Views that have no updatable columns are not automatically updatable." msgstr "" "Представления, не содержащие обновляемых столбцов, не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:3245 +#: rewrite/rewriteHandler.c:3310 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "вставить данные в столбец \"%s\" представления \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3253 +#: rewrite/rewriteHandler.c:3318 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "изменить данные в столбце \"%s\" представления \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3757 +#: rewrite/rewriteHandler.c:3822 #, c-format msgid "" "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in " @@ -23460,7 +23455,7 @@ "правила DO INSTEAD NOTIFY не поддерживаются в операторах, изменяющих данные, " "в WITH" -#: rewrite/rewriteHandler.c:3768 +#: rewrite/rewriteHandler.c:3833 #, c-format msgid "" "DO INSTEAD NOTHING rules are not supported for data-modifying statements in " @@ -23469,7 +23464,7 @@ "правила DO INSTEAD NOTHING не поддерживаются в операторах, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3782 +#: rewrite/rewriteHandler.c:3847 #, c-format msgid "" "conditional DO INSTEAD rules are not supported for data-modifying statements " @@ -23478,13 +23473,13 @@ "условные правила DO INSTEAD не поддерживаются для операторов, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3786 +#: rewrite/rewriteHandler.c:3851 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "" "правила DO ALSO не поддерживаются для операторов, изменяющих данные, в WITH" -#: rewrite/rewriteHandler.c:3791 +#: rewrite/rewriteHandler.c:3856 #, c-format msgid "" "multi-statement DO INSTEAD rules are not supported for data-modifying " @@ -23493,8 +23488,8 @@ "составные правила DO INSTEAD не поддерживаются для операторов, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:4059 rewrite/rewriteHandler.c:4067 -#: rewrite/rewriteHandler.c:4075 +#: rewrite/rewriteHandler.c:4124 rewrite/rewriteHandler.c:4132 +#: rewrite/rewriteHandler.c:4140 #, c-format msgid "" "Views with conditional DO INSTEAD rules are not automatically updatable." @@ -23502,43 +23497,43 @@ "Представления в сочетании с правилами DO INSTEAD с условиями не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:4181 +#: rewrite/rewriteHandler.c:4246 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "выполнить INSERT RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4183 +#: rewrite/rewriteHandler.c:4248 #, c-format msgid "" "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." msgstr "" "Необходимо безусловное правило ON INSERT DO INSTEAD с предложением RETURNING." -#: rewrite/rewriteHandler.c:4188 +#: rewrite/rewriteHandler.c:4253 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "выполнить UPDATE RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4190 +#: rewrite/rewriteHandler.c:4255 #, c-format msgid "" "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." msgstr "" "Необходимо безусловное правило ON UPDATE DO INSTEAD с предложением RETURNING." -#: rewrite/rewriteHandler.c:4195 +#: rewrite/rewriteHandler.c:4260 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "выполнить DELETE RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4197 +#: rewrite/rewriteHandler.c:4262 #, c-format msgid "" "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." msgstr "" "Необходимо безусловное правило ON DELETE DO INSTEAD с предложением RETURNING." -#: rewrite/rewriteHandler.c:4215 +#: rewrite/rewriteHandler.c:4280 #, c-format msgid "" "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or " @@ -23547,7 +23542,7 @@ "INSERT c предложением ON CONFLICT нельзя использовать с таблицей, для " "которой заданы правила INSERT или UPDATE" -#: rewrite/rewriteHandler.c:4272 +#: rewrite/rewriteHandler.c:4337 #, c-format msgid "" "WITH cannot be used in a query that is rewritten by rules into multiple " @@ -25081,12 +25076,12 @@ msgstr "отсутствует параметр Dictionary" #: tsearch/spell.c:383 tsearch/spell.c:400 tsearch/spell.c:409 -#: tsearch/spell.c:1060 +#: tsearch/spell.c:1072 #, c-format msgid "invalid affix flag \"%s\"" msgstr "неверный флаг аффиксов \"%s\"" -#: tsearch/spell.c:387 tsearch/spell.c:1064 +#: tsearch/spell.c:387 tsearch/spell.c:1076 #, c-format msgid "affix flag \"%s\" is out of range" msgstr "флаг аффикса \"%s\" вне диапазона" @@ -25111,24 +25106,24 @@ msgid "invalid regular expression: %s" msgstr "неверное регулярное выражение: %s" -#: tsearch/spell.c:982 tsearch/spell.c:998 tsearch/spell.c:1014 -#: tsearch/spell.c:1030 tsearch/spell.c:1095 gram.y:17826 gram.y:17843 +#: tsearch/spell.c:991 tsearch/spell.c:1008 tsearch/spell.c:1025 +#: tsearch/spell.c:1042 tsearch/spell.c:1107 gram.y:17826 gram.y:17843 #, c-format msgid "syntax error" msgstr "ошибка синтаксиса" -#: tsearch/spell.c:1187 tsearch/spell.c:1199 tsearch/spell.c:1759 -#: tsearch/spell.c:1764 tsearch/spell.c:1769 +#: tsearch/spell.c:1201 tsearch/spell.c:1213 tsearch/spell.c:1773 +#: tsearch/spell.c:1778 tsearch/spell.c:1783 #, c-format msgid "invalid affix alias \"%s\"" msgstr "неверное указание аффикса \"%s\"" -#: tsearch/spell.c:1240 tsearch/spell.c:1311 tsearch/spell.c:1460 +#: tsearch/spell.c:1254 tsearch/spell.c:1325 tsearch/spell.c:1474 #, c-format msgid "could not open affix file \"%s\": %m" msgstr "не удалось открыть файл аффиксов \"%s\": %m" -#: tsearch/spell.c:1294 +#: tsearch/spell.c:1308 #, c-format msgid "" "Ispell dictionary supports only \"default\", \"long\", and \"num\" flag " @@ -25137,17 +25132,17 @@ "словарь Ispell поддерживает для флага только значения \"default\", \"long\" " "и \"num\"" -#: tsearch/spell.c:1338 +#: tsearch/spell.c:1352 #, c-format msgid "invalid number of flag vector aliases" msgstr "неверное количество векторов флагов" -#: tsearch/spell.c:1361 +#: tsearch/spell.c:1375 #, c-format msgid "number of aliases exceeds specified number %d" msgstr "количество псевдонимов превышает заданное число %d" -#: tsearch/spell.c:1575 +#: tsearch/spell.c:1589 #, c-format msgid "affix file contains both old-style and new-style commands" msgstr "файл аффиксов содержит команды и в старом, и в новом стиле" @@ -25565,7 +25560,7 @@ "(%s)" #: utils/adt/arrayfuncs.c:1379 utils/adt/multirangetypes.c:445 -#: utils/adt/rangetypes.c:333 utils/cache/lsyscache.c:2915 +#: utils/adt/rangetypes.c:333 utils/cache/lsyscache.c:2953 #, c-format msgid "no binary input function available for type %s" msgstr "для типа %s нет функции ввода двоичных данных" @@ -25576,7 +25571,7 @@ msgstr "неподходящий двоичный формат в элементе массива %d" #: utils/adt/arrayfuncs.c:1600 utils/adt/multirangetypes.c:450 -#: utils/adt/rangetypes.c:338 utils/cache/lsyscache.c:2948 +#: utils/adt/rangetypes.c:338 utils/cache/lsyscache.c:2986 #, c-format msgid "no binary output function available for type %s" msgstr "для типа %s нет функции вывода двоичных данных" @@ -25826,9 +25821,9 @@ msgid "TIME(%d)%s precision reduced to maximum allowed, %d" msgstr "TIME(%d)%s: точность уменьшена до дозволенного максимума: %d" -#: utils/adt/date.c:160 utils/adt/date.c:168 utils/adt/formatting.c:4299 -#: utils/adt/formatting.c:4308 utils/adt/formatting.c:4414 -#: utils/adt/formatting.c:4424 +#: utils/adt/date.c:160 utils/adt/date.c:168 utils/adt/formatting.c:4301 +#: utils/adt/formatting.c:4310 utils/adt/formatting.c:4416 +#: utils/adt/formatting.c:4426 #, c-format msgid "date out of range: \"%s\"" msgstr "дата вне диапазона: \"%s\"" @@ -25882,8 +25877,8 @@ #: utils/adt/date.c:1307 utils/adt/date.c:1353 utils/adt/date.c:1907 #: utils/adt/date.c:1938 utils/adt/date.c:1967 utils/adt/date.c:2831 #: utils/adt/date.c:3078 utils/adt/datetime.c:420 utils/adt/datetime.c:1869 -#: utils/adt/formatting.c:4141 utils/adt/formatting.c:4177 -#: utils/adt/formatting.c:4268 utils/adt/formatting.c:4390 utils/adt/json.c:418 +#: utils/adt/formatting.c:4143 utils/adt/formatting.c:4179 +#: utils/adt/formatting.c:4270 utils/adt/formatting.c:4392 utils/adt/json.c:418 #: utils/adt/json.c:457 utils/adt/timestamp.c:225 utils/adt/timestamp.c:257 #: utils/adt/timestamp.c:699 utils/adt/timestamp.c:708 #: utils/adt/timestamp.c:786 utils/adt/timestamp.c:819 @@ -25911,7 +25906,7 @@ msgid "timestamp out of range" msgstr "timestamp вне диапазона" -#: utils/adt/date.c:1524 utils/adt/date.c:2326 utils/adt/formatting.c:4476 +#: utils/adt/date.c:1524 utils/adt/date.c:2326 utils/adt/formatting.c:4478 #, c-format msgid "time out of range" msgstr "время вне диапазона" @@ -26191,106 +26186,106 @@ msgid "Intervals are not tied to specific calendar dates." msgstr "Интервалы не привязываются к определённым календарным датам." -#: utils/adt/formatting.c:1192 +#: utils/adt/formatting.c:1194 #, c-format msgid "\"EEEE\" must be the last pattern used" msgstr "\"EEEE\" может быть только последним шаблоном" -#: utils/adt/formatting.c:1200 +#: utils/adt/formatting.c:1202 #, c-format msgid "\"9\" must be ahead of \"PR\"" msgstr "\"9\" должна стоять до \"PR\"" -#: utils/adt/formatting.c:1216 +#: utils/adt/formatting.c:1218 #, c-format msgid "\"0\" must be ahead of \"PR\"" msgstr "\"0\" должен стоять до \"PR\"" -#: utils/adt/formatting.c:1243 +#: utils/adt/formatting.c:1245 #, c-format msgid "multiple decimal points" msgstr "многочисленные десятичные точки" -#: utils/adt/formatting.c:1247 utils/adt/formatting.c:1330 +#: utils/adt/formatting.c:1249 utils/adt/formatting.c:1332 #, c-format msgid "cannot use \"V\" and decimal point together" msgstr "нельзя использовать \"V\" вместе с десятичной точкой" -#: utils/adt/formatting.c:1259 +#: utils/adt/formatting.c:1261 #, c-format msgid "cannot use \"S\" twice" msgstr "нельзя использовать \"S\" дважды" -#: utils/adt/formatting.c:1263 +#: utils/adt/formatting.c:1265 #, c-format msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together" msgstr "нельзя использовать \"S\" вместе с \"PL\"/\"MI\"/\"SG\"/\"PR\"" -#: utils/adt/formatting.c:1283 +#: utils/adt/formatting.c:1285 #, c-format msgid "cannot use \"S\" and \"MI\" together" msgstr "нельзя использовать \"S\" вместе с \"MI\"" -#: utils/adt/formatting.c:1293 +#: utils/adt/formatting.c:1295 #, c-format msgid "cannot use \"S\" and \"PL\" together" msgstr "нельзя использовать \"S\" вместе с \"PL\"" -#: utils/adt/formatting.c:1303 +#: utils/adt/formatting.c:1305 #, c-format msgid "cannot use \"S\" and \"SG\" together" msgstr "нельзя использовать \"S\" вместе с \"SG\"" -#: utils/adt/formatting.c:1312 +#: utils/adt/formatting.c:1314 #, c-format msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together" msgstr "нельзя использовать \"PR\" вместе с \"S\"/\"PL\"/\"MI\"/\"SG\"" -#: utils/adt/formatting.c:1338 +#: utils/adt/formatting.c:1340 #, c-format msgid "cannot use \"EEEE\" twice" msgstr "нельзя использовать \"EEEE\" дважды" -#: utils/adt/formatting.c:1344 +#: utils/adt/formatting.c:1346 #, c-format msgid "\"EEEE\" is incompatible with other formats" msgstr "\"EEEE\" несовместим с другими форматами" -#: utils/adt/formatting.c:1345 +#: utils/adt/formatting.c:1347 #, c-format msgid "" "\"EEEE\" may only be used together with digit and decimal point patterns." msgstr "" "\"EEEE\" может использоваться только с шаблонами цифр и десятичной точки." -#: utils/adt/formatting.c:1429 +#: utils/adt/formatting.c:1431 #, c-format msgid "invalid datetime format separator: \"%s\"" msgstr "неверный разделитель в формате datetime: \"%s\"" -#: utils/adt/formatting.c:1556 +#: utils/adt/formatting.c:1558 #, c-format msgid "\"%s\" is not a number" msgstr "\"%s\" не является числом" -#: utils/adt/formatting.c:1634 +#: utils/adt/formatting.c:1636 #, c-format msgid "case conversion failed: %s" msgstr "преобразовать регистр не удалось: %s" -#: utils/adt/formatting.c:1688 utils/adt/formatting.c:1810 -#: utils/adt/formatting.c:1933 +#: utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 +#: utils/adt/formatting.c:1935 #, c-format msgid "could not determine which collation to use for %s function" msgstr "" "не удалось определить, какое правило сортировки использовать для функции %s" -#: utils/adt/formatting.c:2314 +#: utils/adt/formatting.c:2316 #, c-format msgid "invalid combination of date conventions" msgstr "неверное сочетание стилей дат" -#: utils/adt/formatting.c:2315 +#: utils/adt/formatting.c:2317 #, c-format msgid "" "Do not mix Gregorian and ISO week date conventions in a formatting template." @@ -26298,27 +26293,27 @@ "Не смешивайте Григорианский стиль дат (недель) с ISO в одном шаблоне " "форматирования." -#: utils/adt/formatting.c:2338 +#: utils/adt/formatting.c:2340 #, c-format msgid "conflicting values for \"%s\" field in formatting string" msgstr "конфликтующие значения поля \"%s\" в строке форматирования" -#: utils/adt/formatting.c:2341 +#: utils/adt/formatting.c:2343 #, c-format msgid "This value contradicts a previous setting for the same field type." msgstr "Это значение противоречит предыдущему значению поля того же типа." -#: utils/adt/formatting.c:2412 +#: utils/adt/formatting.c:2414 #, c-format msgid "source string too short for \"%s\" formatting field" msgstr "входная строка короче, чем требует поле форматирования \"%s\"" -#: utils/adt/formatting.c:2415 +#: utils/adt/formatting.c:2417 #, c-format msgid "Field requires %d characters, but only %d remain." msgstr "Требуется символов: %d, а осталось только %d." -#: utils/adt/formatting.c:2418 utils/adt/formatting.c:2433 +#: utils/adt/formatting.c:2420 utils/adt/formatting.c:2435 #, c-format msgid "" "If your source string is not fixed-width, try using the \"FM\" modifier." @@ -26326,132 +26321,132 @@ "Если входная строка имеет переменную длину, попробуйте использовать " "модификатор \"FM\"." -#: utils/adt/formatting.c:2428 utils/adt/formatting.c:2442 -#: utils/adt/formatting.c:2665 +#: utils/adt/formatting.c:2430 utils/adt/formatting.c:2444 +#: utils/adt/formatting.c:2667 #, c-format msgid "invalid value \"%s\" for \"%s\"" msgstr "неверное значение \"%s\" для \"%s\"" -#: utils/adt/formatting.c:2430 +#: utils/adt/formatting.c:2432 #, c-format msgid "Field requires %d characters, but only %d could be parsed." msgstr "Поле должно поглотить символов: %d, но удалось разобрать только %d." -#: utils/adt/formatting.c:2444 +#: utils/adt/formatting.c:2446 #, c-format msgid "Value must be an integer." msgstr "Значение должно быть целым числом." -#: utils/adt/formatting.c:2449 +#: utils/adt/formatting.c:2451 #, c-format msgid "value for \"%s\" in source string is out of range" msgstr "значение \"%s\" во входной строке вне диапазона" -#: utils/adt/formatting.c:2451 +#: utils/adt/formatting.c:2453 #, c-format msgid "Value must be in the range %d to %d." msgstr "Значение должно быть в интервале %d..%d." -#: utils/adt/formatting.c:2667 +#: utils/adt/formatting.c:2669 #, c-format msgid "The given value did not match any of the allowed values for this field." msgstr "" "Данное значение не соответствует ни одному из допустимых значений для этого " "поля." -#: utils/adt/formatting.c:2886 utils/adt/formatting.c:2906 -#: utils/adt/formatting.c:2926 utils/adt/formatting.c:2946 -#: utils/adt/formatting.c:2965 utils/adt/formatting.c:2984 -#: utils/adt/formatting.c:3008 utils/adt/formatting.c:3026 -#: utils/adt/formatting.c:3044 utils/adt/formatting.c:3062 -#: utils/adt/formatting.c:3079 utils/adt/formatting.c:3096 +#: utils/adt/formatting.c:2888 utils/adt/formatting.c:2908 +#: utils/adt/formatting.c:2928 utils/adt/formatting.c:2948 +#: utils/adt/formatting.c:2967 utils/adt/formatting.c:2986 +#: utils/adt/formatting.c:3010 utils/adt/formatting.c:3028 +#: utils/adt/formatting.c:3046 utils/adt/formatting.c:3064 +#: utils/adt/formatting.c:3081 utils/adt/formatting.c:3098 #, c-format msgid "localized string format value too long" msgstr "слишком длинное значение формата локализованной строки" -#: utils/adt/formatting.c:3373 +#: utils/adt/formatting.c:3375 #, c-format msgid "unmatched format separator \"%c\"" msgstr "нет соответствия для заданного в формате разделителя \"%c\"" -#: utils/adt/formatting.c:3434 +#: utils/adt/formatting.c:3436 #, c-format msgid "unmatched format character \"%s\"" msgstr "нет соответствия для заданного в формате символа \"%s\"" -#: utils/adt/formatting.c:3540 utils/adt/formatting.c:3884 +#: utils/adt/formatting.c:3542 utils/adt/formatting.c:3886 #, c-format msgid "formatting field \"%s\" is only supported in to_char" msgstr "поле форматирования \"%s\" поддерживается только в функции to_char" -#: utils/adt/formatting.c:3715 +#: utils/adt/formatting.c:3717 #, c-format msgid "invalid input string for \"Y,YYY\"" msgstr "ошибка синтаксиса в значении для шаблона \"Y,YYY\"" -#: utils/adt/formatting.c:3801 +#: utils/adt/formatting.c:3803 #, c-format msgid "input string is too short for datetime format" msgstr "входная строка короче, чем требует формат datetime" -#: utils/adt/formatting.c:3809 +#: utils/adt/formatting.c:3811 #, c-format msgid "trailing characters remain in input string after datetime format" msgstr "" "после разбора формата datetime во входной строке остались дополнительные " "символы" -#: utils/adt/formatting.c:4370 +#: utils/adt/formatting.c:4372 #, c-format msgid "missing time zone in input string for type timestamptz" msgstr "во входной строке для типа timestamptz нет указания часового пояса" -#: utils/adt/formatting.c:4376 +#: utils/adt/formatting.c:4378 #, c-format msgid "timestamptz out of range" msgstr "значение timestamptz вне диапазона" -#: utils/adt/formatting.c:4404 +#: utils/adt/formatting.c:4406 #, c-format msgid "datetime format is zoned but not timed" msgstr "в формате datetime указан часовой пояс, но отсутствует время" -#: utils/adt/formatting.c:4456 +#: utils/adt/formatting.c:4458 #, c-format msgid "missing time zone in input string for type timetz" msgstr "во входной строке для типа timetz нет указания часового пояса" -#: utils/adt/formatting.c:4462 +#: utils/adt/formatting.c:4464 #, c-format msgid "timetz out of range" msgstr "значение timetz вне диапазона" -#: utils/adt/formatting.c:4488 +#: utils/adt/formatting.c:4490 #, c-format msgid "datetime format is not dated and not timed" msgstr "в формате datetime нет ни даты, ни времени" -#: utils/adt/formatting.c:4621 +#: utils/adt/formatting.c:4623 #, c-format msgid "hour \"%d\" is invalid for the 12-hour clock" msgstr "час \"%d\" не соответствует 12-часовому формату времени" -#: utils/adt/formatting.c:4623 +#: utils/adt/formatting.c:4625 #, c-format msgid "Use the 24-hour clock, or give an hour between 1 and 12." msgstr "Используйте 24-часовой формат или передавайте часы от 1 до 12." -#: utils/adt/formatting.c:4734 +#: utils/adt/formatting.c:4736 #, c-format msgid "cannot calculate day of year without year information" msgstr "нельзя рассчитать день года без информации о годе" -#: utils/adt/formatting.c:5655 +#: utils/adt/formatting.c:5668 #, c-format msgid "\"EEEE\" not supported for input" msgstr "\"EEEE\" не поддерживается при вводе" -#: utils/adt/formatting.c:5667 +#: utils/adt/formatting.c:5680 #, c-format msgid "\"RN\" not supported for input" msgstr "\"RN\" не поддерживается при вводе" @@ -28744,23 +28739,23 @@ msgid "more than one value returned by column XPath expression" msgstr "выражение XPath, отбирающее столбец, возвратило более одного значения" -#: utils/cache/lsyscache.c:1042 +#: utils/cache/lsyscache.c:1080 #, c-format msgid "cast from type %s to type %s does not exist" msgstr "приведение типа %s к типу %s не существует" -#: utils/cache/lsyscache.c:2844 utils/cache/lsyscache.c:2877 -#: utils/cache/lsyscache.c:2910 utils/cache/lsyscache.c:2943 +#: utils/cache/lsyscache.c:2882 utils/cache/lsyscache.c:2915 +#: utils/cache/lsyscache.c:2948 utils/cache/lsyscache.c:2981 #, c-format msgid "type %s is only a shell" msgstr "тип %s является пустышкой" -#: utils/cache/lsyscache.c:2849 +#: utils/cache/lsyscache.c:2887 #, c-format msgid "no input function available for type %s" msgstr "для типа %s нет функции ввода" -#: utils/cache/lsyscache.c:2882 +#: utils/cache/lsyscache.c:2920 #, c-format msgid "no output function available for type %s" msgstr "для типа %s нет функции вывода" @@ -32619,14 +32614,14 @@ #: utils/sort/tuplestore.c:518 utils/sort/tuplestore.c:528 #: utils/sort/tuplestore.c:869 utils/sort/tuplestore.c:973 #: utils/sort/tuplestore.c:1037 utils/sort/tuplestore.c:1054 -#: utils/sort/tuplestore.c:1256 utils/sort/tuplestore.c:1321 -#: utils/sort/tuplestore.c:1330 +#: utils/sort/tuplestore.c:1268 utils/sort/tuplestore.c:1333 +#: utils/sort/tuplestore.c:1342 #, c-format msgid "could not seek in tuplestore temporary file" msgstr "не удалось переместиться во временном файле хранилища кортежей" -#: utils/sort/tuplestore.c:1477 utils/sort/tuplestore.c:1540 -#: utils/sort/tuplestore.c:1548 +#: utils/sort/tuplestore.c:1491 utils/sort/tuplestore.c:1554 +#: utils/sort/tuplestore.c:1562 #, c-format msgid "" "could not read from tuplestore temporary file: read only %zu of %zu bytes" @@ -33328,6 +33323,10 @@ msgstr "Используйте для записи спецсимволов синтаксис спецстрок E'\\r\\n'." #, c-format +#~ msgid "aborting startup due to startup process failure" +#~ msgstr "прерывание запуска из-за ошибки в стартовом процессе" + +#, c-format #~ msgid "replication origin \"%s\" already exists" #~ msgstr "источник репликации \"%s\" уже существует" diff -Nru postgresql-15-15.17/src/backend/postmaster/postmaster.c postgresql-15-15.18/src/backend/postmaster/postmaster.c --- postgresql-15-15.17/src/backend/postmaster/postmaster.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/postmaster/postmaster.c 2026-05-11 19:49:58.000000000 +0000 @@ -292,12 +292,13 @@ * * When the startup process is ready to start archive recovery, it signals the * postmaster, and we switch to PM_RECOVERY state. The background writer and - * checkpointer are launched, while the startup process continues applying WAL. - * If Hot Standby is enabled, then, after reaching a consistent point in WAL - * redo, startup process signals us again, and we switch to PM_HOT_STANDBY - * state and begin accepting connections to perform read-only queries. When - * archive recovery is finished, the startup process exits with exit code 0 - * and we switch to PM_RUN state. + * checkpointer are already running (as these are launched during PM_STARTUP), + * and the startup process continues applying WAL. If Hot Standby is enabled, + * then, after reaching a consistent point in WAL redo, startup process + * signals us again, and we switch to PM_HOT_STANDBY state and begin accepting + * connections to perform read-only queries. When archive recovery is + * finished, the startup process exits with exit code 0 and we switch to + * PM_RUN state. * * Normal child backends can only be launched when we are in PM_RUN or * PM_HOT_STANDBY state. (connsAllowed can also restrict launching.) @@ -2012,6 +2013,7 @@ ProtocolVersion proto; MemoryContext oldcontext; +retry: pq_startmsgread(); /* @@ -2141,7 +2143,16 @@ * another SSL negotiation request, and a GSS request should only * follow if SSL was rejected (client may negotiate in either order) */ - return ProcessStartupPacket(port, true, SSLok == 'S'); + ssl_done = true; + if (SSLok == 'S') + { + /* + * We are done with SSL and negotiated correctly, so consider the + * same for GSS. + */ + gss_done = true; + } + goto retry; } else if (proto == NEGOTIATE_GSS_CODE && !gss_done) { @@ -2185,7 +2196,16 @@ * another GSS negotiation request, and an SSL request should only * follow if GSS was rejected (client may negotiate in either order) */ - return ProcessStartupPacket(port, GSSok == 'G', true); + gss_done = true; + if (GSSok == 'G') + { + /* + * We are done with GSS and negotiated correctly, so consider the + * same for SSL. + */ + ssl_done = true; + } + goto retry; } /* Could add additional special packet types here */ @@ -3037,29 +3057,13 @@ } /* - * Unexpected exit of startup process (including FATAL exit) - * during PM_STARTUP is treated as catastrophic. There are no - * other processes running yet, so we can just exit. - */ - if (pmState == PM_STARTUP && - StartupStatus != STARTUP_SIGNALED && - !EXIT_STATUS_0(exitstatus)) - { - LogChildExit(LOG, _("startup process"), - pid, exitstatus); - ereport(LOG, - (errmsg("aborting startup due to startup process failure"))); - ExitPostmaster(1); - } - - /* - * After PM_STARTUP, any unexpected exit (including FATAL exit) of - * the startup process is catastrophic, so kill other children, - * and set StartupStatus so we don't try to reinitialize after - * they're gone. Exception: if StartupStatus is STARTUP_SIGNALED, - * then we previously sent the startup process a SIGQUIT; so - * that's probably the reason it died, and we do want to try to - * restart in that case. + * Any unexpected exit (including FATAL exit) of the startup + * process is catastrophic, so kill other children, and set + * StartupStatus so we don't try to reinitialize after they're + * gone. Exception: if StartupStatus is STARTUP_SIGNALED, then we + * previously sent the startup process a SIGQUIT; so that's + * probably the reason it died, and we do want to try to restart + * in that case. * * This stanza also handles the case where we sent a SIGQUIT * during PM_STARTUP due to some dead_end child crashing: in that @@ -3706,7 +3710,8 @@ FatalError = true; /* We now transit into a state of waiting for children to die */ - if (pmState == PM_RECOVERY || + if (pmState == PM_STARTUP || + pmState == PM_RECOVERY || pmState == PM_HOT_STANDBY || pmState == PM_RUN || pmState == PM_STOP_BACKENDS || diff -Nru postgresql-15-15.17/src/backend/regex/regc_color.c postgresql-15-15.18/src/backend/regex/regc_color.c --- postgresql-15-15.17/src/backend/regex/regc_color.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/regex/regc_color.c 2026-05-11 19:49:58.000000000 +0000 @@ -218,6 +218,7 @@ n = cm->ncds * 2; if (n > MAX_COLOR + 1) n = MAX_COLOR + 1; + /* the MAX_COLOR+1 limit ensures these alloc sizes can't overflow: */ if (cm->cd == cm->cdspace) { newCd = (struct colordesc *) MALLOC(n * sizeof(struct colordesc)); @@ -434,9 +435,8 @@ CERR(REG_ESPACE); return 0; } - newarray = (color *) REALLOC(cm->hicolormap, - cm->maxarrayrows * 2 * - cm->hiarraycols * sizeof(color)); + newarray = REALLOC_ARRAY(cm->hicolormap, color, + cm->maxarrayrows * 2 * cm->hiarraycols); if (newarray == NULL) { CERR(REG_ESPACE); @@ -477,9 +477,8 @@ CERR(REG_ESPACE); return; } - newarray = (color *) REALLOC(cm->hicolormap, - cm->maxarrayrows * - cm->hiarraycols * 2 * sizeof(color)); + newarray = REALLOC_ARRAY(cm->hicolormap, color, + cm->maxarrayrows * cm->hiarraycols * 2); if (newarray == NULL) { CERR(REG_ESPACE); @@ -652,8 +651,7 @@ * Potentially, we could need two more colormapranges than we have now, if * the given chr is in the middle of some existing range. */ - newranges = (colormaprange *) - MALLOC((cm->numcmranges + 2) * sizeof(colormaprange)); + newranges = MALLOC_ARRAY(colormaprange, cm->numcmranges + 2); if (newranges == NULL) { CERR(REG_ESPACE); @@ -766,8 +764,7 @@ * Potentially, if we have N non-adjacent ranges, we could need as many as * 2N+1 result ranges (consider case where new range spans 'em all). */ - newranges = (colormaprange *) - MALLOC((cm->numcmranges * 2 + 1) * sizeof(colormaprange)); + newranges = MALLOC_ARRAY(colormaprange, cm->numcmranges * 2 + 1); if (newranges == NULL) { CERR(REG_ESPACE); diff -Nru postgresql-15-15.17/src/backend/regex/regc_cvec.c postgresql-15-15.18/src/backend/regex/regc_cvec.c --- postgresql-15-15.17/src/backend/regex/regc_cvec.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/regex/regc_cvec.c 2026-05-11 19:49:58.000000000 +0000 @@ -40,6 +40,9 @@ /* * newcvec - allocate a new cvec + * + * Note: in current usage, nchrs and nranges are never so large that we risk + * integer overflow in these size calculations, even with 32-bit size_t. */ static struct cvec * newcvec(int nchrs, /* to hold this many chrs... */ diff -Nru postgresql-15-15.17/src/backend/regex/regc_nfa.c postgresql-15-15.18/src/backend/regex/regc_nfa.c --- postgresql-15-15.17/src/backend/regex/regc_nfa.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/regex/regc_nfa.c 2026-05-11 19:49:58.000000000 +0000 @@ -3558,6 +3558,10 @@ assert(!NISERR()); + /* + * The REG_MAX_COMPILE_SPACE restriction ensures that integer overflow + * can't occur in this loop nor in the allocation requests below. + */ nstates = 0; narcs = 0; for (s = nfa->states; s != NULL; s = s->next) @@ -3610,6 +3614,12 @@ case LACON: assert(s->no != cnfa->pre); assert(a->co >= 0); + /* make sure the modified color number will fit */ + if (a->co > MAX_COLOR - cnfa->ncolors) + { + NERR(REG_ECOLORS); + return; + } ca->co = (color) (cnfa->ncolors + a->co); ca->to = a->to->no; ca++; diff -Nru postgresql-15-15.17/src/backend/regex/regcomp.c postgresql-15-15.18/src/backend/regex/regcomp.c --- postgresql-15-15.17/src/backend/regex/regcomp.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/regex/regcomp.c 2026-05-11 19:49:58.000000000 +0000 @@ -519,6 +519,7 @@ assert(wanted > 0 && (size_t) wanted >= v->nsubs); n = (size_t) wanted * 3 / 2 + 1; + /* n is bounded by the number of states, so no chance of overflow here */ if (v->subs == v->sub10) { p = (struct subre **) MALLOC(n * sizeof(struct subre *)); @@ -2363,8 +2364,8 @@ else { n = v->nlacons; - newlacons = (struct subre *) REALLOC(v->lacons, - (n + 1) * sizeof(struct subre)); + /* better use REALLOC_ARRAY here, as struct subre is big */ + newlacons = REALLOC_ARRAY(v->lacons, struct subre, n + 1); } if (newlacons == NULL) { diff -Nru postgresql-15-15.17/src/backend/regex/rege_dfa.c postgresql-15-15.18/src/backend/regex/rege_dfa.c --- postgresql-15-15.17/src/backend/regex/rege_dfa.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/regex/rege_dfa.c 2026-05-11 19:49:58.000000000 +0000 @@ -640,20 +640,29 @@ } else { + /* + * Restrict the ranges of nstates and ncolors enough that the arrays + * we allocate here have no more than INT_MAX members. This protects + * not only the allocation calculations just below, but later indexing + * into these arrays. + */ + if (wordsper >= INT_MAX / (nss + WORK) || + cnfa->ncolors >= INT_MAX / nss) + { + ERR(REG_ETOOBIG); + return NULL; + } d = (struct dfa *) MALLOC(sizeof(struct dfa)); if (d == NULL) { ERR(REG_ESPACE); return NULL; } - d->ssets = (struct sset *) MALLOC(nss * sizeof(struct sset)); - d->statesarea = (unsigned *) MALLOC((nss + WORK) * wordsper * - sizeof(unsigned)); + d->ssets = MALLOC_ARRAY(struct sset, nss); + d->statesarea = MALLOC_ARRAY(unsigned, (nss + WORK) * wordsper); d->work = &d->statesarea[nss * wordsper]; - d->outsarea = (struct sset **) MALLOC(nss * cnfa->ncolors * - sizeof(struct sset *)); - d->incarea = (struct arcp *) MALLOC(nss * cnfa->ncolors * - sizeof(struct arcp)); + d->outsarea = MALLOC_ARRAY(struct sset *, nss * cnfa->ncolors); + d->incarea = MALLOC_ARRAY(struct arcp, nss * cnfa->ncolors); d->ismalloced = true; d->arraysmalloced = true; /* now freedfa() will behave sanely */ diff -Nru postgresql-15-15.17/src/backend/regex/regexec.c postgresql-15-15.18/src/backend/regex/regexec.c --- postgresql-15-15.17/src/backend/regex/regexec.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/regex/regexec.c 2026-05-11 19:49:58.000000000 +0000 @@ -222,7 +222,7 @@ if (v->nmatch <= LOCALMAT) v->pmatch = mat; else - v->pmatch = (regmatch_t *) MALLOC(v->nmatch * sizeof(regmatch_t)); + v->pmatch = MALLOC_ARRAY(regmatch_t, v->nmatch); if (v->pmatch == NULL) return REG_ESPACE; zapallsubs(v->pmatch, v->nmatch); @@ -256,6 +256,7 @@ v->subdfas = subdfas; else { + /* ntree is surely less than the number of states, so this is safe: */ v->subdfas = (struct dfa **) MALLOC(n * sizeof(struct dfa *)); if (v->subdfas == NULL) { @@ -270,6 +271,7 @@ n = (size_t) v->g->nlacons; if (n > 0) { + /* nlacons is surely less than the number of arcs, so this is safe: */ v->ladfas = (struct dfa **) MALLOC(n * sizeof(struct dfa *)); if (v->ladfas == NULL) { @@ -1155,7 +1157,7 @@ max_matches = t->max; if (max_matches < min_matches) max_matches = min_matches; - endpts = (chr **) MALLOC((max_matches + 1) * sizeof(chr *)); + endpts = MALLOC_ARRAY(chr *, max_matches + 1); if (endpts == NULL) return REG_ESPACE; endpts[0] = begin; @@ -1362,7 +1364,7 @@ max_matches = t->max; if (max_matches < min_matches) max_matches = min_matches; - endpts = (chr **) MALLOC((max_matches + 1) * sizeof(chr *)); + endpts = MALLOC_ARRAY(chr *, max_matches + 1); if (endpts == NULL) return REG_ESPACE; endpts[0] = begin; diff -Nru postgresql-15-15.17/src/backend/replication/walsender.c postgresql-15-15.18/src/backend/replication/walsender.c --- postgresql-15-15.17/src/backend/replication/walsender.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/replication/walsender.c 2026-05-11 19:49:58.000000000 +0000 @@ -1602,9 +1602,15 @@ * If we're shutting down, trigger pending WAL to be written out, * otherwise we'd possibly end up waiting for WAL that never gets * written, because walwriter has shut down already. + * + * Note that GetXLogInsertEndRecPtr() is used to obtain the WAL flush + * request location instead of GetXLogInsertRecPtr(). Because if the + * last WAL record ends at a page boundary, GetXLogInsertRecPtr() can + * return an LSN pointing past the page header, which may cause + * XLogFlush() to report an error. */ - if (got_STOPPING) - XLogBackgroundFlush(); + if (got_STOPPING && !RecoveryInProgress()) + XLogFlush(GetXLogInsertEndRecPtr()); /* Update our idea of the currently flushed position. */ if (!RecoveryInProgress()) @@ -2103,7 +2109,9 @@ TimestampTz now; TimestampTz replyTime; - static bool fullyAppliedLastTime = false; + static XLogRecPtr prevWritePtr = InvalidXLogRecPtr; + static XLogRecPtr prevFlushPtr = InvalidXLogRecPtr; + static XLogRecPtr prevApplyPtr = InvalidXLogRecPtr; /* the caller already consumed the msgtype byte */ writePtr = pq_getmsgint64(&reply_message); @@ -2136,22 +2144,23 @@ applyLag = LagTrackerRead(SYNC_REP_WAIT_APPLY, applyPtr, now); /* - * If the standby reports that it has fully replayed the WAL in two - * consecutive reply messages, then the second such message must result - * from wal_receiver_status_interval expiring on the standby. This is a - * convenient time to forget the lag times measured when it last - * wrote/flushed/applied a WAL record, to avoid displaying stale lag data - * until more WAL traffic arrives. - */ - clearLagTimes = false; - if (applyPtr == sentPtr) - { - if (fullyAppliedLastTime) - clearLagTimes = true; - fullyAppliedLastTime = true; - } - else - fullyAppliedLastTime = false; + * If the standby reports that it has fully replayed the WAL, and the + * write/flush/apply positions remain unchanged across two consecutive + * reply messages, forget the lag times measured when it last + * wrote/flushed/applied a WAL record. + * + * The second message with unchanged positions typically results from + * wal_receiver_status_interval expiring on the standby, so lag values are + * usually cleared after that interval when there is no activity. This + * avoids displaying stale lag data until more WAL traffic arrives. + */ + clearLagTimes = (applyPtr == sentPtr && flushPtr == sentPtr && + writePtr == prevWritePtr && flushPtr == prevFlushPtr && + applyPtr == prevApplyPtr); + + prevWritePtr = writePtr; + prevFlushPtr = flushPtr; + prevApplyPtr = applyPtr; /* Send a reply if the standby requested one. */ if (replyRequested) diff -Nru postgresql-15-15.17/src/backend/rewrite/rewriteHandler.c postgresql-15-15.18/src/backend/rewrite/rewriteHandler.c --- postgresql-15-15.17/src/backend/rewrite/rewriteHandler.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/rewrite/rewriteHandler.c 2026-05-11 19:49:58.000000000 +0000 @@ -98,6 +98,7 @@ static Query *fireRIRrules(Query *parsetree, List *activeRIRs); static bool view_has_instead_trigger(Relation view, CmdType event); static Bitmapset *adjust_view_column_set(Bitmapset *cols, List *targetlist); +static List *get_generated_columns(Relation rel, int rt_index); /* @@ -633,12 +634,45 @@ if ((event == CMD_INSERT || event == CMD_UPDATE) && sub_action->commandType != CMD_UTILITY) { + RangeTblEntry *new_rte = rt_fetch(new_varno, sub_action->rtable); + Relation new_rel; + List *gen_cols; + + /* + * The target list does not contain entries for generated columns + * (they are removed by rewriteTargetListIU), so we must build entries + * for them here, so that new.gen_col can be rewritten correctly. + */ + new_rel = relation_open(new_rte->relid, NoLock); + gen_cols = get_generated_columns(new_rel, new_varno); + relation_close(new_rel, NoLock); + + /* + * The generated column expressions refer to new.attribute, so they + * must be rewritten before they can be used as replacements. + */ + gen_cols = (List *) + ReplaceVarsFromTargetList((Node *) gen_cols, + new_varno, + 0, + new_rte, + parsetree->targetList, + (event == CMD_UPDATE) ? + REPLACEVARS_CHANGE_VARNO : + REPLACEVARS_SUBSTITUTE_NULL, + current_varno, + &sub_action->hasSubLinks); + + /* + * Now rewrite new.attribute in sub_action, using both the target list + * and the rewritten generated column expressions. + */ sub_action = (Query *) ReplaceVarsFromTargetList((Node *) sub_action, new_varno, 0, - rt_fetch(new_varno, sub_action->rtable), - parsetree->targetList, + new_rte, + list_concat(gen_cols, parsetree->targetList), (event == CMD_UPDATE) ? REPLACEVARS_CHANGE_VARNO : REPLACEVARS_SUBSTITUTE_NULL, @@ -2371,17 +2405,48 @@ ChangeVarNodes(new_qual, PRS2_OLD_VARNO, rt_index, 0); /* Fix references to NEW */ if (event == CMD_INSERT || event == CMD_UPDATE) + { + RangeTblEntry *rte = rt_fetch(rt_index, parsetree->rtable); + Relation rel; + List *gen_cols; + + /* + * As in rewriteRuleAction, build entries for generated columns so + * that new.gen_col in the rule qualification can be rewritten + * correctly. + */ + rel = relation_open(rte->relid, NoLock); + gen_cols = get_generated_columns(rel, PRS2_NEW_VARNO); + relation_close(rel, NoLock); + + /* + * The generated column expressions refer to new.attribute, so they + * must be rewritten before they can be used as replacements. + */ + gen_cols = (List *) + ReplaceVarsFromTargetList((Node *) gen_cols, + PRS2_NEW_VARNO, + 0, + rte, + parsetree->targetList, + (event == CMD_UPDATE) ? + REPLACEVARS_CHANGE_VARNO : + REPLACEVARS_SUBSTITUTE_NULL, + rt_index, + &parsetree->hasSubLinks); + new_qual = ReplaceVarsFromTargetList(new_qual, PRS2_NEW_VARNO, 0, - rt_fetch(rt_index, - parsetree->rtable), - parsetree->targetList, + rte, + list_concat(gen_cols, + parsetree->targetList), (event == CMD_UPDATE) ? REPLACEVARS_CHANGE_VARNO : REPLACEVARS_SUBSTITUTE_NULL, rt_index, &parsetree->hasSubLinks); + } /* And attach the fixed qual */ AddInvertedQual(parsetree, new_qual); @@ -4276,6 +4341,65 @@ } +/* + * Get a table's generated columns + * + * Returns a list of TargetEntry, one for each generated column, containing + * the attribute numbers and generation expressions. + */ +static List * +get_generated_columns(Relation rel, int rt_index) +{ + List *gen_cols = NIL; + TupleDesc tupdesc; + + tupdesc = RelationGetDescr(rel); + if (tupdesc->constr && tupdesc->constr->has_generated_stored) + { + for (int i = 0; i < tupdesc->natts; i++) + { + Form_pg_attribute attr = TupleDescAttr(tupdesc, i); + + if (attr->attgenerated == ATTRIBUTE_GENERATED_STORED) + { + Node *defexpr; + TargetEntry *te; + Oid attcollid; + + defexpr = build_column_default(rel, i + 1); + if (defexpr == NULL) + elog(ERROR, "no generation expression found for column number %d of table \"%s\"", + i + 1, RelationGetRelationName(rel)); + + /* + * If the column definition has a collation and it is + * different from the collation of the generation expression, + * put a COLLATE clause around the expression. + */ + attcollid = attr->attcollation; + if (attcollid && attcollid != exprCollation(defexpr)) + { + CollateExpr *ce = makeNode(CollateExpr); + + ce->arg = (Expr *) defexpr; + ce->collOid = attcollid; + ce->location = -1; + + defexpr = (Node *) ce; + } + + ChangeVarNodes(defexpr, 1, rt_index, 0); + + te = makeTargetEntry((Expr *) defexpr, i + 1, 0, false); + gen_cols = lappend(gen_cols, te); + } + } + } + + return gen_cols; +} + + /* * QueryRewrite - * Primary entry point to the query rewriter. diff -Nru postgresql-15-15.17/src/backend/statistics/extended_stats.c postgresql-15-15.18/src/backend/statistics/extended_stats.c --- postgresql-15-15.17/src/backend/statistics/extended_stats.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/statistics/extended_stats.c 2026-05-11 19:49:58.000000000 +0000 @@ -765,6 +765,16 @@ stats[i] = examine_attribute(expr); /* + * If the expression has been found as non-analyzable, give up. We + * will not be able to build extended stats with it. + */ + if (stats[i] == NULL) + { + pfree(stats); + return NULL; + } + + /* * XXX We need tuple descriptor later, and we just grab it from * stats[0]->tupDesc (see e.g. statext_mcv_build). But as coded * examine_attribute does not set that, so just grab it from the first @@ -2429,6 +2439,9 @@ /* * Loads pg_statistic record from expression statistics for expression * identified by the supplied index. + * + * Returns the pg_statistic record found, or NULL if there is no statistics + * data to use. */ HeapTuple statext_expressions_load(Oid stxoid, bool inh, int idx) @@ -2457,6 +2470,13 @@ deconstruct_expanded_array(eah); + if (eah->dnulls && eah->dnulls[idx]) + { + /* No data found for this expression, give up. */ + ReleaseSysCache(htup); + return NULL; + } + td = DatumGetHeapTupleHeader(eah->dvalues[idx]); /* Build a temporary HeapTuple control structure */ diff -Nru postgresql-15-15.17/src/backend/storage/freespace/freespace.c postgresql-15-15.18/src/backend/storage/freespace/freespace.c --- postgresql-15-15.17/src/backend/storage/freespace/freespace.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/storage/freespace/freespace.c 2026-05-11 19:49:58.000000000 +0000 @@ -231,8 +231,18 @@ if (PageIsNew(page)) PageInit(page, BLCKSZ, 0); + /* + * Changes to FSM are usually marked as changed using MarkBufferDirtyHint; + * however, during recovery, it does nothing if checksums are enabled. It + * is assumed that the page should not be dirtied during recovery while + * modifying hints to prevent torn pages, since no new WAL data can be + * generated at this point to store FPI. This is not relevant to the FSM + * case, as its blocks are zeroed when a checksum mismatch occurs. So, we + * need to use regular MarkBufferDirty here to mark the FSM block as + * modified during recovery, otherwise changes to the FSM may be lost. + */ if (fsm_set_avail(page, slot, new_cat)) - MarkBufferDirtyHint(buf, false); + MarkBufferDirty(buf); UnlockReleaseBuffer(buf); } diff -Nru postgresql-15-15.17/src/backend/storage/ipc/shmem.c postgresql-15-15.18/src/backend/storage/ipc/shmem.c --- postgresql-15-15.17/src/backend/storage/ipc/shmem.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/storage/ipc/shmem.c 2026-05-11 19:49:58.000000000 +0000 @@ -495,42 +495,6 @@ } -/* - * Add two Size values, checking for overflow - */ -Size -add_size(Size s1, Size s2) -{ - Size result; - - result = s1 + s2; - /* We are assuming Size is an unsigned type here... */ - if (result < s1 || result < s2) - ereport(ERROR, - (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), - errmsg("requested shared memory size overflows size_t"))); - return result; -} - -/* - * Multiply two Size values, checking for overflow - */ -Size -mul_size(Size s1, Size s2) -{ - Size result; - - if (s1 == 0 || s2 == 0) - return 0; - result = s1 * s2; - /* We are assuming Size is an unsigned type here... */ - if (result / s2 != s1) - ereport(ERROR, - (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), - errmsg("requested shared memory size overflows size_t"))); - return result; -} - /* SQL SRF showing allocated shared memory */ Datum pg_get_shmem_allocations(PG_FUNCTION_ARGS) diff -Nru postgresql-15-15.17/src/backend/storage/lmgr/proc.c postgresql-15-15.18/src/backend/storage/lmgr/proc.c --- postgresql-15-15.17/src/backend/storage/lmgr/proc.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/storage/lmgr/proc.c 2026-05-11 19:49:58.000000000 +0000 @@ -1695,7 +1695,7 @@ proc->waitLock = NULL; proc->waitProcLock = NULL; proc->waitStatus = waitStatus; - pg_atomic_write_u64(&MyProc->waitStart, 0); + pg_atomic_write_u64(&proc->waitStart, 0); /* And awaken it */ SetLatch(&proc->procLatch); diff -Nru postgresql-15-15.17/src/backend/tsearch/spell.c postgresql-15-15.18/src/backend/tsearch/spell.c --- postgresql-15-15.17/src/backend/tsearch/spell.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/tsearch/spell.c 2026-05-11 19:49:58.000000000 +0000 @@ -928,14 +928,20 @@ * * An .affix file entry has the following format: * > [-,] + * + * Output buffers mask, find, repl must be of length BUFSIZ; + * we truncate the input to fit. */ static bool -parse_affentry(char *str, char *mask, char *find, char *repl) +parse_affentry(const char *str, char *mask, char *find, char *repl) { int state = PAE_WAIT_MASK; char *pmask = mask, *pfind = find, *prepl = repl; + char *emask = mask + BUFSIZ; + char *efind = find + BUFSIZ; + char *erepl = repl + BUFSIZ; *mask = *find = *repl = '\0'; @@ -949,7 +955,8 @@ return false; else if (!t_isspace_cstr(str)) { - pmask += ts_copychar_with_len(pmask, str, clen); + if (pmask < emask - clen) + pmask += ts_copychar_with_len(pmask, str, clen); state = PAE_INMASK; } } @@ -962,7 +969,8 @@ } else if (!t_isspace_cstr(str)) { - pmask += ts_copychar_with_len(pmask, str, clen); + if (pmask < emask - clen) + pmask += ts_copychar_with_len(pmask, str, clen); } } else if (state == PAE_WAIT_FIND) @@ -973,7 +981,8 @@ } else if (t_isalpha_cstr(str) || t_iseq(str, '\'') /* english 's */ ) { - prepl += ts_copychar_with_len(prepl, str, clen); + if (prepl < erepl - clen) + prepl += ts_copychar_with_len(prepl, str, clen); state = PAE_INREPL; } else if (!t_isspace_cstr(str)) @@ -990,7 +999,8 @@ } else if (t_isalpha_cstr(str)) { - pfind += ts_copychar_with_len(pfind, str, clen); + if (pfind < efind - clen) + pfind += ts_copychar_with_len(pfind, str, clen); } else if (!t_isspace_cstr(str)) ereport(ERROR, @@ -1005,7 +1015,8 @@ } else if (t_isalpha_cstr(str)) { - prepl += ts_copychar_with_len(prepl, str, clen); + if (prepl < erepl - clen) + prepl += ts_copychar_with_len(prepl, str, clen); state = PAE_INREPL; } else if (!t_isspace_cstr(str)) @@ -1022,7 +1033,8 @@ } else if (t_isalpha_cstr(str)) { - prepl += ts_copychar_with_len(prepl, str, clen); + if (prepl < erepl - clen) + prepl += ts_copychar_with_len(prepl, str, clen); } else if (!t_isspace_cstr(str)) ereport(ERROR, @@ -1080,7 +1092,7 @@ * val: affix parameter. */ static void -addCompoundAffixFlagValue(IspellDict *Conf, char *s, uint32 val) +addCompoundAffixFlagValue(IspellDict *Conf, const char *s, uint32 val) { CompoundAffixFlag *newValue; char sbuf[BUFSIZ]; @@ -1098,9 +1110,11 @@ sflag = sbuf; while (*s && !t_isspace_cstr(s) && *s != '\n') { - int clen = ts_copychar_cstr(sflag, s); + int clen = pg_mblen_cstr(s); - sflag += clen; + /* Truncate the input to fit in BUFSIZ */ + if (sflag < sbuf + BUFSIZ - clen) + sflag += ts_copychar_with_len(sflag, s, clen); s += clen; } *sflag = '\0'; @@ -2080,9 +2094,32 @@ return NULL; } +/* + * Checks to see if affix applies to word, transforms word if so. + * The transformation consists of replacing Affix->replen leading or + * trailing bytes with the Affix->find string. + * + * word: input word + * len: length of input word + * Affix: affix to consider + * flagflags: context flags showing whether we are handling a compound word + * newword: output buffer (MUST be of length 2 * MAXNORMLEN) + * baselen: input/output argument + * + * If baselen isn't NULL, then *baselen is used to return the length of + * the non-changed part of the word when applying a suffix, and is used + * to detect whether the input contained only a prefix and suffix when + * later applying a prefix. + * + * Returns newword on success, or NULL if the affix can't be applied. + * On success, the modified word is stored into newword. + */ static char * CheckAffix(const char *word, size_t len, AFFIX *Affix, int flagflags, char *newword, int *baselen) { + size_t keeplen, + findlen; + /* * Check compound allow flags */ @@ -2116,14 +2153,26 @@ } /* + * Protect against output buffer overrun (len < Affix->replen would be + * caller error, but check anyway) + */ + Assert(len == strlen(word)); + if (len < Affix->replen) + return NULL; + keeplen = len - Affix->replen; /* how much of word we will keep */ + findlen = strlen(Affix->find); + if (keeplen + findlen >= 2 * MAXNORMLEN) + return NULL; + + /* * make replace pattern of affix */ if (Affix->type == FF_SUFFIX) { - strcpy(newword, word); - strcpy(newword + len - Affix->replen, Affix->find); + memcpy(newword, word, keeplen); + strcpy(newword + keeplen, Affix->find); if (baselen) /* store length of non-changed part of word */ - *baselen = len - Affix->replen; + *baselen = keeplen; } else { @@ -2131,10 +2180,10 @@ * if prefix is an all non-changed part's length then all word * contains only prefix and suffix, so out */ - if (baselen && *baselen + strlen(Affix->find) <= Affix->replen) + if (baselen && *baselen + findlen <= Affix->replen) return NULL; - strcpy(newword, Affix->find); - strcat(newword, word + Affix->replen); + memcpy(newword, Affix->find, findlen); + strcpy(newword + findlen, word + Affix->replen); } /* @@ -2328,7 +2377,7 @@ } else { - char *affbegin; + const char *affbegin; while ((*ptr)->affix) { diff -Nru postgresql-15-15.17/src/backend/tsearch/wparser_def.c postgresql-15-15.18/src/backend/tsearch/wparser_def.c --- postgresql-15-15.17/src/backend/tsearch/wparser_def.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/tsearch/wparser_def.c 2026-05-11 19:49:58.000000000 +0000 @@ -2556,6 +2556,9 @@ bool highlightall = false; int max_cover; ListCell *l; + size_t startsellen; + size_t stopsellen; + size_t fragdelimlen; /* Extract configuration option values */ prs->startsel = NULL; @@ -2641,9 +2644,24 @@ prs->fragdelim = pstrdup(" ... "); /* Caller will need these lengths, too */ - prs->startsellen = strlen(prs->startsel); - prs->stopsellen = strlen(prs->stopsel); - prs->fragdelimlen = strlen(prs->fragdelim); + startsellen = strlen(prs->startsel); + stopsellen = strlen(prs->stopsel); + fragdelimlen = strlen(prs->fragdelim); + if (startsellen > PG_INT16_MAX) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("value for \"%s\" is too long", "StartSel"))); + if (stopsellen > PG_INT16_MAX) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("value for \"%s\" is too long", "StopSel"))); + if (fragdelimlen > PG_INT16_MAX) + ereport(ERROR, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("value for \"%s\" is too long", "FragmentDelimiter"))); + prs->startsellen = startsellen; + prs->stopsellen = stopsellen; + prs->fragdelimlen = fragdelimlen; PG_RETURN_POINTER(prs); } diff -Nru postgresql-15-15.17/src/backend/utils/activity/pgstat_database.c postgresql-15-15.18/src/backend/utils/activity/pgstat_database.c --- postgresql-15-15.17/src/backend/utils/activity/pgstat_database.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/activity/pgstat_database.c 2026-05-11 19:49:58.000000000 +0000 @@ -194,7 +194,7 @@ pgLastSessionReportTime = MyStartTimestamp; - dbentry = pgstat_prep_database_pending(MyDatabaseId); + dbentry = pgstat_prep_database_pending(dboid); dbentry->n_sessions++; } @@ -209,7 +209,7 @@ if (!pgstat_should_report_connstat()) return; - dbentry = pgstat_prep_database_pending(MyDatabaseId); + dbentry = pgstat_prep_database_pending(dboid); switch (pgStatSessionEndCause) { @@ -353,7 +353,7 @@ PgStat_EntryRef *dbref; PgStatShared_Database *dbentry; - dbref = pgstat_get_entry_ref_locked(PGSTAT_KIND_DATABASE, MyDatabaseId, InvalidOid, + dbref = pgstat_get_entry_ref_locked(PGSTAT_KIND_DATABASE, dboid, InvalidOid, false); dbentry = (PgStatShared_Database *) dbref->shared_stats; diff -Nru postgresql-15-15.17/src/backend/utils/adt/arrayfuncs.c postgresql-15-15.18/src/backend/utils/adt/arrayfuncs.c --- postgresql-15-15.17/src/backend/utils/adt/arrayfuncs.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/adt/arrayfuncs.c 2026-05-11 19:49:58.000000000 +0000 @@ -5543,6 +5543,7 @@ ndatabytes; char *data; int i; + int newnitems; /* * We disallow accumulating null subarrays. Another plausible definition @@ -5572,6 +5573,14 @@ nitems = ArrayGetNItems(ndims, dims); ndatabytes = ARR_SIZE(arg) - ARR_DATA_OFFSET(arg); + /* Check that the array doesn't grow too large */ + newnitems = astate->nitems + nitems; + if (newnitems > MaxArraySize) + ereport(ERROR, + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), + errmsg("array size exceeds the maximum allowed (%zu)", + MaxArraySize))); + if (astate->ndims == 0) { /* First input; check/save the dimensionality info */ @@ -5637,8 +5646,6 @@ /* Deal with null bitmap if needed */ if (astate->nullbitmap || ARR_HASNULL(arg)) { - int newnitems = astate->nitems + nitems; - if (astate->nullbitmap == NULL) { /* @@ -5662,7 +5669,7 @@ nitems); } - astate->nitems += nitems; + astate->nitems = newnitems; astate->dims[0] += 1; MemoryContextSwitchTo(oldcontext); diff -Nru postgresql-15-15.17/src/backend/utils/adt/datum.c postgresql-15-15.18/src/backend/utils/adt/datum.c --- postgresql-15-15.17/src/backend/utils/adt/datum.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/adt/datum.c 2026-05-11 19:49:58.000000000 +0000 @@ -259,8 +259,13 @@ /*------------------------------------------------------------------------- * datum_image_eq * - * Compares two datums for identical contents, based on byte images. Return - * true if the two datums are equal, false otherwise. + * Compares two datums for identical contents when coerced to a signed integer + * of typLen bytes. Return true if the two datums are equal, false otherwise. + * + * The coercion is required as we're not always careful to use the correct + * PG_RETURN_* macro. If we didn't do this, a Datum that's been formed and + * deformed into a tuple may not have the same signed representation as the + * other datum value. *------------------------------------------------------------------------- */ bool @@ -272,7 +277,21 @@ if (typByVal) { - result = (value1 == value2); + switch (typLen) + { + case sizeof(char): + result = (DatumGetChar(value1) == DatumGetChar(value2)); + break; + case sizeof(int16): + result = (DatumGetInt16(value1) == DatumGetInt16(value2)); + break; + case sizeof(int32): + result = (DatumGetInt32(value1) == DatumGetInt32(value2)); + break; + default: + result = (value1 == value2); + break; + } } else if (typLen > 0) { @@ -329,10 +348,11 @@ /*------------------------------------------------------------------------- * datum_image_hash * - * Generate a hash value based on the binary representation of 'value'. Most - * use cases will want to use the hash function specific to the Datum's type, - * however, some corner cases require generating a hash value based on the - * actual bits rather than the logical value. + * Generate a hash value based on the binary representation of 'value' when + * represented as a signed integer of typLen bytes. Most use cases will want + * to use the hash function specific to the Datum's type, however, some corner + * cases require generating a hash value based on the actual bits rather than + * the logical value. *------------------------------------------------------------------------- */ uint32 @@ -342,7 +362,23 @@ uint32 result; if (typByVal) + { + switch (typLen) + { + case sizeof(char): + value = CharGetDatum(DatumGetChar(value)); + break; + case sizeof(int16): + value = Int16GetDatum(DatumGetInt16(value)); + break; + case sizeof(int32): + value = Int32GetDatum(DatumGetInt32(value)); + break; + /* Nothing needs done for 64-bit types */ + } + result = hash_bytes((unsigned char *) &value, sizeof(Datum)); + } else if (typLen > 0) result = hash_bytes((unsigned char *) DatumGetPointer(value), typLen); else if (typLen == -1) diff -Nru postgresql-15-15.17/src/backend/utils/adt/formatting.c postgresql-15-15.18/src/backend/utils/adt/formatting.c --- postgresql-15-15.17/src/backend/utils/adt/formatting.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/adt/formatting.c 2026-05-11 19:49:58.000000000 +0000 @@ -1043,8 +1043,9 @@ char *number, /* string with number */ *number_p, /* pointer to current number position */ *inout, /* in / out buffer */ - *inout_p, /* pointer to current inout position */ - *last_relevant, /* last relevant number after decimal point */ + *inout_p; /* pointer to current inout position */ + + const char *last_relevant, /* last relevant number after decimal point */ *L_negative_sign, /* Locale */ *L_positive_sign, @@ -1109,6 +1110,7 @@ static char *get_last_relevant_decnum(char *num); static void NUM_numpart_from_char(NUMProc *Np, int id, int input_len); static void NUM_numpart_to_char(NUMProc *Np, int id); +static void NUM_add_locale_symbol(NUMProc *Np, const char *pattern); static char *NUM_processor(FormatNode *node, NUMDesc *Num, char *inout, char *number, int input_len, int to_char_out_pre_spaces, int sign, bool is_to_char, Oid collid); @@ -4068,7 +4070,7 @@ /* * Allocate workspace for result as C string */ - result = palloc((fmt_len * DCH_MAX_ITEM_SIZ) + 1); + result = palloc(mul_size(fmt_len, DCH_MAX_ITEM_SIZ) + 1); *result = '\0'; if (fmt_len > DCH_CACHE_SIZE) @@ -4079,7 +4081,7 @@ */ incache = false; - format = (FormatNode *) palloc((fmt_len + 1) * sizeof(FormatNode)); + format = palloc_array(FormatNode, fmt_len + 1); parse_format(format, fmt_str, DCH_keywords, DCH_suff, DCH_index, DCH_FLAG, NULL); @@ -4551,7 +4553,7 @@ * Allocate new memory if format picture is bigger than static * cache and do not use cache (call parser always) */ - format = (FormatNode *) palloc((fmt_len + 1) * sizeof(FormatNode)); + format = palloc_array(FormatNode, fmt_len + 1); parse_format(format, fmt_str, DCH_keywords, DCH_suff, DCH_index, DCH_FLAG | (std ? STD_FLAG : 0), NULL); @@ -4991,7 +4993,7 @@ * Allocate new memory if format picture is bigger than static cache * and do not use cache (call parser always) */ - format = (FormatNode *) palloc((len + 1) * sizeof(FormatNode)); + format = palloc_array(FormatNode, len + 1); *shouldFree = true; @@ -5454,11 +5456,9 @@ { if (Np->Num->lsign == NUM_LSIGN_PRE) { - if (Np->sign == '-') - strcpy(Np->inout_p, Np->L_negative_sign); - else - strcpy(Np->inout_p, Np->L_positive_sign); - Np->inout_p += strlen(Np->inout_p); + NUM_add_locale_symbol(Np, (Np->sign == '-') ? + Np->L_negative_sign : + Np->L_positive_sign); Np->sign_wrote = true; } } @@ -5523,8 +5523,7 @@ { if (!Np->last_relevant || *Np->last_relevant != '.') { - strcpy(Np->inout_p, Np->decimal); /* Write DEC/D */ - Np->inout_p += strlen(Np->inout_p); + NUM_add_locale_symbol(Np, Np->decimal); /* Write DEC/D */ } /* @@ -5533,8 +5532,7 @@ else if (IS_FILLMODE(Np->Num) && Np->last_relevant && *Np->last_relevant == '.') { - strcpy(Np->inout_p, Np->decimal); /* Write DEC/D */ - Np->inout_p += strlen(Np->inout_p); + NUM_add_locale_symbol(Np, Np->decimal); /* Write DEC/D */ } } else @@ -5592,11 +5590,9 @@ } else if (IS_LSIGN(Np->Num) && Np->Num->lsign == NUM_LSIGN_POST) { - if (Np->sign == '-') - strcpy(Np->inout_p, Np->L_negative_sign); - else - strcpy(Np->inout_p, Np->L_positive_sign); - Np->inout_p += strlen(Np->inout_p); + NUM_add_locale_symbol(Np, (Np->sign == '-') ? + Np->L_negative_sign : + Np->L_positive_sign); } } } @@ -5605,6 +5601,23 @@ } /* + * Append locale-specific symbol to Np->inout. + * Note we don't null-terminate the output + */ +static void +NUM_add_locale_symbol(NUMProc *Np, const char *pattern) +{ + size_t pattern_len = strlen(pattern); + + /* Truncate symbol if it's potentially too long */ + if (unlikely(pattern_len > NUM_MAX_ITEM_SIZ)) + pattern_len = pg_mbcliplen(pattern, pattern_len, + NUM_MAX_ITEM_SIZ); + memcpy(Np->inout_p, pattern, pattern_len); + Np->inout_p += pattern_len; +} + +/* * Skip over "n" input characters, but only if they aren't numeric data */ static void @@ -5878,6 +5891,10 @@ pattern_len = strlen(pattern); if (Np->is_to_char) { + /* Truncate symbol if it's potentially too long */ + if (unlikely(pattern_len > NUM_MAX_ITEM_SIZ)) + pattern_len = pg_mbcliplen(pattern, pattern_len, + NUM_MAX_ITEM_SIZ); if (!Np->num_in) { if (IS_FILLMODE(Np->Num)) @@ -5885,19 +5902,21 @@ else { /* just in case there are MB chars */ - pattern_len = pg_mbstrlen(pattern); + pattern_len = pg_mbstrlen_with_len(pattern, + pattern_len); memset(Np->inout_p, ' ', pattern_len); Np->inout_p += pattern_len - 1; } } else { - strcpy(Np->inout_p, pattern); + memcpy(Np->inout_p, pattern, pattern_len); Np->inout_p += pattern_len - 1; } } else { + /* Here we do not truncate the symbol ... */ if (!Np->num_in) { if (IS_FILLMODE(Np->Num)) @@ -5922,11 +5941,18 @@ pattern = Np->L_currency_symbol; if (Np->is_to_char) { - strcpy(Np->inout_p, pattern); - Np->inout_p += strlen(pattern) - 1; + /* Truncate symbol if it's potentially too long */ + pattern_len = strlen(pattern); + if (unlikely(pattern_len > NUM_MAX_ITEM_SIZ)) + pattern_len = pg_mbcliplen(pattern, pattern_len, + NUM_MAX_ITEM_SIZ); + + memcpy(Np->inout_p, pattern, pattern_len); + Np->inout_p += pattern_len - 1; } else { + /* Here we do not truncate the symbol ... */ NUM_eat_non_data_chars(Np, pg_mbstrlen(pattern), input_len); continue; } diff -Nru postgresql-15-15.17/src/backend/utils/adt/multirangetypes.c postgresql-15-15.18/src/backend/utils/adt/multirangetypes.c --- postgresql-15-15.17/src/backend/utils/adt/multirangetypes.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/adt/multirangetypes.c 2026-05-11 19:49:58.000000000 +0000 @@ -335,7 +335,7 @@ Oid mltrngtypoid = PG_GETARG_OID(1); int32 typmod = PG_GETARG_INT32(2); MultirangeIOData *cache; - uint32 range_count; + int32 range_count; RangeType **ranges; MultirangeType *ret; StringInfoData tmpbuf; @@ -343,7 +343,8 @@ cache = get_multirange_io_data(fcinfo, mltrngtypoid, IOFunc_receive); range_count = pq_getmsgint(buf, 4); - ranges = palloc(range_count * sizeof(RangeType *)); + /* palloc_array will enforce a more-or-less-sane range_count value */ + ranges = palloc_array(RangeType *, range_count); initStringInfo(&tmpbuf); for (int i = 0; i < range_count; i++) @@ -830,7 +831,7 @@ { int i; - *ranges = palloc(*range_count * sizeof(RangeType *)); + *ranges = palloc_array(RangeType *, *range_count); for (i = 0; i < *range_count; i++) (*ranges)[i] = multirange_get_range(rangetyp, multirange, i); } @@ -994,7 +995,7 @@ deconstruct_array(rangeArray, rngtypid, rangetyp->typlen, rangetyp->typbyval, rangetyp->typalign, &elements, &nulls, &range_count); - ranges = palloc0(range_count * sizeof(RangeType *)); + ranges = palloc_array(RangeType *, range_count); for (i = 0; i < range_count; i++) { if (nulls[i]) diff -Nru postgresql-15-15.17/src/backend/utils/adt/pg_locale.c postgresql-15-15.18/src/backend/utils/adt/pg_locale.c --- postgresql-15-15.17/src/backend/utils/adt/pg_locale.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/adt/pg_locale.c 2026-05-11 19:49:58.000000000 +0000 @@ -1049,7 +1049,7 @@ wchar_t wc_locale_name[LOCALE_NAME_MAX_LENGTH]; wchar_t buffer[LOCALE_NAME_MAX_LENGTH]; static char iso_lc_messages[LOCALE_NAME_MAX_LENGTH]; - char *period; + const char *period; int len; int ret_val; @@ -1837,7 +1837,7 @@ ereport(ERROR, (errmsg("%s failed: %s", "ucnv_toUChars", u_errorName(status)))); - *buff_uchar = palloc((len_uchar + 1) * sizeof(**buff_uchar)); + *buff_uchar = palloc_array(UChar, len_uchar + 1); status = U_ZERO_ERROR; len_uchar = ucnv_toUChars(icu_converter, *buff_uchar, len_uchar + 1, diff -Nru postgresql-15-15.17/src/backend/utils/adt/selfuncs.c postgresql-15-15.18/src/backend/utils/adt/selfuncs.c --- postgresql-15-15.17/src/backend/utils/adt/selfuncs.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/adt/selfuncs.c 2026-05-11 19:49:58.000000000 +0000 @@ -5222,7 +5222,11 @@ vardata->statsTuple = statext_expressions_load(info->statOid, rte->inh, pos); - vardata->freefunc = ReleaseDummy; + /* Nothing to release if no data found */ + if (vardata->statsTuple != NULL) + { + vardata->freefunc = ReleaseDummy; + } /* * Test if user has permission to access all rows from the diff -Nru postgresql-15-15.17/src/backend/utils/adt/timestamp.c postgresql-15-15.18/src/backend/utils/adt/timestamp.c --- postgresql-15-15.17/src/backend/utils/adt/timestamp.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/adt/timestamp.c 2026-05-11 19:49:58.000000000 +0000 @@ -1620,15 +1620,19 @@ timeofday(PG_FUNCTION_ARGS) { struct timeval tp; - char templ[128]; - char buf[128]; pg_time_t tt; + struct pg_tm *tm; + char part1[128]; + char part2[128]; + char buf[128 + 128 + 10]; gettimeofday(&tp, NULL); tt = (pg_time_t) tp.tv_sec; - pg_strftime(templ, sizeof(templ), "%a %b %d %H:%M:%S.%%06d %Y %Z", - pg_localtime(&tt, session_timezone)); - snprintf(buf, sizeof(buf), templ, tp.tv_usec); + tm = pg_localtime(&tt, session_timezone); + + pg_strftime(part1, sizeof(part1), "%a %b %d %H:%M:%S", tm); + pg_strftime(part2, sizeof(part2), "%Y %Z", tm); + snprintf(buf, sizeof(buf), "%s.%06d %s", part1, (int) tp.tv_usec, part2); PG_RETURN_TEXT_P(cstring_to_text(buf)); } diff -Nru postgresql-15-15.17/src/backend/utils/adt/varlena.c postgresql-15-15.18/src/backend/utils/adt/varlena.c --- postgresql-15-15.17/src/backend/utils/adt/varlena.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/adt/varlena.c 2026-05-11 19:49:58.000000000 +0000 @@ -6283,18 +6283,18 @@ text *input = PG_GETARG_TEXT_PP(0); char *formstr = text_to_cstring(PG_GETARG_TEXT_PP(1)); UnicodeNormalizationForm form; - int size; + size_t size; pg_wchar *input_chars; pg_wchar *output_chars; unsigned char *p; text *result; - int i; + size_t i; form = unicode_norm_form_from_string(formstr); /* convert to pg_wchar */ size = pg_mbstrlen_with_len(VARDATA_ANY(input), VARSIZE_ANY_EXHDR(input)); - input_chars = palloc((size + 1) * sizeof(pg_wchar)); + input_chars = palloc_array(pg_wchar, size + 1); p = (unsigned char *) VARDATA_ANY(input); for (i = 0; i < size; i++) { @@ -6349,20 +6349,20 @@ text *input = PG_GETARG_TEXT_PP(0); char *formstr = text_to_cstring(PG_GETARG_TEXT_PP(1)); UnicodeNormalizationForm form; - int size; + size_t size; pg_wchar *input_chars; pg_wchar *output_chars; unsigned char *p; - int i; + size_t i; UnicodeNormalizationQC quickcheck; - int output_size; + size_t output_size; bool result; form = unicode_norm_form_from_string(formstr); /* convert to pg_wchar */ size = pg_mbstrlen_with_len(VARDATA_ANY(input), VARSIZE_ANY_EXHDR(input)); - input_chars = palloc((size + 1) * sizeof(pg_wchar)); + input_chars = palloc_array(pg_wchar, size + 1); p = (unsigned char *) VARDATA_ANY(input); for (i = 0; i < size; i++) { diff -Nru postgresql-15-15.17/src/backend/utils/adt/xid8funcs.c postgresql-15-15.18/src/backend/utils/adt/xid8funcs.c --- postgresql-15-15.17/src/backend/utils/adt/xid8funcs.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/adt/xid8funcs.c 2026-05-11 19:49:58.000000000 +0000 @@ -224,7 +224,7 @@ #ifdef USE_BSEARCH_IF_NXIP_GREATER else if (snap->nxip > USE_BSEARCH_IF_NXIP_GREATER) { - void *res; + const void *res; res = bsearch(&value, snap->xip, snap->nxip, sizeof(FullTransactionId), cmp_fxid); diff -Nru postgresql-15-15.17/src/backend/utils/cache/lsyscache.c postgresql-15-15.18/src/backend/utils/cache/lsyscache.c --- postgresql-15-15.17/src/backend/utils/cache/lsyscache.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/cache/lsyscache.c 2026-05-11 19:49:58.000000000 +0000 @@ -780,6 +780,44 @@ return result; } +/* + * collations_agree_on_equality + * Return true if the two collations have equivalent notions of equality, + * so that a uniqueness or equality proof established under one side + * carries over to a comparison performed under the other side. + * + * Note: this is equality compatibility only. Do NOT use this to reason + * about ordering. + * + * An InvalidOid on either side denotes the absence of a collation -- that + * side's operation is not collation-sensitive (e.g. a non-collatable column + * type). Absence of a collation cannot conflict with the other side's + * collation, so we treat such pairs as agreeing on equality. This generalizes + * the asymmetric treatment in IndexCollMatchesExprColl(). + * + * Otherwise the collations have equivalent equality if they match, or if both + * are deterministic: by definition a deterministic collation treats two + * strings as equal iff they are byte-wise equal (see CREATE COLLATION), so any + * two deterministic collations share the same equality relation. A mismatch + * involving a nondeterministic collation, however, may mean the two equality + * relations disagree, and the proof is unsound. + */ +bool +collations_agree_on_equality(Oid coll1, Oid coll2) +{ + if (!OidIsValid(coll1) || !OidIsValid(coll2)) + return true; + + if (coll1 == coll2) + return true; + + if (!get_collation_isdeterministic(coll1) || + !get_collation_isdeterministic(coll2)) + return false; + + return true; +} + /* ---------- AMPROC CACHES ---------- */ diff -Nru postgresql-15-15.17/src/backend/utils/mmgr/dsa.c postgresql-15-15.18/src/backend/utils/mmgr/dsa.c --- postgresql-15-15.17/src/backend/utils/mmgr/dsa.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/mmgr/dsa.c 2026-05-11 19:49:58.000000000 +0000 @@ -2117,6 +2117,8 @@ /* See if that is enough... */ if (requested_pages > usable_pages) { + size_t total_requested_pages PG_USED_FOR_ASSERTS_ONLY; + /* * We'll make an odd-sized segment, working forward from the requested * number of pages. @@ -2127,10 +2129,37 @@ MAXALIGN(sizeof(FreePageManager)) + usable_pages * sizeof(dsa_pointer); + /* + * We must also account for pagemap entries needed to cover the + * metadata pages themselves. The pagemap must track all pages in the + * segment, including the pages occupied by metadata. + * + * This formula uses integer ceiling division to compute the exact + * number of additional entries needed. The divisor (FPM_PAGE_SIZE - + * sizeof(dsa_pointer)) accounts for the fact that each metadata page + * consumes one pagemap entry of sizeof(dsa_pointer) bytes, leaving + * only (FPM_PAGE_SIZE - sizeof(dsa_pointer)) net bytes per metadata + * page. + */ + metadata_bytes += + ((metadata_bytes + (FPM_PAGE_SIZE - sizeof(dsa_pointer)) - 1) / + (FPM_PAGE_SIZE - sizeof(dsa_pointer))) * + sizeof(dsa_pointer); + /* Add padding up to next page boundary. */ if (metadata_bytes % FPM_PAGE_SIZE != 0) metadata_bytes += FPM_PAGE_SIZE - (metadata_bytes % FPM_PAGE_SIZE); total_size = metadata_bytes + usable_pages * FPM_PAGE_SIZE; + total_requested_pages = total_size / FPM_PAGE_SIZE; + + /* + * Verify that we allocated enough pagemap entries for metadata and + * usable pages. This reverse-engineers the new calculation of + * "metadata_bytes" done based on the new "requested_pages" for an + * odd-sized segment. + */ + Assert((metadata_bytes - MAXALIGN(sizeof(dsa_segment_header)) - + MAXALIGN(sizeof(FreePageManager))) / sizeof(dsa_pointer) >= total_requested_pages); /* Is that too large for dsa_pointer's addressing scheme? */ if (total_size > DSA_MAX_SEGMENT_SIZE) diff -Nru postgresql-15-15.17/src/backend/utils/mmgr/mcxt.c postgresql-15-15.18/src/backend/utils/mmgr/mcxt.c --- postgresql-15-15.17/src/backend/utils/mmgr/mcxt.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/mmgr/mcxt.c 2026-05-11 19:49:58.000000000 +0000 @@ -21,6 +21,7 @@ #include "postgres.h" +#include "common/int.h" #include "mb/pg_wchar.h" #include "miscadmin.h" #include "storage/proc.h" @@ -67,6 +68,8 @@ static void MemoryContextStatsPrint(MemoryContext context, void *passthru, const char *stats_string, bool print_to_stderr); +static pg_noinline void add_size_error(Size s1, Size s2) pg_attribute_noreturn(); +static pg_noinline void mul_size_error(Size s1, Size s2) pg_attribute_noreturn(); /* * You should not do memory allocations within a critical section, because @@ -1238,6 +1241,172 @@ } /* + * repalloc_extended + * Adjust the size of a previously allocated chunk, + * with HUGE and NO_OOM options. + */ +void * +repalloc_extended(void *pointer, Size size, int flags) +{ + MemoryContext context = GetMemoryChunkContext(pointer); + void *ret; + + if (!((flags & MCXT_ALLOC_HUGE) != 0 ? AllocHugeSizeIsValid(size) : + AllocSizeIsValid(size))) + elog(ERROR, "invalid memory alloc request size %zu", size); + + AssertNotInCriticalSection(context); + + /* isReset must be false already */ + Assert(!context->isReset); + + ret = context->methods->realloc(context, pointer, size); + if (unlikely(ret == NULL)) + { + if ((flags & MCXT_ALLOC_NO_OOM) == 0) + { + MemoryContextStats(TopMemoryContext); + ereport(ERROR, + (errcode(ERRCODE_OUT_OF_MEMORY), + errmsg("out of memory"), + errdetail("Failed on request of size %zu in memory context \"%s\".", + size, context->name))); + } + return NULL; + } + + VALGRIND_MEMPOOL_CHANGE(context, pointer, ret, size); + + return ret; +} + +/* + * Support for safe calculation of memory request sizes + * + * These functions perform the requested calculation, but throw error if the + * result overflows. + * + * An important property of these functions is that if an argument was a + * negative signed int before promotion (implying overflow in calculating it) + * we will detect that as an error. That happens because we reject results + * larger than SIZE_MAX / 2 later on, in the actual allocation step. + */ +Size +add_size(Size s1, Size s2) +{ + Size result; + + if (unlikely(pg_add_size_overflow(s1, s2, &result))) + add_size_error(s1, s2); + return result; +} + +static pg_noinline void +add_size_error(Size s1, Size s2) +{ + ereport(ERROR, + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), + errmsg("invalid memory allocation request size %zu + %zu", + s1, s2))); +} + +Size +mul_size(Size s1, Size s2) +{ + Size result; + + if (unlikely(pg_mul_size_overflow(s1, s2, &result))) + mul_size_error(s1, s2); + return result; +} + +static pg_noinline void +mul_size_error(Size s1, Size s2) +{ + ereport(ERROR, + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), + errmsg("invalid memory allocation request size %zu * %zu", + s1, s2))); +} + +/* + * palloc_mul + * Equivalent to palloc(mul_size(s1, s2)). + */ +void * +palloc_mul(Size s1, Size s2) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req))) + mul_size_error(s1, s2); + return palloc(req); +} + +/* + * palloc0_mul + * Equivalent to palloc0(mul_size(s1, s2)). + * + * This is comparable to standard calloc's behavior. + */ +void * +palloc0_mul(Size s1, Size s2) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req))) + mul_size_error(s1, s2); + return palloc0(req); +} + +/* + * palloc_mul_extended + * Equivalent to palloc_extended(mul_size(s1, s2), flags). + */ +void * +palloc_mul_extended(Size s1, Size s2, int flags) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req))) + mul_size_error(s1, s2); + return palloc_extended(req, flags); +} + +/* + * repalloc_mul + * Equivalent to repalloc(p, mul_size(s1, s2)). + */ +void * +repalloc_mul(void *p, Size s1, Size s2) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req))) + mul_size_error(s1, s2); + return repalloc(p, req); +} + +/* + * repalloc_mul_extended + * Equivalent to repalloc_extended(p, mul_size(s1, s2), flags). + */ +void * +repalloc_mul_extended(void *p, Size s1, Size s2, int flags) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req))) + mul_size_error(s1, s2); + return repalloc_extended(p, req, flags); +} + +/* * MemoryContextAllocHuge * Allocate (possibly-expansive) space within the specified context. * @@ -1280,31 +1449,8 @@ void * repalloc_huge(void *pointer, Size size) { - MemoryContext context = GetMemoryChunkContext(pointer); - void *ret; - - if (!AllocHugeSizeIsValid(size)) - elog(ERROR, "invalid memory alloc request size %zu", size); - - AssertNotInCriticalSection(context); - - /* isReset must be false already */ - Assert(!context->isReset); - - ret = context->methods->realloc(context, pointer, size); - if (unlikely(ret == NULL)) - { - MemoryContextStats(TopMemoryContext); - ereport(ERROR, - (errcode(ERRCODE_OUT_OF_MEMORY), - errmsg("out of memory"), - errdetail("Failed on request of size %zu in memory context \"%s\".", - size, context->name))); - } - - VALGRIND_MEMPOOL_CHANGE(context, pointer, ret, size); - - return ret; + /* this one seems not worth its own implementation */ + return repalloc_extended(pointer, size, MCXT_ALLOC_HUGE); } /* diff -Nru postgresql-15-15.17/src/backend/utils/sort/tuplestore.c postgresql-15-15.18/src/backend/utils/sort/tuplestore.c --- postgresql-15-15.17/src/backend/utils/sort/tuplestore.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/backend/utils/sort/tuplestore.c 2026-05-11 19:49:58.000000000 +0000 @@ -673,10 +673,10 @@ /* OK, do it */ FREEMEM(state, GetMemoryChunkSpace(state->memtuples)); - state->memtupsize = newmemtupsize; state->memtuples = (void **) repalloc_huge(state->memtuples, - state->memtupsize * sizeof(void *)); + newmemtupsize * sizeof(void *)); + state->memtupsize = newmemtupsize; USEMEM(state, GetMemoryChunkSpace(state->memtuples)); if (LACKMEM(state)) elog(ERROR, "unexpected out-of-memory situation in tuplestore"); @@ -1221,7 +1221,19 @@ if (i >= state->memtupcount) break; WRITETUP(state, state->memtuples[i]); + + /* + * Increase memtupdeleted to track the fact that we just deleted that + * tuple. Think not to remove this on the grounds that we'll reset + * memtupdeleted to zero below. We might not reach that if some later + * WRITETUP fails (e.g. due to overrunning temp_file_limit). If so, + * we'd error out leaving an effectively-corrupt tuplestore, which + * would be quite bad if it's a persistent data structure such as a + * Portal's holdStore. + */ + state->memtupdeleted++; } + /* Now we can reset memtupdeleted along with memtupcount */ state->memtupdeleted = 0; state->memtupcount = 0; } @@ -1408,8 +1420,10 @@ FREEMEM(state, GetMemoryChunkSpace(state->memtuples[i])); pfree(state->memtuples[i]); state->memtuples[i] = NULL; + /* As in dumptuples(), increment memtupdeleted synchronously */ + state->memtupdeleted++; } - state->memtupdeleted = nremove; + Assert(state->memtupdeleted == nremove); /* mark tuplestore as truncated (used for Assert crosschecks only) */ state->truncated = true; diff -Nru postgresql-15-15.17/src/bin/pg_basebackup/bbstreamer_file.c postgresql-15-15.18/src/bin/pg_basebackup/bbstreamer_file.c --- postgresql-15-15.17/src/bin/pg_basebackup/bbstreamer_file.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_basebackup/bbstreamer_file.c 2026-05-11 19:49:58.000000000 +0000 @@ -215,6 +215,10 @@ case BBSTREAMER_MEMBER_HEADER: Assert(mystreamer->file == NULL); + if (!path_is_safe_for_extraction(member->pathname)) + pg_fatal("tar member has unsafe path name: \"%s\"", + member->pathname); + /* Prepend basepath. */ snprintf(mystreamer->filename, sizeof(mystreamer->filename), "%s/%s", mystreamer->basepath, member->pathname); @@ -233,6 +237,14 @@ if (mystreamer->link_map) linktarget = mystreamer->link_map(linktarget); + + if (!is_absolute_path(linktarget) && + !path_is_safe_for_extraction(member->linktarget)) + { + pg_fatal("link target has unsafe path name: \"%s\"", + member->linktarget); + } + extract_link(mystreamer->filename, linktarget); } else @@ -263,7 +275,9 @@ case BBSTREAMER_MEMBER_TRAILER: if (mystreamer->file == NULL) break; - fclose(mystreamer->file); + if (fclose(mystreamer->file) != 0) + pg_fatal("could not close file \"%s\": %m", + mystreamer->filename); mystreamer->file = NULL; break; diff -Nru postgresql-15-15.17/src/bin/pg_basebackup/bbstreamer_gzip.c postgresql-15-15.18/src/bin/pg_basebackup/bbstreamer_gzip.c --- postgresql-15-15.17/src/bin/pg_basebackup/bbstreamer_gzip.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_basebackup/bbstreamer_gzip.c 2026-05-11 19:49:58.000000000 +0000 @@ -292,8 +292,9 @@ */ res = inflate(zs, Z_NO_FLUSH); - if (res == Z_STREAM_ERROR) - pg_log_error("could not decompress data: %s", zs->msg); + if (res != Z_OK && res != Z_STREAM_END && res != Z_BUF_ERROR) + pg_fatal("could not decompress data: %s", + zs->msg ? zs->msg : "unknown error"); mystreamer->bytes_written = mystreamer->base.bbs_buffer.maxlen - zs->avail_out; @@ -323,10 +324,11 @@ * End of the stream, if there is some pending data in output buffers then * we must forward it to next streamer. */ - bbstreamer_content(mystreamer->base.bbs_next, NULL, - mystreamer->base.bbs_buffer.data, - mystreamer->base.bbs_buffer.maxlen, - BBSTREAMER_UNKNOWN); + if (mystreamer->bytes_written > 0) + bbstreamer_content(mystreamer->base.bbs_next, NULL, + mystreamer->base.bbs_buffer.data, + mystreamer->bytes_written, + BBSTREAMER_UNKNOWN); bbstreamer_finalize(mystreamer->base.bbs_next); } @@ -337,7 +339,12 @@ static void bbstreamer_gzip_decompressor_free(bbstreamer *streamer) { + bbstreamer_gzip_decompressor *mystreamer; + + mystreamer = (bbstreamer_gzip_decompressor *) streamer; + bbstreamer_free(streamer->bbs_next); + inflateEnd(&mystreamer->zstream); pfree(streamer->bbs_buffer.data); pfree(streamer); } diff -Nru postgresql-15-15.17/src/bin/pg_basebackup/bbstreamer_lz4.c postgresql-15-15.18/src/bin/pg_basebackup/bbstreamer_lz4.c --- postgresql-15-15.17/src/bin/pg_basebackup/bbstreamer_lz4.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_basebackup/bbstreamer_lz4.c 2026-05-11 19:49:58.000000000 +0000 @@ -92,8 +92,8 @@ ctxError = LZ4F_createCompressionContext(&streamer->cctx, LZ4F_VERSION); if (LZ4F_isError(ctxError)) - pg_log_error("could not create lz4 compression context: %s", - LZ4F_getErrorName(ctxError)); + pg_fatal("could not create lz4 compression context: %s", + LZ4F_getErrorName(ctxError)); return &streamer->base; #else @@ -137,8 +137,8 @@ &mystreamer->prefs); if (LZ4F_isError(compressed_size)) - pg_log_error("could not write lz4 header: %s", - LZ4F_getErrorName(compressed_size)); + pg_fatal("could not write lz4 header: %s", + LZ4F_getErrorName(compressed_size)); mystreamer->bytes_written += compressed_size; mystreamer->header_written = true; @@ -186,8 +186,8 @@ next_in, len, NULL); if (LZ4F_isError(compressed_size)) - pg_log_error("could not compress data: %s", - LZ4F_getErrorName(compressed_size)); + pg_fatal("could not compress data: %s", + LZ4F_getErrorName(compressed_size)); mystreamer->bytes_written += compressed_size; } @@ -238,8 +238,8 @@ next_out, avail_out, NULL); if (LZ4F_isError(compressed_size)) - pg_log_error("could not end lz4 compression: %s", - LZ4F_getErrorName(compressed_size)); + pg_fatal("could not end lz4 compression: %s", + LZ4F_getErrorName(compressed_size)); mystreamer->bytes_written += compressed_size; @@ -351,18 +351,21 @@ next_in, &read_size, NULL); if (LZ4F_isError(ret)) - pg_log_error("could not decompress data: %s", - LZ4F_getErrorName(ret)); + pg_fatal("could not decompress data: %s", + LZ4F_getErrorName(ret)); /* Update input buffer based on number of bytes consumed */ avail_in -= read_size; next_in += read_size; + /* Update output buffer based on number of bytes produced */ + avail_out -= out_size; + next_out += out_size; mystreamer->bytes_written += out_size; /* * If output buffer is full then forward the content to next streamer - * and update the output buffer. + * and reset the output buffer. */ if (mystreamer->bytes_written >= mystreamer->base.bbs_buffer.maxlen) { @@ -372,13 +375,8 @@ context); avail_out = mystreamer->base.bbs_buffer.maxlen; - mystreamer->bytes_written = 0; next_out = (uint8 *) mystreamer->base.bbs_buffer.data; - } - else - { - avail_out = mystreamer->base.bbs_buffer.maxlen - mystreamer->bytes_written; - next_out += mystreamer->bytes_written; + mystreamer->bytes_written = 0; } } } @@ -397,10 +395,11 @@ * End of the stream, if there is some pending data in output buffers then * we must forward it to next streamer. */ - bbstreamer_content(mystreamer->base.bbs_next, NULL, - mystreamer->base.bbs_buffer.data, - mystreamer->base.bbs_buffer.maxlen, - BBSTREAMER_UNKNOWN); + if (mystreamer->bytes_written > 0) + bbstreamer_content(mystreamer->base.bbs_next, NULL, + mystreamer->base.bbs_buffer.data, + mystreamer->bytes_written, + BBSTREAMER_UNKNOWN); bbstreamer_finalize(mystreamer->base.bbs_next); } diff -Nru postgresql-15-15.17/src/bin/pg_basebackup/bbstreamer_tar.c postgresql-15-15.18/src/bin/pg_basebackup/bbstreamer_tar.c --- postgresql-15-15.17/src/bin/pg_basebackup/bbstreamer_tar.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_basebackup/bbstreamer_tar.c 2026-05-11 19:49:58.000000000 +0000 @@ -224,7 +224,8 @@ /* OK, now we can send it. */ bbstreamer_content(mystreamer->base.bbs_next, &mystreamer->member, - data, mystreamer->pad_bytes_expected, + mystreamer->base.bbs_buffer.data, + mystreamer->pad_bytes_expected, BBSTREAMER_MEMBER_TRAILER); /* Expect next file header. */ @@ -294,6 +295,9 @@ strlcpy(member->pathname, &buffer[0], MAXPGPATH); if (member->pathname[0] == '\0') pg_fatal("tar member has empty name"); + if (!path_is_safe_for_extraction(member->pathname)) + pg_fatal("tar member has unsafe path name: \"%s\"", + member->pathname); member->size = read_tar_number(&buffer[124], 12); member->mode = read_tar_number(&buffer[100], 8); member->uid = read_tar_number(&buffer[108], 8); @@ -344,6 +348,7 @@ { pfree(streamer->bbs_buffer.data); bbstreamer_free(streamer->bbs_next); + pfree(streamer); } /* diff -Nru postgresql-15-15.17/src/bin/pg_basebackup/bbstreamer_zstd.c postgresql-15-15.18/src/bin/pg_basebackup/bbstreamer_zstd.c --- postgresql-15-15.17/src/bin/pg_basebackup/bbstreamer_zstd.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_basebackup/bbstreamer_zstd.c 2026-05-11 19:49:58.000000000 +0000 @@ -165,8 +165,8 @@ &inBuf, ZSTD_e_continue); if (ZSTD_isError(yet_to_flush)) - pg_log_error("could not compress data: %s", - ZSTD_getErrorName(yet_to_flush)); + pg_fatal("could not compress data: %s", + ZSTD_getErrorName(yet_to_flush)); } } @@ -207,8 +207,8 @@ &in, ZSTD_e_end); if (ZSTD_isError(yet_to_flush)) - pg_log_error("could not compress data: %s", - ZSTD_getErrorName(yet_to_flush)); + pg_fatal("could not compress data: %s", + ZSTD_getErrorName(yet_to_flush)); } while (yet_to_flush > 0); @@ -313,8 +313,8 @@ &mystreamer->zstd_outBuf, &inBuf); if (ZSTD_isError(ret)) - pg_log_error("could not decompress data: %s", - ZSTD_getErrorName(ret)); + pg_fatal("could not decompress data: %s", + ZSTD_getErrorName(ret)); } } @@ -333,7 +333,7 @@ if (mystreamer->zstd_outBuf.pos > 0) bbstreamer_content(mystreamer->base.bbs_next, NULL, mystreamer->base.bbs_buffer.data, - mystreamer->base.bbs_buffer.maxlen, + mystreamer->zstd_outBuf.pos, BBSTREAMER_UNKNOWN); bbstreamer_finalize(mystreamer->base.bbs_next); diff -Nru postgresql-15-15.17/src/bin/pg_basebackup/po/ru.po postgresql-15-15.18/src/bin/pg_basebackup/po/ru.po --- postgresql-15-15.17/src/bin/pg_basebackup/po/ru.po 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_basebackup/po/ru.po 2026-05-11 19:49:58.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: pg_basebackup (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-11-09 07:47+0300\n" +"POT-Creation-Date: 2026-05-10 08:02+0300\n" "PO-Revision-Date: 2025-11-09 08:45+0200\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -149,38 +149,38 @@ msgid "could not write to file \"%s\": %m" msgstr "не удалось записать в файл \"%s\": %m" -#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:339 +#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:341 #: pg_basebackup.c:1508 pg_basebackup.c:1717 #, c-format msgid "could not create file \"%s\": %m" msgstr "не удалось создать файл \"%s\": %m" -#: bbstreamer_file.c:138 pg_recvlogical.c:635 +#: bbstreamer_file.c:138 bbstreamer_file.c:267 pg_recvlogical.c:635 #, c-format msgid "could not close file \"%s\": %m" msgstr "не удалось закрыть файл \"%s\": %m" -#: bbstreamer_file.c:275 +#: bbstreamer_file.c:277 #, c-format msgid "unexpected state while extracting archive" msgstr "неожиданное состояние при извлечении архива" -#: bbstreamer_file.c:298 pg_basebackup.c:697 pg_basebackup.c:741 +#: bbstreamer_file.c:300 pg_basebackup.c:697 pg_basebackup.c:741 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не удалось создать каталог \"%s\": %m" -#: bbstreamer_file.c:304 +#: bbstreamer_file.c:306 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "не удалось установить права для каталога \"%s\": %m" -#: bbstreamer_file.c:323 +#: bbstreamer_file.c:325 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "не удалось создать символическую ссылку \"%s\" в \"%s\": %m" -#: bbstreamer_file.c:343 +#: bbstreamer_file.c:345 #, c-format msgid "could not set permissions on file \"%s\": %m" msgstr "не удалось установить права доступа для файла \"%s\": %m" @@ -265,22 +265,22 @@ msgid "could not initialize compression library: %s" msgstr "не удалось инициализировать библиотеку сжатия: %s" -#: bbstreamer_tar.c:244 +#: bbstreamer_tar.c:245 #, c-format msgid "tar file trailer exceeds 2 blocks" msgstr "окончание файла tar занимает больше 2 блоков" -#: bbstreamer_tar.c:249 +#: bbstreamer_tar.c:250 #, c-format msgid "unexpected state while parsing tar archive" msgstr "неожиданное состояние при разборе архива tar" -#: bbstreamer_tar.c:296 +#: bbstreamer_tar.c:297 #, c-format msgid "tar member has empty name" msgstr "пустое имя у компонента tar" -#: bbstreamer_tar.c:328 +#: bbstreamer_tar.c:329 #, c-format msgid "COPY stream ended before last file was finished" msgstr "поток COPY закончился до завершения последнего файла" diff -Nru postgresql-15-15.17/src/bin/pg_rewind/file_ops.c postgresql-15-15.18/src/bin/pg_rewind/file_ops.c --- postgresql-15-15.17/src/bin/pg_rewind/file_ops.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_rewind/file_ops.c 2026-05-11 19:49:58.000000000 +0000 @@ -48,6 +48,9 @@ { int mode; + if (!path_is_safe_for_extraction(path)) + pg_fatal("target file path is unsafe for open: \"%s\"", path); + if (dry_run) return; @@ -188,6 +191,9 @@ { char dstpath[MAXPGPATH]; + if (!path_is_safe_for_extraction(path)) + pg_fatal("target file path is unsafe for removal: \"%s\"", path); + if (dry_run) return; @@ -208,6 +214,9 @@ char dstpath[MAXPGPATH]; int fd; + if (!path_is_safe_for_extraction(path)) + pg_fatal("target file path is unsafe for truncation: \"%s\"", path); + if (dry_run) return; @@ -230,6 +239,10 @@ { char dstpath[MAXPGPATH]; + if (!path_is_safe_for_extraction(path)) + pg_fatal("target directory path is unsafe for directory creation: \"%s\"", + path); + if (dry_run) return; @@ -244,6 +257,10 @@ { char dstpath[MAXPGPATH]; + if (!path_is_safe_for_extraction(path)) + pg_fatal("target directory path is unsafe for directory removal: \"%s\"", + path); + if (dry_run) return; @@ -258,6 +275,9 @@ { char dstpath[MAXPGPATH]; + if (!path_is_safe_for_extraction(path)) + pg_fatal("target symlink path is unsafe for creation: \"%s\"", path); + if (dry_run) return; @@ -272,6 +292,9 @@ { char dstpath[MAXPGPATH]; + if (!path_is_safe_for_extraction(path)) + pg_fatal("target symlink path is unsafe for removal: \"%s\"", path); + if (dry_run) return; diff -Nru postgresql-15-15.17/src/bin/pg_test_fsync/po/ru.po postgresql-15-15.18/src/bin/pg_test_fsync/po/ru.po --- postgresql-15-15.17/src/bin/pg_test_fsync/po/ru.po 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_test_fsync/po/ru.po 2026-05-11 19:49:58.000000000 +0000 @@ -7,7 +7,7 @@ "Project-Id-Version: pg_test_fsync (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-08-27 14:52+0300\n" -"PO-Revision-Date: 2022-09-05 13:36+0300\n" +"PO-Revision-Date: 2024-09-04 18:11+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -90,7 +90,7 @@ #, c-format msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" msgstr "" -"O_DIRECT на этой платформе не поддерживается для open_datasync и open_sync.\n" +"O_DIRECT на этой платформе поддерживается для open_datasync и open_sync.\n" #: pg_test_fsync.c:218 #, c-format diff -Nru postgresql-15-15.17/src/bin/pg_test_timing/pg_test_timing.c postgresql-15-15.18/src/bin/pg_test_timing/pg_test_timing.c --- postgresql-15-15.17/src/bin/pg_test_timing/pg_test_timing.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_test_timing/pg_test_timing.c 2026-05-11 19:49:58.000000000 +0000 @@ -149,7 +149,7 @@ if (diff < 0) { fprintf(stderr, _("Detected clock going backwards in time.\n")); - fprintf(stderr, _("Time warp: %d ms\n"), diff); + fprintf(stderr, _("Time warp: %d us\n"), diff); exit(1); } diff -Nru postgresql-15-15.17/src/bin/pg_test_timing/po/de.po postgresql-15-15.18/src/bin/pg_test_timing/po/de.po --- postgresql-15-15.17/src/bin/pg_test_timing/po/de.po 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_test_timing/po/de.po 2026-05-11 19:49:58.000000000 +0000 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_test_timing (PostgreSQL) 13\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-04-12 14:17+0000\n" +"POT-Creation-Date: 2026-05-05 10:59+0000\n" "PO-Revision-Date: 2021-04-12 16:37+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" @@ -57,8 +57,8 @@ #: pg_test_timing.c:152 #, c-format -msgid "Time warp: %d ms\n" -msgstr "Zeitdifferenz: %d ms\n" +msgid "Time warp: %d us\n" +msgstr "Zeitdifferenz: %d µs\n" #: pg_test_timing.c:175 #, c-format diff -Nru postgresql-15-15.17/src/bin/pg_test_timing/po/fr.po postgresql-15-15.18/src/bin/pg_test_timing/po/fr.po --- postgresql-15-15.17/src/bin/pg_test_timing/po/fr.po 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_test_timing/po/fr.po 2026-05-11 19:49:58.000000000 +0000 @@ -10,8 +10,8 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2024-09-16 16:35+0200\n" +"POT-Creation-Date: 2026-04-24 03:26+0000\n" +"PO-Revision-Date: 2026-04-24 17:51+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.5\n" +"X-Generator: Poedit 3.9\n" #: pg_test_timing.c:59 #, c-format @@ -60,8 +60,8 @@ #: pg_test_timing.c:152 #, c-format -msgid "Time warp: %d ms\n" -msgstr "Décalage de temps : %d ms\n" +msgid "Time warp: %d us\n" +msgstr "Décalage de temps : %d us\n" #: pg_test_timing.c:175 #, c-format diff -Nru postgresql-15-15.17/src/bin/pg_test_timing/po/ru.po postgresql-15-15.18/src/bin/pg_test_timing/po/ru.po --- postgresql-15-15.17/src/bin/pg_test_timing/po/ru.po 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_test_timing/po/ru.po 2026-05-11 19:49:58.000000000 +0000 @@ -1,13 +1,13 @@ # Russian message translation file for pg_test_timing # Copyright (C) 2017 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2017, 2021, 2024. +# SPDX-FileCopyrightText: 2017, 2021, 2024, 2026 Alexander Lakhin msgid "" msgstr "" "Project-Id-Version: pg_test_timing (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-08-14 06:29+0300\n" -"PO-Revision-Date: 2021-09-04 12:18+0300\n" +"POT-Creation-Date: 2026-05-10 08:02+0300\n" +"PO-Revision-Date: 2026-05-10 08:31+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -57,8 +57,8 @@ #: pg_test_timing.c:152 #, c-format -msgid "Time warp: %d ms\n" -msgstr "Сдвиг времени: %d мс\n" +msgid "Time warp: %d us\n" +msgstr "Сдвиг времени: %d мкс\n" #: pg_test_timing.c:175 #, c-format diff -Nru postgresql-15-15.17/src/bin/pg_upgrade/dump.c postgresql-15-15.18/src/bin/pg_upgrade/dump.c --- postgresql-15-15.17/src/bin/pg_upgrade/dump.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_upgrade/dump.c 2026-05-11 19:49:58.000000000 +0000 @@ -21,9 +21,10 @@ /* run new pg_dumpall binary for globals */ exec_prog(UTILITY_LOG_FILE, NULL, true, true, - "\"%s/pg_dumpall\" %s --globals-only --quote-all-identifiers " + "\"%s/pg_dumpall\" %s%s --globals-only --quote-all-identifiers " "--binary-upgrade %s -f \"%s/%s\"", new_cluster.bindir, cluster_conn_opts(&old_cluster), + protocol_negotiation_supported(&old_cluster) ? "" : " -d \"max_protocol_version=3.0\"", log_opts.verbose ? "--verbose" : "", log_opts.dumpdir, GLOBALS_DUMP_FILE); @@ -43,6 +44,9 @@ initPQExpBuffer(&connstr); appendPQExpBufferStr(&connstr, "dbname="); appendConnStrVal(&connstr, old_db->db_name); + if (!protocol_negotiation_supported(&old_cluster)) + appendPQExpBufferStr(&connstr, " max_protocol_version=3.0"); + initPQExpBuffer(&escaped_connstr); appendShellString(&escaped_connstr, connstr.data); termPQExpBuffer(&connstr); diff -Nru postgresql-15-15.17/src/bin/pg_upgrade/pg_upgrade.h postgresql-15-15.18/src/bin/pg_upgrade/pg_upgrade.h --- postgresql-15-15.17/src/bin/pg_upgrade/pg_upgrade.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_upgrade/pg_upgrade.h 2026-05-11 19:49:58.000000000 +0000 @@ -449,6 +449,7 @@ bool check_for_data_type_usage(ClusterInfo *cluster, const char *type_name, const char *output_path); +bool protocol_negotiation_supported(const ClusterInfo *cluster); void old_9_3_check_for_line_data_type_usage(ClusterInfo *cluster); void old_9_6_check_for_unknown_data_type_usage(ClusterInfo *cluster); void old_9_6_invalidate_hash_indexes(ClusterInfo *cluster, diff -Nru postgresql-15-15.17/src/bin/pg_upgrade/po/ru.po postgresql-15-15.18/src/bin/pg_upgrade/po/ru.po --- postgresql-15-15.17/src/bin/pg_upgrade/po/ru.po 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_upgrade/po/ru.po 2026-05-11 19:49:58.000000000 +0000 @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-08-09 07:12+0300\n" +"POT-Creation-Date: 2026-05-10 08:02+0300\n" "PO-Revision-Date: 2025-08-09 07:24+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -228,7 +228,7 @@ #: check.c:601 check.c:776 check.c:896 check.c:995 check.c:1126 check.c:1205 #: check.c:1285 check.c:1587 file.c:338 function.c:165 option.c:465 -#: version.c:116 version.c:292 version.c:429 +#: version.c:116 version.c:323 version.c:460 #, c-format msgid "could not open file \"%s\": %s\n" msgstr "не удалось открыть файл \"%s\": %s\n" @@ -274,7 +274,7 @@ #: check.c:793 check.c:918 check.c:1020 check.c:1146 check.c:1227 check.c:1305 #: check.c:1365 check.c:1426 check.c:1460 check.c:1491 check.c:1610 -#: function.c:187 version.c:192 version.c:232 version.c:378 +#: function.c:187 version.c:192 version.c:232 version.c:409 #, c-format msgid "fatal\n" msgstr "сбой\n" @@ -646,7 +646,7 @@ msgid "The target cluster lacks cluster state information:\n" msgstr "В целевом кластере не хватает информации о состоянии кластера:\n" -#: controldata.c:209 dump.c:50 pg_upgrade.c:440 pg_upgrade.c:477 +#: controldata.c:209 dump.c:54 pg_upgrade.c:440 pg_upgrade.c:477 #: relfilenode.c:231 server.c:34 #, c-format msgid "%s" @@ -920,7 +920,7 @@ msgid "Creating dump of global objects" msgstr "Формирование выгрузки глобальных объектов" -#: dump.c:32 +#: dump.c:33 #, c-format msgid "Creating dump of database schemas" msgstr "Формирование выгрузки схем базы данных" @@ -1835,17 +1835,17 @@ msgid "linking \"%s\" to \"%s\"\n" msgstr "создание ссылки на \"%s\" в \"%s\"\n" -#: server.c:39 server.c:143 util.c:220 util.c:250 +#: server.c:39 server.c:145 util.c:220 util.c:250 #, c-format msgid "Failure, exiting\n" msgstr "Ошибка, выполняется выход\n" -#: server.c:133 +#: server.c:135 #, c-format msgid "executing: %s\n" msgstr "выполняется: %s\n" -#: server.c:139 +#: server.c:141 #, c-format msgid "" "SQL command failed\n" @@ -1856,17 +1856,17 @@ "%s\n" "%s" -#: server.c:169 +#: server.c:171 #, c-format msgid "could not open version file \"%s\": %m\n" msgstr "не удалось открыть файл с версией \"%s\": %m\n" -#: server.c:173 +#: server.c:175 #, c-format msgid "could not parse version file \"%s\"\n" msgstr "не удалось разобрать файл с версией \"%s\"\n" -#: server.c:291 +#: server.c:293 #, c-format msgid "" "\n" @@ -1875,7 +1875,7 @@ "\n" "%s" -#: server.c:295 +#: server.c:297 #, c-format msgid "" "could not connect to source postmaster started with the command:\n" @@ -1885,7 +1885,7 @@ "командой:\n" "%s\n" -#: server.c:299 +#: server.c:301 #, c-format msgid "" "could not connect to target postmaster started with the command:\n" @@ -1895,26 +1895,26 @@ "командой:\n" "%s\n" -#: server.c:313 +#: server.c:315 #, c-format msgid "pg_ctl failed to start the source server, or connection failed\n" msgstr "" "программа pg_ctl не смогла запустить исходный сервер, либо к нему не удалось " "подключиться\n" -#: server.c:315 +#: server.c:317 #, c-format msgid "pg_ctl failed to start the target server, or connection failed\n" msgstr "" "программа pg_ctl не смогла запустить целевой сервер, либо к нему не удалось " "подключиться\n" -#: server.c:360 +#: server.c:362 #, c-format msgid "out of memory\n" msgstr "нехватка памяти\n" -#: server.c:373 +#: server.c:375 #, c-format msgid "libpq environment variable %s has a non-local server value: %s\n" msgstr "" @@ -2020,17 +2020,17 @@ " %s\n" "\n" -#: version.c:257 +#: version.c:288 #, c-format msgid "Checking for hash indexes" msgstr "Проверка хеш-индексов" -#: version.c:335 +#: version.c:366 #, c-format msgid "warning" msgstr "предупреждение" -#: version.c:337 +#: version.c:368 #, c-format msgid "" "\n" @@ -2047,7 +2047,7 @@ "инструкции по выполнению REINDEX.\n" "\n" -#: version.c:343 +#: version.c:374 #, c-format msgid "" "\n" @@ -2068,13 +2068,13 @@ "индексы; до этого никакие хеш-индексы не будут использоваться.\n" "\n" -#: version.c:369 +#: version.c:400 #, c-format msgid "Checking for invalid \"sql_identifier\" user columns" msgstr "" "Проверка неправильных пользовательских столбцов типа \"sql_identifier\"" -#: version.c:379 +#: version.c:410 #, c-format msgid "" "Your installation contains the \"sql_identifier\" data type in user tables.\n" @@ -2093,17 +2093,17 @@ " %s\n" "\n" -#: version.c:403 +#: version.c:434 #, c-format msgid "Checking for extension updates" msgstr "Проверка обновлённых расширений" -#: version.c:455 +#: version.c:486 #, c-format msgid "notice" msgstr "замечание" -#: version.c:456 +#: version.c:487 #, c-format msgid "" "\n" diff -Nru postgresql-15-15.17/src/bin/pg_upgrade/server.c postgresql-15-15.18/src/bin/pg_upgrade/server.c --- postgresql-15-15.17/src/bin/pg_upgrade/server.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_upgrade/server.c 2026-05-11 19:49:58.000000000 +0000 @@ -71,6 +71,8 @@ appendPQExpBufferStr(&conn_opts, " host="); appendConnStrVal(&conn_opts, cluster->sockdir); } + if (!protocol_negotiation_supported(cluster)) + appendPQExpBufferStr(&conn_opts, " max_protocol_version=3.0"); conn = PQconnectdb(conn_opts.data); termPQExpBuffer(&conn_opts); diff -Nru postgresql-15-15.17/src/bin/pg_upgrade/version.c postgresql-15-15.18/src/bin/pg_upgrade/version.c --- postgresql-15-15.17/src/bin/pg_upgrade/version.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_upgrade/version.c 2026-05-11 19:49:58.000000000 +0000 @@ -242,6 +242,37 @@ } /* + * Older servers can't support newer protocol versions, so their connection + * strings will need to lock max_protocol_version to 3.0. + */ +bool +protocol_negotiation_supported(const ClusterInfo *cluster) +{ + /* + * Back-branch-specific complication: in libpq versions prior to PG18, + * max_protocol_version isn't supported. But we also don't need to worry + * about newer protocol versions being used in that case, so just lie and + * return true. + * + * (Checking for a libpq version that's newer than this branch looks very + * strange, but distributions are allowed to link older pg_upgrade + * binaries against the newest release of libpq.) + */ + if (PQlibVersion() < 180000) + return true; + + /* + * The February 2018 patch release (9.3.21, 9.4.16, 9.5.11, 9.6.7, and + * 10.2) added support for NegotiateProtocolVersion. But ClusterInfo only + * has information about the major version number. To ensure we can still + * upgrade older unpatched servers, just assume anything prior to PG11 + * can't negotiate. It's not possible for those servers to make use of + * newer protocols anyway, so nothing is lost. + */ + return (GET_MAJOR_VERSION(cluster->major_version) >= 1100); +} + +/* * old_9_6_invalidate_hash_indexes() * 9.6 -> 10 * Hash index binary format has changed from 9.6->10.0 diff -Nru postgresql-15-15.17/src/bin/pg_verifybackup/po/ru.po postgresql-15-15.18/src/bin/pg_verifybackup/po/ru.po --- postgresql-15-15.17/src/bin/pg_verifybackup/po/ru.po 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_verifybackup/po/ru.po 2026-05-11 19:49:58.000000000 +0000 @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2020, 2021, 2022, 2023, 2024, 2025 Alexander Lakhin +# SPDX-FileCopyrightText: 2020, 2021, 2022, 2023, 2024, 2025, 2026 Alexander Lakhin msgid "" msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL) 13\n" diff -Nru postgresql-15-15.17/src/bin/pg_waldump/pg_waldump.c postgresql-15-15.18/src/bin/pg_waldump/pg_waldump.c --- postgresql-15-15.17/src/bin/pg_waldump/pg_waldump.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pg_waldump/pg_waldump.c 2026-05-11 19:49:58.000000000 +0000 @@ -121,7 +121,7 @@ static void split_path(const char *path, char **dir, char **fname) { - char *sep; + const char *sep; /* split filepath into directory & filename */ sep = strrchr(path, '/'); diff -Nru postgresql-15-15.17/src/bin/pgbench/pgbench.c postgresql-15-15.18/src/bin/pgbench/pgbench.c --- postgresql-15-15.17/src/bin/pgbench/pgbench.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/bin/pgbench/pgbench.c 2026-05-11 19:49:58.000000000 +0000 @@ -6177,7 +6177,7 @@ static int parseScriptWeight(const char *option, char **script) { - char *sep; + const char *sep; int weight; if ((sep = strrchr(option, WSEP))) diff -Nru postgresql-15-15.17/src/bin/psql/sql_help.c postgresql-15-15.18/src/bin/psql/sql_help.c --- postgresql-15-15.17/src/bin/psql/sql_help.c 2026-02-23 22:15:02.000000000 +0000 +++ postgresql-15-15.18/src/bin/psql/sql_help.c 2026-05-11 20:03:13.000000000 +0000 @@ -427,7 +427,7 @@ "\n" "%s\n" "\n" - " ADD [ COLUMN ] %s %s [ COLLATE %s ] [ %s [ ... ] ]\n" + " ADD [ COLUMN ] [ IF NOT EXISTS ] %s %s [ COLLATE %s ] [ %s [ ... ] ]\n" " DROP [ COLUMN ] [ IF EXISTS ] %s [ RESTRICT | CASCADE ]\n" " ALTER [ COLUMN ] %s [ SET DATA ] TYPE %s [ COLLATE %s ]\n" " ALTER [ COLUMN ] %s SET DEFAULT %s\n" diff -Nru postgresql-15-15.17/src/common/encnames.c postgresql-15-15.18/src/common/encnames.c --- postgresql-15-15.17/src/common/encnames.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/common/encnames.c 2026-05-11 19:49:58.000000000 +0000 @@ -61,8 +61,9 @@ * Japanese, standard OSF */ { "euckr", PG_EUC_KR - }, /* EUC-KR; Extended Unix Code for Korean , KS - * X 1001 standard */ + }, /* EUC-KR; Extended Unix Code for Korean + * precomposed (Wansung) encoding, standard KS + * X 1001 */ { "euctw", PG_EUC_TW }, /* EUC-TW; Extended Unix Code for @@ -119,8 +120,8 @@ }, /* ISO-8859-9; RFC1345,KXS2 */ { "johab", PG_JOHAB - }, /* JOHAB; Extended Unix Code for simplified - * Chinese */ + }, /* JOHAB; Korean combining (Johab) encoding, + * standard KS X 1001 annex 3 */ { "koi8", PG_KOI8R }, /* _dirty_ alias for KOI8-R (backward @@ -189,7 +190,9 @@ }, /* alias for WIN1258 */ { "uhc", PG_UHC - }, /* UHC; Korean Windows CodePage 949 */ + }, /* UHC; Unified Hangul Code, Microsoft Windows + * CodePage 949; superset of EUC-KR covering + * all 11,172 precomposed Hangul syllables */ { "unicode", PG_UTF8 }, /* alias for UTF8 */ diff -Nru postgresql-15-15.17/src/common/fe_memutils.c postgresql-15-15.18/src/common/fe_memutils.c --- postgresql-15-15.17/src/common/fe_memutils.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/common/fe_memutils.c 2026-05-11 19:49:58.000000000 +0000 @@ -19,6 +19,12 @@ #include "postgres_fe.h" +#include "common/int.h" + +static pg_noinline void add_size_error(Size s1, Size s2) pg_attribute_noreturn(); +static pg_noinline void mul_size_error(Size s1, Size s2) pg_attribute_noreturn(); + + static inline void * pg_malloc_internal(size_t size, int flags) { @@ -174,3 +180,185 @@ { return pg_realloc(pointer, size); } + +/* + * Support for safe calculation of memory request sizes + * + * These functions perform the requested calculation, but throw error if the + * result overflows. + * + * An important property of these functions is that if an argument was a + * negative signed int before promotion (implying overflow in calculating it) + * we will detect that as an error. That happens because we reject results + * larger than SIZE_MAX / 2. In the backend we rely on later checks to do + * that, but in frontend we must do it here. + */ +Size +add_size(Size s1, Size s2) +{ + Size result; + + if (unlikely(pg_add_size_overflow(s1, s2, &result) || + result > (SIZE_MAX / 2))) + add_size_error(s1, s2); + return result; +} + +static pg_noinline void +add_size_error(Size s1, Size s2) +{ + fprintf(stderr, _("invalid memory allocation request size %zu + %zu\n"), + s1, s2); + exit(EXIT_FAILURE); +} + +Size +mul_size(Size s1, Size s2) +{ + Size result; + + if (unlikely(pg_mul_size_overflow(s1, s2, &result) || + result > (SIZE_MAX / 2))) + mul_size_error(s1, s2); + return result; +} + +static pg_noinline void +mul_size_error(Size s1, Size s2) +{ + fprintf(stderr, _("invalid memory allocation request size %zu * %zu\n"), + s1, s2); + exit(EXIT_FAILURE); +} + +/* + * pg_malloc_mul + * Equivalent to pg_malloc(mul_size(s1, s2)). + */ +void * +pg_malloc_mul(Size s1, Size s2) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req) || + req > (SIZE_MAX / 2))) + mul_size_error(s1, s2); + return pg_malloc(req); +} + +/* + * pg_malloc0_mul + * Equivalent to pg_malloc0(mul_size(s1, s2)). + * + * This is comparable to standard calloc's behavior. + */ +void * +pg_malloc0_mul(Size s1, Size s2) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req) || + req > (SIZE_MAX / 2))) + mul_size_error(s1, s2); + return pg_malloc0(req); +} + +/* + * pg_malloc_mul_extended + * Equivalent to pg_malloc_extended(mul_size(s1, s2), flags). + */ +void * +pg_malloc_mul_extended(Size s1, Size s2, int flags) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req) || + req > (SIZE_MAX / 2))) + mul_size_error(s1, s2); + return pg_malloc_extended(req, flags); +} + +/* + * pg_realloc_mul + * Equivalent to pg_realloc(p, mul_size(s1, s2)). + */ +void * +pg_realloc_mul(void *p, Size s1, Size s2) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req) || + req > (SIZE_MAX / 2))) + mul_size_error(s1, s2); + return pg_realloc(p, req); +} + +/* + * palloc_mul + * Equivalent to palloc(mul_size(s1, s2)). + */ +void * +palloc_mul(Size s1, Size s2) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req) || + req > (SIZE_MAX / 2))) + mul_size_error(s1, s2); + return palloc(req); +} + +/* + * palloc0_mul + * Equivalent to palloc0(mul_size(s1, s2)). + * + * This is comparable to standard calloc's behavior. + */ +void * +palloc0_mul(Size s1, Size s2) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req) || + req > (SIZE_MAX / 2))) + mul_size_error(s1, s2); + return palloc0(req); +} + +/* + * palloc_mul_extended + * Equivalent to palloc_extended(mul_size(s1, s2), flags). + */ +void * +palloc_mul_extended(Size s1, Size s2, int flags) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req) || + req > (SIZE_MAX / 2))) + mul_size_error(s1, s2); + return palloc_extended(req, flags); +} + +/* + * repalloc_mul + * Equivalent to repalloc(p, mul_size(s1, s2)). + */ +void * +repalloc_mul(void *p, Size s1, Size s2) +{ + /* inline mul_size() for efficiency */ + Size req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req) || + req > (SIZE_MAX / 2))) + mul_size_error(s1, s2); + return repalloc(p, req); +} diff -Nru postgresql-15-15.17/src/common/pg_lzcompress.c postgresql-15-15.18/src/common/pg_lzcompress.c --- postgresql-15-15.17/src/common/pg_lzcompress.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/common/pg_lzcompress.c 2026-05-11 19:49:58.000000000 +0000 @@ -727,22 +727,33 @@ int32 len; int32 off; + /* + * A match tag is at least 2 bytes; if the length nibble is + * 0x0f the tag is 3 bytes (extended length). Verify we have + * enough source data before reading them. + */ + if (unlikely(sp + 2 > srcend)) + return -1; + len = (sp[0] & 0x0f) + 3; off = ((sp[0] & 0xf0) << 4) | sp[1]; sp += 2; if (len == 18) + { + if (unlikely(sp >= srcend)) + return -1; len += *sp++; + } /* - * Check for corrupt data: if we fell off the end of the - * source, or if we obtained off = 0, or if off is more than - * the distance back to the buffer start, we have problems. - * (We must check for off = 0, else we risk an infinite loop - * below in the face of corrupt data. Likewise, the upper - * limit on off prevents accessing outside the buffer - * boundaries.) + * Check for corrupt data: if we obtained off = 0, or if off + * is more than the distance back to the buffer start, we have + * problems. (We must check for off = 0, else we risk an + * infinite loop below in the face of corrupt data. Likewise, + * the upper limit on off prevents accessing outside the + * buffer boundaries.) */ - if (unlikely(sp > srcend || off == 0 || + if (unlikely(off == 0 || off > (dp - (unsigned char *) dest))) return -1; diff -Nru postgresql-15-15.17/src/common/protocol_openssl.c postgresql-15-15.18/src/common/protocol_openssl.c --- postgresql-15-15.17/src/common/protocol_openssl.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/common/protocol_openssl.c 2026-05-11 19:49:58.000000000 +0000 @@ -114,4 +114,10 @@ return 1; /* success */ } -#endif /* !SSL_CTX_set_min_proto_version */ +#else /* !SSL_CTX_set_min_proto_version */ + +/* prevent linker complaints about empty module */ +extern int protocol_openssl_dummy_variable; +int protocol_openssl_dummy_variable = 0; + +#endif /* SSL_CTX_set_min_proto_version */ diff -Nru postgresql-15-15.17/src/common/psprintf.c postgresql-15-15.18/src/common/psprintf.c --- postgresql-15-15.17/src/common/psprintf.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/common/psprintf.c 2026-05-11 19:49:58.000000000 +0000 @@ -24,9 +24,6 @@ #include "postgres_fe.h" -/* It's possible we could use a different value for this in frontend code */ -#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */ - #endif diff -Nru postgresql-15-15.17/src/common/saslprep.c postgresql-15-15.18/src/common/saslprep.c --- postgresql-15-15.17/src/common/saslprep.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/common/saslprep.c 2026-05-11 19:49:58.000000000 +0000 @@ -24,10 +24,6 @@ #include "utils/memutils.h" #else #include "postgres_fe.h" - -/* It's possible we could use a different value for this in frontend code */ -#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */ - #endif #include "common/saslprep.h" diff -Nru postgresql-15-15.17/src/common/stringinfo.c postgresql-15-15.18/src/common/stringinfo.c --- postgresql-15-15.17/src/common/stringinfo.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/common/stringinfo.c 2026-05-11 19:49:58.000000000 +0000 @@ -24,9 +24,6 @@ #include "postgres_fe.h" -/* It's possible we could use a different value for this in frontend code */ -#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */ - #endif #include "lib/stringinfo.h" diff -Nru postgresql-15-15.17/src/common/unicode_norm.c postgresql-15-15.18/src/common/unicode_norm.c --- postgresql-15-15.17/src/common/unicode_norm.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/common/unicode_norm.c 2026-05-11 19:49:58.000000000 +0000 @@ -23,6 +23,7 @@ #include "common/unicode_norm_hashfunc.h" #include "common/unicode_normprops_table.h" #include "port/pg_bswap.h" +#include "utils/memutils.h" #else #include "common/unicode_norm_table.h" #endif @@ -420,10 +421,28 @@ /* * Calculate how many characters long the decomposed version will be. + * + * Some characters decompose to quite a few code points, so that the + * decomposed version's size could overrun MaxAllocSize, and even 32-bit + * size_t, even though the input string presumably fits in that. In + * frontend we want to just return NULL in that case, so monitor the sum + * and exit early once we'd need more than MaxAllocSize bytes. */ decomp_size = 0; for (p = input; *p; p++) + { decomp_size += get_decomposed_size(*p, compat); + if (unlikely(decomp_size > MaxAllocSize / sizeof(pg_wchar))) + { +#ifndef FRONTEND + /* Exit loop and let palloc() throw error below */ + break; +#else + /* Just return NULL with no explicit error */ + return NULL; +#endif + } + } decomp_chars = (pg_wchar *) ALLOC((decomp_size + 1) * sizeof(pg_wchar)); if (decomp_chars == NULL) diff -Nru postgresql-15-15.17/src/include/access/slru.h postgresql-15-15.18/src/include/access/slru.h --- postgresql-15-15.17/src/include/access/slru.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/access/slru.h 2026-05-11 19:49:58.000000000 +0000 @@ -93,9 +93,7 @@ /* * latest_page_number is the page number of the current end of the log; * this is not critical data, since we use it only to avoid swapping out - * the latest page. (An exception: an accurate latest_page_number is - * needed on pg_multixact/offsets to replay WAL generated with older minor - * versions correctly. See RecordNewMultiXact().) + * the latest page. */ int latest_page_number; diff -Nru postgresql-15-15.17/src/include/access/xlog.h postgresql-15-15.18/src/include/access/xlog.h --- postgresql-15-15.17/src/include/access/xlog.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/access/xlog.h 2026-05-11 19:49:58.000000000 +0000 @@ -218,6 +218,7 @@ extern RecoveryState GetRecoveryState(void); extern bool XLogInsertAllowed(void); extern XLogRecPtr GetXLogInsertRecPtr(void); +extern XLogRecPtr GetXLogInsertEndRecPtr(void); extern XLogRecPtr GetXLogWriteRecPtr(void); extern uint64 GetSystemIdentifier(void); diff -Nru postgresql-15-15.17/src/include/c.h postgresql-15-15.18/src/include/c.h --- postgresql-15-15.17/src/include/c.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/c.h 2026-05-11 19:49:58.000000000 +0000 @@ -155,6 +155,16 @@ #define PG_USED_FOR_ASSERTS_ONLY pg_attribute_unused() #endif +/* + * Our C and C++ compilers may have different ideas about which printf + * archetype best represents what src/port/snprintf.c can do. + */ +#ifndef __cplusplus +#define PG_PRINTF_ATTRIBUTE PG_C_PRINTF_ATTRIBUTE +#else +#define PG_PRINTF_ATTRIBUTE PG_CXX_PRINTF_ATTRIBUTE +#endif + /* GCC and XLC support format attributes */ #if defined(__GNUC__) || defined(__IBMC__) #define pg_attribute_format_arg(a) __attribute__((format_arg(a))) diff -Nru postgresql-15-15.17/src/include/common/fe_memutils.h postgresql-15-15.18/src/include/common/fe_memutils.h --- postgresql-15-15.17/src/include/common/fe_memutils.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/common/fe_memutils.h 2026-05-11 19:49:58.000000000 +0000 @@ -10,6 +10,18 @@ #define FE_MEMUTILS_H /* + * Assumed maximum size for allocation requests. + * + * We don't enforce this, so the actual maximum is the platform's SIZE_MAX. + * But it's useful to have it defined in frontend builds, so that common + * code can check for oversized requests without having frontend-vs-backend + * differences. Also, some code relies on MaxAllocSize being no more than + * INT_MAX/2, so rather than setting this to SIZE_MAX, make it the same as + * the backend's value. + */ +#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */ + +/* * Flags for pg_malloc_extended and palloc_extended, deliberately named * the same as the backend flags. */ @@ -30,6 +42,16 @@ extern void pg_free(void *pointer); /* + * Support for safe calculation of memory request sizes + */ +extern Size add_size(Size s1, Size s2); +extern Size mul_size(Size s1, Size s2); +extern void *pg_malloc_mul(Size s1, Size s2); +extern void *pg_malloc0_mul(Size s1, Size s2); +extern void *pg_malloc_mul_extended(Size s1, Size s2, int flags); +extern void *pg_realloc_mul(void *p, Size s1, Size s2); + +/* * Variants with easier notation and more type safety */ @@ -42,14 +64,15 @@ /* * Allocate space for "count" objects of type "type" */ -#define pg_malloc_array(type, count) ((type *) pg_malloc(sizeof(type) * (count))) -#define pg_malloc0_array(type, count) ((type *) pg_malloc0(sizeof(type) * (count))) +#define pg_malloc_array(type, count) ((type *) pg_malloc_mul(sizeof(type), count)) +#define pg_malloc0_array(type, count) ((type *) pg_malloc0_mul(sizeof(type), count)) +#define pg_malloc_array_extended(type, count, flags) ((type *) pg_malloc_mul_extended(sizeof(type), count, flags)) /* * Change size of allocation pointed to by "pointer" to have space for "count" * objects of type "type" */ -#define pg_realloc_array(pointer, type, count) ((type *) pg_realloc(pointer, sizeof(type) * (count))) +#define pg_realloc_array(pointer, type, count) ((type *) pg_realloc_mul(pointer, sizeof(type), count)) /* Equivalent functions, deliberately named the same as backend functions */ extern char *pstrdup(const char *in); @@ -59,12 +82,17 @@ extern void *palloc_extended(Size size, int flags); extern void *repalloc(void *pointer, Size size); extern void pfree(void *pointer); +extern void *palloc_mul(Size s1, Size s2); +extern void *palloc0_mul(Size s1, Size s2); +extern void *palloc_mul_extended(Size s1, Size s2, int flags); +extern void *repalloc_mul(void *p, Size s1, Size s2); #define palloc_object(type) ((type *) palloc(sizeof(type))) #define palloc0_object(type) ((type *) palloc0(sizeof(type))) -#define palloc_array(type, count) ((type *) palloc(sizeof(type) * (count))) -#define palloc0_array(type, count) ((type *) palloc0(sizeof(type) * (count))) -#define repalloc_array(pointer, type, count) ((type *) repalloc(pointer, sizeof(type) * (count))) +#define palloc_array(type, count) ((type *) palloc_mul(sizeof(type), count)) +#define palloc0_array(type, count) ((type *) palloc0_mul(sizeof(type), count)) +#define palloc_array_extended(type, count, flags) ((type *) palloc_mul_extended(sizeof(type), count, flags)) +#define repalloc_array(pointer, type, count) ((type *) repalloc_mul(pointer, sizeof(type), count)) /* sprintf into a palloc'd buffer --- these are in psprintf.c */ extern char *psprintf(const char *fmt,...) pg_attribute_printf(1, 2); diff -Nru postgresql-15-15.17/src/include/common/int.h postgresql-15-15.18/src/include/common/int.h --- postgresql-15-15.17/src/include/common/int.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/common/int.h 2026-05-11 19:49:58.000000000 +0000 @@ -438,4 +438,71 @@ #endif } +/* + * size_t + */ +static inline bool +pg_add_size_overflow(size_t a, size_t b, size_t *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_add_overflow(a, b, result); +#else + size_t res = a + b; + + if (res < a) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = res; + return false; +#endif +} + +static inline bool +pg_sub_size_overflow(size_t a, size_t b, size_t *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_sub_overflow(a, b, result); +#else + if (b > a) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = a - b; + return false; +#endif +} + +static inline bool +pg_mul_size_overflow(size_t a, size_t b, size_t *result) +{ +#if defined(HAVE__BUILTIN_OP_OVERFLOW) + return __builtin_mul_overflow(a, b, result); +#else + size_t res = a * b; + + if (a != 0 && b != res / a) + { + *result = 0x5EED; /* to avoid spurious warnings */ + return true; + } + *result = res; + return false; +#endif +} + +/* + * pg_neg_size_overflow is currently omitted, to avoid having to reason about + * the portability of SSIZE_MIN/_MAX before a use case exists. + */ +/* + * static inline bool + * pg_neg_size_overflow(size_t a, ssize_t *result) + * { + * ... + * } + */ + #endif /* COMMON_INT_H */ diff -Nru postgresql-15-15.17/src/include/executor/execExpr.h postgresql-15-15.18/src/include/executor/execExpr.h --- postgresql-15-15.17/src/include/executor/execExpr.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/executor/execExpr.h 2026-05-11 19:49:58.000000000 +0000 @@ -576,6 +576,10 @@ { bool has_nulls; bool inclause; /* true for IN and false for NOT IN */ + bool null_lhs_result; /* for non-strict lookups, we + * cache what looking up NULL + * returns. */ + bool null_lhs_isnull; struct ScalarArrayOpExprHashTable *elements_tab; FmgrInfo *finfo; /* function's lookup data */ FunctionCallInfo fcinfo_data; /* arguments etc */ diff -Nru postgresql-15-15.17/src/include/jit/SectionMemoryManager.h postgresql-15-15.18/src/include/jit/SectionMemoryManager.h --- postgresql-15-15.17/src/include/jit/SectionMemoryManager.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/jit/SectionMemoryManager.h 2026-05-11 19:49:58.000000000 +0000 @@ -1,5 +1,5 @@ /* - * This is a copy LLVM source code modified by the PostgreSQL project. + * This is a copy of LLVM source code modified by the PostgreSQL project. * See SectionMemoryManager.cpp for notes on provenance and license. */ diff -Nru postgresql-15-15.17/src/include/jit/llvmjit_backport.h postgresql-15-15.18/src/include/jit/llvmjit_backport.h --- postgresql-15-15.17/src/include/jit/llvmjit_backport.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/jit/llvmjit_backport.h 2026-05-11 19:49:58.000000000 +0000 @@ -8,7 +8,7 @@ #include /* - * LLVM's RuntimeDyld can produce code that crashes on larger memory ARM + * Pre-LLVM 22 RuntimeDyld can produce code that crashes on large memory ARM * systems, because llvm::SectionMemoryManager allocates multiple pieces of * memory that can be placed too far apart for the generated code. See * src/backend/jit/llvm/SectionMemoryManager.cpp for the patched replacement @@ -18,7 +18,7 @@ * We have adjusted it to compile against a range of LLVM versions, but not * further back than 12 for now. */ -#if defined(__aarch64__) && LLVM_VERSION_MAJOR > 11 +#if defined(__aarch64__) && LLVM_VERSION_MAJOR > 11 && LLVM_VERSION_MAJOR < 22 #define USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER #endif diff -Nru postgresql-15-15.17/src/include/pg_config.h.in postgresql-15-15.18/src/include/pg_config.h.in --- postgresql-15-15.17/src/include/pg_config.h.in 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/pg_config.h.in 2026-05-11 19:49:58.000000000 +0000 @@ -178,6 +178,10 @@ don't. */ #undef HAVE_DECL_STRTOULL +/* Define to 1 if you have the declaration of `timingsafe_bcmp', and to 0 if + you don't. */ +#undef HAVE_DECL_TIMINGSAFE_BCMP + /* Define to 1 if you have the `dlopen' function. */ #undef HAVE_DLOPEN @@ -669,6 +673,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_TERMIOS_H +/* Define to 1 if you have the `timingsafe_bcmp' function. */ +#undef HAVE_TIMINGSAFE_BCMP + /* Define to 1 if your compiler understands `typeof' or something similar. */ #undef HAVE_TYPEOF @@ -814,6 +821,14 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION +/* Define to best C++ printf format archetype, usually gnu_printf if + available. */ +#undef PG_CXX_PRINTF_ATTRIBUTE + +/* Define to best C printf format archetype, usually gnu_printf if available. + */ +#undef PG_C_PRINTF_ATTRIBUTE + /* Define to the name of a signed 128-bit integer type. */ #undef PG_INT128_TYPE @@ -833,9 +848,6 @@ /* PostgreSQL minor version number */ #undef PG_MINORVERSION_NUM -/* Define to best printf format archetype, usually gnu_printf if available. */ -#undef PG_PRINTF_ATTRIBUTE - /* Define to 1 to use to define type bool. */ #undef PG_USE_STDBOOL diff -Nru postgresql-15-15.17/src/include/port.h postgresql-15-15.18/src/include/port.h --- postgresql-15-15.17/src/include/port.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/port.h 2026-05-11 19:49:58.000000000 +0000 @@ -58,6 +58,7 @@ extern void cleanup_path(char *path); extern bool path_contains_parent_reference(const char *path); extern bool path_is_relative_and_below_cwd(const char *path); +extern bool path_is_safe_for_extraction(const char *path); extern bool path_is_prefix_of_path(const char *path1, const char *path2); extern char *make_absolute_path(const char *path); extern const char *get_progname(const char *argv0); @@ -519,6 +520,10 @@ extern bool pg_get_user_home_dir(uid_t user_id, char *buffer, size_t buflen); #endif +#if !HAVE_DECL_TIMINGSAFE_BCMP +extern int timingsafe_bcmp(const void *b1, const void *b2, size_t len); +#endif + extern void pg_qsort(void *base, size_t nel, size_t elsize, int (*cmp) (const void *, const void *)); extern int pg_qsort_strcmp(const void *a, const void *b); diff -Nru postgresql-15-15.17/src/include/regex/regcustom.h postgresql-15-15.18/src/include/regex/regcustom.h --- postgresql-15-15.17/src/include/regex/regcustom.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/regex/regcustom.h 2026-05-11 19:49:58.000000000 +0000 @@ -50,8 +50,8 @@ #include #endif +#include "common/int.h" #include "mb/pg_wchar.h" - #include "miscadmin.h" /* needed by rcancelrequested/rstacktoodeep */ @@ -60,8 +60,32 @@ #define MALLOC(n) malloc(n) #define FREE(p) free(VS(p)) #define REALLOC(p,n) realloc(VS(p),n) +#define MALLOC_ARRAY(type, n) \ + ((type *) pg_regex_malloc_array(sizeof(type), n)) +#define REALLOC_ARRAY(p, type, n) \ + ((type *) pg_regex_realloc_array(p, sizeof(type), n)) #define assert(x) Assert(x) +static inline void * +pg_regex_malloc_array(size_t s1, size_t s2) +{ + size_t req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req))) + return NULL; + return malloc(req); +} + +static inline void * +pg_regex_realloc_array(void *p, size_t s1, size_t s2) +{ + size_t req; + + if (unlikely(pg_mul_size_overflow(s1, s2, &req))) + return NULL; + return realloc(p, req); +} + /* internal character type and related */ typedef pg_wchar chr; /* the type itself */ typedef unsigned uchr; /* unsigned type that will hold a chr */ diff -Nru postgresql-15-15.17/src/include/regex/regguts.h postgresql-15-15.18/src/include/regex/regguts.h --- postgresql-15-15.17/src/include/regex/regguts.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/regex/regguts.h 2026-05-11 19:49:58.000000000 +0000 @@ -76,6 +76,14 @@ #ifndef FREE #define FREE(p) free(VS(p)) #endif +#ifndef MALLOC_ARRAY +/* we don't depend on calloc's zeroing behavior, we do need overflow check */ +#define MALLOC_ARRAY(type, n) ((type *) calloc(sizeof(type), n)) +#endif +#ifndef REALLOC_ARRAY +/* XXX this definition does not provide the desired overflow check */ +#define REALLOC_ARRAY(p, type, n) ((type *) REALLOC(p, sizeof(type) * (n))) +#endif /* want size of a char in bits, and max value in bounded quantifiers */ #ifndef _POSIX2_RE_DUP_MAX @@ -441,6 +449,11 @@ * (the compacted NFA and the colormap). * The scaling here is based on an empirical measurement that very large * NFAs tend to have about 4 arcs/state. + * + * Do not raise this so high as to allow more than INT_MAX/8 states or arcs, + * or you risk integer overflows in various space allocation requests. + * (We could be more defensive in those places, but that's so far beyond the + * practical range of NFA sizes that it doesn't seem worth additional code.) */ #ifndef REG_MAX_COMPILE_SPACE #define REG_MAX_COMPILE_SPACE \ diff -Nru postgresql-15-15.17/src/include/storage/shmem.h postgresql-15-15.18/src/include/storage/shmem.h --- postgresql-15-15.17/src/include/storage/shmem.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/storage/shmem.h 2026-05-11 19:49:58.000000000 +0000 @@ -42,8 +42,6 @@ extern HTAB *ShmemInitHash(const char *name, long init_size, long max_size, HASHCTL *infoP, int hash_flags); extern void *ShmemInitStruct(const char *name, Size size, bool *foundPtr); -extern Size add_size(Size s1, Size s2); -extern Size mul_size(Size s1, Size s2); /* ipci.c */ extern void RequestAddinShmemSpace(Size size); diff -Nru postgresql-15-15.17/src/include/utils/lsyscache.h postgresql-15-15.18/src/include/utils/lsyscache.h --- postgresql-15-15.17/src/include/utils/lsyscache.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/utils/lsyscache.h 2026-05-11 19:49:58.000000000 +0000 @@ -86,6 +86,7 @@ extern List *get_op_btree_interpretation(Oid opno); extern bool equality_ops_are_compatible(Oid opno1, Oid opno2); extern bool comparison_ops_are_compatible(Oid opno1, Oid opno2); +extern bool collations_agree_on_equality(Oid coll1, Oid coll2); extern Oid get_opfamily_proc(Oid opfamily, Oid lefttype, Oid righttype, int16 procnum); extern char *get_attname(Oid relid, AttrNumber attnum, bool missing_ok); diff -Nru postgresql-15-15.17/src/include/utils/memutils.h postgresql-15-15.18/src/include/utils/memutils.h --- postgresql-15-15.17/src/include/utils/memutils.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/utils/memutils.h 2026-05-11 19:49:58.000000000 +0000 @@ -41,6 +41,7 @@ #define AllocSizeIsValid(size) ((Size) (size) <= MaxAllocSize) +/* Do not make this any bigger; see add_size() and mul_size() */ #define MaxAllocHugeSize (SIZE_MAX / 2) #define AllocHugeSizeIsValid(size) ((Size) (size) <= MaxAllocHugeSize) diff -Nru postgresql-15-15.17/src/include/utils/palloc.h postgresql-15-15.18/src/include/utils/palloc.h --- postgresql-15-15.17/src/include/utils/palloc.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/include/utils/palloc.h 2026-05-11 19:49:58.000000000 +0000 @@ -78,9 +78,23 @@ extern void *palloc0(Size size); extern void *palloc_extended(Size size, int flags); extern pg_nodiscard void *repalloc(void *pointer, Size size); +extern pg_nodiscard void *repalloc_extended(void *pointer, + Size size, int flags); extern void pfree(void *pointer); /* + * Support for safe calculation of memory request sizes + */ +extern Size add_size(Size s1, Size s2); +extern Size mul_size(Size s1, Size s2); +extern void *palloc_mul(Size s1, Size s2); +extern void *palloc0_mul(Size s1, Size s2); +extern void *palloc_mul_extended(Size s1, Size s2, int flags); +pg_nodiscard extern void *repalloc_mul(void *p, Size s1, Size s2); +pg_nodiscard extern void *repalloc_mul_extended(void *p, Size s1, Size s2, + int flags); + +/* * Variants with easier notation and more type safety */ @@ -93,14 +107,16 @@ /* * Allocate space for "count" objects of type "type" */ -#define palloc_array(type, count) ((type *) palloc(sizeof(type) * (count))) -#define palloc0_array(type, count) ((type *) palloc0(sizeof(type) * (count))) +#define palloc_array(type, count) ((type *) palloc_mul(sizeof(type), count)) +#define palloc0_array(type, count) ((type *) palloc0_mul(sizeof(type), count)) +#define palloc_array_extended(type, count, flags) ((type *) palloc_mul_extended(sizeof(type), count, flags)) /* * Change size of allocation pointed to by "pointer" to have space for "count" * objects of type "type" */ -#define repalloc_array(pointer, type, count) ((type *) repalloc(pointer, sizeof(type) * (count))) +#define repalloc_array(pointer, type, count) ((type *) repalloc_mul(pointer, sizeof(type), count)) +#define repalloc_array_extended(pointer, type, count, flags) ((type *) repalloc_mul_extended(pointer, sizeof(type), count, flags)) /* * The result of palloc() is always word-aligned, so we can skip testing diff -Nru postgresql-15-15.17/src/interfaces/ecpg/ecpglib/descriptor.c postgresql-15-15.18/src/interfaces/ecpg/ecpglib/descriptor.c --- postgresql-15-15.17/src/interfaces/ecpg/ecpglib/descriptor.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/ecpg/ecpglib/descriptor.c 2026-05-11 19:49:58.000000000 +0000 @@ -482,6 +482,16 @@ memset(&stmt, 0, sizeof stmt); stmt.lineno = lineno; + /* desperate try to guess something sensible */ + stmt.connection = ecpg_get_connection(NULL); + if (stmt.connection == NULL) + { + ecpg_raise(lineno, ECPG_NO_CONN, ECPG_SQLSTATE_CONNECTION_DOES_NOT_EXIST, + ecpg_gettext("NULL")); + va_end(args); + return false; + } + /* Make sure we do NOT honor the locale for numeric input */ /* since the database gives the standard decimal point */ /* (see comments in execute.c) */ @@ -504,8 +514,6 @@ setlocale(LC_NUMERIC, "C"); #endif - /* desperate try to guess something sensible */ - stmt.connection = ecpg_get_connection(NULL); ecpg_store_result(ECPGresult, index, &stmt, &data_var); #ifdef HAVE_USELOCALE diff -Nru postgresql-15-15.17/src/interfaces/ecpg/ecpglib/po/ru.po postgresql-15-15.18/src/interfaces/ecpg/ecpglib/po/ru.po --- postgresql-15-15.17/src/interfaces/ecpg/ecpglib/po/ru.po 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/ecpg/ecpglib/po/ru.po 2026-05-11 19:49:58.000000000 +0000 @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: ecpglib (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-08-02 11:37+0300\n" +"POT-Creation-Date: 2026-05-10 08:02+0300\n" "PO-Revision-Date: 2019-09-09 13:30+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -25,7 +25,7 @@ msgid "" msgstr "<ПО_УМОЛЧАНИЮ>" -#: descriptor.c:876 misc.c:119 +#: descriptor.c:490 descriptor.c:884 misc.c:119 msgid "NULL" msgstr "NULL" diff -Nru postgresql-15-15.17/src/interfaces/ecpg/ecpglib/prepare.c postgresql-15-15.18/src/interfaces/ecpg/ecpglib/prepare.c --- postgresql-15-15.17/src/interfaces/ecpg/ecpglib/prepare.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/ecpg/ecpglib/prepare.c 2026-05-11 19:49:58.000000000 +0000 @@ -349,8 +349,12 @@ bool ECPGdeallocate_all(int lineno, int compat, const char *connection_name) { - return ecpg_deallocate_all_conn(lineno, compat, - ecpg_get_connection(connection_name)); + struct connection *con = ecpg_get_connection(connection_name); + + if (!ecpg_init(con, connection_name, lineno)) + return false; + + return ecpg_deallocate_all_conn(lineno, compat, con); } char * @@ -363,13 +367,15 @@ } /* return the prepared statement */ -/* lineno is not used here, but kept in to not break API */ char * ECPGprepared_statement(const char *connection_name, const char *name, int lineno) { - (void) lineno; /* keep the compiler quiet */ + struct connection *con = ecpg_get_connection(connection_name); + + if (!ecpg_init(con, connection_name, lineno)) + return NULL; - return ecpg_prepared(name, ecpg_get_connection(connection_name)); + return ecpg_prepared(name, con); } /* @@ -466,10 +472,18 @@ con = ecpg_get_connection(entry->connection); - /* free the 'prepared_statement' list entry */ - this = ecpg_find_prepared_statement(entry->stmtID, con, &prev); - if (this && !deallocate_one(lineno, compat, con, prev, this)) - return -1; + /* + * If the connection is gone, the prepared_statement list it owned is + * already unreachable, so just skip that cleanup. We must still clear + * the cache slot below so it can be reused. + */ + if (con) + { + /* free the 'prepared_statement' list entry */ + this = ecpg_find_prepared_statement(entry->stmtID, con, &prev); + if (this && !deallocate_one(lineno, compat, con, prev, this)) + return -1; + } entry->stmtID[0] = '\0'; diff -Nru postgresql-15-15.17/src/interfaces/ecpg/pgtypeslib/datetime.c postgresql-15-15.18/src/interfaces/ecpg/pgtypeslib/datetime.c --- postgresql-15-15.17/src/interfaces/ecpg/pgtypeslib/datetime.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/ecpg/pgtypeslib/datetime.c 2026-05-11 19:49:58.000000000 +0000 @@ -335,8 +335,8 @@ */ int token[3][2]; int token_values[3] = {-1, -1, -1}; - char *fmt_token_order; - char *fmt_ystart, + const char *fmt_token_order; + const char *fmt_ystart, *fmt_mstart, *fmt_dstart; unsigned int i; diff -Nru postgresql-15-15.17/src/interfaces/ecpg/test/connect/.gitignore postgresql-15-15.18/src/interfaces/ecpg/test/connect/.gitignore --- postgresql-15-15.17/src/interfaces/ecpg/test/connect/.gitignore 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/ecpg/test/connect/.gitignore 2026-05-11 19:49:58.000000000 +0000 @@ -8,3 +8,5 @@ /test4.c /test5 /test5.c +/test6 +/test6.c diff -Nru postgresql-15-15.17/src/interfaces/ecpg/test/connect/Makefile postgresql-15-15.18/src/interfaces/ecpg/test/connect/Makefile --- postgresql-15-15.17/src/interfaces/ecpg/test/connect/Makefile 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/ecpg/test/connect/Makefile 2026-05-11 19:49:58.000000000 +0000 @@ -7,6 +7,7 @@ test2 test2.c \ test3 test3.c \ test4 test4.c \ - test5 test5.c + test5 test5.c \ + test6 test6.c all: $(TESTS) diff -Nru postgresql-15-15.17/src/interfaces/ecpg/test/connect/test6.pgc postgresql-15-15.18/src/interfaces/ecpg/test/connect/test6.pgc --- postgresql-15-15.17/src/interfaces/ecpg/test/connect/test6.pgc 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/ecpg/test/connect/test6.pgc 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,68 @@ +/* + * This test verifies that ecpg functions properly handle NULL connections + * (i.e., when a connection name doesn't exist or has been disconnected). + * Before the fix, these operations would cause a segmentation fault. + */ + +#include +#include +#include + +exec sql include ../regression; + +int +main(void) +{ +exec sql begin declare section; + int val1output = 2; + int val1 = 1; + char val2[6] = "data1"; + char *stmt1 = "SELECT * from test1 where a = $1 and b = $2"; +exec sql end declare section; + + ECPGdebug(1, stderr); + + /* Connect to the database */ + exec sql connect to REGRESSDB1 as myconn; + + /* Test 1: Try to get descriptor on a disconnected connection */ + printf("Test 1: Try to get descriptor on a disconnected connection\n"); + exec sql create table test1 (a int, b text); + exec sql insert into test1 (a,b) values (1, 'data1'); + + exec sql allocate descriptor indesc; + exec sql allocate descriptor outdesc; + + exec sql prepare foo2 from :stmt1; + + exec sql set descriptor indesc value 1 DATA = :val1; + exec sql set descriptor indesc value 2 DATA = :val2; + + exec sql execute foo2 using sql descriptor indesc into sql descriptor outdesc; + + exec sql rollback; + exec sql disconnect; + exec sql get descriptor outdesc value 1 :val1output = DATA; + printf("sqlca.sqlcode = %ld\n", sqlca.sqlcode); + + /* Test 2: Try to deallocate all on a non-existent connection */ + printf("Test 2: deallocate all with non-existent connection\n"); + exec sql at nonexistent deallocate all; + printf("sqlca.sqlcode = %ld\n", sqlca.sqlcode); + + /* Test 3: deallocate on disconnected connection */ + printf("Test 3: deallocate all on disconnected connection\n"); + exec sql deallocate all; + printf("sqlca.sqlcode = %ld\n", sqlca.sqlcode); + + /* Test 4: Use prepared statement from non-existent connection */ + printf("Test 4: Use prepared statement from non-existent connection\n"); + exec sql at nonexistent prepare stmt1 FROM "SELECT 1"; + exec sql at nonexistent declare cur1 cursor for stmt1; + exec sql at nonexistent open cur1; + printf("sqlca.sqlcode = %ld\n", sqlca.sqlcode); + + printf("All tests completed !\n"); + + return 0; +} diff -Nru postgresql-15-15.17/src/interfaces/ecpg/test/ecpg_schedule postgresql-15-15.18/src/interfaces/ecpg/test/ecpg_schedule --- postgresql-15-15.17/src/interfaces/ecpg/test/ecpg_schedule 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/ecpg/test/ecpg_schedule 2026-05-11 19:49:58.000000000 +0000 @@ -13,6 +13,7 @@ test: connect/test3 test: connect/test4 test: connect/test5 +test: connect/test6 test: pgtypeslib/dt_test test: pgtypeslib/dt_test2 test: pgtypeslib/num_test diff -Nru postgresql-15-15.17/src/interfaces/ecpg/test/expected/connect-test6.c postgresql-15-15.18/src/interfaces/ecpg/test/expected/connect-test6.c --- postgresql-15-15.17/src/interfaces/ecpg/test/expected/connect-test6.c 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/ecpg/test/expected/connect-test6.c 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,146 @@ +/* Processed by ecpg (regression mode) */ +/* These include files are added by the preprocessor */ +#include +#include +#include +/* End of automatic include section */ +#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y)) + +#line 1 "test6.pgc" +/* + * This test verifies that ecpg functions properly handle NULL connections + * (i.e., when a connection name doesn't exist or has been disconnected). + * Before the fix, these operations would cause a segmentation fault. + */ + +#include +#include +#include + + +#line 1 "regression.h" + + + + + + +#line 11 "test6.pgc" + + +int +main(void) +{ +/* exec sql begin declare section */ + + + + + +#line 17 "test6.pgc" + int val1output = 2 ; + +#line 18 "test6.pgc" + int val1 = 1 ; + +#line 19 "test6.pgc" + char val2 [ 6 ] = "data1" ; + +#line 20 "test6.pgc" + char * stmt1 = "SELECT * from test1 where a = $1 and b = $2" ; +/* exec sql end declare section */ +#line 21 "test6.pgc" + + + ECPGdebug(1, stderr); + + /* Connect to the database */ + { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , "myconn", 0); } +#line 26 "test6.pgc" + + + /* Test 1: Try to get descriptor on a disconnected connection */ + printf("Test 1: Try to get descriptor on a disconnected connection\n"); + { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table test1 ( a int , b text )", ECPGt_EOIT, ECPGt_EORT);} +#line 30 "test6.pgc" + + { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into test1 ( a , b ) values ( 1 , 'data1' )", ECPGt_EOIT, ECPGt_EORT);} +#line 31 "test6.pgc" + + + ECPGallocate_desc(__LINE__, "indesc"); +#line 33 "test6.pgc" + + ECPGallocate_desc(__LINE__, "outdesc"); +#line 34 "test6.pgc" + + + { ECPGprepare(__LINE__, NULL, 0, "foo2", stmt1);} +#line 36 "test6.pgc" + + + { ECPGset_desc(__LINE__, "indesc", 1,ECPGd_data, + ECPGt_int,&(val1),(long)1,(long)1,sizeof(int), ECPGd_EODT); +} +#line 38 "test6.pgc" + + { ECPGset_desc(__LINE__, "indesc", 2,ECPGd_data, + ECPGt_char,(val2),(long)6,(long)1,(6)*sizeof(char), ECPGd_EODT); +} +#line 39 "test6.pgc" + + + { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "foo2", + ECPGt_descriptor, "indesc", 1L, 1L, 1L, + ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, + ECPGt_descriptor, "outdesc", 1L, 1L, 1L, + ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} +#line 41 "test6.pgc" + + + { ECPGtrans(__LINE__, NULL, "rollback");} +#line 43 "test6.pgc" + + { ECPGdisconnect(__LINE__, "CURRENT");} +#line 44 "test6.pgc" + + { ECPGget_desc(__LINE__, "outdesc", 1,ECPGd_data, + ECPGt_int,&(val1output),(long)1,(long)1,sizeof(int), ECPGd_EODT); +} +#line 45 "test6.pgc" + + printf("sqlca.sqlcode = %ld\n", sqlca.sqlcode); + + /* Test 2: Try to deallocate all on a non-existent connection */ + printf("Test 2: deallocate all with non-existent connection\n"); + { ECPGdeallocate_all(__LINE__, 0, "nonexistent");} +#line 50 "test6.pgc" + + printf("sqlca.sqlcode = %ld\n", sqlca.sqlcode); + + /* Test 3: deallocate on disconnected connection */ + printf("Test 3: deallocate all on disconnected connection\n"); + { ECPGdeallocate_all(__LINE__, 0, NULL);} +#line 55 "test6.pgc" + + printf("sqlca.sqlcode = %ld\n", sqlca.sqlcode); + + /* Test 4: Use prepared statement from non-existent connection */ + printf("Test 4: Use prepared statement from non-existent connection\n"); + { ECPGprepare(__LINE__, "nonexistent", 0, "stmt1", "SELECT 1");} +#line 60 "test6.pgc" + + /* declare cur1 cursor for $1 */ +#line 61 "test6.pgc" + + { ECPGdo(__LINE__, 0, 1, "nonexistent", 0, ECPGst_normal, "declare cur1 cursor for $1", + ECPGt_char_variable,(ECPGprepared_statement("nonexistent", "stmt1", __LINE__)),(long)1,(long)1,(1)*sizeof(char), + ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} +#line 62 "test6.pgc" + + printf("sqlca.sqlcode = %ld\n", sqlca.sqlcode); + + printf("All tests completed !\n"); + + return 0; +} diff -Nru postgresql-15-15.17/src/interfaces/ecpg/test/expected/connect-test6.stderr postgresql-15-15.18/src/interfaces/ecpg/test/expected/connect-test6.stderr --- postgresql-15-15.17/src/interfaces/ecpg/test/expected/connect-test6.stderr 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/ecpg/test/expected/connect-test6.stderr 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,50 @@ +[NO_PID]: ECPGdebug: set to 1 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ECPGconnect: opening database ecpg1_regression on port +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 30: query: create table test1 ( a int , b text ); with 0 parameter(s) on connection myconn +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 30: using PQexec +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_process_output on line 30: OK: CREATE TABLE +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 31: query: insert into test1 ( a , b ) values ( 1 , 'data1' ); with 0 parameter(s) on connection myconn +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 31: using PQexec +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_process_output on line 31: OK: INSERT 0 1 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: prepare_common on line 36: name foo2; query: "SELECT * from test1 where a = $1 and b = $2" +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 41: query: SELECT * from test1 where a = $1 and b = $2; with 2 parameter(s) on connection myconn +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 41: using PQexecPrepared for "SELECT * from test1 where a = $1 and b = $2" +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_free_params on line 41: parameter 1 = 1 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_free_params on line 41: parameter 2 = data1 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_process_output on line 41: correctly got 1 tuples with 2 fields +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_process_output on line 41: putting result (1 tuples) into descriptor outdesc +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ECPGtrans on line 43: action "rollback"; connection "myconn" +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: deallocate_one on line 0: name foo2 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_finish: connection myconn closed +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ECPGget_desc: reading items for tuple 1 +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: raising sqlcode -220 on line 45: connection "NULL" does not exist on line 45 +[NO_PID]: sqlca: code: -220, state: 08003 +[NO_PID]: raising sqlcode -220 on line 50: connection "nonexistent" does not exist on line 50 +[NO_PID]: sqlca: code: -220, state: 08003 +[NO_PID]: raising sqlcode -220 on line 55: connection "NULL" does not exist on line 55 +[NO_PID]: sqlca: code: -220, state: 08003 +[NO_PID]: raising sqlcode -220 on line 60: connection "nonexistent" does not exist on line 60 +[NO_PID]: sqlca: code: -220, state: 08003 +[NO_PID]: raising sqlcode -220 on line 63: connection "nonexistent" does not exist on line 63 +[NO_PID]: sqlca: code: -220, state: 08003 +[NO_PID]: raising sqlcode -220 on line 62: connection "nonexistent" does not exist on line 62 +[NO_PID]: sqlca: code: -220, state: 08003 diff -Nru postgresql-15-15.17/src/interfaces/ecpg/test/expected/connect-test6.stdout postgresql-15-15.18/src/interfaces/ecpg/test/expected/connect-test6.stdout --- postgresql-15-15.17/src/interfaces/ecpg/test/expected/connect-test6.stdout 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/ecpg/test/expected/connect-test6.stdout 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,9 @@ +Test 1: Try to get descriptor on a disconnected connection +sqlca.sqlcode = -220 +Test 2: deallocate all with non-existent connection +sqlca.sqlcode = -220 +Test 3: deallocate all on disconnected connection +sqlca.sqlcode = -220 +Test 4: Use prepared statement from non-existent connection +sqlca.sqlcode = -220 +All tests completed ! diff -Nru postgresql-15-15.17/src/interfaces/libpq/fe-auth-scram.c postgresql-15-15.18/src/interfaces/libpq/fe-auth-scram.c --- postgresql-15-15.17/src/interfaces/libpq/fe-auth-scram.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/libpq/fe-auth-scram.c 2026-05-11 19:49:58.000000000 +0000 @@ -648,7 +648,7 @@ /* Verify immediately that the server used our part of the nonce */ if (strlen(nonce) < strlen(state->client_nonce) || - memcmp(nonce, state->client_nonce, strlen(state->client_nonce)) != 0) + timingsafe_bcmp(nonce, state->client_nonce, strlen(state->client_nonce)) != 0) { appendPQExpBufferStr(&conn->errorMessage, libpq_gettext("invalid SCRAM response (nonce mismatch)\n")); @@ -901,7 +901,8 @@ pg_hmac_free(ctx); /* signature processed, so now check after it */ - if (memcmp(expected_ServerSignature, state->ServerSignature, SCRAM_KEY_LEN) != 0) + if (timingsafe_bcmp(expected_ServerSignature, state->ServerSignature, + SCRAM_KEY_LEN) != 0) *match = false; else *match = true; diff -Nru postgresql-15-15.17/src/interfaces/libpq/fe-exec.c postgresql-15-15.18/src/interfaces/libpq/fe-exec.c --- postgresql-15-15.17/src/interfaces/libpq/fe-exec.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/libpq/fe-exec.c 2026-05-11 19:49:58.000000000 +0000 @@ -24,6 +24,7 @@ #include #endif +#include "common/int.h" #include "libpq-fe.h" #include "libpq-int.h" #include "mb/pg_wchar.h" @@ -2894,6 +2895,20 @@ const PQArgBlock *args, int nargs) { + return PQnfn(conn, fnid, result_buf, -1, result_len, + result_is_int, args, nargs); +} + +/* + * PQnfn + * Private version of PQfn() with verification that returned data fits in + * result_buf when result_is_int == 0. Setting buf_size to -1 disables + * this verification. + */ +PGresult * +PQnfn(PGconn *conn, int fnid, int *result_buf, int buf_size, int *result_len, + int result_is_int, const PQArgBlock *args, int nargs) +{ *result_len = 0; if (!conn) @@ -2924,7 +2939,7 @@ } return pqFunctionCall3(conn, fnid, - result_buf, result_len, + result_buf, buf_size, result_len, result_is_int, args, nargs); } @@ -4114,27 +4129,6 @@ /* - * Frontend version of the backend's add_size(), intended to be API-compatible - * with the pg_add_*_overflow() helpers. Stores the result into *dst on success. - * Returns true instead if the addition overflows. - * - * TODO: move to common/int.h - */ -static bool -add_size_overflow(size_t s1, size_t s2, size_t *dst) -{ - size_t result; - - result = s1 + s2; - if (result < s1 || result < s2) - return true; - - *dst = result; - return false; -} - - -/* * Escape arbitrary strings. If as_ident is true, we escape the result * as an identifier; if false, as a literal. The result is returned in * a newly allocated buffer. If we fail due to an encoding violation or out @@ -4218,14 +4212,14 @@ * Allocate output buffer. Protect against overflow, in case the caller * has allocated a large fraction of the available size_t. */ - if (add_size_overflow(input_len, num_quotes, &result_size) || - add_size_overflow(result_size, 3, &result_size)) /* two quotes plus a NUL */ + if (pg_add_size_overflow(input_len, num_quotes, &result_size) || + pg_add_size_overflow(result_size, 3, &result_size)) /* two quotes plus a NUL */ goto overflow; if (!as_ident && num_backslashes > 0) { - if (add_size_overflow(result_size, num_backslashes, &result_size) || - add_size_overflow(result_size, 2, &result_size)) /* for " E" prefix */ + if (pg_add_size_overflow(result_size, num_backslashes, &result_size) || + pg_add_size_overflow(result_size, 2, &result_size)) /* for " E" prefix */ goto overflow; } @@ -4388,9 +4382,9 @@ if (use_hex) { /* We prepend "\x" and double each input character. */ - if (add_size_overflow(len, bslash_len + 1, &len) || - add_size_overflow(len, from_length, &len) || - add_size_overflow(len, from_length, &len)) + if (pg_add_size_overflow(len, bslash_len + 1, &len) || + pg_add_size_overflow(len, from_length, &len) || + pg_add_size_overflow(len, from_length, &len)) goto overflow; } else @@ -4400,22 +4394,22 @@ { if (*vp < 0x20 || *vp > 0x7e) { - if (add_size_overflow(len, bslash_len + 3, &len)) /* octal "\ooo" */ + if (pg_add_size_overflow(len, bslash_len + 3, &len)) /* octal "\ooo" */ goto overflow; } else if (*vp == '\'') { - if (add_size_overflow(len, 2, &len)) /* double each quote */ + if (pg_add_size_overflow(len, 2, &len)) /* double each quote */ goto overflow; } else if (*vp == '\\') { - if (add_size_overflow(len, bslash_len * 2, &len)) /* double each backslash */ + if (pg_add_size_overflow(len, bslash_len * 2, &len)) /* double each backslash */ goto overflow; } else { - if (add_size_overflow(len, 1, &len)) + if (pg_add_size_overflow(len, 1, &len)) goto overflow; } } diff -Nru postgresql-15-15.17/src/interfaces/libpq/fe-lobj.c postgresql-15-15.18/src/interfaces/libpq/fe-lobj.c --- postgresql-15-15.17/src/interfaces/libpq/fe-lobj.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/libpq/fe-lobj.c 2026-05-11 19:49:58.000000000 +0000 @@ -275,8 +275,8 @@ argv[1].len = 4; argv[1].u.integer = (int) len; - res = PQfn(conn, conn->lobjfuncs->fn_lo_read, - (void *) buf, &result_len, 0, argv, 2); + res = PQnfn(conn, conn->lobjfuncs->fn_lo_read, + (void *) buf, len, &result_len, 0, argv, 2); if (PQresultStatus(res) == PGRES_COMMAND_OK) { PQclear(res); @@ -418,8 +418,8 @@ argv[2].len = 4; argv[2].u.integer = whence; - res = PQfn(conn, conn->lobjfuncs->fn_lo_lseek64, - (void *) &retval, &result_len, 0, argv, 3); + res = PQnfn(conn, conn->lobjfuncs->fn_lo_lseek64, + (void *) &retval, sizeof(retval), &result_len, 0, argv, 3); if (PQresultStatus(res) == PGRES_COMMAND_OK && result_len == 8) { PQclear(res); @@ -574,8 +574,8 @@ argv[0].len = 4; argv[0].u.integer = fd; - res = PQfn(conn, conn->lobjfuncs->fn_lo_tell64, - (void *) &retval, &result_len, 0, argv, 1); + res = PQnfn(conn, conn->lobjfuncs->fn_lo_tell64, + (void *) &retval, sizeof(retval), &result_len, 0, argv, 1); if (PQresultStatus(res) == PGRES_COMMAND_OK && result_len == 8) { PQclear(res); diff -Nru postgresql-15-15.17/src/interfaces/libpq/fe-print.c postgresql-15-15.18/src/interfaces/libpq/fe-print.c --- postgresql-15-15.17/src/interfaces/libpq/fe-print.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/libpq/fe-print.c 2026-05-11 19:49:58.000000000 +0000 @@ -33,6 +33,7 @@ #endif #endif +#include "common/int.h" #include "libpq-fe.h" #include "libpq-int.h" @@ -468,27 +469,6 @@ } -/* - * Frontend version of the backend's add_size(), intended to be API-compatible - * with the pg_add_*_overflow() helpers. Stores the result into *dst on success. - * Returns true instead if the addition overflows. - * - * TODO: move to common/int.h - */ -static bool -add_size_overflow(size_t s1, size_t s2, size_t *dst) -{ - size_t result; - - result = s1 + s2; - if (result < s1 || result < s2) - return true; - - *dst = result; - return false; -} - - static char * do_header(FILE *fout, const PQprintOpt *po, const int nFields, int *fieldMax, const char **fieldNames, unsigned char *fieldNotNum, @@ -509,20 +489,20 @@ for (; n < nFields; n++) { /* Field plus separator, plus 2 extra '-' in standard format. */ - if (add_size_overflow(tot, fieldMax[n], &tot) || - add_size_overflow(tot, fs_len, &tot) || - (po->standard && add_size_overflow(tot, 2, &tot))) + if (pg_add_size_overflow(tot, fieldMax[n], &tot) || + pg_add_size_overflow(tot, fs_len, &tot) || + (po->standard && pg_add_size_overflow(tot, 2, &tot))) goto overflow; } if (po->standard) { /* An extra separator at the front and back. */ - if (add_size_overflow(tot, fs_len, &tot) || - add_size_overflow(tot, fs_len, &tot) || - add_size_overflow(tot, 2, &tot)) + if (pg_add_size_overflow(tot, fs_len, &tot) || + pg_add_size_overflow(tot, fs_len, &tot) || + pg_add_size_overflow(tot, 2, &tot)) goto overflow; } - if (add_size_overflow(tot, 1, &tot)) /* terminator */ + if (pg_add_size_overflow(tot, 1, &tot)) /* terminator */ goto overflow; border = malloc(tot); diff -Nru postgresql-15-15.17/src/interfaces/libpq/fe-protocol3.c postgresql-15-15.18/src/interfaces/libpq/fe-protocol3.c --- postgresql-15-15.17/src/interfaces/libpq/fe-protocol3.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/libpq/fe-protocol3.c 2026-05-11 19:49:58.000000000 +0000 @@ -27,6 +27,7 @@ #endif #endif +#include "common/int.h" #include "libpq-fe.h" #include "libpq-int.h" #include "mb/pg_wchar.h" @@ -1960,7 +1961,7 @@ */ PGresult * pqFunctionCall3(PGconn *conn, Oid fnid, - int *result_buf, int *actual_result_len, + int *result_buf, int buf_size, int *actual_result_len, int result_is_int, const PQArgBlock *args, int nargs) { @@ -2094,6 +2095,18 @@ } else { + /* + * If the server returned too much data for the + * buffer, something fishy is going on. Abandon ship. + */ + if (buf_size != -1 && *actual_result_len > buf_size) + { + appendPQExpBufferStr(&conn->errorMessage, + libpq_gettext("server returned too much data\n")); + handleSyncLoss(conn, id, *actual_result_len); + return pqPrepareAsyncResult(conn); + } + if (pqGetnchar((char *) result_buf, *actual_result_len, conn)) @@ -2213,26 +2226,6 @@ } /* - * Frontend version of the backend's add_size(), intended to be API-compatible - * with the pg_add_*_overflow() helpers. Stores the result into *dst on success. - * Returns true instead if the addition overflows. - * - * TODO: move to common/int.h - */ -static bool -add_size_overflow(size_t s1, size_t s2, size_t *dst) -{ - size_t result; - - result = s1 + s2; - if (result < s1 || result < s2) - return true; - - *dst = result; - return false; -} - -/* * Build a startup packet given a filled-in PGconn structure. * * We need to figure out how much space is needed, then fill it in. @@ -2264,11 +2257,11 @@ do { \ if (packet) \ strcpy(packet + packet_len, optname); \ - if (add_size_overflow(packet_len, strlen(optname) + 1, &packet_len)) \ + if (pg_add_size_overflow(packet_len, strlen(optname) + 1, &packet_len)) \ return 0; \ if (packet) \ strcpy(packet + packet_len, optval); \ - if (add_size_overflow(packet_len, strlen(optval) + 1, &packet_len)) \ + if (pg_add_size_overflow(packet_len, strlen(optval) + 1, &packet_len)) \ return 0; \ } while(0) @@ -2304,7 +2297,7 @@ /* Add trailing terminator */ if (packet) packet[packet_len] = '\0'; - if (add_size_overflow(packet_len, 1, &packet_len)) + if (pg_add_size_overflow(packet_len, 1, &packet_len)) return 0; return packet_len; diff -Nru postgresql-15-15.17/src/interfaces/libpq/libpq-int.h postgresql-15-15.18/src/interfaces/libpq/libpq-int.h --- postgresql-15-15.17/src/interfaces/libpq/libpq-int.h 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/libpq/libpq-int.h 2026-05-11 19:49:58.000000000 +0000 @@ -686,6 +686,9 @@ extern void pqCommandQueueAdvance(PGconn *conn, bool isReadyForQuery, bool gotSync); extern int PQsendQueryContinue(PGconn *conn, const char *query); +extern PGresult *PQnfn(PGconn *conn, int fnid, int *result_buf, int buf_size, + int *result_len, int result_is_int, + const PQArgBlock *args, int nargs); /* === in fe-protocol3.c === */ @@ -700,7 +703,8 @@ extern int pqGetlineAsync3(PGconn *conn, char *buffer, int bufsize); extern int pqEndcopy3(PGconn *conn); extern PGresult *pqFunctionCall3(PGconn *conn, Oid fnid, - int *result_buf, int *actual_result_len, + int *result_buf, int buf_size, + int *actual_result_len, int result_is_int, const PQArgBlock *args, int nargs); diff -Nru postgresql-15-15.17/src/interfaces/libpq/po/fr.po postgresql-15-15.18/src/interfaces/libpq/po/fr.po --- postgresql-15-15.17/src/interfaces/libpq/po/fr.po 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/interfaces/libpq/po/fr.po 2026-05-11 19:49:58.000000000 +0000 @@ -12,8 +12,8 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2025-02-15 22:15+0000\n" -"PO-Revision-Date: 2025-02-16 09:12+0100\n" +"POT-Creation-Date: 2026-03-19 23:20+0000\n" +"PO-Revision-Date: 2026-03-22 17:44+0100\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,7 +21,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.5\n" +"X-Generator: Poedit 3.8\n" #: ../../port/thread.c:100 ../../port/thread.c:136 #, c-format @@ -72,16 +72,17 @@ #: fe-auth-scram.c:636 fe-auth-scram.c:662 fe-auth-scram.c:677 #: fe-auth-scram.c:727 fe-auth-scram.c:766 fe-auth.c:290 fe-auth.c:362 #: fe-auth.c:398 fe-auth.c:623 fe-auth.c:799 fe-auth.c:1152 fe-auth.c:1322 -#: fe-connect.c:909 fe-connect.c:1458 fe-connect.c:1627 fe-connect.c:2978 -#: fe-connect.c:4827 fe-connect.c:5088 fe-connect.c:5207 fe-connect.c:5459 -#: fe-connect.c:5540 fe-connect.c:5639 fe-connect.c:5895 fe-connect.c:5924 -#: fe-connect.c:5996 fe-connect.c:6020 fe-connect.c:6038 fe-connect.c:6139 -#: fe-connect.c:6148 fe-connect.c:6506 fe-connect.c:6656 fe-connect.c:6922 -#: fe-exec.c:710 fe-exec.c:978 fe-exec.c:1326 fe-exec.c:3165 fe-exec.c:3357 -#: fe-exec.c:4197 fe-exec.c:4364 fe-gssapi-common.c:111 fe-lobj.c:884 -#: fe-protocol3.c:968 fe-protocol3.c:983 fe-protocol3.c:1016 -#: fe-protocol3.c:1724 fe-protocol3.c:2127 fe-secure-common.c:112 -#: fe-secure-gssapi.c:500 fe-secure-openssl.c:455 fe-secure-openssl.c:1252 +#: fe-connect.c:910 fe-connect.c:1459 fe-connect.c:1628 fe-connect.c:2979 +#: fe-connect.c:4828 fe-connect.c:5103 fe-connect.c:5222 fe-connect.c:5474 +#: fe-connect.c:5555 fe-connect.c:5654 fe-connect.c:5910 fe-connect.c:5939 +#: fe-connect.c:6011 fe-connect.c:6035 fe-connect.c:6053 fe-connect.c:6154 +#: fe-connect.c:6163 fe-connect.c:6521 fe-connect.c:6671 fe-connect.c:6939 +#: fe-exec.c:715 fe-exec.c:983 fe-exec.c:1331 fe-exec.c:3170 fe-exec.c:3362 +#: fe-exec.c:4236 fe-exec.c:4430 fe-gssapi-common.c:111 fe-lobj.c:884 +#: fe-protocol3.c:969 fe-protocol3.c:984 fe-protocol3.c:1017 +#: fe-protocol3.c:1738 fe-protocol3.c:2141 fe-secure-common.c:112 +#: fe-secure-gssapi.c:512 fe-secure-gssapi.c:687 fe-secure-openssl.c:455 +#: fe-secure-openssl.c:1252 msgid "out of memory\n" msgstr "mémoire épuisée\n" @@ -127,8 +128,8 @@ msgid "malformed SCRAM message (invalid server signature)\n" msgstr "message SCRAM malformé (signature serveur invalide)\n" -#: fe-auth-scram.c:935 fe-exec.c:527 fe-protocol3.c:207 fe-protocol3.c:232 -#: fe-protocol3.c:256 fe-protocol3.c:274 fe-protocol3.c:355 fe-protocol3.c:728 +#: fe-auth-scram.c:935 fe-exec.c:527 fe-protocol3.c:208 fe-protocol3.c:233 +#: fe-protocol3.c:257 fe-protocol3.c:275 fe-protocol3.c:356 fe-protocol3.c:729 msgid "out of memory" msgstr "mémoire épuisée" @@ -270,387 +271,392 @@ msgid "unrecognized password encryption algorithm \"%s\"\n" msgstr "algorithme de chiffrement du mot de passe « %s » non reconnu\n" -#: fe-connect.c:1092 +#: fe-connect.c:1093 #, c-format msgid "could not match %d host names to %d hostaddr values\n" msgstr "n'a pas pu faire correspondre les %d noms d'hôte aux %d valeurs hostaddr\n" -#: fe-connect.c:1178 +#: fe-connect.c:1179 #, c-format msgid "could not match %d port numbers to %d hosts\n" msgstr "n'a pas pu faire correspondre les %d numéros de port aux %d hôtes\n" -#: fe-connect.c:1271 fe-connect.c:1297 fe-connect.c:1339 fe-connect.c:1348 -#: fe-connect.c:1381 fe-connect.c:1425 +#: fe-connect.c:1272 fe-connect.c:1298 fe-connect.c:1340 fe-connect.c:1349 +#: fe-connect.c:1382 fe-connect.c:1426 #, c-format msgid "invalid %s value: \"%s\"\n" msgstr "valeur %s invalide : « %s »\n" -#: fe-connect.c:1318 +#: fe-connect.c:1319 #, c-format msgid "sslmode value \"%s\" invalid when SSL support is not compiled in\n" msgstr "valeur sslmode « %s » invalide si le support SSL n'est pas compilé initialement\n" -#: fe-connect.c:1366 +#: fe-connect.c:1367 msgid "invalid SSL protocol version range\n" msgstr "intervalle de version invalide pour le protocole SSL\n" -#: fe-connect.c:1391 +#: fe-connect.c:1392 #, c-format msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in\n" msgstr "valeur gssencmode « %s » invalide si le support GSSAPI n'est pas compilé\n" -#: fe-connect.c:1651 +#: fe-connect.c:1652 #, c-format msgid "could not set socket to TCP no delay mode: %s\n" msgstr "n'a pas pu activer le mode TCP sans délai pour la socket : %s\n" -#: fe-connect.c:1713 +#: fe-connect.c:1714 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "la connexion au serveur sur le socket « %s » a échoué : " -#: fe-connect.c:1740 +#: fe-connect.c:1741 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "la connexion au serveur sur « %s » (%s), port %s a échoué : " -#: fe-connect.c:1745 +#: fe-connect.c:1746 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "la connexion au serveur sur « %s », port %s a échoué : " -#: fe-connect.c:1770 +#: fe-connect.c:1771 msgid "\tIs the server running locally and accepting connections on that socket?\n" msgstr "\tLe serveur est-il actif localement et accepte-t-il les connexions sur ce socket ?\n" -#: fe-connect.c:1774 +#: fe-connect.c:1775 msgid "\tIs the server running on that host and accepting TCP/IP connections?\n" msgstr "\tLe serveur est-il actif sur cet hôte et accepte-t-il les connexions ?\n" -#: fe-connect.c:1838 +#: fe-connect.c:1839 #, c-format msgid "invalid integer value \"%s\" for connection option \"%s\"\n" msgstr "valeur entière « %s » invalide pour l'option de connexion « %s »\n" -#: fe-connect.c:1868 fe-connect.c:1903 fe-connect.c:1939 fe-connect.c:2039 -#: fe-connect.c:2652 +#: fe-connect.c:1869 fe-connect.c:1904 fe-connect.c:1940 fe-connect.c:2040 +#: fe-connect.c:2653 #, c-format msgid "%s(%s) failed: %s\n" msgstr "échec de %s(%s) : %s\n" -#: fe-connect.c:2004 +#: fe-connect.c:2005 #, c-format msgid "%s(%s) failed: error code %d\n" msgstr "échec de %s(%s) : code d'erreur %d\n" -#: fe-connect.c:2319 +#: fe-connect.c:2320 msgid "invalid connection state, probably indicative of memory corruption\n" msgstr "état de connexion invalide, indique probablement une corruption de mémoire\n" -#: fe-connect.c:2398 +#: fe-connect.c:2399 #, c-format msgid "invalid port number: \"%s\"\n" msgstr "numéro de port invalide : « %s »\n" -#: fe-connect.c:2414 +#: fe-connect.c:2415 #, c-format msgid "could not translate host name \"%s\" to address: %s\n" msgstr "n'a pas pu traduire le nom d'hôte « %s » en adresse : %s\n" -#: fe-connect.c:2427 +#: fe-connect.c:2428 #, c-format msgid "could not parse network address \"%s\": %s\n" msgstr "n'a pas pu analyser l'adresse réseau « %s » : %s\n" -#: fe-connect.c:2440 +#: fe-connect.c:2441 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)\n" msgstr "Le chemin du socket de domaine Unix, « %s », est trop (maximum %d octets)\n" -#: fe-connect.c:2455 +#: fe-connect.c:2456 #, c-format msgid "could not translate Unix-domain socket path \"%s\" to address: %s\n" msgstr "" "n'a pas pu traduire le chemin de la socket du domaine Unix « %s » en adresse :\n" "%s\n" -#: fe-connect.c:2581 +#: fe-connect.c:2582 #, c-format msgid "could not create socket: %s\n" msgstr "n'a pas pu créer la socket : %s\n" -#: fe-connect.c:2612 +#: fe-connect.c:2613 #, c-format msgid "could not set socket to nonblocking mode: %s\n" msgstr "n'a pas pu activer le mode non-bloquant pour la socket : %s\n" -#: fe-connect.c:2622 +#: fe-connect.c:2623 #, c-format msgid "could not set socket to close-on-exec mode: %s\n" msgstr "n'a pas pu paramétrer la socket en mode close-on-exec : %s\n" -#: fe-connect.c:2780 +#: fe-connect.c:2781 #, c-format msgid "could not get socket error status: %s\n" msgstr "n'a pas pu déterminer le statut d'erreur de la socket : %s\n" -#: fe-connect.c:2808 +#: fe-connect.c:2809 #, c-format msgid "could not get client address from socket: %s\n" msgstr "n'a pas pu obtenir l'adresse du client depuis la socket : %s\n" -#: fe-connect.c:2847 +#: fe-connect.c:2848 msgid "requirepeer parameter is not supported on this platform\n" msgstr "le paramètre requirepeer n'est pas supporté sur cette plateforme\n" -#: fe-connect.c:2850 +#: fe-connect.c:2851 #, c-format msgid "could not get peer credentials: %s\n" msgstr "n'a pas pu obtenir l'authentification de l'autre : %s\n" -#: fe-connect.c:2864 +#: fe-connect.c:2865 #, c-format msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"\n" msgstr "requirepeer indique « %s » mais le nom de l'utilisateur réel est « %s »\n" -#: fe-connect.c:2906 +#: fe-connect.c:2907 #, c-format msgid "could not send GSSAPI negotiation packet: %s\n" msgstr "n'a pas pu transmettre le paquet de négociation GSSAPI : %s\n" -#: fe-connect.c:2918 +#: fe-connect.c:2919 msgid "GSSAPI encryption required but was impossible (possibly no credential cache, no server support, or using a local socket)\n" msgstr "le chiffrage avec GSSAPI était requis, mais impossible (potentiellement pas de cache, de support serveur ou de socket local)\n" -#: fe-connect.c:2960 +#: fe-connect.c:2961 #, c-format msgid "could not send SSL negotiation packet: %s\n" msgstr "n'a pas pu transmettre le paquet de négociation SSL : %s\n" -#: fe-connect.c:2991 +#: fe-connect.c:2992 #, c-format msgid "could not send startup packet: %s\n" msgstr "n'a pas pu transmettre le paquet de démarrage : %s\n" -#: fe-connect.c:3067 +#: fe-connect.c:3068 msgid "server does not support SSL, but SSL was required\n" msgstr "le serveur ne supporte pas SSL alors que SSL était réclamé\n" -#: fe-connect.c:3085 +#: fe-connect.c:3086 msgid "server sent an error response during SSL exchange\n" msgstr "le serveur a envoyé une erreur lors de l'échange SSL\n" -#: fe-connect.c:3091 +#: fe-connect.c:3092 #, c-format msgid "received invalid response to SSL negotiation: %c\n" msgstr "a reçu une réponse invalide à la négociation SSL : %c\n" -#: fe-connect.c:3112 +#: fe-connect.c:3113 msgid "received unencrypted data after SSL response\n" msgstr "a reçu des données non chiffrées après la réponse SSL\n" -#: fe-connect.c:3193 +#: fe-connect.c:3194 msgid "server doesn't support GSSAPI encryption, but it was required\n" msgstr "le serveur ne supporte pas le chiffrage GSSAPI alors qu'il était réclamé\n" -#: fe-connect.c:3205 +#: fe-connect.c:3206 #, c-format msgid "received invalid response to GSSAPI negotiation: %c\n" msgstr "a reçu une réponse invalide à la négociation GSSAPI : %c\n" -#: fe-connect.c:3224 +#: fe-connect.c:3225 msgid "received unencrypted data after GSSAPI encryption response\n" msgstr "a reçu des données non chiffrées après la réponse de chiffrement GSSAPI\n" -#: fe-connect.c:3289 fe-connect.c:3314 +#: fe-connect.c:3290 fe-connect.c:3315 #, c-format msgid "expected authentication request from server, but received %c\n" msgstr "" "attendait une requête d'authentification en provenance du serveur, mais a\n" " reçu %c\n" -#: fe-connect.c:3521 +#: fe-connect.c:3522 msgid "unexpected message from server during startup\n" msgstr "message inattendu du serveur lors du démarrage\n" -#: fe-connect.c:3613 +#: fe-connect.c:3614 msgid "session is read-only\n" msgstr "la session est en lecture seule\n" -#: fe-connect.c:3616 +#: fe-connect.c:3617 msgid "session is not read-only\n" msgstr "la session n'est pas en lecture seule\n" -#: fe-connect.c:3670 +#: fe-connect.c:3671 msgid "server is in hot standby mode\n" msgstr "le serveur est dans le mode hot standby\n" -#: fe-connect.c:3673 +#: fe-connect.c:3674 msgid "server is not in hot standby mode\n" msgstr "le serveur n'est pas dans le mode hot standby\n" -#: fe-connect.c:3791 fe-connect.c:3843 +#: fe-connect.c:3792 fe-connect.c:3844 #, c-format msgid "\"%s\" failed\n" msgstr "échec de « %s »\n" -#: fe-connect.c:3857 +#: fe-connect.c:3858 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption\n" msgstr "" "état de connexion invalide (%d), indiquant probablement une corruption de\n" " mémoire\n" -#: fe-connect.c:4840 +#: fe-connect.c:4841 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://\n" msgstr "URL LDAP « %s » invalide : le schéma doit être ldap://\n" -#: fe-connect.c:4855 +#: fe-connect.c:4856 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name\n" msgstr "URL LDAP « %s » invalide : le « distinguished name » manque\n" -#: fe-connect.c:4867 fe-connect.c:4925 +#: fe-connect.c:4868 fe-connect.c:4926 #, c-format msgid "invalid LDAP URL \"%s\": must have exactly one attribute\n" msgstr "URL LDAP « %s » invalide : doit avoir exactement un attribut\n" -#: fe-connect.c:4879 fe-connect.c:4941 +#: fe-connect.c:4880 fe-connect.c:4942 #, c-format msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)\n" msgstr "URL LDAP « %s » invalide : doit avoir une échelle de recherche (base/un/sous)\n" -#: fe-connect.c:4891 +#: fe-connect.c:4892 #, c-format msgid "invalid LDAP URL \"%s\": no filter\n" msgstr "URL LDAP « %s » invalide : aucun filtre\n" -#: fe-connect.c:4913 +#: fe-connect.c:4914 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number\n" msgstr "URL LDAP « %s » invalide : numéro de port invalide\n" -#: fe-connect.c:4951 +#: fe-connect.c:4952 msgid "could not create LDAP structure\n" msgstr "n'a pas pu créer la structure LDAP\n" -#: fe-connect.c:5027 +#: fe-connect.c:5028 #, c-format msgid "lookup on LDAP server failed: %s\n" msgstr "échec de la recherche sur le serveur LDAP : %s\n" -#: fe-connect.c:5038 +#: fe-connect.c:5039 msgid "more than one entry found on LDAP lookup\n" msgstr "plusieurs entrées trouvées pendant la recherche LDAP\n" -#: fe-connect.c:5039 fe-connect.c:5051 +#: fe-connect.c:5040 fe-connect.c:5052 msgid "no entry found on LDAP lookup\n" msgstr "aucune entrée trouvée pendant la recherche LDAP\n" -#: fe-connect.c:5062 fe-connect.c:5075 +#: fe-connect.c:5063 fe-connect.c:5076 msgid "attribute has no values on LDAP lookup\n" msgstr "l'attribut n'a pas de valeur après la recherche LDAP\n" -#: fe-connect.c:5127 fe-connect.c:5146 fe-connect.c:5678 +#: fe-connect.c:5090 +#, c-format +msgid "connection info string size exceeds the maximum allowed (%d)\n" +msgstr "la longueur de la chaîne de connexion dépasse le maximum autorisé (%d)\n" + +#: fe-connect.c:5142 fe-connect.c:5161 fe-connect.c:5693 #, c-format msgid "missing \"=\" after \"%s\" in connection info string\n" msgstr "« = » manquant après « %s » dans la chaîne des paramètres de connexion\n" -#: fe-connect.c:5219 fe-connect.c:5863 fe-connect.c:6639 +#: fe-connect.c:5234 fe-connect.c:5878 fe-connect.c:6654 #, c-format msgid "invalid connection option \"%s\"\n" msgstr "option de connexion « %s » invalide\n" -#: fe-connect.c:5235 fe-connect.c:5727 +#: fe-connect.c:5250 fe-connect.c:5742 msgid "unterminated quoted string in connection info string\n" msgstr "guillemets non refermés dans la chaîne des paramètres de connexion\n" -#: fe-connect.c:5316 +#: fe-connect.c:5331 #, c-format msgid "definition of service \"%s\" not found\n" msgstr "définition du service « %s » introuvable\n" -#: fe-connect.c:5342 +#: fe-connect.c:5357 #, c-format msgid "service file \"%s\" not found\n" msgstr "fichier de service « %s » introuvable\n" -#: fe-connect.c:5356 +#: fe-connect.c:5371 #, c-format msgid "line %d too long in service file \"%s\"\n" msgstr "ligne %d trop longue dans le fichier service « %s »\n" -#: fe-connect.c:5427 fe-connect.c:5471 +#: fe-connect.c:5442 fe-connect.c:5486 #, c-format msgid "syntax error in service file \"%s\", line %d\n" msgstr "erreur de syntaxe dans le fichier service « %s », ligne %d\n" -#: fe-connect.c:5438 +#: fe-connect.c:5453 #, c-format msgid "nested service specifications not supported in service file \"%s\", line %d\n" msgstr "spécifications imbriquées de service non supportées dans le fichier service « %s », ligne %d\n" -#: fe-connect.c:6159 +#: fe-connect.c:6174 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"\n" msgstr "URI invalide propagée à la routine d'analyse interne : « %s »\n" -#: fe-connect.c:6236 +#: fe-connect.c:6251 #, c-format msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\"\n" msgstr "" "fin de chaîne atteinte lors de la recherche du « ] » correspondant dans\n" "l'adresse IPv6 de l'hôte indiquée dans l'URI : « %s »\n" -#: fe-connect.c:6243 +#: fe-connect.c:6258 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"\n" msgstr "l'adresse IPv6 de l'hôte ne peut pas être vide dans l'URI : « %s »\n" -#: fe-connect.c:6258 +#: fe-connect.c:6273 #, c-format msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\"\n" msgstr "" "caractère « %c » inattendu à la position %d de l'URI (caractère « : » ou\n" "« / » attendu) : « %s »\n" -#: fe-connect.c:6388 +#: fe-connect.c:6403 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"\n" msgstr "séparateur « = » de clé/valeur en trop dans le paramètre de requête URI : « %s »\n" -#: fe-connect.c:6408 +#: fe-connect.c:6423 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"\n" msgstr "séparateur « = » de clé/valeur manquant dans le paramètre de requête URI : « %s »\n" -#: fe-connect.c:6460 +#: fe-connect.c:6475 #, c-format msgid "invalid URI query parameter: \"%s\"\n" msgstr "paramètre de la requête URI invalide : « %s »\n" -#: fe-connect.c:6534 +#: fe-connect.c:6549 #, c-format msgid "invalid percent-encoded token: \"%s\"\n" msgstr "jeton encodé en pourcentage invalide : « %s »\n" -#: fe-connect.c:6544 +#: fe-connect.c:6559 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"\n" msgstr "valeur %%00 interdite dans la valeur codée en pourcentage : « %s »\n" -#: fe-connect.c:6914 +#: fe-connect.c:6931 msgid "connection pointer is NULL\n" msgstr "le pointeur de connexion est NULL\n" -#: fe-connect.c:7202 +#: fe-connect.c:7219 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "ATTENTION : le fichier de mots de passe « %s » n'est pas un fichier texte\n" -#: fe-connect.c:7211 +#: fe-connect.c:7228 #, c-format msgid "WARNING: password file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n" msgstr "" @@ -658,159 +664,161 @@ "lecture pour le groupe ou universel ; les droits devraient être u=rw (0600)\n" "ou inférieur\n" -#: fe-connect.c:7319 +#: fe-connect.c:7336 #, c-format msgid "password retrieved from file \"%s\"\n" msgstr "mot de passe récupéré dans le fichier « %s »\n" -#: fe-exec.c:466 fe-exec.c:3431 +#: fe-exec.c:466 fe-exec.c:3436 #, c-format msgid "row number %d is out of range 0..%d" msgstr "le numéro de ligne %d est en dehors des limites 0..%d" -#: fe-exec.c:528 fe-protocol3.c:1932 +#: fe-exec.c:528 fe-protocol3.c:1946 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:836 +#: fe-exec.c:841 msgid "write to server failed\n" msgstr "échec en écriture vers le serveur\n" -#: fe-exec.c:877 +#: fe-exec.c:882 msgid "no error text available\n" msgstr "aucun texte d'erreur disponible\n" -#: fe-exec.c:966 +#: fe-exec.c:971 msgid "NOTICE" msgstr "NOTICE" -#: fe-exec.c:1024 +#: fe-exec.c:1029 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult ne supporte pas plus de INT_MAX lignes" -#: fe-exec.c:1036 +#: fe-exec.c:1041 msgid "size_t overflow" msgstr "saturation de size_t" -#: fe-exec.c:1450 fe-exec.c:1521 fe-exec.c:1570 +#: fe-exec.c:1455 fe-exec.c:1526 fe-exec.c:1575 msgid "command string is a null pointer\n" msgstr "la chaîne de commande est un pointeur nul\n" -#: fe-exec.c:1457 fe-exec.c:2908 +#: fe-exec.c:1462 fe-exec.c:2913 #, c-format msgid "%s not allowed in pipeline mode\n" msgstr "%s non autorisé dans le mode pipeline\n" -#: fe-exec.c:1527 fe-exec.c:1576 fe-exec.c:1672 +#: fe-exec.c:1532 fe-exec.c:1581 fe-exec.c:1677 #, c-format msgid "number of parameters must be between 0 and %d\n" msgstr "le nombre de paramètres doit être compris entre 0 et %d\n" -#: fe-exec.c:1564 fe-exec.c:1666 +#: fe-exec.c:1569 fe-exec.c:1671 msgid "statement name is a null pointer\n" msgstr "le nom de l'instruction est un pointeur nul\n" -#: fe-exec.c:1710 fe-exec.c:3276 +#: fe-exec.c:1715 fe-exec.c:3281 msgid "no connection to the server\n" msgstr "aucune connexion au serveur\n" -#: fe-exec.c:1719 fe-exec.c:3285 +#: fe-exec.c:1724 fe-exec.c:3290 msgid "another command is already in progress\n" msgstr "une autre commande est déjà en cours\n" -#: fe-exec.c:1750 +#: fe-exec.c:1755 msgid "cannot queue commands during COPY\n" msgstr "ne peut pas mettre en queue les commandes lors du COPY\n" -#: fe-exec.c:1868 +#: fe-exec.c:1873 msgid "length must be given for binary parameter\n" msgstr "la longueur doit être indiquée pour les paramètres binaires\n" -#: fe-exec.c:2183 +#: fe-exec.c:2188 #, c-format msgid "unexpected asyncStatus: %d\n" msgstr "asyncStatus inattendu : %d\n" -#: fe-exec.c:2341 +#: fe-exec.c:2346 msgid "synchronous command execution functions are not allowed in pipeline mode\n" msgstr "les fonctions d'exécution de commande synchrone ne sont pas autorisées en mode pipeline\n" -#: fe-exec.c:2358 +#: fe-exec.c:2363 msgid "COPY terminated by new PQexec" msgstr "COPY terminé par un nouveau PQexec" -#: fe-exec.c:2375 +#: fe-exec.c:2380 msgid "PQexec not allowed during COPY BOTH\n" msgstr "PQexec non autorisé pendant COPY BOTH\n" -#: fe-exec.c:2603 fe-exec.c:2659 fe-exec.c:2728 fe-protocol3.c:1863 +#: fe-exec.c:2608 fe-exec.c:2664 fe-exec.c:2733 fe-protocol3.c:1877 msgid "no COPY in progress\n" msgstr "aucun COPY en cours\n" -#: fe-exec.c:2917 +#: fe-exec.c:2922 msgid "connection in wrong state\n" msgstr "connexion dans un état erroné\n" -#: fe-exec.c:2961 +#: fe-exec.c:2966 msgid "cannot enter pipeline mode, connection not idle\n" msgstr "ne peut pas entrer dans le mode pipeline, connexion active\n" -#: fe-exec.c:2998 fe-exec.c:3022 +#: fe-exec.c:3003 fe-exec.c:3027 msgid "cannot exit pipeline mode with uncollected results\n" msgstr "ne peut pas sortir du mode pipeline avec des résultats non récupérés\n" -#: fe-exec.c:3003 +#: fe-exec.c:3008 msgid "cannot exit pipeline mode while busy\n" msgstr "ne peut pas sortir du mode pipeline alors qu'il est occupé\n" -#: fe-exec.c:3015 +#: fe-exec.c:3020 msgid "cannot exit pipeline mode while in COPY\n" msgstr "ne peut pas sortir du mode pipeline pendant un COPY\n" -#: fe-exec.c:3209 +#: fe-exec.c:3214 msgid "cannot send pipeline when not in pipeline mode\n" msgstr "ne peut pas envoyer le pipeline lorsqu'il n'est pas en mode pipeline\n" -#: fe-exec.c:3320 +#: fe-exec.c:3325 msgid "invalid ExecStatusType code" msgstr "code ExecStatusType invalide" -#: fe-exec.c:3347 +#: fe-exec.c:3352 msgid "PGresult is not an error result\n" msgstr "PGresult n'est pas un résultat d'erreur\n" -#: fe-exec.c:3415 fe-exec.c:3438 +#: fe-exec.c:3420 fe-exec.c:3443 #, c-format msgid "column number %d is out of range 0..%d" msgstr "le numéro de colonne %d est en dehors des limites 0..%d" -#: fe-exec.c:3453 +#: fe-exec.c:3458 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "le numéro de paramètre %d est en dehors des limites 0..%d" -#: fe-exec.c:3764 +#: fe-exec.c:3769 #, c-format msgid "could not interpret result from server: %s" msgstr "n'a pas pu interpréter la réponse du serveur : %s" -#: fe-exec.c:4043 -msgid "incomplete multibyte character" -msgstr "caractère multi-octets incomplet" - -#: fe-exec.c:4046 -msgid "invalid multibyte character" -msgstr "caractère multi-octets invalide" - -#: fe-exec.c:4157 +#: fe-exec.c:4049 fe-exec.c:4185 msgid "incomplete multibyte character\n" msgstr "caractère multi-octet incomplet\n" -#: fe-exec.c:4177 +#: fe-exec.c:4052 fe-exec.c:4205 msgid "invalid multibyte character\n" msgstr "caractère multi-octets invalide\n" +#: fe-exec.c:4308 +#, c-format +msgid "escaped string size exceeds the maximum allowed (%zu)\n" +msgstr "la taille de la chaîne de caractères une fois échappée dépasse le maximum autorisé (%zu)\n" + +#: fe-exec.c:4486 +#, c-format +msgid "escaped bytea size exceeds the maximum allowed (%zu)\n" +msgstr "la taille du bytea une fois échappé dépasse le maximum autorisé (%zu)\n" + #: fe-gssapi-common.c:124 msgid "GSSAPI name import error" msgstr "erreur d'import du nom GSSAPI" @@ -865,11 +873,11 @@ msgid "integer of size %lu not supported by pqPutInt" msgstr "entier de taille %lu non supporté par pqPutInt" -#: fe-misc.c:576 fe-misc.c:822 +#: fe-misc.c:602 fe-misc.c:848 msgid "connection not open\n" msgstr "la connexion n'est pas active\n" -#: fe-misc.c:755 fe-secure-openssl.c:213 fe-secure-openssl.c:326 +#: fe-misc.c:781 fe-secure-openssl.c:213 fe-secure-openssl.c:326 #: fe-secure.c:262 fe-secure.c:430 #, c-format msgid "" @@ -881,152 +889,152 @@ "\tLe serveur s'est peut-être arrêté anormalement avant ou durant le\n" "\ttraitement de la requête.\n" -#: fe-misc.c:1008 +#: fe-misc.c:1034 msgid "timeout expired\n" msgstr "le délai est dépassé\n" -#: fe-misc.c:1053 +#: fe-misc.c:1079 msgid "invalid socket\n" msgstr "socket invalide\n" -#: fe-misc.c:1076 +#: fe-misc.c:1102 #, c-format msgid "%s() failed: %s\n" msgstr "échec de %s() : %s\n" -#: fe-protocol3.c:184 +#: fe-protocol3.c:185 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "le message de type 0x%02x est arrivé alors que le serveur était en attente" -#: fe-protocol3.c:388 +#: fe-protocol3.c:389 msgid "server sent data (\"D\" message) without prior row description (\"T\" message)\n" msgstr "" "le serveur a envoyé des données (message « D ») sans description préalable\n" "de la ligne (message « T »)\n" -#: fe-protocol3.c:431 +#: fe-protocol3.c:432 #, c-format msgid "unexpected response from server; first received character was \"%c\"\n" msgstr "réponse inattendue du serveur, le premier caractère reçu étant « %c »\n" -#: fe-protocol3.c:456 +#: fe-protocol3.c:457 #, c-format msgid "message contents do not agree with length in message type \"%c\"\n" msgstr "" "le contenu du message ne correspond pas avec la longueur du type de message\n" "« %c »\n" -#: fe-protocol3.c:476 +#: fe-protocol3.c:477 #, c-format msgid "lost synchronization with server: got message type \"%c\", length %d\n" msgstr "" "synchronisation perdue avec le serveur : a reçu le type de message « %c »,\n" "longueur %d\n" -#: fe-protocol3.c:528 fe-protocol3.c:568 +#: fe-protocol3.c:529 fe-protocol3.c:569 msgid "insufficient data in \"T\" message" msgstr "données insuffisantes dans le message « T »" -#: fe-protocol3.c:639 fe-protocol3.c:845 +#: fe-protocol3.c:640 fe-protocol3.c:846 msgid "out of memory for query result" msgstr "mémoire épuisée pour le résultat de la requête" -#: fe-protocol3.c:708 +#: fe-protocol3.c:709 msgid "insufficient data in \"t\" message" msgstr "données insuffisantes dans le message « t »" -#: fe-protocol3.c:767 fe-protocol3.c:799 fe-protocol3.c:817 +#: fe-protocol3.c:768 fe-protocol3.c:800 fe-protocol3.c:818 msgid "insufficient data in \"D\" message" msgstr "données insuffisantes dans le message « D »" -#: fe-protocol3.c:773 +#: fe-protocol3.c:774 msgid "unexpected field count in \"D\" message" msgstr "nombre de champs inattendu dans le message « D »" -#: fe-protocol3.c:1029 +#: fe-protocol3.c:1030 msgid "no error message available\n" msgstr "aucun message d'erreur disponible\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1077 fe-protocol3.c:1096 +#: fe-protocol3.c:1078 fe-protocol3.c:1097 #, c-format msgid " at character %s" msgstr " au caractère %s" -#: fe-protocol3.c:1109 +#: fe-protocol3.c:1110 #, c-format msgid "DETAIL: %s\n" msgstr "DÉTAIL : %s\n" -#: fe-protocol3.c:1112 +#: fe-protocol3.c:1113 #, c-format msgid "HINT: %s\n" msgstr "ASTUCE : %s\n" -#: fe-protocol3.c:1115 +#: fe-protocol3.c:1116 #, c-format msgid "QUERY: %s\n" msgstr "REQUÊTE : %s\n" -#: fe-protocol3.c:1122 +#: fe-protocol3.c:1123 #, c-format msgid "CONTEXT: %s\n" msgstr "CONTEXTE : %s\n" -#: fe-protocol3.c:1131 +#: fe-protocol3.c:1132 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "NOM DE SCHÉMA : %s\n" -#: fe-protocol3.c:1135 +#: fe-protocol3.c:1136 #, c-format msgid "TABLE NAME: %s\n" msgstr "NOM DE TABLE : %s\n" -#: fe-protocol3.c:1139 +#: fe-protocol3.c:1140 #, c-format msgid "COLUMN NAME: %s\n" msgstr "NOM DE COLONNE : %s\n" -#: fe-protocol3.c:1143 +#: fe-protocol3.c:1144 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "NOM DU TYPE DE DONNÉES : %s\n" -#: fe-protocol3.c:1147 +#: fe-protocol3.c:1148 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "NOM DE CONTRAINTE : %s\n" -#: fe-protocol3.c:1159 +#: fe-protocol3.c:1160 msgid "LOCATION: " msgstr "EMPLACEMENT : " -#: fe-protocol3.c:1161 +#: fe-protocol3.c:1162 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1163 +#: fe-protocol3.c:1164 #, c-format msgid "%s:%s" msgstr "%s : %s" -#: fe-protocol3.c:1358 +#: fe-protocol3.c:1372 #, c-format msgid "LINE %d: " msgstr "LIGNE %d : " -#: fe-protocol3.c:1757 +#: fe-protocol3.c:1771 msgid "PQgetline: not doing text COPY OUT\n" msgstr "PQgetline : ne va pas réaliser un COPY OUT au format texte\n" -#: fe-protocol3.c:2134 +#: fe-protocol3.c:2148 msgid "protocol error: no function result\n" msgstr "erreur de protocole : aucun résultat de fonction\n" -#: fe-protocol3.c:2146 +#: fe-protocol3.c:2160 #, c-format msgid "protocol error: id=0x%x\n" msgstr "erreur de protocole : id=0x%x\n" @@ -1058,44 +1066,40 @@ msgid "could not get server's host name from server certificate\n" msgstr "n'a pas pu récupérer le nom d'hôte du serveur à partir du certificat serveur\n" -#: fe-secure-gssapi.c:194 +#: fe-secure-gssapi.c:201 msgid "GSSAPI wrap error" msgstr "erreur d'emballage GSSAPI" -#: fe-secure-gssapi.c:202 +#: fe-secure-gssapi.c:209 msgid "outgoing GSSAPI message would not use confidentiality\n" msgstr "le message sortant GSSAPI n'utiliserait pas la confidentialité\n" -#: fe-secure-gssapi.c:210 +#: fe-secure-gssapi.c:217 fe-secure-gssapi.c:715 #, c-format msgid "client tried to send oversize GSSAPI packet (%zu > %zu)\n" msgstr "le client a essayé d'envoyer un paquet GSSAPI trop gros (%zu > %zu)\n" -#: fe-secure-gssapi.c:350 fe-secure-gssapi.c:594 +#: fe-secure-gssapi.c:357 fe-secure-gssapi.c:607 #, c-format msgid "oversize GSSAPI packet sent by the server (%zu > %zu)\n" msgstr "paquet GSSAPI trop gros envoyé par le serveur (%zu > %zu)\n" -#: fe-secure-gssapi.c:389 +#: fe-secure-gssapi.c:396 msgid "GSSAPI unwrap error" msgstr "erreur de dépaquetage GSSAPI" -#: fe-secure-gssapi.c:399 +#: fe-secure-gssapi.c:406 msgid "incoming GSSAPI message did not use confidentiality\n" msgstr "le message entrant GSSAPI n'a pas utilisé pas la confidentialité\n" -#: fe-secure-gssapi.c:640 +#: fe-secure-gssapi.c:653 msgid "could not initiate GSSAPI security context" msgstr "n'a pas pu initier le contexte de sécurité GSSAPI" -#: fe-secure-gssapi.c:668 +#: fe-secure-gssapi.c:703 msgid "GSSAPI size check error" msgstr "erreur de vérification de la taille GSSAPI" -#: fe-secure-gssapi.c:679 -msgid "GSSAPI context establishment error" -msgstr "erreur d'établissement du contexte GSSAPI" - #: fe-secure-openssl.c:218 fe-secure-openssl.c:331 fe-secure-openssl.c:1492 #, c-format msgid "SSL SYSCALL error: %s\n" @@ -1299,5 +1303,14 @@ msgid "unrecognized socket error: 0x%08X/%d" msgstr "erreur de socket non reconnue : 0x%08X/%d" +#~ msgid "GSSAPI context establishment error" +#~ msgstr "erreur d'établissement du contexte GSSAPI" + +#~ msgid "incomplete multibyte character" +#~ msgstr "caractère multi-octets incomplet" + +#~ msgid "invalid multibyte character" +#~ msgstr "caractère multi-octets invalide" + #~ msgid "keepalives parameter must be an integer\n" #~ msgstr "le paramètre keepalives doit être un entier\n" diff -Nru postgresql-15-15.17/src/pl/plperl/GNUmakefile postgresql-15-15.18/src/pl/plperl/GNUmakefile --- postgresql-15-15.17/src/pl/plperl/GNUmakefile 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/pl/plperl/GNUmakefile 2026-05-11 19:49:58.000000000 +0000 @@ -57,7 +57,7 @@ REGRESS_OPTS = --dbname=$(PL_TESTDB) --dlpath=$(top_builddir)/src/test/regress REGRESS = plperl_setup plperl plperl_lc plperl_trigger plperl_shared \ - plperl_elog plperl_util plperl_init plperlu plperl_array \ + plperl_elog plperl_unicode plperl_util plperl_init plperlu plperl_array \ plperl_call plperl_transaction plperl_env # if Perl can support two interpreters in one backend, # test plperl-and-plperlu cases diff -Nru postgresql-15-15.17/src/pl/plperl/expected/plperl_elog.out postgresql-15-15.18/src/pl/plperl/expected/plperl_elog.out --- postgresql-15-15.17/src/pl/plperl/expected/plperl_elog.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/pl/plperl/expected/plperl_elog.out 2026-05-11 19:49:58.000000000 +0000 @@ -97,16 +97,3 @@ 2 (1 row) --- Test non-ASCII error messages --- --- Note: this test case is known to fail if the database encoding is --- EUC_CN, EUC_JP, EUC_KR, or EUC_TW, for lack of any equivalent to --- U+00A0 (no-break space) in those encodings. However, testing with --- plain ASCII data would be rather useless, so we must live with that. -SET client_encoding TO UTF8; -create or replace function error_with_nbsp() returns void language plperl as $$ - elog(ERROR, "this message contains a no-break space"); -$$; -select error_with_nbsp(); -ERROR: this message contains a no-break space at line 2. -CONTEXT: PL/Perl function "error_with_nbsp" diff -Nru postgresql-15-15.17/src/pl/plperl/expected/plperl_elog_1.out postgresql-15-15.18/src/pl/plperl/expected/plperl_elog_1.out --- postgresql-15-15.17/src/pl/plperl/expected/plperl_elog_1.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/pl/plperl/expected/plperl_elog_1.out 2026-05-11 19:49:58.000000000 +0000 @@ -97,16 +97,3 @@ 2 (1 row) --- Test non-ASCII error messages --- --- Note: this test case is known to fail if the database encoding is --- EUC_CN, EUC_JP, EUC_KR, or EUC_TW, for lack of any equivalent to --- U+00A0 (no-break space) in those encodings. However, testing with --- plain ASCII data would be rather useless, so we must live with that. -SET client_encoding TO UTF8; -create or replace function error_with_nbsp() returns void language plperl as $$ - elog(ERROR, "this message contains a no-break space"); -$$; -select error_with_nbsp(); -ERROR: this message contains a no-break space at line 2. -CONTEXT: PL/Perl function "error_with_nbsp" diff -Nru postgresql-15-15.17/src/pl/plperl/expected/plperl_unicode.out postgresql-15-15.18/src/pl/plperl/expected/plperl_unicode.out --- postgresql-15-15.17/src/pl/plperl/expected/plperl_unicode.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/pl/plperl/expected/plperl_unicode.out 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,18 @@ +-- Test non-ASCII error messages +-- +-- This test case would fail if the database encoding is EUC_CN, EUC_JP, +-- EUC_KR, or EUC_TW, for lack of any equivalent to U+00A0 (no-break space) in +-- those encodings. However, testing with plain ASCII data would be rather +-- useless, so we must live with that. +SELECT getdatabaseencoding() IN ('EUC_CN', 'EUC_JP', 'EUC_KR', 'EUC_TW') + AS skip_test \gset +\if :skip_test +\quit +\endif +SET client_encoding TO UTF8; +create or replace function error_with_nbsp() returns void language plperl as $$ + elog(ERROR, "this message contains a no-break space"); +$$; +select error_with_nbsp(); +ERROR: this message contains a no-break space at line 2. +CONTEXT: PL/Perl function "error_with_nbsp" diff -Nru postgresql-15-15.17/src/pl/plperl/expected/plperl_unicode_1.out postgresql-15-15.18/src/pl/plperl/expected/plperl_unicode_1.out --- postgresql-15-15.17/src/pl/plperl/expected/plperl_unicode_1.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/pl/plperl/expected/plperl_unicode_1.out 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,10 @@ +-- Test non-ASCII error messages +-- +-- This test case would fail if the database encoding is EUC_CN, EUC_JP, +-- EUC_KR, or EUC_TW, for lack of any equivalent to U+00A0 (no-break space) in +-- those encodings. However, testing with plain ASCII data would be rather +-- useless, so we must live with that. +SELECT getdatabaseencoding() IN ('EUC_CN', 'EUC_JP', 'EUC_KR', 'EUC_TW') + AS skip_test \gset +\if :skip_test +\quit diff -Nru postgresql-15-15.17/src/pl/plperl/sql/plperl_elog.sql postgresql-15-15.18/src/pl/plperl/sql/plperl_elog.sql --- postgresql-15-15.17/src/pl/plperl/sql/plperl_elog.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/pl/plperl/sql/plperl_elog.sql 2026-05-11 19:49:58.000000000 +0000 @@ -76,18 +76,3 @@ $$; select indirect_die_caller(); - --- Test non-ASCII error messages --- --- Note: this test case is known to fail if the database encoding is --- EUC_CN, EUC_JP, EUC_KR, or EUC_TW, for lack of any equivalent to --- U+00A0 (no-break space) in those encodings. However, testing with --- plain ASCII data would be rather useless, so we must live with that. - -SET client_encoding TO UTF8; - -create or replace function error_with_nbsp() returns void language plperl as $$ - elog(ERROR, "this message contains a no-break space"); -$$; - -select error_with_nbsp(); diff -Nru postgresql-15-15.17/src/pl/plperl/sql/plperl_unicode.sql postgresql-15-15.18/src/pl/plperl/sql/plperl_unicode.sql --- postgresql-15-15.17/src/pl/plperl/sql/plperl_unicode.sql 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/pl/plperl/sql/plperl_unicode.sql 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,19 @@ +-- Test non-ASCII error messages +-- +-- This test case would fail if the database encoding is EUC_CN, EUC_JP, +-- EUC_KR, or EUC_TW, for lack of any equivalent to U+00A0 (no-break space) in +-- those encodings. However, testing with plain ASCII data would be rather +-- useless, so we must live with that. +SELECT getdatabaseencoding() IN ('EUC_CN', 'EUC_JP', 'EUC_KR', 'EUC_TW') + AS skip_test \gset +\if :skip_test +\quit +\endif + +SET client_encoding TO UTF8; + +create or replace function error_with_nbsp() returns void language plperl as $$ + elog(ERROR, "this message contains a no-break space"); +$$; + +select error_with_nbsp(); diff -Nru postgresql-15-15.17/src/pl/plpgsql/src/expected/plpgsql_trap.out postgresql-15-15.18/src/pl/plpgsql/src/expected/plpgsql_trap.out --- postgresql-15-15.17/src/pl/plpgsql/src/expected/plpgsql_trap.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/pl/plpgsql/src/expected/plpgsql_trap.out 2026-05-11 19:49:58.000000000 +0000 @@ -138,13 +138,11 @@ drop table foo; create function trap_timeout() returns void as $$ begin - declare x int; begin - -- we assume this will take longer than 1 second: - select count(*) into x from generate_series(1, 1000000000000); + perform pg_sleep(10); exception when others then - raise notice 'caught others?'; + raise notice 'caught others: %', sqlerrm; when query_canceled then raise notice 'nyeah nyeah, can''t stop me'; end; @@ -157,7 +155,7 @@ select trap_timeout(); NOTICE: nyeah nyeah, can't stop me ERROR: end of function -CONTEXT: PL/pgSQL function trap_timeout() line 15 at RAISE +CONTEXT: PL/pgSQL function trap_timeout() line 13 at RAISE rollback; -- Test for pass-by-ref values being stored in proper context create function test_variable_storage() returns text as $$ diff -Nru postgresql-15-15.17/src/pl/plpgsql/src/sql/plpgsql_trap.sql postgresql-15-15.18/src/pl/plpgsql/src/sql/plpgsql_trap.sql --- postgresql-15-15.17/src/pl/plpgsql/src/sql/plpgsql_trap.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/pl/plpgsql/src/sql/plpgsql_trap.sql 2026-05-11 19:49:58.000000000 +0000 @@ -85,13 +85,11 @@ create function trap_timeout() returns void as $$ begin - declare x int; begin - -- we assume this will take longer than 1 second: - select count(*) into x from generate_series(1, 1000000000000); + perform pg_sleep(10); exception when others then - raise notice 'caught others?'; + raise notice 'caught others: %', sqlerrm; when query_canceled then raise notice 'nyeah nyeah, can''t stop me'; end; diff -Nru postgresql-15-15.17/src/pl/plpython/expected/plpython_unicode.out postgresql-15-15.18/src/pl/plpython/expected/plpython_unicode.out --- postgresql-15-15.17/src/pl/plpython/expected/plpython_unicode.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/pl/plpython/expected/plpython_unicode.out 2026-05-11 19:49:58.000000000 +0000 @@ -1,11 +1,16 @@ -- -- Unicode handling -- --- Note: this test case is known to fail if the database encoding is --- EUC_CN, EUC_JP, EUC_KR, or EUC_TW, for lack of any equivalent to --- U+00A0 (no-break space) in those encodings. However, testing with --- plain ASCII data would be rather useless, so we must live with that. +-- This test case would fail if the database encoding is EUC_CN, EUC_JP, +-- EUC_KR, or EUC_TW, for lack of any equivalent to U+00A0 (no-break space) in +-- those encodings. However, testing with plain ASCII data would be rather +-- useless, so we must live with that. -- +SELECT getdatabaseencoding() IN ('EUC_CN', 'EUC_JP', 'EUC_KR', 'EUC_TW') + AS skip_test \gset +\if :skip_test +\quit +\endif SET client_encoding TO UTF8; CREATE TABLE unicode_test ( testvalue text NOT NULL diff -Nru postgresql-15-15.17/src/pl/plpython/expected/plpython_unicode_1.out postgresql-15-15.18/src/pl/plpython/expected/plpython_unicode_1.out --- postgresql-15-15.17/src/pl/plpython/expected/plpython_unicode_1.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/pl/plpython/expected/plpython_unicode_1.out 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,12 @@ +-- +-- Unicode handling +-- +-- This test case would fail if the database encoding is EUC_CN, EUC_JP, +-- EUC_KR, or EUC_TW, for lack of any equivalent to U+00A0 (no-break space) in +-- those encodings. However, testing with plain ASCII data would be rather +-- useless, so we must live with that. +-- +SELECT getdatabaseencoding() IN ('EUC_CN', 'EUC_JP', 'EUC_KR', 'EUC_TW') + AS skip_test \gset +\if :skip_test +\quit diff -Nru postgresql-15-15.17/src/pl/plpython/sql/plpython_unicode.sql postgresql-15-15.18/src/pl/plpython/sql/plpython_unicode.sql --- postgresql-15-15.17/src/pl/plpython/sql/plpython_unicode.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/pl/plpython/sql/plpython_unicode.sql 2026-05-11 19:49:58.000000000 +0000 @@ -1,11 +1,16 @@ -- -- Unicode handling -- --- Note: this test case is known to fail if the database encoding is --- EUC_CN, EUC_JP, EUC_KR, or EUC_TW, for lack of any equivalent to --- U+00A0 (no-break space) in those encodings. However, testing with --- plain ASCII data would be rather useless, so we must live with that. +-- This test case would fail if the database encoding is EUC_CN, EUC_JP, +-- EUC_KR, or EUC_TW, for lack of any equivalent to U+00A0 (no-break space) in +-- those encodings. However, testing with plain ASCII data would be rather +-- useless, so we must live with that. -- +SELECT getdatabaseencoding() IN ('EUC_CN', 'EUC_JP', 'EUC_KR', 'EUC_TW') + AS skip_test \gset +\if :skip_test +\quit +\endif SET client_encoding TO UTF8; diff -Nru postgresql-15-15.17/src/pl/tcl/expected/pltcl_unicode.out postgresql-15-15.18/src/pl/tcl/expected/pltcl_unicode.out --- postgresql-15-15.17/src/pl/tcl/expected/pltcl_unicode.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/pl/tcl/expected/pltcl_unicode.out 2026-05-11 19:49:58.000000000 +0000 @@ -1,11 +1,16 @@ -- -- Unicode handling -- --- Note: this test case is known to fail if the database encoding is --- EUC_CN, EUC_JP, EUC_KR, or EUC_TW, for lack of any equivalent to --- U+00A0 (no-break space) in those encodings. However, testing with --- plain ASCII data would be rather useless, so we must live with that. +-- This test case would fail if the database encoding is EUC_CN, EUC_JP, +-- EUC_KR, or EUC_TW, for lack of any equivalent to U+00A0 (no-break space) in +-- those encodings. However, testing with plain ASCII data would be rather +-- useless, so we must live with that. -- +SELECT getdatabaseencoding() IN ('EUC_CN', 'EUC_JP', 'EUC_KR', 'EUC_TW') + AS skip_test \gset +\if :skip_test +\quit +\endif SET client_encoding TO UTF8; CREATE TABLE unicode_test ( testvalue text NOT NULL diff -Nru postgresql-15-15.17/src/pl/tcl/expected/pltcl_unicode_1.out postgresql-15-15.18/src/pl/tcl/expected/pltcl_unicode_1.out --- postgresql-15-15.17/src/pl/tcl/expected/pltcl_unicode_1.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/pl/tcl/expected/pltcl_unicode_1.out 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,12 @@ +-- +-- Unicode handling +-- +-- This test case would fail if the database encoding is EUC_CN, EUC_JP, +-- EUC_KR, or EUC_TW, for lack of any equivalent to U+00A0 (no-break space) in +-- those encodings. However, testing with plain ASCII data would be rather +-- useless, so we must live with that. +-- +SELECT getdatabaseencoding() IN ('EUC_CN', 'EUC_JP', 'EUC_KR', 'EUC_TW') + AS skip_test \gset +\if :skip_test +\quit diff -Nru postgresql-15-15.17/src/pl/tcl/sql/pltcl_unicode.sql postgresql-15-15.18/src/pl/tcl/sql/pltcl_unicode.sql --- postgresql-15-15.17/src/pl/tcl/sql/pltcl_unicode.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/pl/tcl/sql/pltcl_unicode.sql 2026-05-11 19:49:58.000000000 +0000 @@ -1,11 +1,16 @@ -- -- Unicode handling -- --- Note: this test case is known to fail if the database encoding is --- EUC_CN, EUC_JP, EUC_KR, or EUC_TW, for lack of any equivalent to --- U+00A0 (no-break space) in those encodings. However, testing with --- plain ASCII data would be rather useless, so we must live with that. +-- This test case would fail if the database encoding is EUC_CN, EUC_JP, +-- EUC_KR, or EUC_TW, for lack of any equivalent to U+00A0 (no-break space) in +-- those encodings. However, testing with plain ASCII data would be rather +-- useless, so we must live with that. -- +SELECT getdatabaseencoding() IN ('EUC_CN', 'EUC_JP', 'EUC_KR', 'EUC_TW') + AS skip_test \gset +\if :skip_test +\quit +\endif SET client_encoding TO UTF8; diff -Nru postgresql-15-15.17/src/port/getopt.c postgresql-15-15.18/src/port/getopt.c --- postgresql-15-15.17/src/port/getopt.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/port/getopt.c 2026-05-11 19:49:58.000000000 +0000 @@ -71,7 +71,7 @@ getopt(int nargc, char *const *nargv, const char *ostr) { static char *place = EMSG; /* option letter processing */ - char *oli; /* option letter list index */ + const char *oli; /* option letter list index */ if (!*place) { /* update scanning pointer */ diff -Nru postgresql-15-15.17/src/port/getopt_long.c postgresql-15-15.18/src/port/getopt_long.c --- postgresql-15-15.17/src/port/getopt_long.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/port/getopt_long.c 2026-05-11 19:49:58.000000000 +0000 @@ -59,7 +59,7 @@ const struct option *longopts, int *longindex) { static char *place = EMSG; /* option letter processing */ - char *oli; /* option letter list index */ + const char *oli; /* option letter list index */ if (!*place) { /* update scanning pointer */ diff -Nru postgresql-15-15.17/src/port/path.c postgresql-15-15.18/src/port/path.c --- postgresql-15-15.17/src/port/path.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/port/path.c 2026-05-11 19:49:58.000000000 +0000 @@ -627,6 +627,23 @@ } /* + * Detect whether a path is safe for use during archive extraction. + * + * This applies canonicalize_path(), then it checks that the path does + * not contain any parent directory references. + */ +bool +path_is_safe_for_extraction(const char *path) +{ + char buf[MAXPGPATH]; + + strlcpy(buf, path, sizeof(buf)); + canonicalize_path(buf); + + return path_is_relative_and_below_cwd(buf); +} + +/* * Detect whether path1 is a prefix of path2 (including equality). * * This is pretty trivial, but it seems better to export a function than diff -Nru postgresql-15-15.17/src/port/timingsafe_bcmp.c postgresql-15-15.18/src/port/timingsafe_bcmp.c --- postgresql-15-15.17/src/port/timingsafe_bcmp.c 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/port/timingsafe_bcmp.c 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,43 @@ +/* + * src/port/timingsafe_bcmp.c + * + * $OpenBSD: timingsafe_bcmp.c,v 1.3 2015/08/31 02:53:57 guenther Exp $ + */ + +/* + * Copyright (c) 2010 Damien Miller. All rights reserved. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#include "c.h" + +#ifdef USE_SSL +#include +#endif + +int +timingsafe_bcmp(const void *b1, const void *b2, size_t n) +{ +#ifdef USE_SSL + return CRYPTO_memcmp(b1, b2, n); +#else + const unsigned char *p1 = b1, + *p2 = b2; + int ret = 0; + + for (; n > 0; n--) + ret |= *p1++ ^ *p2++; + return (ret != 0); +#endif +} diff -Nru postgresql-15-15.17/src/port/win32setlocale.c postgresql-15-15.18/src/port/win32setlocale.c --- postgresql-15-15.17/src/port/win32setlocale.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/port/win32setlocale.c 2026-05-11 19:49:58.000000000 +0000 @@ -119,9 +119,9 @@ const char *needle_start = map[i].locale_name_start; const char *needle_end = map[i].locale_name_end; const char *replacement = map[i].replacement; - char *match; - char *match_start = NULL; - char *match_end = NULL; + const char *match; + const char *match_start = NULL; + const char *match_end = NULL; match = strstr(locale, needle_start); if (match) @@ -148,7 +148,7 @@ /* Found a match. Replace the matched string. */ int matchpos = match_start - locale; int replacementlen = strlen(replacement); - char *rest = match_end; + const char *rest = match_end; int restlen = strlen(rest); /* check that the result fits in the static buffer */ diff -Nru postgresql-15-15.17/src/test/Makefile postgresql-15-15.18/src/test/Makefile --- postgresql-15-15.17/src/test/Makefile 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/Makefile 2026-05-11 19:49:58.000000000 +0000 @@ -12,7 +12,7 @@ top_builddir = ../.. include $(top_builddir)/src/Makefile.global -SUBDIRS = perl regress isolation modules authentication recovery subscription +SUBDIRS = perl postmaster regress isolation modules authentication recovery subscription ifeq ($(with_icu),yes) SUBDIRS += icu diff -Nru postgresql-15-15.17/src/test/isolation/expected/insert-conflict-do-update-4.out postgresql-15-15.18/src/test/isolation/expected/insert-conflict-do-update-4.out --- postgresql-15-15.17/src/test/isolation/expected/insert-conflict-do-update-4.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/isolation/expected/insert-conflict-do-update-4.out 2026-05-11 19:49:58.000000000 +0000 @@ -12,11 +12,11 @@ step update2a: UPDATE upsert SET i = i + 10 WHERE i = 1; step c2: COMMIT; step insert1: <... completed> -step select1: SELECT * FROM upsert; +step select1: SELECT * FROM upsert ORDER BY i; i| j| k --+--+--- -11|10|100 1|11|111 +11|10|100 (2 rows) step c1: COMMIT; @@ -33,7 +33,7 @@ step update2b: UPDATE upsert SET i = i + 150 WHERE i = 1; step c2: COMMIT; step insert1: <... completed> -step select1: SELECT * FROM upsert; +step select1: SELECT * FROM upsert ORDER BY i; i| j| k ---+--+--- 1|11|111 @@ -54,7 +54,7 @@ step delete2: DELETE FROM upsert WHERE i = 1; step c2: COMMIT; step insert1: <... completed> -step select1: SELECT * FROM upsert; +step select1: SELECT * FROM upsert ORDER BY i; i| j| k -+--+--- 1|11|111 diff -Nru postgresql-15-15.17/src/test/isolation/expected/merge-update.out postgresql-15-15.18/src/test/isolation/expected/merge-update.out --- postgresql-15-15.17/src/test/isolation/expected/merge-update.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/isolation/expected/merge-update.out 2026-05-11 19:49:58.000000000 +0000 @@ -355,3 +355,28 @@ step pa_merge2c_dup: <... completed> ERROR: MERGE command cannot affect row a second time step a2: ABORT; + +starting permutation: merge2a c1 s1beginrr merge1 c2 +step merge2a: + MERGE INTO target t + USING (SELECT 1 as key, 'merge2a' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; + +step c1: COMMIT; +step s1beginrr: BEGIN ISOLATION LEVEL REPEATABLE READ; +step merge1: + MERGE INTO target t + USING (SELECT 1 as key, 'merge1' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; + +step c2: COMMIT; +step merge1: <... completed> +ERROR: could not serialize access due to concurrent update diff -Nru postgresql-15-15.17/src/test/isolation/specs/insert-conflict-do-update-4.spec postgresql-15-15.18/src/test/isolation/specs/insert-conflict-do-update-4.spec --- postgresql-15-15.17/src/test/isolation/specs/insert-conflict-do-update-4.spec 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/isolation/specs/insert-conflict-do-update-4.spec 2026-05-11 19:49:58.000000000 +0000 @@ -23,7 +23,7 @@ setup { BEGIN ISOLATION LEVEL READ COMMITTED; } step insert1 { INSERT INTO upsert VALUES (1, 11, 111) ON CONFLICT (i) DO UPDATE SET k = EXCLUDED.k; } -step select1 { SELECT * FROM upsert; } +step select1 { SELECT * FROM upsert ORDER BY i; } step c1 { COMMIT; } session s2 diff -Nru postgresql-15-15.17/src/test/isolation/specs/merge-update.spec postgresql-15-15.18/src/test/isolation/specs/merge-update.spec --- postgresql-15-15.17/src/test/isolation/specs/merge-update.spec 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/isolation/specs/merge-update.spec 2026-05-11 19:49:58.000000000 +0000 @@ -78,6 +78,7 @@ } step "c1" { COMMIT; } step "a1" { ABORT; } +step "s1beginrr" { BEGIN ISOLATION LEVEL REPEATABLE READ; } session "s2" setup @@ -167,3 +168,4 @@ permutation "pa_merge3" "pa_merge2b_when" "c1" "pa_select2" "c2" # WHEN not satisfied by updated tuple permutation "pa_merge1" "pa_merge2b_when" "c1" "pa_select2" "c2" # WHEN satisfied by updated tuple permutation "pa_merge1" "pa_merge2c_dup" "c1" "a2" +permutation "merge2a" "c1" "s1beginrr" "merge1" "c2" diff -Nru postgresql-15-15.17/src/test/modules/Makefile postgresql-15-15.18/src/test/modules/Makefile --- postgresql-15-15.17/src/test/modules/Makefile 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/Makefile 2026-05-11 19:49:58.000000000 +0000 @@ -15,6 +15,7 @@ snapshot_too_old \ spgist_name_ops \ test_bloomfilter \ + test_custom_types \ test_ddl_deparse \ test_escape \ test_extensions \ diff -Nru postgresql-15-15.17/src/test/modules/test_custom_types/.gitignore postgresql-15-15.18/src/test/modules/test_custom_types/.gitignore --- postgresql-15-15.17/src/test/modules/test_custom_types/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_custom_types/.gitignore 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,4 @@ +# Generated subdirectories +/log/ +/results/ +/tmp_check/ diff -Nru postgresql-15-15.17/src/test/modules/test_custom_types/Makefile postgresql-15-15.18/src/test/modules/test_custom_types/Makefile --- postgresql-15-15.17/src/test/modules/test_custom_types/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_custom_types/Makefile 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,20 @@ +# src/test/modules/test_custom_types/Makefile + +MODULES = test_custom_types + +EXTENSION = test_custom_types +DATA = test_custom_types--1.0.sql +PGFILEDESC = "test_custom_types - tests for dummy custom types" + +REGRESS = test_custom_types + +ifdef USE_PGXS +PG_CONFIG = pg_config +PGXS := $(shell $(PG_CONFIG) --pgxs) +include $(PGXS) +else +subdir = src/test/modules/test_custom_types +top_builddir = ../../../.. +include $(top_builddir)/src/Makefile.global +include $(top_srcdir)/contrib/contrib-global.mk +endif diff -Nru postgresql-15-15.17/src/test/modules/test_custom_types/README postgresql-15-15.18/src/test/modules/test_custom_types/README --- postgresql-15-15.17/src/test/modules/test_custom_types/README 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_custom_types/README 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,9 @@ +test_custom_types +================= + +This module contains a set of custom data types, with some of the following +patterns: + +- typanalyze function registered to a custom type, returning false. +- typanalyze function registered to a custom type, registering invalid stats + data. diff -Nru postgresql-15-15.17/src/test/modules/test_custom_types/expected/test_custom_types.out postgresql-15-15.18/src/test/modules/test_custom_types/expected/test_custom_types.out --- postgresql-15-15.17/src/test/modules/test_custom_types/expected/test_custom_types.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_custom_types/expected/test_custom_types.out 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,174 @@ +-- Tests with various custom types +CREATE EXTENSION test_custom_types; +-- Test comparison functions +SELECT '42'::int_custom = '42'::int_custom AS eq_test; + eq_test +--------- + t +(1 row) + +SELECT '42'::int_custom <> '42'::int_custom AS nt_test; + nt_test +--------- + f +(1 row) + +SELECT '42'::int_custom < '100'::int_custom AS lt_test; + lt_test +--------- + t +(1 row) + +SELECT '100'::int_custom > '42'::int_custom AS gt_test; + gt_test +--------- + t +(1 row) + +SELECT '42'::int_custom <= '100'::int_custom AS le_test; + le_test +--------- + t +(1 row) + +SELECT '100'::int_custom >= '42'::int_custom AS ge_test; + ge_test +--------- + t +(1 row) + +-- Create a table with the int_custom type +CREATE TABLE test_table ( + id int, + data int_custom +); +INSERT INTO test_table VALUES (1, '42'), (2, '100'), (3, '200'); +-- Verify data was inserted correctly +SELECT * FROM test_table ORDER BY id; + id | data +----+------ + 1 | 42 + 2 | 100 + 3 | 200 +(3 rows) + +-- Dummy function used for expression evaluations. +-- Note that this function does not use a SQL-standard function body on +-- purpose, so as external statistics can be loaded from it. +CREATE OR REPLACE FUNCTION func_int_custom (p_value int_custom) + RETURNS int_custom LANGUAGE plpgsql AS $$ + BEGIN + RETURN p_value; + END; $$; +-- Switch type to use typanalyze function that always returns false. +ALTER TYPE int_custom SET (ANALYZE = int_custom_typanalyze_false); +-- Extended statistics with an attribute that cannot be analyzed. +-- This includes all statistics kinds. +CREATE STATISTICS test_stats ON data, id FROM test_table; +-- Computation of the stats fails, no data generated. +ANALYZE test_table; +WARNING: statistics object "public.test_stats" could not be computed for relation "public.test_table" +SELECT stxname, stxdexpr IS NULL as expr_stats_is_null + FROM pg_statistic_ext s + LEFT JOIN pg_statistic_ext_data d ON s.oid = d.stxoid + WHERE stxname = 'test_stats'; + stxname | expr_stats_is_null +------------+-------------------- + test_stats | t +(1 row) + +DROP STATISTICS test_stats; +-- Extended statistics with an expression that cannot be analyzed. +CREATE STATISTICS test_stats ON func_int_custom(data), (id) FROM test_table; +-- Computation of the stats fails, no data generated. +ANALYZE test_table; +WARNING: statistics object "public.test_stats" could not be computed for relation "public.test_table" +SELECT stxname, stxdexpr IS NULL as expr_stats_is_null + FROM pg_statistic_ext s + LEFT JOIN pg_statistic_ext_data d ON s.oid = d.stxoid + WHERE stxname = 'test_stats'; + stxname | expr_stats_is_null +------------+-------------------- + test_stats | t +(1 row) + +DROP STATISTICS test_stats; +-- There should be no data stored for the expression. +SELECT tablename, + statistics_name, + null_frac, + avg_width + FROM pg_stats_ext_exprs WHERE statistics_name = 'test_stats' \gx +(0 rows) + +-- Switch type to use typanalyze function that generates invalid data. +ALTER TYPE int_custom SET (ANALYZE = int_custom_typanalyze_invalid); +-- Extended statistics with an attribute that generates invalid stats. +CREATE STATISTICS test_stats ON data, id FROM test_table; +-- Computation of the stats fails, no data generated. +ANALYZE test_table; +SELECT stxname, stxdexpr IS NULL as expr_stats_is_null + FROM pg_statistic_ext s + LEFT JOIN pg_statistic_ext_data d ON s.oid = d.stxoid + WHERE stxname = 'test_stats'; + stxname | expr_stats_is_null +------------+-------------------- + test_stats | t +(1 row) + +DROP STATISTICS test_stats; +-- Extended statistics with an expression that generates invalid data. +CREATE STATISTICS test_stats ON func_int_custom(data), (id) FROM test_table; +-- Computation of the stats fails, some data generated. +ANALYZE test_table; +SELECT stxname, stxdexpr IS NULL as expr_stats_is_null + FROM pg_statistic_ext s + LEFT JOIN pg_statistic_ext_data d ON s.oid = d.stxoid + WHERE stxname = 'test_stats'; + stxname | expr_stats_is_null +------------+-------------------- + test_stats | f +(1 row) + +-- There should be some data stored for the expression, stored as NULL. +SELECT tablename, + statistics_name, + null_frac, + avg_width, + n_distinct, + most_common_vals, + most_common_freqs, + histogram_bounds, + correlation, + most_common_elems, + most_common_elem_freqs, + elem_count_histogram + FROM pg_stats_ext_exprs WHERE statistics_name = 'test_stats' \gx +-[ RECORD 1 ]----------+----------- +tablename | test_table +statistics_name | test_stats +null_frac | +avg_width | +n_distinct | +most_common_vals | +most_common_freqs | +histogram_bounds | +correlation | +most_common_elems | +most_common_elem_freqs | +elem_count_histogram | + +-- Run a query able to load the extended stats, including the NULL data. +SELECT COUNT(*) FROM test_table GROUP BY (func_int_custom(data)); + count +------- + 1 + 1 + 1 +(3 rows) + +DROP STATISTICS test_stats; +-- Cleanup +DROP FUNCTION func_int_custom; +DROP TABLE test_table; +DROP EXTENSION test_custom_types; diff -Nru postgresql-15-15.17/src/test/modules/test_custom_types/meson.build postgresql-15-15.18/src/test/modules/test_custom_types/meson.build --- postgresql-15-15.17/src/test/modules/test_custom_types/meson.build 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_custom_types/meson.build 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,33 @@ +# Copyright (c) 2026, PostgreSQL Global Development Group + +test_custom_types_sources = files( + 'test_custom_types.c', +) + +if host_system == 'windows' + test_custom_types_sources += rc_lib_gen.process(win32ver_rc, extra_args: [ + '--NAME', 'test_custom_types', + '--FILEDESC', 'test_custom_types - tests for dummy custom types',]) +endif + +test_custom_types = shared_module('test_custom_types', + test_custom_types_sources, + kwargs: pg_test_mod_args, +) +test_install_libs += test_custom_types + +test_install_data += files( + 'test_custom_types.control', + 'test_custom_types--1.0.sql', +) + +tests += { + 'name': 'test_custom_types', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'test_custom_types', + ], + }, +} diff -Nru postgresql-15-15.17/src/test/modules/test_custom_types/sql/test_custom_types.sql postgresql-15-15.18/src/test/modules/test_custom_types/sql/test_custom_types.sql --- postgresql-15-15.17/src/test/modules/test_custom_types/sql/test_custom_types.sql 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_custom_types/sql/test_custom_types.sql 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,104 @@ +-- Tests with various custom types + +CREATE EXTENSION test_custom_types; + +-- Test comparison functions +SELECT '42'::int_custom = '42'::int_custom AS eq_test; +SELECT '42'::int_custom <> '42'::int_custom AS nt_test; +SELECT '42'::int_custom < '100'::int_custom AS lt_test; +SELECT '100'::int_custom > '42'::int_custom AS gt_test; +SELECT '42'::int_custom <= '100'::int_custom AS le_test; +SELECT '100'::int_custom >= '42'::int_custom AS ge_test; + +-- Create a table with the int_custom type +CREATE TABLE test_table ( + id int, + data int_custom +); +INSERT INTO test_table VALUES (1, '42'), (2, '100'), (3, '200'); + +-- Verify data was inserted correctly +SELECT * FROM test_table ORDER BY id; + +-- Dummy function used for expression evaluations. +-- Note that this function does not use a SQL-standard function body on +-- purpose, so as external statistics can be loaded from it. +CREATE OR REPLACE FUNCTION func_int_custom (p_value int_custom) + RETURNS int_custom LANGUAGE plpgsql AS $$ + BEGIN + RETURN p_value; + END; $$; + +-- Switch type to use typanalyze function that always returns false. +ALTER TYPE int_custom SET (ANALYZE = int_custom_typanalyze_false); + +-- Extended statistics with an attribute that cannot be analyzed. +-- This includes all statistics kinds. +CREATE STATISTICS test_stats ON data, id FROM test_table; +-- Computation of the stats fails, no data generated. +ANALYZE test_table; +SELECT stxname, stxdexpr IS NULL as expr_stats_is_null + FROM pg_statistic_ext s + LEFT JOIN pg_statistic_ext_data d ON s.oid = d.stxoid + WHERE stxname = 'test_stats'; +DROP STATISTICS test_stats; + +-- Extended statistics with an expression that cannot be analyzed. +CREATE STATISTICS test_stats ON func_int_custom(data), (id) FROM test_table; +-- Computation of the stats fails, no data generated. +ANALYZE test_table; +SELECT stxname, stxdexpr IS NULL as expr_stats_is_null + FROM pg_statistic_ext s + LEFT JOIN pg_statistic_ext_data d ON s.oid = d.stxoid + WHERE stxname = 'test_stats'; +DROP STATISTICS test_stats; +-- There should be no data stored for the expression. +SELECT tablename, + statistics_name, + null_frac, + avg_width + FROM pg_stats_ext_exprs WHERE statistics_name = 'test_stats' \gx + +-- Switch type to use typanalyze function that generates invalid data. +ALTER TYPE int_custom SET (ANALYZE = int_custom_typanalyze_invalid); + +-- Extended statistics with an attribute that generates invalid stats. +CREATE STATISTICS test_stats ON data, id FROM test_table; +-- Computation of the stats fails, no data generated. +ANALYZE test_table; +SELECT stxname, stxdexpr IS NULL as expr_stats_is_null + FROM pg_statistic_ext s + LEFT JOIN pg_statistic_ext_data d ON s.oid = d.stxoid + WHERE stxname = 'test_stats'; +DROP STATISTICS test_stats; + +-- Extended statistics with an expression that generates invalid data. +CREATE STATISTICS test_stats ON func_int_custom(data), (id) FROM test_table; +-- Computation of the stats fails, some data generated. +ANALYZE test_table; +SELECT stxname, stxdexpr IS NULL as expr_stats_is_null + FROM pg_statistic_ext s + LEFT JOIN pg_statistic_ext_data d ON s.oid = d.stxoid + WHERE stxname = 'test_stats'; +-- There should be some data stored for the expression, stored as NULL. +SELECT tablename, + statistics_name, + null_frac, + avg_width, + n_distinct, + most_common_vals, + most_common_freqs, + histogram_bounds, + correlation, + most_common_elems, + most_common_elem_freqs, + elem_count_histogram + FROM pg_stats_ext_exprs WHERE statistics_name = 'test_stats' \gx +-- Run a query able to load the extended stats, including the NULL data. +SELECT COUNT(*) FROM test_table GROUP BY (func_int_custom(data)); +DROP STATISTICS test_stats; + +-- Cleanup +DROP FUNCTION func_int_custom; +DROP TABLE test_table; +DROP EXTENSION test_custom_types; diff -Nru postgresql-15-15.17/src/test/modules/test_custom_types/test_custom_types--1.0.sql postgresql-15-15.18/src/test/modules/test_custom_types/test_custom_types--1.0.sql --- postgresql-15-15.17/src/test/modules/test_custom_types/test_custom_types--1.0.sql 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_custom_types/test_custom_types--1.0.sql 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,164 @@ +/* src/test/modules/test_custom_types/test_custom_types--1.0.sql */ + +-- complain if script is sourced in psql, rather than via CREATE EXTENSION +\echo Use "CREATE EXTENSION test_custom_types" to load this file. \quit + +-- +-- Input/output functions for int_custom type +-- +CREATE FUNCTION int_custom_in(cstring) +RETURNS int_custom +AS 'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION int_custom_out(int_custom) +RETURNS cstring +AS 'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + +-- +-- Typanalyze function that returns false +-- +CREATE FUNCTION int_custom_typanalyze_false(internal) +RETURNS boolean +AS 'MODULE_PATHNAME' +LANGUAGE C STRICT; + +-- +-- Typanalyze function that returns invalid stats +-- +CREATE FUNCTION int_custom_typanalyze_invalid(internal) +RETURNS boolean +AS 'MODULE_PATHNAME' +LANGUAGE C STRICT; + +-- +-- The int_custom type definition +-- +-- This type is identical to int4 in storage, and is used in subsequent +-- tests to have different properties. +-- +CREATE TYPE int_custom ( + INPUT = int_custom_in, + OUTPUT = int_custom_out, + LIKE = int4 +); + +-- +-- Comparison functions for int_custom +-- +-- These are required to create a btree operator class, which is needed +-- for the type to be usable in extended statistics objects. +-- +CREATE FUNCTION int_custom_eq(int_custom, int_custom) +RETURNS boolean +AS 'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION int_custom_ne(int_custom, int_custom) +RETURNS boolean +AS 'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION int_custom_lt(int_custom, int_custom) +RETURNS boolean +AS 'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION int_custom_le(int_custom, int_custom) +RETURNS boolean +AS 'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION int_custom_gt(int_custom, int_custom) +RETURNS boolean +AS 'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION int_custom_ge(int_custom, int_custom) +RETURNS boolean +AS 'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + +CREATE FUNCTION int_custom_cmp(int_custom, int_custom) +RETURNS integer +AS 'MODULE_PATHNAME' +LANGUAGE C IMMUTABLE STRICT; + +-- Operators for int_custom, for btree operator class +CREATE OPERATOR = ( + LEFTARG = int_custom, + RIGHTARG = int_custom, + FUNCTION = int_custom_eq, + COMMUTATOR = =, + NEGATOR = <>, + RESTRICT = eqsel, + JOIN = eqjoinsel, + HASHES, + MERGES +); + +CREATE OPERATOR <> ( + LEFTARG = int_custom, + RIGHTARG = int_custom, + FUNCTION = int_custom_ne, + COMMUTATOR = <>, + NEGATOR = =, + RESTRICT = neqsel, + JOIN = neqjoinsel +); + +CREATE OPERATOR < ( + LEFTARG = int_custom, + RIGHTARG = int_custom, + FUNCTION = int_custom_lt, + COMMUTATOR = >, + NEGATOR = >=, + RESTRICT = scalarltsel, + JOIN = scalarltjoinsel +); + +CREATE OPERATOR <= ( + LEFTARG = int_custom, + RIGHTARG = int_custom, + FUNCTION = int_custom_le, + COMMUTATOR = >=, + NEGATOR = >, + RESTRICT = scalarlesel, + JOIN = scalarlejoinsel +); + +CREATE OPERATOR > ( + LEFTARG = int_custom, + RIGHTARG = int_custom, + FUNCTION = int_custom_gt, + COMMUTATOR = <, + NEGATOR = <=, + RESTRICT = scalargtsel, + JOIN = scalargtjoinsel +); + +CREATE OPERATOR >= ( + LEFTARG = int_custom, + RIGHTARG = int_custom, + FUNCTION = int_custom_ge, + COMMUTATOR = <=, + NEGATOR = <, + RESTRICT = scalargesel, + JOIN = scalargejoinsel +); + +-- +-- Btree operator class for int_custom +-- +-- This is required for the type to be usable in extended statistics objects, +-- for attributes and expressions. +-- +CREATE OPERATOR CLASS int_custom_ops + DEFAULT FOR TYPE int_custom USING btree AS + OPERATOR 1 <, + OPERATOR 2 <=, + OPERATOR 3 =, + OPERATOR 4 >=, + OPERATOR 5 >, + FUNCTION 1 int_custom_cmp(int_custom, int_custom); diff -Nru postgresql-15-15.17/src/test/modules/test_custom_types/test_custom_types.c postgresql-15-15.18/src/test/modules/test_custom_types/test_custom_types.c --- postgresql-15-15.17/src/test/modules/test_custom_types/test_custom_types.c 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_custom_types/test_custom_types.c 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,184 @@ +/*-------------------------------------------------------------------------- + * + * test_custom_types.c + * Test module for a set of functions for custom types. + * + * The custom type used in this module is similar to int4 for simplicity, + * except that it is able to use various typanalyze functions to enforce + * check patterns with ANALYZE. + * + * Copyright (c) 1996-2026, PostgreSQL Global Development Group + * + * IDENTIFICATION + * src/test/modules/test_custom_types/test_custom_types.c + * + *-------------------------------------------------------------------------- + */ + +#include "postgres.h" + +#include "fmgr.h" +#include "commands/vacuum.h" +#include "utils/builtins.h" + +PG_MODULE_MAGIC; + +/* Function declarations */ +PG_FUNCTION_INFO_V1(int_custom_in); +PG_FUNCTION_INFO_V1(int_custom_out); +PG_FUNCTION_INFO_V1(int_custom_typanalyze_false); +PG_FUNCTION_INFO_V1(int_custom_typanalyze_invalid); +PG_FUNCTION_INFO_V1(int_custom_eq); +PG_FUNCTION_INFO_V1(int_custom_ne); +PG_FUNCTION_INFO_V1(int_custom_lt); +PG_FUNCTION_INFO_V1(int_custom_le); +PG_FUNCTION_INFO_V1(int_custom_gt); +PG_FUNCTION_INFO_V1(int_custom_ge); +PG_FUNCTION_INFO_V1(int_custom_cmp); + +/* + * int_custom_in - input function for int_custom type + * + * Converts a string to a int_custom (which is just an int32 internally). + */ +Datum +int_custom_in(PG_FUNCTION_ARGS) +{ + char *num = PG_GETARG_CSTRING(0); + + PG_RETURN_INT32(pg_strtoint32(num)); +} + +/* + * int_custom_out - output function for int_custom type + * + * Converts a int_custom to a string. + */ +Datum +int_custom_out(PG_FUNCTION_ARGS) +{ + int32 arg1 = PG_GETARG_INT32(0); + char *result = (char *) palloc(12); /* sign, 10 digits, '\0' */ + + pg_ltoa(arg1, result); + PG_RETURN_CSTRING(result); +} + +/* + * int_custom_typanalyze_false - typanalyze function that returns false + * + * This function returns false, to simulate a type that cannot be analyzed. + */ +Datum +int_custom_typanalyze_false(PG_FUNCTION_ARGS) +{ + PG_RETURN_BOOL(false); +} + +/* + * Callback used to compute invalid statistics. + */ +static void +int_custom_invalid_stats(VacAttrStats *stats, AnalyzeAttrFetchFunc fetchfunc, + int samplerows, double totalrows) +{ + /* We are not valid, and do not want to be. */ + stats->stats_valid = false; +} + +/* + * int_custom_typanalyze_invalid + * + * This function sets some invalid stats data, letting the caller know that + * we are safe for an analyze, returning true. + */ +Datum +int_custom_typanalyze_invalid(PG_FUNCTION_ARGS) +{ + VacAttrStats *stats = (VacAttrStats *) PG_GETARG_POINTER(0); + Form_pg_attribute attr = stats->attr; + + /* If the attstattarget column is negative, use the default value */ + /* NB: it is okay to scribble on stats->attr since it's a copy */ + if (attr->attstattarget < 0) + attr->attstattarget = default_statistics_target; + + /* Buggy number, no need to care as long as it is positive */ + stats->minrows = 300; + + /* Set callback to compute some invalid stats */ + stats->compute_stats = int_custom_invalid_stats; + + PG_RETURN_BOOL(true); +} + +/* + * Comparison functions for int_custom type + */ +Datum +int_custom_eq(PG_FUNCTION_ARGS) +{ + int32 arg1 = PG_GETARG_INT32(0); + int32 arg2 = PG_GETARG_INT32(1); + + PG_RETURN_BOOL(arg1 == arg2); +} + +Datum +int_custom_ne(PG_FUNCTION_ARGS) +{ + int32 arg1 = PG_GETARG_INT32(0); + int32 arg2 = PG_GETARG_INT32(1); + + PG_RETURN_BOOL(arg1 != arg2); +} + +Datum +int_custom_lt(PG_FUNCTION_ARGS) +{ + int32 arg1 = PG_GETARG_INT32(0); + int32 arg2 = PG_GETARG_INT32(1); + + PG_RETURN_BOOL(arg1 < arg2); +} + +Datum +int_custom_le(PG_FUNCTION_ARGS) +{ + int32 arg1 = PG_GETARG_INT32(0); + int32 arg2 = PG_GETARG_INT32(1); + + PG_RETURN_BOOL(arg1 <= arg2); +} + +Datum +int_custom_gt(PG_FUNCTION_ARGS) +{ + int32 arg1 = PG_GETARG_INT32(0); + int32 arg2 = PG_GETARG_INT32(1); + + PG_RETURN_BOOL(arg1 > arg2); +} + +Datum +int_custom_ge(PG_FUNCTION_ARGS) +{ + int32 arg1 = PG_GETARG_INT32(0); + int32 arg2 = PG_GETARG_INT32(1); + + PG_RETURN_BOOL(arg1 >= arg2); +} + +Datum +int_custom_cmp(PG_FUNCTION_ARGS) +{ + int32 arg1 = PG_GETARG_INT32(0); + int32 arg2 = PG_GETARG_INT32(1); + + if (arg1 < arg2) + PG_RETURN_INT32(-1); + else if (arg1 > arg2) + PG_RETURN_INT32(1); + else + PG_RETURN_INT32(0); +} diff -Nru postgresql-15-15.17/src/test/modules/test_custom_types/test_custom_types.control postgresql-15-15.18/src/test/modules/test_custom_types/test_custom_types.control --- postgresql-15-15.17/src/test/modules/test_custom_types/test_custom_types.control 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_custom_types/test_custom_types.control 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,5 @@ +# test_custom_types extension +comment = 'Tests for dummy custom types' +default_version = '1.0' +module_pathname = '$libdir/test_custom_types' +relocatable = true diff -Nru postgresql-15-15.17/src/test/modules/test_ddl_deparse/Makefile postgresql-15-15.18/src/test/modules/test_ddl_deparse/Makefile --- postgresql-15-15.17/src/test/modules/test_ddl_deparse/Makefile 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_ddl_deparse/Makefile 2026-05-11 19:49:58.000000000 +0000 @@ -27,6 +27,7 @@ alter_type_enum \ opfamily \ defprivs \ + textsearch \ matviews EXTRA_INSTALL = contrib/pg_stat_statements diff -Nru postgresql-15-15.17/src/test/modules/test_ddl_deparse/expected/textsearch.out postgresql-15-15.18/src/test/modules/test_ddl_deparse/expected/textsearch.out --- postgresql-15-15.17/src/test/modules/test_ddl_deparse/expected/textsearch.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_ddl_deparse/expected/textsearch.out 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,5 @@ +CREATE TEXT SEARCH CONFIGURATION evttrig_tscfg (COPY = pg_catalog.simple); +NOTICE: DDL test: type simple, tag CREATE TEXT SEARCH CONFIGURATION +ALTER TEXT SEARCH CONFIGURATION evttrig_tscfg + DROP MAPPING FOR word; +NOTICE: DDL test: type alter text search configuration, tag ALTER TEXT SEARCH CONFIGURATION diff -Nru postgresql-15-15.17/src/test/modules/test_ddl_deparse/sql/textsearch.sql postgresql-15-15.18/src/test/modules/test_ddl_deparse/sql/textsearch.sql --- postgresql-15-15.17/src/test/modules/test_ddl_deparse/sql/textsearch.sql 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_ddl_deparse/sql/textsearch.sql 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,3 @@ +CREATE TEXT SEARCH CONFIGURATION evttrig_tscfg (COPY = pg_catalog.simple); +ALTER TEXT SEARCH CONFIGURATION evttrig_tscfg + DROP MAPPING FOR word; diff -Nru postgresql-15-15.17/src/test/modules/test_ginpostinglist/test_ginpostinglist.c postgresql-15-15.18/src/test/modules/test_ginpostinglist/test_ginpostinglist.c --- postgresql-15-15.17/src/test/modules/test_ginpostinglist/test_ginpostinglist.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/modules/test_ginpostinglist/test_ginpostinglist.c 2026-05-11 19:49:58.000000000 +0000 @@ -72,12 +72,12 @@ ItemPointerGetOffsetNumber(&decoded_itemptrs[0])); if (ndecoded == 2 && - !ItemPointerEquals(&orig_itemptrs[0], &decoded_itemptrs[0])) + !ItemPointerEquals(&orig_itemptrs[1], &decoded_itemptrs[1])) { elog(ERROR, "mismatch on second itemptr: (%u, %d) vs (%u, %d)", - 0, 1, - ItemPointerGetBlockNumber(&decoded_itemptrs[0]), - ItemPointerGetOffsetNumber(&decoded_itemptrs[0])); + blk, off, + ItemPointerGetBlockNumber(&decoded_itemptrs[1]), + ItemPointerGetOffsetNumber(&decoded_itemptrs[1])); } } diff -Nru postgresql-15-15.17/src/test/perl/PostgreSQL/Test/Cluster.pm postgresql-15-15.18/src/test/perl/PostgreSQL/Test/Cluster.pm --- postgresql-15-15.17/src/test/perl/PostgreSQL/Test/Cluster.pm 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/perl/PostgreSQL/Test/Cluster.pm 2026-05-11 19:49:58.000000000 +0000 @@ -286,6 +286,82 @@ =pod +=item $node->raw_connect() + +Open a raw TCP or Unix domain socket connection to the server. This is +used by low-level protocol and connection limit tests. + +=cut + +sub raw_connect +{ + my ($self) = @_; + my $pgport = $self->port; + my $pghost = $self->host; + + my $socket; + if ($PostgreSQL::Test::Utils::use_unix_sockets) + { + require IO::Socket::UNIX; + my $path = "$pghost/.s.PGSQL.$pgport"; + + $socket = IO::Socket::UNIX->new( + Type => SOCK_STREAM(), + Peer => $path, + ) or die "Cannot create socket - $IO::Socket::errstr\n"; + } + else + { + $socket = IO::Socket::INET->new( + PeerHost => $pghost, + PeerPort => $pgport, + Proto => 'tcp' + ) or die "Cannot create socket - $IO::Socket::errstr\n"; + } + return $socket; +} + +=pod + +=item $node->raw_connect_works() + +Check if raw_connect() function works on this platform. This should +be called to SKIP any tests that require raw_connect(). + +This tries to connect to the server, to test whether it works or not,, +so the server is up and running. Otherwise this can return 0 even if +there's nothing wrong with raw_connect() itself. + +Notably, raw_connect() does not work on Unix domain sockets on +Strawberry perl 5.26.3.1 on Windows, which we use in Cirrus CI images +as of this writing. It dies with "not implemented on this +architecture". + +=cut + +sub raw_connect_works +{ + my ($self) = @_; + + # If we're using Unix domain sockets, we need a working + # IO::Socket::UNIX implementation. + if ($PostgreSQL::Test::Utils::use_unix_sockets) + { + eval { + my $sock = $self->raw_connect(); + $sock->close(); + }; + if ($@ =~ /not implemented/) + { + diag "IO::Socket::UNIX does not work: $@"; + return 0; + } + } + return 1; +} + +=pod + =item $node->group_access() Does the data dir allow group access? diff -Nru postgresql-15-15.17/src/test/postmaster/.gitignore postgresql-15-15.18/src/test/postmaster/.gitignore --- postgresql-15-15.17/src/test/postmaster/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/postmaster/.gitignore 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,2 @@ +# Generated by test suite +/tmp_check/ diff -Nru postgresql-15-15.17/src/test/postmaster/Makefile postgresql-15-15.18/src/test/postmaster/Makefile --- postgresql-15-15.17/src/test/postmaster/Makefile 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/postmaster/Makefile 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,23 @@ +#------------------------------------------------------------------------- +# +# Makefile for src/test/postmaster +# +# Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group +# Portions Copyright (c) 1994, Regents of the University of California +# +# src/test/postmaster/Makefile +# +#------------------------------------------------------------------------- + +subdir = src/test/postmaster +top_builddir = ../../.. +include $(top_builddir)/src/Makefile.global + +check: + $(prove_check) + +installcheck: + $(prove_installcheck) + +clean distclean maintainer-clean: + rm -rf tmp_check diff -Nru postgresql-15-15.17/src/test/postmaster/README postgresql-15-15.18/src/test/postmaster/README --- postgresql-15-15.17/src/test/postmaster/README 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/postmaster/README 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,27 @@ +src/test/postmaster/README + +Regression tests for postmaster +=============================== + +This directory contains a test suite for postmaster's handling of +connections, connection limits, and startup/shutdown sequence. + + +Running the tests +================= + +NOTE: You must have given the --enable-tap-tests argument to configure. + +Run + make check +or + make installcheck +You can use "make installcheck" if you previously did "make install". +In that case, the code in the installation tree is tested. With +"make check", a temporary installation tree is built from the current +sources and then tested. + +Either way, this test initializes, starts, and stops a test Postgres +cluster. + +See src/test/perl/README for more info about running these tests. diff -Nru postgresql-15-15.17/src/test/postmaster/t/004_negotiate.pl postgresql-15-15.18/src/test/postmaster/t/004_negotiate.pl --- postgresql-15-15.17/src/test/postmaster/t/004_negotiate.pl 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/postmaster/t/004_negotiate.pl 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,81 @@ +# Copyright (c) 2026, PostgreSQL Global Development Group + +# Test the negotiation of combined SSL and GSS requests. This test +# relies on both SSL and GSS requests to be rejected first, followed +# by more requests. + +use strict; +use warnings FATAL => 'all'; +use PostgreSQL::Test::Cluster; +use PostgreSQL::Test::Utils; +use Test::More; +use Time::HiRes qw(usleep); + +my $node = PostgreSQL::Test::Cluster->new('main'); +$node->init; +$node->append_conf('postgresql.conf', "log_min_messages = debug2"); +$node->append_conf('postgresql.conf', + "log_connections = 'on'"); +$node->start; + +if (!$node->raw_connect_works()) +{ + plan skip_all => "this test requires working raw_connect()"; +} + +my $sock = $node->raw_connect(); + +# SSLRequest: packet length followed by NEGOTIATE_SSL_CODE. +my $ssl_request = pack("Nnn", 8, 1234, 5679); + +# GSSENCRequest: packet length followed by NEGOTIATE_GSS_CODE. +my $gss_request = pack("Nnn", 8, 1234, 5680); + +# Send SSLRequest, reject or bypass. +$sock->send($ssl_request); +my $reply = ""; +$sock->recv($reply, 1); +if ($reply ne 'N') +{ + $sock->close(); + plan skip_all => + "server accepted SSL; test requires SSL to be rejected"; +} + +# Send GSSENCRequest, reject or bypass test. +$sock->send($gss_request); +$reply = ""; +$sock->recv($reply, 1); +if ($reply ne 'N') +{ + $sock->close(); + plan skip_all => + "server accepted GSS; test requires GSS to be rejected"; +} + +my $log_offset = -s $node->logfile; + +# Send a second SSLRequest, now that we know that both SSL and GSS have +# been rejected for this connection. We are done with both requests, so +# extra requests will be rejected and fail with an invalid protocol +# version, and the connection should be closed by the server. +$sock->send($ssl_request); + +# Try to read a response, there should be nothing, and certainly not an +# extra 'N' message indicating a rejection. +$reply = ""; +my $bytes = $sock->recv($reply, 1024); +isnt($reply, 'N', + "server does not re-enter SSL negotiation after SSL+GSS were both tried"); + +$sock->close(); +$node->wait_for_log(qr/FATAL: .* unsupported frontend protocol 1234.5679/, + $log_offset); + +# Check extra connection with a simple query. +my $result = $node->safe_psql('postgres', 'select 1;'); +is($result, '1', 'server able to accept connection'); + +$node->stop; + +done_testing(); diff -Nru postgresql-15-15.17/src/test/recovery/t/004_timeline_switch.pl postgresql-15-15.18/src/test/recovery/t/004_timeline_switch.pl --- postgresql-15-15.17/src/test/recovery/t/004_timeline_switch.pl 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/recovery/t/004_timeline_switch.pl 2026-05-11 19:49:58.000000000 +0000 @@ -37,11 +37,10 @@ $node_primary->safe_psql('postgres', "CREATE TABLE tab_int AS SELECT generate_series(1,1000) AS a"); -# Wait until standby has replayed enough data on standby 1 -$node_primary->wait_for_catchup($node_standby_1); - -# Stop and remove primary -$node_primary->teardown_node; +# Cleanly stop and remove primary. A clean stop is required so as all +# the records generated on the primary are received and flushed by the two +# standbys. +$node_primary->stop; # promote standby 1 using "pg_promote", switching it to a new timeline my $psql_out = ''; diff -Nru postgresql-15-15.17/src/test/recovery/t/009_twophase.pl postgresql-15-15.18/src/test/recovery/t/009_twophase.pl --- postgresql-15-15.17/src/test/recovery/t/009_twophase.pl 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/recovery/t/009_twophase.pl 2026-05-11 19:49:58.000000000 +0000 @@ -218,7 +218,7 @@ SAVEPOINT s1; INSERT INTO t_009_tbl VALUES (22, 'issued to ${cur_primary_name}'); PREPARE TRANSACTION 'xact_009_10';"); -$cur_primary->teardown_node; +$cur_primary->stop; $cur_standby->promote; # change roles diff -Nru postgresql-15-15.17/src/test/regress/expected/alter_table.out postgresql-15-15.18/src/test/regress/expected/alter_table.out --- postgresql-15-15.17/src/test/regress/expected/alter_table.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/alter_table.out 2026-05-11 19:49:58.000000000 +0000 @@ -3735,6 +3735,16 @@ ALTER TABLE test_add_column ADD COLUMN IF NOT EXISTS c5 SERIAL CHECK (c5 > 10); NOTICE: column "c5" of relation "test_add_column" already exists, skipping +ALTER TABLE test_add_column + ADD c6 integer; -- omit COLUMN +ALTER TABLE test_add_column + ADD IF NOT EXISTS c6 integer; +NOTICE: column "c6" of relation "test_add_column" already exists, skipping +ALTER TABLE test_add_column + DROP c6; -- omit COLUMN +ALTER TABLE test_add_column + DROP IF EXISTS c6; +NOTICE: column "c6" of relation "test_add_column" does not exist, skipping \d test_add_column* Table "public.test_add_column" Column | Type | Collation | Nullable | Default diff -Nru postgresql-15-15.17/src/test/regress/expected/collate.icu.utf8.out postgresql-15-15.18/src/test/regress/expected/collate.icu.utf8.out --- postgresql-15-15.17/src/test/regress/expected/collate.icu.utf8.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/collate.icu.utf8.out 2026-05-11 19:49:58.000000000 +0000 @@ -1391,6 +1391,310 @@ {A,B,C,D,E,F,G,H,I} (1 row) +-- +-- A unique index under one collation does not prove uniqueness under +-- another, so the planner must not use such a proof for any optimization. +-- +-- Ensure that we do not use inner-unique join execution +EXPLAIN (VERBOSE, COSTS OFF) +SELECT * FROM test1cs t1, test3cs t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + QUERY PLAN +---------------------------------------------------------------------- + Sort + Output: t1.x, t2.x + Sort Key: t1.x COLLATE case_sensitive, t2.x COLLATE case_sensitive + -> Hash Join + Output: t1.x, t2.x + Hash Cond: ((t2.x)::text = (t1.x)::text) + -> Seq Scan on collate_tests.test3cs t2 + Output: t2.x + -> Hash + Output: t1.x + -> Seq Scan on collate_tests.test1cs t1 + Output: t1.x +(12 rows) + +SELECT * FROM test1cs t1, test3cs t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + x | x +-----+----- + abc | abc + abc | ABC + ABC | abc + ABC | ABC + def | def + ghi | ghi +(6 rows) + +-- Ensure that left-join is not removed +EXPLAIN (COSTS OFF) +SELECT t1.* FROM test3cs t1 + LEFT JOIN test3cs t2 ON t1.x = t2.x COLLATE case_insensitive +ORDER BY 1; + QUERY PLAN +------------------------------------------ + Sort + Sort Key: t1.x COLLATE case_sensitive + -> Hash Left Join + Hash Cond: (t1.x = (t2.x)::text) + -> Seq Scan on test3cs t1 + -> Hash + -> Seq Scan on test3cs t2 +(7 rows) + +SELECT t1.* FROM test3cs t1 + LEFT JOIN test3cs t2 ON t1.x = t2.x COLLATE case_insensitive +ORDER BY 1; + x +----- + abc + abc + ABC + ABC + def + ghi +(6 rows) + +-- Ensure that self-join is not removed +EXPLAIN (COSTS OFF) +SELECT * FROM test3cs t1, test3cs t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + QUERY PLAN +---------------------------------------------------------------------- + Sort + Sort Key: t1.x COLLATE case_sensitive, t2.x COLLATE case_sensitive + -> Hash Join + Hash Cond: ((t1.x)::text = (t2.x)::text) + -> Seq Scan on test3cs t1 + -> Hash + -> Seq Scan on test3cs t2 +(7 rows) + +SELECT * FROM test3cs t1, test3cs t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + x | x +-----+----- + abc | abc + abc | ABC + ABC | abc + ABC | ABC + def | def + ghi | ghi +(6 rows) + +-- Ensure that semijoin is not reduced to innerjoin +EXPLAIN (COSTS OFF) +SELECT * FROM test3cs t1 + WHERE EXISTS (SELECT 1 FROM test3cs t2 WHERE t1.x = t2.x COLLATE case_insensitive) +ORDER BY 1; + QUERY PLAN +-------------------------------------------------- + Sort + Sort Key: t1.x COLLATE case_sensitive + -> Hash Semi Join + Hash Cond: ((t1.x)::text = (t2.x)::text) + -> Seq Scan on test3cs t1 + -> Hash + -> Seq Scan on test3cs t2 +(7 rows) + +SELECT * FROM test3cs t1 + WHERE EXISTS (SELECT 1 FROM test3cs t2 WHERE t1.x = t2.x COLLATE case_insensitive) +ORDER BY 1; + x +----- + abc + ABC + def + ghi +(4 rows) + +-- +-- A DISTINCT / GROUP BY / set-op on a subquery does not prove uniqueness +-- under a different collation, so the planner must not use such a proof for +-- any optimization. +-- +-- Ensure that we do not use inner-unique join execution +EXPLAIN (VERBOSE, COSTS OFF) +SELECT * FROM test1cs t1, (SELECT DISTINCT x FROM test3cs) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + QUERY PLAN +--------------------------------------------------------------------------- + Sort + Output: t1.x, test3cs.x + Sort Key: t1.x COLLATE case_sensitive, test3cs.x COLLATE case_sensitive + -> Hash Join + Output: t1.x, test3cs.x + Hash Cond: ((t1.x)::text = (test3cs.x)::text) + -> Seq Scan on collate_tests.test1cs t1 + Output: t1.x + -> Hash + Output: test3cs.x + -> HashAggregate + Output: test3cs.x + Group Key: test3cs.x + -> Seq Scan on collate_tests.test3cs + Output: test3cs.x +(15 rows) + +SELECT * FROM test1cs t1, (SELECT DISTINCT x FROM test3cs) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + x | x +-----+----- + abc | abc + abc | ABC + ABC | abc + ABC | ABC + def | def + ghi | ghi +(6 rows) + +-- Same with GROUP BY +EXPLAIN (VERBOSE, COSTS OFF) +SELECT * FROM test1cs t1, (SELECT x FROM test3cs GROUP BY x) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + QUERY PLAN +--------------------------------------------------------------------------- + Sort + Output: t1.x, test3cs.x + Sort Key: t1.x COLLATE case_sensitive, test3cs.x COLLATE case_sensitive + -> Hash Join + Output: t1.x, test3cs.x + Hash Cond: ((t1.x)::text = (test3cs.x)::text) + -> Seq Scan on collate_tests.test1cs t1 + Output: t1.x + -> Hash + Output: test3cs.x + -> HashAggregate + Output: test3cs.x + Group Key: test3cs.x + -> Seq Scan on collate_tests.test3cs + Output: test3cs.x +(15 rows) + +SELECT * FROM test1cs t1, (SELECT x FROM test3cs GROUP BY x) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + x | x +-----+----- + abc | abc + abc | ABC + ABC | abc + ABC | ABC + def | def + ghi | ghi +(6 rows) + +-- Same with set-op +EXPLAIN (VERBOSE, COSTS OFF) +SELECT * FROM test1cs t1, (SELECT x FROM test3cs UNION SELECT x FROM test3cs) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + QUERY PLAN +--------------------------------------------------------------------------- + Sort + Output: t1.x, test3cs.x + Sort Key: t1.x COLLATE case_sensitive, test3cs.x COLLATE case_sensitive + -> Hash Join + Output: t1.x, test3cs.x + Hash Cond: ((test3cs.x)::text = (t1.x)::text) + -> HashAggregate + Output: test3cs.x + Group Key: test3cs.x + -> Append + -> Seq Scan on collate_tests.test3cs + Output: test3cs.x + -> Seq Scan on collate_tests.test3cs test3cs_1 + Output: test3cs_1.x + -> Hash + Output: t1.x + -> Seq Scan on collate_tests.test1cs t1 + Output: t1.x +(18 rows) + +SELECT * FROM test1cs t1, (SELECT x FROM test3cs UNION SELECT x FROM test3cs) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + x | x +-----+----- + abc | abc + abc | ABC + ABC | abc + ABC | ABC + def | def + ghi | ghi +(6 rows) + +-- Ensure that left-join is not removed +EXPLAIN (COSTS OFF) +SELECT t1.* FROM test3cs t1 + LEFT JOIN (SELECT DISTINCT x FROM test3cs) t2 ON t1.x = t2.x COLLATE case_insensitive +ORDER BY 1; + QUERY PLAN +----------------------------------------------- + Sort + Sort Key: t1.x COLLATE case_sensitive + -> Hash Left Join + Hash Cond: (t1.x = (test3cs.x)::text) + -> Seq Scan on test3cs t1 + -> Hash + -> HashAggregate + Group Key: test3cs.x + -> Seq Scan on test3cs +(9 rows) + +SELECT t1.* FROM test3cs t1 + LEFT JOIN (SELECT DISTINCT x FROM test3cs) t2 ON t1.x = t2.x COLLATE case_insensitive +ORDER BY 1; + x +----- + abc + abc + ABC + ABC + def + ghi +(6 rows) + +-- Ensure that semijoin is not reduced to innerjoin +EXPLAIN (COSTS OFF) +SELECT * FROM test3cs t1 + WHERE EXISTS (SELECT 1 FROM (SELECT DISTINCT x FROM test3cs) t2 + WHERE t1.x = t2.x COLLATE case_insensitive) +ORDER BY 1; + QUERY PLAN +------------------------------------------------------- + Sort + Sort Key: t1.x COLLATE case_sensitive + -> Hash Semi Join + Hash Cond: ((t1.x)::text = (test3cs.x)::text) + -> Seq Scan on test3cs t1 + -> Hash + -> HashAggregate + Group Key: test3cs.x + -> Seq Scan on test3cs +(9 rows) + +SELECT * FROM test3cs t1 + WHERE EXISTS (SELECT 1 FROM (SELECT DISTINCT x FROM test3cs) t2 + WHERE t1.x = t2.x COLLATE case_insensitive) +ORDER BY 1; + x +----- + abc + ABC + def + ghi +(4 rows) + CREATE TABLE test1ci (x text COLLATE case_insensitive); CREATE TABLE test2ci (x text COLLATE case_insensitive); CREATE TABLE test3ci (x text COLLATE case_insensitive); diff -Nru postgresql-15-15.17/src/test/regress/expected/compression_pglz.out postgresql-15-15.18/src/test/regress/expected/compression_pglz.out --- postgresql-15-15.17/src/test/regress/expected/compression_pglz.out 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/compression_pglz.out 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,65 @@ +-- +-- Tests for PGLZ compression +-- +-- directory paths and dlsuffix are passed to us in environment variables +\getenv libdir PG_LIBDIR +\getenv dlsuffix PG_DLSUFFIX +\set regresslib :libdir '/regress' :dlsuffix +CREATE FUNCTION test_pglz_compress(bytea) + RETURNS bytea + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_pglz_decompress(bytea, int4, bool) + RETURNS bytea + AS :'regresslib' LANGUAGE C STRICT; +-- Round-trip with pglz: compress then decompress. +SELECT test_pglz_decompress(test_pglz_compress( + decode(repeat('abcd', 100), 'escape')), 400, false) = + decode(repeat('abcd', 100), 'escape') AS roundtrip_ok; + roundtrip_ok +-------------- + t +(1 row) + +SELECT test_pglz_decompress(test_pglz_compress( + decode(repeat('abcd', 100), 'escape')), 400, true) = + decode(repeat('abcd', 100), 'escape') AS roundtrip_ok; + roundtrip_ok +-------------- + t +(1 row) + +-- Decompression with rawsize too large, fails to fill the destination +-- buffer. +SELECT test_pglz_decompress(test_pglz_compress( + decode(repeat('abcd', 100), 'escape')), 500, true); +ERROR: pglz_decompress failed +-- Decompression with rawsize too small, fails with source not fully +-- consumed. +SELECT test_pglz_decompress(test_pglz_compress( + decode(repeat('abcd', 100), 'escape')), 100, true); +ERROR: pglz_decompress failed +-- Corrupted compressed data. Set control bit with read of a match tag, +-- no data follows. +SELECT length(test_pglz_decompress('\x01'::bytea, 1024, false)) AS ctrl_only_len; + ctrl_only_len +--------------- + 0 +(1 row) + +SELECT test_pglz_decompress('\x01'::bytea, 1024, true); +ERROR: pglz_decompress failed +-- Corrupted compressed data. Set control bit with read of a match tag, +-- 1 byte follows. +SELECT test_pglz_decompress('\x01ff'::bytea, 1024, false); +ERROR: pglz_decompress failed +SELECT test_pglz_decompress('\x01ff'::bytea, 1024, true); +ERROR: pglz_decompress failed +-- Corrupted compressed data. Set control bit with match tag where length +-- nibble is 3 bytes (extended length), no data follows. +SELECT test_pglz_decompress('\x010f01'::bytea, 1024, false); +ERROR: pglz_decompress failed +SELECT test_pglz_decompress('\x010f01'::bytea, 1024, true); +ERROR: pglz_decompress failed +-- Clean up +DROP FUNCTION test_pglz_compress; +DROP FUNCTION test_pglz_decompress; diff -Nru postgresql-15-15.17/src/test/regress/expected/create_index.out postgresql-15-15.18/src/test/regress/expected/create_index.out --- postgresql-15-15.17/src/test/regress/expected/create_index.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/create_index.out 2026-05-11 19:49:58.000000000 +0000 @@ -32,6 +32,20 @@ ERROR: relation "six_wrong" does not exist COMMENT ON INDEX six IS 'good index'; COMMENT ON INDEX six IS NULL; +SELECT obj_description('six'::regclass, 'pg_class') IS NULL AS six_comment_is_null; + six_comment_is_null +--------------------- + t +(1 row) + +COMMENT ON INDEX six IS 'add the comment back'; +COMMENT ON INDEX six IS ''; -- empty string removes the comment, same as NULL +SELECT obj_description('six'::regclass, 'pg_class') IS NULL AS six_comment_is_null; + six_comment_is_null +--------------------- + t +(1 row) + -- -- BTREE partial indices -- diff -Nru postgresql-15-15.17/src/test/regress/expected/create_role.out postgresql-15-15.18/src/test/regress/expected/create_role.out --- postgresql-15-15.17/src/test/regress/expected/create_role.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/create_role.out 2026-05-11 19:49:58.000000000 +0000 @@ -52,6 +52,34 @@ CREATE ROLE regress_rolecreator CREATEROLE; -- ok, roles with CREATEROLE can create new roles with privilege they lack CREATE ROLE regress_tenant CREATEDB CREATEROLE LOGIN INHERIT CONNECTION LIMIT 5; +COMMENT ON ROLE regress_tenant IS 'some comment'; +SELECT shobj_description('regress_tenant'::regrole, 'pg_authid') IS NOT NULL AS has_comment; + has_comment +------------- + t +(1 row) + +COMMENT ON ROLE regress_tenant IS NULL; +SELECT shobj_description('regress_tenant'::regrole, 'pg_authid') IS NULL AS no_comment; + no_comment +------------ + t +(1 row) + +COMMENT ON ROLE regress_tenant IS 'add the comment back'; +SELECT shobj_description('regress_tenant'::regrole, 'pg_authid') IS NOT NULL AS has_comment; + has_comment +------------- + t +(1 row) + +COMMENT ON ROLE regress_tenant IS ''; -- empty string removes the comment, same as NULL +SELECT shobj_description('regress_tenant'::regrole, 'pg_authid') IS NULL AS no_comment; + no_comment +------------ + t +(1 row) + -- ok, regress_tenant can create objects within the database SET SESSION AUTHORIZATION regress_tenant; CREATE TABLE tenant_table (i integer); diff -Nru postgresql-15-15.17/src/test/regress/expected/create_table_like.out postgresql-15-15.18/src/test/regress/expected/create_table_like.out --- postgresql-15-15.17/src/test/regress/expected/create_table_like.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/create_table_like.out 2026-05-11 19:49:58.000000000 +0000 @@ -533,3 +533,34 @@ DROP VIEW ctlv1; DROP TABLE IF EXISTS ctlt4, ctlt10, ctlt11, ctlt11a, ctlt12; NOTICE: table "ctlt10" does not exist, skipping +-- LIKE ... INCLUDING STATISTICS with dropped columns in the parent, +-- so stxkeys attnums are not contiguous. +CREATE TABLE ctl_stats3_parent (a int, b int, c int); +ALTER TABLE ctl_stats3_parent DROP COLUMN b; +CREATE STATISTICS ctl_stats3_stat ON a, c FROM ctl_stats3_parent; +CREATE TABLE ctl_stats3_child (LIKE ctl_stats3_parent INCLUDING STATISTICS); +CREATE TABLE ctl_stats4_parent (a int, b int, c int, d int); +ALTER TABLE ctl_stats4_parent DROP COLUMN b; +CREATE STATISTICS ctl_stats4_stat ON a, c FROM ctl_stats4_parent; +CREATE TABLE ctl_stats4_child (LIKE ctl_stats4_parent INCLUDING STATISTICS); +SELECT s.stxrelid::regclass AS relation, + array_agg(a.attname ORDER BY u.ord) AS stats_columns +FROM pg_statistic_ext s +CROSS JOIN LATERAL + unnest(s.stxkeys::int2[]) WITH ORDINALITY AS u(attnum, ord) +JOIN pg_attribute a + ON a.attrelid = s.stxrelid AND a.attnum = u.attnum +WHERE s.stxrelid IN ('ctl_stats3_child'::regclass, + 'ctl_stats4_child'::regclass) +GROUP BY s.stxrelid +ORDER BY s.stxrelid::regclass::text; + relation | stats_columns +------------------+--------------- + ctl_stats3_child | {a,c} + ctl_stats4_child | {a,c} +(2 rows) + +DROP TABLE ctl_stats3_parent; +DROP TABLE ctl_stats3_child; +DROP TABLE ctl_stats4_parent; +DROP TABLE ctl_stats4_child; diff -Nru postgresql-15-15.17/src/test/regress/expected/expressions.out postgresql-15-15.18/src/test/regress/expected/expressions.out --- postgresql-15-15.17/src/test/regress/expected/expressions.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/expressions.out 2026-05-11 19:49:58.000000000 +0000 @@ -353,42 +353,177 @@ operator 1 = (myint, myint), function 1 myinthash(myint); create table inttest (a myint); -insert into inttest values(1::myint),(null); --- try an array with enough elements to cause hashing -select * from inttest where a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint, null); - a ---- - 1 - -(2 rows) - -select * from inttest where a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint, null); - a ---- -(0 rows) - -select * from inttest where a not in (0::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint, null); - a ---- -(0 rows) - --- ensure the result matched with the non-hashed version. We simply remove --- some array elements so that we don't reach the hashing threshold. -select * from inttest where a in (1::myint,2::myint,3::myint,4::myint,5::myint, null); - a ---- - 1 - -(2 rows) - -select * from inttest where a not in (1::myint,2::myint,3::myint,4::myint,5::myint, null); - a ---- -(0 rows) - -select * from inttest where a not in (0::myint,2::myint,3::myint,4::myint,5::myint, null); - a ---- -(0 rows) +insert into inttest values (null), (0::myint), (1::myint); +-- Test EEOP_HASHED_SCALARARRAYOP against EEOP_SCALARARRAYOP. Ensure the +-- result of non-hashed vs hashed is the same. +select + a, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed +from inttest; + a | not_hashed | hashed +---+------------+-------- + | | + 0 | f | f + 1 | t | t +(3 rows) + +select + a, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed + from inttest; + a | not_hashed | hashed +---+------------+-------- + | t | t + 0 | | + 1 | t | t +(3 rows) + +select + a, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed +from inttest; + a | not_hashed | hashed +---+------------+-------- + | | + 0 | t | t + 1 | f | f +(3 rows) + +select + a, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed +from inttest; + a | not_hashed | hashed +---+------------+-------- + | f | f + 0 | | + 1 | f | f +(3 rows) + +-- Now make the equal function return false when given two NULLs +create or replace function myinteq(myint, myint) returns bool as $$ +begin + if $1 is null and $2 is null then + return false; + else + return $1::int = $2::int; + end if; +end; +$$ language plpgsql immutable; +-- And try the same again to ensure EEOP_HASHED_SCALARARRAYOP does the same +-- thing as EEOP_SCALARARRAYOP. +select + a, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed +from inttest; + a | not_hashed | hashed +---+------------+-------- + | | + 0 | f | f + 1 | t | t +(3 rows) + +select + a, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed + from inttest; + a | not_hashed | hashed +---+------------+-------- + | | + 0 | | + 1 | t | t +(3 rows) + +select + a, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed +from inttest; + a | not_hashed | hashed +---+------------+-------- + | | + 0 | t | t + 1 | f | f +(3 rows) + +select + a, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed +from inttest; + a | not_hashed | hashed +---+------------+-------- + | | + 0 | | + 1 | f | f +(3 rows) + +-- Try again with an equality function that treats NULLs as equal to 0. +create or replace function myinteq(myint, myint) returns bool as $$ +begin + if $1 is null and $2 is null then + return false; + else + return coalesce($1::int,0) = coalesce($2::int, 0); + end if; +end; +$$ language plpgsql immutable; +select + a, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed, + a in (0::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed_zero, + a in (0::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed_zero +from inttest; + a | not_hashed | hashed | not_hashed_zero | hashed_zero +---+------------+--------+-----------------+------------- + | f | f | t | t + 0 | f | f | t | t + 1 | t | t | t | t +(3 rows) + +select + a, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed + from inttest; + a | not_hashed | hashed +---+------------+-------- + | f | f + 0 | t | t + 1 | t | t +(3 rows) + +select + a, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed, + a not in (0::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed_zero, + a not in (0::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed_zero +from inttest; + a | not_hashed | hashed | not_hashed_zero | hashed_zero +---+------------+--------+-----------------+------------- + | t | t | f | f + 0 | t | t | f | f + 1 | f | f | f | f +(3 rows) + +select + a, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed +from inttest; + a | not_hashed | hashed +---+------------+-------- + | t | t + 0 | f | f + 1 | f | f +(3 rows) rollback; diff -Nru postgresql-15-15.17/src/test/regress/expected/foreign_data.out postgresql-15-15.18/src/test/regress/expected/foreign_data.out --- postgresql-15-15.17/src/test/regress/expected/foreign_data.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/foreign_data.out 2026-05-11 19:49:58.000000000 +0000 @@ -106,6 +106,13 @@ LINE 1: ...GN DATA WRAPPER test_fdw HANDLER test_fdw_handler HANDLER in... ^ CREATE FOREIGN DATA WRAPPER test_fdw HANDLER test_fdw_handler; +-- should preserve dependency on test_fdw_handler +ALTER FOREIGN DATA WRAPPER test_fdw VALIDATOR postgresql_fdw_validator; +WARNING: changing the foreign-data wrapper validator can cause the options for dependent objects to become invalid +DROP FUNCTION test_fdw_handler(); -- ERROR +ERROR: cannot drop function test_fdw_handler() because other objects depend on it +DETAIL: foreign-data wrapper test_fdw depends on function test_fdw_handler() +HINT: Use DROP ... CASCADE to drop the dependent objects too. DROP FOREIGN DATA WRAPPER test_fdw; -- ALTER FOREIGN DATA WRAPPER ALTER FOREIGN DATA WRAPPER foo OPTIONS (nonexistent 'fdw'); -- ERROR @@ -828,10 +835,13 @@ ALTER FOREIGN TABLE ft1 ADD COLUMN c4 integer; ALTER FOREIGN TABLE ft1 ADD COLUMN c5 integer DEFAULT 0; ALTER FOREIGN TABLE ft1 ADD COLUMN c6 integer; +ALTER FOREIGN TABLE ft1 ADD COLUMN IF NOT EXISTS c6 integer; +NOTICE: column "c6" of relation "ft1" already exists, skipping ALTER FOREIGN TABLE ft1 ADD COLUMN c7 integer NOT NULL; ALTER FOREIGN TABLE ft1 ADD COLUMN c8 integer; ALTER FOREIGN TABLE ft1 ADD COLUMN c9 integer; ALTER FOREIGN TABLE ft1 ADD COLUMN c10 integer OPTIONS (p1 'v1'); +ALTER FOREIGN TABLE ft1 ADD c11 integer; ALTER FOREIGN TABLE ft1 ALTER COLUMN c4 SET DEFAULT 0; ALTER FOREIGN TABLE ft1 ALTER COLUMN c5 DROP DEFAULT; ALTER FOREIGN TABLE ft1 ALTER COLUMN c6 SET NOT NULL; @@ -863,6 +873,7 @@ c8 | text | | | | (p2 'V2') | plain | | c9 | integer | | | | | plain | | c10 | integer | | | | (p1 'v1') | plain | | + c11 | integer | | | | | plain | | Check constraints: "ft1_c2_check" CHECK (c2 <> ''::text) "ft1_c3_check" CHECK (c3 >= '01-01-1994'::date AND c3 <= '01-31-1994'::date) @@ -894,6 +905,7 @@ ALTER FOREIGN TABLE ft1 DROP COLUMN IF EXISTS no_column; NOTICE: column "no_column" of relation "ft1" does not exist, skipping ALTER FOREIGN TABLE ft1 DROP COLUMN c9; +ALTER FOREIGN TABLE ft1 DROP c11; ALTER FOREIGN TABLE ft1 ADD COLUMN c11 serial; ALTER FOREIGN TABLE ft1 SET SCHEMA foreign_schema; ALTER FOREIGN TABLE ft1 SET TABLESPACE ts; -- ERROR @@ -928,6 +940,8 @@ NOTICE: relation "doesnt_exist_ft1" does not exist, skipping ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c6 integer; NOTICE: relation "doesnt_exist_ft1" does not exist, skipping +ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN IF NOT EXISTS c6 integer; +NOTICE: relation "doesnt_exist_ft1" does not exist, skipping ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c7 integer NOT NULL; NOTICE: relation "doesnt_exist_ft1" does not exist, skipping ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c8 integer; @@ -936,6 +950,8 @@ NOTICE: relation "doesnt_exist_ft1" does not exist, skipping ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c10 integer OPTIONS (p1 'v1'); NOTICE: relation "doesnt_exist_ft1" does not exist, skipping +ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD c11 integer; +NOTICE: relation "doesnt_exist_ft1" does not exist, skipping ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ALTER COLUMN c6 SET NOT NULL; NOTICE: relation "doesnt_exist_ft1" does not exist, skipping ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ALTER COLUMN c7 DROP NOT NULL; @@ -957,10 +973,14 @@ NOTICE: relation "doesnt_exist_ft1" does not exist, skipping ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 OPTIONS (DROP delimiter, SET quote '~', ADD escape '@'); NOTICE: relation "doesnt_exist_ft1" does not exist, skipping +ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP COLUMN no_column; +NOTICE: relation "doesnt_exist_ft1" does not exist, skipping ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP COLUMN IF EXISTS no_column; NOTICE: relation "doesnt_exist_ft1" does not exist, skipping ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP COLUMN c9; NOTICE: relation "doesnt_exist_ft1" does not exist, skipping +ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP c11; +NOTICE: relation "doesnt_exist_ft1" does not exist, skipping ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 SET SCHEMA foreign_schema; NOTICE: relation "doesnt_exist_ft1" does not exist, skipping ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 RENAME c1 TO foreign_column_1; diff -Nru postgresql-15-15.17/src/test/regress/expected/generated.out postgresql-15-15.18/src/test/regress/expected/generated.out --- postgresql-15-15.17/src/test/regress/expected/generated.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/generated.out 2026-05-11 19:49:58.000000000 +0000 @@ -1155,3 +1155,37 @@ c | integer | | | x | integer | | | generated always as (b * 2) stored +-- rule actions referring to generated columns: +-- NEW.b in a rule action should reflect the generated column's new value +CREATE TABLE gtest_rule (a int, b int GENERATED ALWAYS AS (a * 2) STORED); +CREATE TABLE gtest_rule_log (op text, old_b int, new_b int); +CREATE RULE gtest_rule_upd AS ON UPDATE TO gtest_rule + DO ALSO INSERT INTO gtest_rule_log VALUES ('UPD', OLD.b, NEW.b); +CREATE RULE gtest_rule_ins AS ON INSERT TO gtest_rule + DO ALSO INSERT INTO gtest_rule_log VALUES ('INS', NULL, NEW.b); +INSERT INTO gtest_rule (a) VALUES (1); +UPDATE gtest_rule SET a = 10; +UPDATE gtest_rule SET a = (SELECT max(b) FROM gtest_rule); +SELECT * FROM gtest_rule_log; + op | old_b | new_b +-----+-------+------- + INS | | 2 + UPD | 2 | 20 + UPD | 20 | 40 +(3 rows) + +DROP RULE gtest_rule_upd ON gtest_rule; +DROP RULE gtest_rule_ins ON gtest_rule; +DROP TABLE gtest_rule_log; +-- rule quals referring to generated columns: +-- NEW.b in the rule qual should reflect the generated column's new value +CREATE RULE gtest_rule_qual AS ON UPDATE TO gtest_rule WHERE NEW.b > 100 + DO INSTEAD NOTHING; +UPDATE gtest_rule SET a = 100; +SELECT * FROM gtest_rule; + a | b +----+---- + 20 | 40 +(1 row) + +DROP TABLE gtest_rule; diff -Nru postgresql-15-15.17/src/test/regress/expected/indexing.out postgresql-15-15.18/src/test/regress/expected/indexing.out --- postgresql-15-15.17/src/test/regress/expected/indexing.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/indexing.out 2026-05-11 19:49:58.000000000 +0000 @@ -541,6 +541,111 @@ (3 rows) drop table idxpart; +-- Verify that re-attaching an already-attached partition index can +-- validate the parent index if it was still invalid, including +-- indirect ancestors in subpartitions. +create table idxpart (a int, b int) partition by range (a); +create table idxpart1 partition of idxpart for values from (0) to (1000) partition by range (a); +create table idxpart11 partition of idxpart1 for values from (0) to (500); +-- Partitioned table with no partitions +create table idxpart2 partition of idxpart for values from (1000) to (2000) partition by range (a); +-- create parent indexes +create index on only idxpart ((a/b)); +create index on only idxpart1 ((a/b)); +create index on only idxpart2 ((a/b)); +-- fail, leaves behind an invalid index on the leaf partition +insert into idxpart11 values (1, 0); +create index concurrently on idxpart11 ((a/b)); +ERROR: division by zero +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; + relname | indisvalid +--------------------+------------ + idxpart11_expr_idx | f + idxpart1_expr_idx | f + idxpart2_expr_idx | t + idxpart_expr_idx | f +(4 rows) + +-- attach the indexes; parents stay invalid +alter index idxpart1_expr_idx attach partition idxpart11_expr_idx; +alter index idxpart_expr_idx attach partition idxpart1_expr_idx; +alter index idxpart_expr_idx attach partition idxpart2_expr_idx; +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; + relname | indisvalid +--------------------+------------ + idxpart11_expr_idx | f + idxpart1_expr_idx | f + idxpart2_expr_idx | t + idxpart_expr_idx | f +(4 rows) + +-- fix the index on the leaf partition +delete from idxpart11 where b = 0; +reindex index concurrently idxpart11_expr_idx; +-- reattach the leaf partition index; parents should now be valid +alter index idxpart1_expr_idx attach partition idxpart11_expr_idx; +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; + relname | indisvalid +--------------------+------------ + idxpart11_expr_idx | t + idxpart1_expr_idx | t + idxpart2_expr_idx | t + idxpart_expr_idx | t +(4 rows) + +drop table idxpart; +-- Verify that re-attaching does not validate the parent when another +-- child index is still invalid. +create table idxpart (a int, b int) partition by range (a); +create table idxpart1 partition of idxpart for values from (0) to (500); +create table idxpart2 partition of idxpart for values from (500) to (1000); +create index on only idxpart ((a/b)); +-- create invalid indexes on both children +insert into idxpart1 values (1, 0); +insert into idxpart2 values (501, 0); +create index concurrently on idxpart1 ((a/b)); +ERROR: division by zero +create index concurrently on idxpart2 ((a/b)); +ERROR: division by zero +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; + relname | indisvalid +-------------------+------------ + idxpart1_expr_idx | f + idxpart2_expr_idx | f + idxpart_expr_idx | f +(3 rows) + +-- attach both; parent stays invalid +alter index idxpart_expr_idx attach partition idxpart1_expr_idx; +alter index idxpart_expr_idx attach partition idxpart2_expr_idx; +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; + relname | indisvalid +-------------------+------------ + idxpart1_expr_idx | f + idxpart2_expr_idx | f + idxpart_expr_idx | f +(3 rows) + +-- fix only idxpart1's index, leave idxpart2's still invalid +delete from idxpart1 where b = 0; +reindex index concurrently idxpart1_expr_idx; +-- re-attach the fixed child; parent should stay invalid +alter index idxpart_expr_idx attach partition idxpart1_expr_idx; +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; + relname | indisvalid +-------------------+------------ + idxpart1_expr_idx | t + idxpart2_expr_idx | f + idxpart_expr_idx | f +(3 rows) + +drop table idxpart; -- verify dependency handling during ALTER TABLE DETACH PARTITION create table idxpart (a int) partition by range (a); create table idxpart1 (like idxpart); diff -Nru postgresql-15-15.17/src/test/regress/expected/multirangetypes.out postgresql-15-15.18/src/test/regress/expected/multirangetypes.out --- postgresql-15-15.17/src/test/regress/expected/multirangetypes.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/multirangetypes.out 2026-05-11 19:49:58.000000000 +0000 @@ -3084,6 +3084,22 @@ drop type textrange1; drop type textrange2; -- +-- CREATE TYPE checks for CREATE on multirange schema +-- +create role regress_mr; +create schema mr_sch; +set role regress_mr; +create type mytype as range (subtype=int4, multirange_type_name=mr_sch.mr_type); +ERROR: permission denied for schema mr_sch +reset role; +grant create on schema mr_sch to regress_mr; +set role regress_mr; +create type mytype as range (subtype=int4, multirange_type_name=mr_sch.mr_type); +reset role; +drop type mytype; +drop schema mr_sch; +drop role regress_mr; +-- -- Test polymorphic type system -- create function anyarray_anymultirange_func(a anyarray, r anymultirange) @@ -3236,6 +3252,9 @@ {["(5,6)","(7,8)")} | {"a":7,"b":8} (2 rows) +-- this must be rejected to avoid self-inclusion issues: +alter type two_ints add attribute c two_ints_multirange; +ERROR: composite type two_ints cannot be made a member of itself drop type two_ints cascade; NOTICE: drop cascades to type two_ints_range -- diff -Nru postgresql-15-15.17/src/test/regress/expected/prepared_xacts.out postgresql-15-15.18/src/test/regress/expected/prepared_xacts.out --- postgresql-15-15.17/src/test/regress/expected/prepared_xacts.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/prepared_xacts.out 2026-05-11 19:49:58.000000000 +0000 @@ -1,3 +1,7 @@ +SELECT current_setting('max_prepared_transactions')::integer < 2 AS skip_test \gset +\if :skip_test +\quit +\endif -- -- PREPARED TRANSACTIONS (two-phase commit) -- @@ -265,6 +269,5 @@ -- Clean up DROP TABLE pxtest2; -DROP TABLE pxtest3; -- will still be there if prepared xacts are disabled -ERROR: table "pxtest3" does not exist +-- pxtest3 was already dropped DROP TABLE pxtest4; diff -Nru postgresql-15-15.17/src/test/regress/expected/prepared_xacts_1.out postgresql-15-15.18/src/test/regress/expected/prepared_xacts_1.out --- postgresql-15-15.17/src/test/regress/expected/prepared_xacts_1.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/prepared_xacts_1.out 2026-05-11 19:49:58.000000000 +0000 @@ -1,266 +1,3 @@ --- --- PREPARED TRANSACTIONS (two-phase commit) --- --- We can't readily test persistence of prepared xacts within the --- regression script framework, unfortunately. Note that a crash --- isn't really needed ... stopping and starting the postmaster would --- be enough, but we can't even do that here. --- create a simple table that we'll use in the tests -CREATE TABLE pxtest1 (foobar VARCHAR(10)); -INSERT INTO pxtest1 VALUES ('aaa'); --- Test PREPARE TRANSACTION -BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; -UPDATE pxtest1 SET foobar = 'bbb' WHERE foobar = 'aaa'; -SELECT * FROM pxtest1; - foobar --------- - bbb -(1 row) - -PREPARE TRANSACTION 'foo1'; -ERROR: prepared transactions are disabled -HINT: Set max_prepared_transactions to a nonzero value. -SELECT * FROM pxtest1; - foobar --------- - aaa -(1 row) - --- Test pg_prepared_xacts system view -SELECT gid FROM pg_prepared_xacts; - gid ------ -(0 rows) - --- Test ROLLBACK PREPARED -ROLLBACK PREPARED 'foo1'; -ERROR: prepared transaction with identifier "foo1" does not exist -SELECT * FROM pxtest1; - foobar --------- - aaa -(1 row) - -SELECT gid FROM pg_prepared_xacts; - gid ------ -(0 rows) - --- Test COMMIT PREPARED -BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; -INSERT INTO pxtest1 VALUES ('ddd'); -SELECT * FROM pxtest1; - foobar --------- - aaa - ddd -(2 rows) - -PREPARE TRANSACTION 'foo2'; -ERROR: prepared transactions are disabled -HINT: Set max_prepared_transactions to a nonzero value. -SELECT * FROM pxtest1; - foobar --------- - aaa -(1 row) - -COMMIT PREPARED 'foo2'; -ERROR: prepared transaction with identifier "foo2" does not exist -SELECT * FROM pxtest1; - foobar --------- - aaa -(1 row) - --- Test duplicate gids -BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; -UPDATE pxtest1 SET foobar = 'eee' WHERE foobar = 'ddd'; -SELECT * FROM pxtest1; - foobar --------- - aaa -(1 row) - -PREPARE TRANSACTION 'foo3'; -ERROR: prepared transactions are disabled -HINT: Set max_prepared_transactions to a nonzero value. -SELECT gid FROM pg_prepared_xacts; - gid ------ -(0 rows) - -BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; -INSERT INTO pxtest1 VALUES ('fff'); --- This should fail, because the gid foo3 is already in use -PREPARE TRANSACTION 'foo3'; -ERROR: prepared transactions are disabled -HINT: Set max_prepared_transactions to a nonzero value. -SELECT * FROM pxtest1; - foobar --------- - aaa -(1 row) - -ROLLBACK PREPARED 'foo3'; -ERROR: prepared transaction with identifier "foo3" does not exist -SELECT * FROM pxtest1; - foobar --------- - aaa -(1 row) - --- Test serialization failure (SSI) -BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; -UPDATE pxtest1 SET foobar = 'eee' WHERE foobar = 'ddd'; -SELECT * FROM pxtest1; - foobar --------- - aaa -(1 row) - -PREPARE TRANSACTION 'foo4'; -ERROR: prepared transactions are disabled -HINT: Set max_prepared_transactions to a nonzero value. -SELECT gid FROM pg_prepared_xacts; - gid ------ -(0 rows) - -BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; -SELECT * FROM pxtest1; - foobar --------- - aaa -(1 row) - --- This should fail, because the two transactions have a write-skew anomaly -INSERT INTO pxtest1 VALUES ('fff'); -PREPARE TRANSACTION 'foo5'; -ERROR: prepared transactions are disabled -HINT: Set max_prepared_transactions to a nonzero value. -SELECT gid FROM pg_prepared_xacts; - gid ------ -(0 rows) - -ROLLBACK PREPARED 'foo4'; -ERROR: prepared transaction with identifier "foo4" does not exist -SELECT gid FROM pg_prepared_xacts; - gid ------ -(0 rows) - --- Clean up -DROP TABLE pxtest1; --- Test detection of session-level and xact-level locks on same object -BEGIN; -SELECT pg_advisory_lock(1); - pg_advisory_lock ------------------- - -(1 row) - -SELECT pg_advisory_xact_lock_shared(1); - pg_advisory_xact_lock_shared ------------------------------- - -(1 row) - -PREPARE TRANSACTION 'foo6'; -- fails -ERROR: prepared transactions are disabled -HINT: Set max_prepared_transactions to a nonzero value. --- Test subtransactions -BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; - CREATE TABLE pxtest2 (a int); - INSERT INTO pxtest2 VALUES (1); - SAVEPOINT a; - INSERT INTO pxtest2 VALUES (2); - ROLLBACK TO a; - SAVEPOINT b; - INSERT INTO pxtest2 VALUES (3); -PREPARE TRANSACTION 'regress-one'; -ERROR: prepared transactions are disabled -HINT: Set max_prepared_transactions to a nonzero value. -CREATE TABLE pxtest3(fff int); --- Test shared invalidation -BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; - DROP TABLE pxtest3; - CREATE TABLE pxtest4 (a int); - INSERT INTO pxtest4 VALUES (1); - INSERT INTO pxtest4 VALUES (2); - DECLARE foo CURSOR FOR SELECT * FROM pxtest4; - -- Fetch 1 tuple, keeping the cursor open - FETCH 1 FROM foo; - a ---- - 1 -(1 row) - -PREPARE TRANSACTION 'regress-two'; -ERROR: prepared transactions are disabled -HINT: Set max_prepared_transactions to a nonzero value. --- No such cursor -FETCH 1 FROM foo; -ERROR: cursor "foo" does not exist --- Table doesn't exist, the creation hasn't been committed yet -SELECT * FROM pxtest2; -ERROR: relation "pxtest2" does not exist -LINE 1: SELECT * FROM pxtest2; - ^ --- There should be two prepared transactions -SELECT gid FROM pg_prepared_xacts; - gid ------ -(0 rows) - --- pxtest3 should be locked because of the pending DROP -begin; -lock table pxtest3 in access share mode nowait; -rollback; --- Disconnect, we will continue testing in a different backend -\c - --- There should still be two prepared transactions -SELECT gid FROM pg_prepared_xacts; - gid ------ -(0 rows) - --- pxtest3 should still be locked because of the pending DROP -begin; -lock table pxtest3 in access share mode nowait; -rollback; --- Commit table creation -COMMIT PREPARED 'regress-one'; -ERROR: prepared transaction with identifier "regress-one" does not exist -\d pxtest2 -SELECT * FROM pxtest2; -ERROR: relation "pxtest2" does not exist -LINE 1: SELECT * FROM pxtest2; - ^ --- There should be one prepared transaction -SELECT gid FROM pg_prepared_xacts; - gid ------ -(0 rows) - --- Commit table drop -COMMIT PREPARED 'regress-two'; -ERROR: prepared transaction with identifier "regress-two" does not exist -SELECT * FROM pxtest3; - fff ------ -(0 rows) - --- There should be no prepared transactions -SELECT gid FROM pg_prepared_xacts; - gid ------ -(0 rows) - --- Clean up -DROP TABLE pxtest2; -ERROR: table "pxtest2" does not exist -DROP TABLE pxtest3; -- will still be there if prepared xacts are disabled -DROP TABLE pxtest4; -ERROR: table "pxtest4" does not exist +SELECT current_setting('max_prepared_transactions')::integer < 2 AS skip_test \gset +\if :skip_test +\quit diff -Nru postgresql-15-15.17/src/test/regress/expected/stats.out postgresql-15-15.18/src/test/regress/expected/stats.out --- postgresql-15-15.17/src/test/regress/expected/stats.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/stats.out 2026-05-11 19:49:58.000000000 +0000 @@ -583,6 +583,8 @@ t (1 row) +-- stats_reset may not be set for datid=0 and shared objects in +-- pg_stat_database, so reset once. SELECT pg_stat_reset_single_table_counters('pg_shdescription'::regclass); pg_stat_reset_single_table_counters ------------------------------------- @@ -596,6 +598,22 @@ f (1 row) +SELECT stats_reset AS shared_db_reset_before + FROM pg_stat_database WHERE datid = 0 \gset +-- Second reset for comparison. +SELECT pg_stat_reset_single_table_counters('pg_shdescription'::regclass); + pg_stat_reset_single_table_counters +------------------------------------- + +(1 row) + +SELECT stats_reset > :'shared_db_reset_before'::timestamptz AS has_updated + FROM pg_stat_database WHERE datid = 0; + has_updated +------------- + t +(1 row) + -- set back comment \if :{?description_before} COMMENT ON DATABASE :"datname" IS :'description_before'; diff -Nru postgresql-15-15.17/src/test/regress/expected/tsearch.out postgresql-15-15.18/src/test/regress/expected/tsearch.out --- postgresql-15-15.17/src/test/regress/expected/tsearch.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/tsearch.out 2026-05-11 19:49:58.000000000 +0000 @@ -2017,6 +2017,16 @@ foo bar (1 row) +-- Test for large values of StartSel, StopSel and FragmentDelimiter +SELECT ts_headline('english', 'foo barbar', to_tsquery('english', 'foo'), + 'StartSel=' || repeat('x', 32768)); +ERROR: value for "StartSel" is too long +SELECT ts_headline('english', 'foo barbar', to_tsquery('english', 'foo'), + 'StopSel=' || repeat('x', 32768)); +ERROR: value for "StopSel" is too long +SELECT ts_headline('english', 'foo barbar', to_tsquery('english', 'foo'), + 'FragmentDelimiter=' || repeat('x', 32768)); +ERROR: value for "FragmentDelimiter" is too long --Rewrite sub system CREATE TABLE test_tsquery (txtkeyword TEXT, txtsample TEXT); \set ECHO none diff -Nru postgresql-15-15.17/src/test/regress/expected/window.out postgresql-15-15.18/src/test/regress/expected/window.out --- postgresql-15-15.17/src/test/regress/expected/window.out 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/expected/window.out 2026-05-11 19:49:58.000000000 +0000 @@ -1343,6 +1343,97 @@ FROM generate_series(now(), (now() + '@ 100 days'::interval), '@ 1 hour'::interval) i(i); (1 row) +-- test overflow frame specifications +SELECT sum(unique1) over (rows between current row and 9223372036854775807 following exclude current row), + unique1, four +FROM tenk1 WHERE unique1 < 10; + sum | unique1 | four +-----+---------+------ + 41 | 4 | 0 + 39 | 2 | 2 + 38 | 1 | 1 + 32 | 6 | 2 + 23 | 9 | 1 + 15 | 8 | 0 + 10 | 5 | 1 + 7 | 3 | 3 + 0 | 7 | 3 + | 0 | 0 +(10 rows) + +SELECT sum(unique1) over (rows between 9223372036854775807 following and 1 following), + unique1, four +FROM tenk1 WHERE unique1 < 10; + sum | unique1 | four +-----+---------+------ + | 4 | 0 + | 2 | 2 + | 1 | 1 + | 6 | 2 + | 9 | 1 + | 8 | 0 + | 5 | 1 + | 3 | 3 + | 7 | 3 + | 0 | 0 +(10 rows) + +SELECT last_value(unique1) over (ORDER BY four rows between current row and 9223372036854775807 following exclude current row), + unique1, four +FROM tenk1 WHERE unique1 < 10; + last_value | unique1 | four +------------+---------+------ + 7 | 0 | 0 + 7 | 8 | 0 + 7 | 4 | 0 + 7 | 5 | 1 + 7 | 9 | 1 + 7 | 1 | 1 + 7 | 6 | 2 + 7 | 2 | 2 + 7 | 3 | 3 + | 7 | 3 +(10 rows) + +-- These test GROUPS mode with an offset large enough to cause overflow when +-- added to currentgroup. Although the overflow doesn't produce visibly wrong +-- results (due to the incremental nature of group pointer advancement), we +-- still need to protect against it as signed integer overflow is undefined +-- behavior in C. +SELECT sum(unique1) over (ORDER BY four groups between current row and 9223372036854775807 following), + unique1, four +FROM tenk1 WHERE unique1 < 10; + sum | unique1 | four +-----+---------+------ + 45 | 0 | 0 + 45 | 8 | 0 + 45 | 4 | 0 + 33 | 5 | 1 + 33 | 9 | 1 + 33 | 1 | 1 + 18 | 6 | 2 + 18 | 2 | 2 + 10 | 3 | 3 + 10 | 7 | 3 +(10 rows) + +SELECT sum(unique1) over (ORDER BY four groups between 9223372036854775807 following and unbounded following), + unique1, four +FROM tenk1 WHERE unique1 < 10; + sum | unique1 | four +-----+---------+------ + | 0 | 0 + | 8 | 0 + | 4 | 0 + | 5 | 1 + | 9 | 1 + | 1 | 1 + | 6 | 2 + | 2 | 2 + | 3 | 3 + | 7 | 3 +(10 rows) + -- RANGE offset PRECEDING/FOLLOWING tests SELECT sum(unique1) over (order by four range between 2::int8 preceding and 1::int2 preceding), unique1, four diff -Nru postgresql-15-15.17/src/test/regress/parallel_schedule postgresql-15-15.18/src/test/regress/parallel_schedule --- postgresql-15-15.17/src/test/regress/parallel_schedule 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/parallel_schedule 2026-05-11 19:49:58.000000000 +0000 @@ -131,7 +131,12 @@ # The stats test resets stats, so nothing else needing stats access can be in # this group. # ---------- -test: partition_join partition_prune reloptions hash_part indexing partition_aggregate partition_info tuplesort explain compression memoize stats +test: partition_join partition_prune reloptions hash_part indexing partition_aggregate partition_info tuplesort explain memoize stats + +# ---------- +# Another group of parallel tests (compression) +# ---------- +test: compression compression_pglz # event_trigger cannot run concurrently with any test that runs DDL # oidjoins is read-only, though, and should run late for best coverage diff -Nru postgresql-15-15.17/src/test/regress/pg_regress.c postgresql-15-15.18/src/test/regress/pg_regress.c --- postgresql-15-15.17/src/test/regress/pg_regress.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/pg_regress.c 2026-05-11 19:49:58.000000000 +0000 @@ -536,7 +536,7 @@ const char * get_expectfile(const char *testname, const char *file) { - char *file_type; + const char *file_type; _resultmap *rm; /* diff -Nru postgresql-15-15.17/src/test/regress/regress.c postgresql-15-15.18/src/test/regress/regress.c --- postgresql-15-15.17/src/test/regress/regress.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/regress.c 2026-05-11 19:49:58.000000000 +0000 @@ -28,6 +28,7 @@ #include "catalog/pg_type.h" #include "commands/sequence.h" #include "commands/trigger.h" +#include "common/pg_lzcompress.h" #include "executor/executor.h" #include "executor/spi.h" #include "funcapi.h" @@ -1471,3 +1472,68 @@ PG_RETURN_INT32(column_offset); } + +/* + * test_pglz_compress + * + * Compress the input using pglz_compress(). Only the "always" strategy is + * currently supported. + * + * Returns the compressed data, or NULL if compression fails. + */ +PG_FUNCTION_INFO_V1(test_pglz_compress); +Datum +test_pglz_compress(PG_FUNCTION_ARGS) +{ + bytea *input = PG_GETARG_BYTEA_PP(0); + char *source = VARDATA_ANY(input); + int32 slen = VARSIZE_ANY_EXHDR(input); + int32 maxout = PGLZ_MAX_OUTPUT(slen); + bytea *result; + int32 clen; + + result = (bytea *) palloc(maxout + VARHDRSZ); + clen = pglz_compress(source, slen, VARDATA(result), + PGLZ_strategy_always); + if (clen < 0) + PG_RETURN_NULL(); + + SET_VARSIZE(result, clen + VARHDRSZ); + PG_RETURN_BYTEA_P(result); +} + +/* + * test_pglz_decompress + * + * Decompress the input using pglz_decompress(). + * + * The second argument is the expected uncompressed data size. The third + * argument is here for the check_complete flag. + * + * Returns the decompressed data, or raises an error if decompression fails. + */ +PG_FUNCTION_INFO_V1(test_pglz_decompress); +Datum +test_pglz_decompress(PG_FUNCTION_ARGS) +{ + bytea *input = PG_GETARG_BYTEA_PP(0); + int32 rawsize = PG_GETARG_INT32(1); + bool check_complete = PG_GETARG_BOOL(2); + char *source = VARDATA_ANY(input); + int32 slen = VARSIZE_ANY_EXHDR(input); + bytea *result; + int32 dlen; + + if (rawsize < 0) + elog(ERROR, "rawsize must not be negative"); + + result = (bytea *) palloc(rawsize + VARHDRSZ); + + dlen = pglz_decompress(source, slen, VARDATA(result), + rawsize, check_complete); + if (dlen < 0) + elog(ERROR, "pglz_decompress failed"); + + SET_VARSIZE(result, dlen + VARHDRSZ); + PG_RETURN_BYTEA_P(result); +} diff -Nru postgresql-15-15.17/src/test/regress/sql/alter_table.sql postgresql-15-15.18/src/test/regress/sql/alter_table.sql --- postgresql-15-15.17/src/test/regress/sql/alter_table.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/alter_table.sql 2026-05-11 19:49:58.000000000 +0000 @@ -2305,6 +2305,14 @@ \d test_add_column ALTER TABLE test_add_column ADD COLUMN IF NOT EXISTS c5 SERIAL CHECK (c5 > 10); +ALTER TABLE test_add_column + ADD c6 integer; -- omit COLUMN +ALTER TABLE test_add_column + ADD IF NOT EXISTS c6 integer; +ALTER TABLE test_add_column + DROP c6; -- omit COLUMN +ALTER TABLE test_add_column + DROP IF EXISTS c6; \d test_add_column* DROP TABLE test_add_column; \d test_add_column* diff -Nru postgresql-15-15.17/src/test/regress/sql/collate.icu.utf8.sql postgresql-15-15.18/src/test/regress/sql/collate.icu.utf8.sql --- postgresql-15-15.17/src/test/regress/sql/collate.icu.utf8.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/collate.icu.utf8.sql 2026-05-11 19:49:58.000000000 +0000 @@ -528,6 +528,109 @@ SELECT string_to_array('ABC,DEF,GHI' COLLATE case_sensitive, ',', 'abc'); SELECT string_to_array('ABCDEFGHI' COLLATE case_sensitive, NULL, 'b'); +-- +-- A unique index under one collation does not prove uniqueness under +-- another, so the planner must not use such a proof for any optimization. +-- + +-- Ensure that we do not use inner-unique join execution +EXPLAIN (VERBOSE, COSTS OFF) +SELECT * FROM test1cs t1, test3cs t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + +SELECT * FROM test1cs t1, test3cs t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + +-- Ensure that left-join is not removed +EXPLAIN (COSTS OFF) +SELECT t1.* FROM test3cs t1 + LEFT JOIN test3cs t2 ON t1.x = t2.x COLLATE case_insensitive +ORDER BY 1; + +SELECT t1.* FROM test3cs t1 + LEFT JOIN test3cs t2 ON t1.x = t2.x COLLATE case_insensitive +ORDER BY 1; + +-- Ensure that self-join is not removed +EXPLAIN (COSTS OFF) +SELECT * FROM test3cs t1, test3cs t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + +SELECT * FROM test3cs t1, test3cs t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + +-- Ensure that semijoin is not reduced to innerjoin +EXPLAIN (COSTS OFF) +SELECT * FROM test3cs t1 + WHERE EXISTS (SELECT 1 FROM test3cs t2 WHERE t1.x = t2.x COLLATE case_insensitive) +ORDER BY 1; + +SELECT * FROM test3cs t1 + WHERE EXISTS (SELECT 1 FROM test3cs t2 WHERE t1.x = t2.x COLLATE case_insensitive) +ORDER BY 1; + +-- +-- A DISTINCT / GROUP BY / set-op on a subquery does not prove uniqueness +-- under a different collation, so the planner must not use such a proof for +-- any optimization. +-- + +-- Ensure that we do not use inner-unique join execution +EXPLAIN (VERBOSE, COSTS OFF) +SELECT * FROM test1cs t1, (SELECT DISTINCT x FROM test3cs) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + +SELECT * FROM test1cs t1, (SELECT DISTINCT x FROM test3cs) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + +-- Same with GROUP BY +EXPLAIN (VERBOSE, COSTS OFF) +SELECT * FROM test1cs t1, (SELECT x FROM test3cs GROUP BY x) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + +SELECT * FROM test1cs t1, (SELECT x FROM test3cs GROUP BY x) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + +-- Same with set-op +EXPLAIN (VERBOSE, COSTS OFF) +SELECT * FROM test1cs t1, (SELECT x FROM test3cs UNION SELECT x FROM test3cs) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + +SELECT * FROM test1cs t1, (SELECT x FROM test3cs UNION SELECT x FROM test3cs) t2 +WHERE t1.x = t2.x COLLATE case_insensitive +ORDER BY 1, 2; + +-- Ensure that left-join is not removed +EXPLAIN (COSTS OFF) +SELECT t1.* FROM test3cs t1 + LEFT JOIN (SELECT DISTINCT x FROM test3cs) t2 ON t1.x = t2.x COLLATE case_insensitive +ORDER BY 1; + +SELECT t1.* FROM test3cs t1 + LEFT JOIN (SELECT DISTINCT x FROM test3cs) t2 ON t1.x = t2.x COLLATE case_insensitive +ORDER BY 1; + +-- Ensure that semijoin is not reduced to innerjoin +EXPLAIN (COSTS OFF) +SELECT * FROM test3cs t1 + WHERE EXISTS (SELECT 1 FROM (SELECT DISTINCT x FROM test3cs) t2 + WHERE t1.x = t2.x COLLATE case_insensitive) +ORDER BY 1; + +SELECT * FROM test3cs t1 + WHERE EXISTS (SELECT 1 FROM (SELECT DISTINCT x FROM test3cs) t2 + WHERE t1.x = t2.x COLLATE case_insensitive) +ORDER BY 1; + CREATE TABLE test1ci (x text COLLATE case_insensitive); CREATE TABLE test2ci (x text COLLATE case_insensitive); CREATE TABLE test3ci (x text COLLATE case_insensitive); diff -Nru postgresql-15-15.17/src/test/regress/sql/compression_pglz.sql postgresql-15-15.18/src/test/regress/sql/compression_pglz.sql --- postgresql-15-15.17/src/test/regress/sql/compression_pglz.sql 1970-01-01 00:00:00.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/compression_pglz.sql 2026-05-11 19:49:58.000000000 +0000 @@ -0,0 +1,53 @@ +-- +-- Tests for PGLZ compression +-- + +-- directory paths and dlsuffix are passed to us in environment variables +\getenv libdir PG_LIBDIR +\getenv dlsuffix PG_DLSUFFIX + +\set regresslib :libdir '/regress' :dlsuffix + +CREATE FUNCTION test_pglz_compress(bytea) + RETURNS bytea + AS :'regresslib' LANGUAGE C STRICT; +CREATE FUNCTION test_pglz_decompress(bytea, int4, bool) + RETURNS bytea + AS :'regresslib' LANGUAGE C STRICT; + +-- Round-trip with pglz: compress then decompress. +SELECT test_pglz_decompress(test_pglz_compress( + decode(repeat('abcd', 100), 'escape')), 400, false) = + decode(repeat('abcd', 100), 'escape') AS roundtrip_ok; +SELECT test_pglz_decompress(test_pglz_compress( + decode(repeat('abcd', 100), 'escape')), 400, true) = + decode(repeat('abcd', 100), 'escape') AS roundtrip_ok; + +-- Decompression with rawsize too large, fails to fill the destination +-- buffer. +SELECT test_pglz_decompress(test_pglz_compress( + decode(repeat('abcd', 100), 'escape')), 500, true); + +-- Decompression with rawsize too small, fails with source not fully +-- consumed. +SELECT test_pglz_decompress(test_pglz_compress( + decode(repeat('abcd', 100), 'escape')), 100, true); + +-- Corrupted compressed data. Set control bit with read of a match tag, +-- no data follows. +SELECT length(test_pglz_decompress('\x01'::bytea, 1024, false)) AS ctrl_only_len; +SELECT test_pglz_decompress('\x01'::bytea, 1024, true); + +-- Corrupted compressed data. Set control bit with read of a match tag, +-- 1 byte follows. +SELECT test_pglz_decompress('\x01ff'::bytea, 1024, false); +SELECT test_pglz_decompress('\x01ff'::bytea, 1024, true); + +-- Corrupted compressed data. Set control bit with match tag where length +-- nibble is 3 bytes (extended length), no data follows. +SELECT test_pglz_decompress('\x010f01'::bytea, 1024, false); +SELECT test_pglz_decompress('\x010f01'::bytea, 1024, true); + +-- Clean up +DROP FUNCTION test_pglz_compress; +DROP FUNCTION test_pglz_decompress; diff -Nru postgresql-15-15.17/src/test/regress/sql/create_index.sql postgresql-15-15.18/src/test/regress/sql/create_index.sql --- postgresql-15-15.17/src/test/regress/sql/create_index.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/create_index.sql 2026-05-11 19:49:58.000000000 +0000 @@ -45,6 +45,10 @@ COMMENT ON INDEX six_wrong IS 'bad index'; COMMENT ON INDEX six IS 'good index'; COMMENT ON INDEX six IS NULL; +SELECT obj_description('six'::regclass, 'pg_class') IS NULL AS six_comment_is_null; +COMMENT ON INDEX six IS 'add the comment back'; +COMMENT ON INDEX six IS ''; -- empty string removes the comment, same as NULL +SELECT obj_description('six'::regclass, 'pg_class') IS NULL AS six_comment_is_null; -- -- BTREE partial indices diff -Nru postgresql-15-15.17/src/test/regress/sql/create_role.sql postgresql-15-15.18/src/test/regress/sql/create_role.sql --- postgresql-15-15.17/src/test/regress/sql/create_role.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/create_role.sql 2026-05-11 19:49:58.000000000 +0000 @@ -55,6 +55,14 @@ -- ok, roles with CREATEROLE can create new roles with privilege they lack CREATE ROLE regress_tenant CREATEDB CREATEROLE LOGIN INHERIT CONNECTION LIMIT 5; +COMMENT ON ROLE regress_tenant IS 'some comment'; +SELECT shobj_description('regress_tenant'::regrole, 'pg_authid') IS NOT NULL AS has_comment; +COMMENT ON ROLE regress_tenant IS NULL; +SELECT shobj_description('regress_tenant'::regrole, 'pg_authid') IS NULL AS no_comment; +COMMENT ON ROLE regress_tenant IS 'add the comment back'; +SELECT shobj_description('regress_tenant'::regrole, 'pg_authid') IS NOT NULL AS has_comment; +COMMENT ON ROLE regress_tenant IS ''; -- empty string removes the comment, same as NULL +SELECT shobj_description('regress_tenant'::regrole, 'pg_authid') IS NULL AS no_comment; -- ok, regress_tenant can create objects within the database SET SESSION AUTHORIZATION regress_tenant; diff -Nru postgresql-15-15.17/src/test/regress/sql/create_table_like.sql postgresql-15-15.18/src/test/regress/sql/create_table_like.sql --- postgresql-15-15.17/src/test/regress/sql/create_table_like.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/create_table_like.sql 2026-05-11 19:49:58.000000000 +0000 @@ -223,3 +223,29 @@ DROP TYPE ctlty1; DROP VIEW ctlv1; DROP TABLE IF EXISTS ctlt4, ctlt10, ctlt11, ctlt11a, ctlt12; + +-- LIKE ... INCLUDING STATISTICS with dropped columns in the parent, +-- so stxkeys attnums are not contiguous. +CREATE TABLE ctl_stats3_parent (a int, b int, c int); +ALTER TABLE ctl_stats3_parent DROP COLUMN b; +CREATE STATISTICS ctl_stats3_stat ON a, c FROM ctl_stats3_parent; +CREATE TABLE ctl_stats3_child (LIKE ctl_stats3_parent INCLUDING STATISTICS); +CREATE TABLE ctl_stats4_parent (a int, b int, c int, d int); +ALTER TABLE ctl_stats4_parent DROP COLUMN b; +CREATE STATISTICS ctl_stats4_stat ON a, c FROM ctl_stats4_parent; +CREATE TABLE ctl_stats4_child (LIKE ctl_stats4_parent INCLUDING STATISTICS); +SELECT s.stxrelid::regclass AS relation, + array_agg(a.attname ORDER BY u.ord) AS stats_columns +FROM pg_statistic_ext s +CROSS JOIN LATERAL + unnest(s.stxkeys::int2[]) WITH ORDINALITY AS u(attnum, ord) +JOIN pg_attribute a + ON a.attrelid = s.stxrelid AND a.attnum = u.attnum +WHERE s.stxrelid IN ('ctl_stats3_child'::regclass, + 'ctl_stats4_child'::regclass) +GROUP BY s.stxrelid +ORDER BY s.stxrelid::regclass::text; +DROP TABLE ctl_stats3_parent; +DROP TABLE ctl_stats3_child; +DROP TABLE ctl_stats4_parent; +DROP TABLE ctl_stats4_child; diff -Nru postgresql-15-15.17/src/test/regress/sql/expressions.sql postgresql-15-15.18/src/test/regress/sql/expressions.sql --- postgresql-15-15.17/src/test/regress/sql/expressions.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/expressions.sql 2026-05-11 19:49:58.000000000 +0000 @@ -191,16 +191,108 @@ function 1 myinthash(myint); create table inttest (a myint); -insert into inttest values(1::myint),(null); +insert into inttest values (null), (0::myint), (1::myint); --- try an array with enough elements to cause hashing -select * from inttest where a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint, null); -select * from inttest where a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint, null); -select * from inttest where a not in (0::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint, null); --- ensure the result matched with the non-hashed version. We simply remove --- some array elements so that we don't reach the hashing threshold. -select * from inttest where a in (1::myint,2::myint,3::myint,4::myint,5::myint, null); -select * from inttest where a not in (1::myint,2::myint,3::myint,4::myint,5::myint, null); -select * from inttest where a not in (0::myint,2::myint,3::myint,4::myint,5::myint, null); +-- Test EEOP_HASHED_SCALARARRAYOP against EEOP_SCALARARRAYOP. Ensure the +-- result of non-hashed vs hashed is the same. +select + a, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed +from inttest; + +select + a, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed + from inttest; + +select + a, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed +from inttest; + +select + a, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed +from inttest; + +-- Now make the equal function return false when given two NULLs +create or replace function myinteq(myint, myint) returns bool as $$ +begin + if $1 is null and $2 is null then + return false; + else + return $1::int = $2::int; + end if; +end; +$$ language plpgsql immutable; + +-- And try the same again to ensure EEOP_HASHED_SCALARARRAYOP does the same +-- thing as EEOP_SCALARARRAYOP. +select + a, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed +from inttest; + +select + a, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed + from inttest; + +select + a, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed +from inttest; + +select + a, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed +from inttest; + +-- Try again with an equality function that treats NULLs as equal to 0. +create or replace function myinteq(myint, myint) returns bool as $$ +begin + if $1 is null and $2 is null then + return false; + else + return coalesce($1::int,0) = coalesce($2::int, 0); + end if; +end; +$$ language plpgsql immutable; + +select + a, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed, + a in (0::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed_zero, + a in (0::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed_zero +from inttest; + +select + a, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed + from inttest; + +select + a, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as not_hashed, + a not in (1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint,9::myint) as hashed, + a not in (0::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed_zero, + a not in (0::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed_zero +from inttest; + +select + a, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint) as not_hashed, + a not in (null::myint,1::myint,2::myint,3::myint,4::myint,5::myint,6::myint,7::myint,8::myint) as hashed +from inttest; rollback; diff -Nru postgresql-15-15.17/src/test/regress/sql/foreign_data.sql postgresql-15-15.18/src/test/regress/sql/foreign_data.sql --- postgresql-15-15.17/src/test/regress/sql/foreign_data.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/foreign_data.sql 2026-05-11 19:49:58.000000000 +0000 @@ -67,6 +67,11 @@ CREATE FOREIGN DATA WRAPPER test_fdw HANDLER invalid_fdw_handler; -- ERROR CREATE FOREIGN DATA WRAPPER test_fdw HANDLER test_fdw_handler HANDLER invalid_fdw_handler; -- ERROR CREATE FOREIGN DATA WRAPPER test_fdw HANDLER test_fdw_handler; + +-- should preserve dependency on test_fdw_handler +ALTER FOREIGN DATA WRAPPER test_fdw VALIDATOR postgresql_fdw_validator; +DROP FUNCTION test_fdw_handler(); -- ERROR + DROP FOREIGN DATA WRAPPER test_fdw; -- ALTER FOREIGN DATA WRAPPER @@ -383,10 +388,12 @@ ALTER FOREIGN TABLE ft1 ADD COLUMN c4 integer; ALTER FOREIGN TABLE ft1 ADD COLUMN c5 integer DEFAULT 0; ALTER FOREIGN TABLE ft1 ADD COLUMN c6 integer; +ALTER FOREIGN TABLE ft1 ADD COLUMN IF NOT EXISTS c6 integer; ALTER FOREIGN TABLE ft1 ADD COLUMN c7 integer NOT NULL; ALTER FOREIGN TABLE ft1 ADD COLUMN c8 integer; ALTER FOREIGN TABLE ft1 ADD COLUMN c9 integer; ALTER FOREIGN TABLE ft1 ADD COLUMN c10 integer OPTIONS (p1 'v1'); +ALTER FOREIGN TABLE ft1 ADD c11 integer; ALTER FOREIGN TABLE ft1 ALTER COLUMN c4 SET DEFAULT 0; ALTER FOREIGN TABLE ft1 ALTER COLUMN c5 DROP DEFAULT; @@ -419,6 +426,7 @@ ALTER FOREIGN TABLE ft1 DROP COLUMN no_column; -- ERROR ALTER FOREIGN TABLE ft1 DROP COLUMN IF EXISTS no_column; ALTER FOREIGN TABLE ft1 DROP COLUMN c9; +ALTER FOREIGN TABLE ft1 DROP c11; ALTER FOREIGN TABLE ft1 ADD COLUMN c11 serial; ALTER FOREIGN TABLE ft1 SET SCHEMA foreign_schema; ALTER FOREIGN TABLE ft1 SET TABLESPACE ts; -- ERROR @@ -430,10 +438,12 @@ -- alter noexisting table ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c4 integer; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c6 integer; +ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN IF NOT EXISTS c6 integer; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c7 integer NOT NULL; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c8 integer; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c9 integer; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD COLUMN c10 integer OPTIONS (p1 'v1'); +ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ADD c11 integer; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ALTER COLUMN c6 SET NOT NULL; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 ALTER COLUMN c7 DROP NOT NULL; @@ -447,8 +457,10 @@ ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP CONSTRAINT ft1_c1_check; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 OWNER TO regress_test_role; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 OPTIONS (DROP delimiter, SET quote '~', ADD escape '@'); +ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP COLUMN no_column; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP COLUMN IF EXISTS no_column; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP COLUMN c9; +ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 DROP c11; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 SET SCHEMA foreign_schema; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 RENAME c1 TO foreign_column_1; ALTER FOREIGN TABLE IF EXISTS doesnt_exist_ft1 RENAME TO foreign_table_1; diff -Nru postgresql-15-15.17/src/test/regress/sql/generated.sql postgresql-15-15.18/src/test/regress/sql/generated.sql --- postgresql-15-15.17/src/test/regress/sql/generated.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/generated.sql 2026-05-11 19:49:58.000000000 +0000 @@ -624,3 +624,27 @@ CREATE TABLE gtest28b (LIKE gtest28a INCLUDING GENERATED); \d gtest28* + +-- rule actions referring to generated columns: +-- NEW.b in a rule action should reflect the generated column's new value +CREATE TABLE gtest_rule (a int, b int GENERATED ALWAYS AS (a * 2) STORED); +CREATE TABLE gtest_rule_log (op text, old_b int, new_b int); +CREATE RULE gtest_rule_upd AS ON UPDATE TO gtest_rule + DO ALSO INSERT INTO gtest_rule_log VALUES ('UPD', OLD.b, NEW.b); +CREATE RULE gtest_rule_ins AS ON INSERT TO gtest_rule + DO ALSO INSERT INTO gtest_rule_log VALUES ('INS', NULL, NEW.b); +INSERT INTO gtest_rule (a) VALUES (1); +UPDATE gtest_rule SET a = 10; +UPDATE gtest_rule SET a = (SELECT max(b) FROM gtest_rule); +SELECT * FROM gtest_rule_log; +DROP RULE gtest_rule_upd ON gtest_rule; +DROP RULE gtest_rule_ins ON gtest_rule; +DROP TABLE gtest_rule_log; + +-- rule quals referring to generated columns: +-- NEW.b in the rule qual should reflect the generated column's new value +CREATE RULE gtest_rule_qual AS ON UPDATE TO gtest_rule WHERE NEW.b > 100 + DO INSTEAD NOTHING; +UPDATE gtest_rule SET a = 100; +SELECT * FROM gtest_rule; +DROP TABLE gtest_rule; diff -Nru postgresql-15-15.17/src/test/regress/sql/indexing.sql postgresql-15-15.18/src/test/regress/sql/indexing.sql --- postgresql-15-15.17/src/test/regress/sql/indexing.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/indexing.sql 2026-05-11 19:49:58.000000000 +0000 @@ -246,6 +246,65 @@ where relname like 'idxpart%' order by relname; drop table idxpart; +-- Verify that re-attaching an already-attached partition index can +-- validate the parent index if it was still invalid, including +-- indirect ancestors in subpartitions. +create table idxpart (a int, b int) partition by range (a); +create table idxpart1 partition of idxpart for values from (0) to (1000) partition by range (a); +create table idxpart11 partition of idxpart1 for values from (0) to (500); +-- Partitioned table with no partitions +create table idxpart2 partition of idxpart for values from (1000) to (2000) partition by range (a); +-- create parent indexes +create index on only idxpart ((a/b)); +create index on only idxpart1 ((a/b)); +create index on only idxpart2 ((a/b)); +-- fail, leaves behind an invalid index on the leaf partition +insert into idxpart11 values (1, 0); +create index concurrently on idxpart11 ((a/b)); +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; +-- attach the indexes; parents stay invalid +alter index idxpart1_expr_idx attach partition idxpart11_expr_idx; +alter index idxpart_expr_idx attach partition idxpart1_expr_idx; +alter index idxpart_expr_idx attach partition idxpart2_expr_idx; +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; +-- fix the index on the leaf partition +delete from idxpart11 where b = 0; +reindex index concurrently idxpart11_expr_idx; +-- reattach the leaf partition index; parents should now be valid +alter index idxpart1_expr_idx attach partition idxpart11_expr_idx; +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; +drop table idxpart; + +-- Verify that re-attaching does not validate the parent when another +-- child index is still invalid. +create table idxpart (a int, b int) partition by range (a); +create table idxpart1 partition of idxpart for values from (0) to (500); +create table idxpart2 partition of idxpart for values from (500) to (1000); +create index on only idxpart ((a/b)); +-- create invalid indexes on both children +insert into idxpart1 values (1, 0); +insert into idxpart2 values (501, 0); +create index concurrently on idxpart1 ((a/b)); +create index concurrently on idxpart2 ((a/b)); +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; +-- attach both; parent stays invalid +alter index idxpart_expr_idx attach partition idxpart1_expr_idx; +alter index idxpart_expr_idx attach partition idxpart2_expr_idx; +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; +-- fix only idxpart1's index, leave idxpart2's still invalid +delete from idxpart1 where b = 0; +reindex index concurrently idxpart1_expr_idx; +-- re-attach the fixed child; parent should stay invalid +alter index idxpart_expr_idx attach partition idxpart1_expr_idx; +select relname, indisvalid from pg_class join pg_index on indexrelid = oid + where relname like 'idxpart%' order by relname; +drop table idxpart; + -- verify dependency handling during ALTER TABLE DETACH PARTITION create table idxpart (a int) partition by range (a); create table idxpart1 (like idxpart); diff -Nru postgresql-15-15.17/src/test/regress/sql/multirangetypes.sql postgresql-15-15.18/src/test/regress/sql/multirangetypes.sql --- postgresql-15-15.17/src/test/regress/sql/multirangetypes.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/multirangetypes.sql 2026-05-11 19:49:58.000000000 +0000 @@ -694,6 +694,22 @@ drop type textrange2; -- +-- CREATE TYPE checks for CREATE on multirange schema +-- +create role regress_mr; +create schema mr_sch; +set role regress_mr; +create type mytype as range (subtype=int4, multirange_type_name=mr_sch.mr_type); +reset role; +grant create on schema mr_sch to regress_mr; +set role regress_mr; +create type mytype as range (subtype=int4, multirange_type_name=mr_sch.mr_type); +reset role; +drop type mytype; +drop schema mr_sch; +drop role regress_mr; + +-- -- Test polymorphic type system -- @@ -787,6 +803,9 @@ (values (two_ints_multirange(two_ints_range(row(1,2), row(3,4)))), (two_ints_multirange(two_ints_range(row(5,6), row(7,8))))) v(t); +-- this must be rejected to avoid self-inclusion issues: +alter type two_ints add attribute c two_ints_multirange; + drop type two_ints cascade; -- diff -Nru postgresql-15-15.17/src/test/regress/sql/prepared_xacts.sql postgresql-15-15.18/src/test/regress/sql/prepared_xacts.sql --- postgresql-15-15.17/src/test/regress/sql/prepared_xacts.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/prepared_xacts.sql 2026-05-11 19:49:58.000000000 +0000 @@ -1,3 +1,8 @@ +SELECT current_setting('max_prepared_transactions')::integer < 2 AS skip_test \gset +\if :skip_test +\quit +\endif + -- -- PREPARED TRANSACTIONS (two-phase commit) -- @@ -160,5 +165,5 @@ -- Clean up DROP TABLE pxtest2; -DROP TABLE pxtest3; -- will still be there if prepared xacts are disabled +-- pxtest3 was already dropped DROP TABLE pxtest4; diff -Nru postgresql-15-15.17/src/test/regress/sql/stats.sql postgresql-15-15.18/src/test/regress/sql/stats.sql --- postgresql-15-15.17/src/test/regress/sql/stats.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/stats.sql 2026-05-11 19:49:58.000000000 +0000 @@ -309,9 +309,17 @@ -- check that the stats are reset. SELECT (n_tup_ins + n_tup_upd) > 0 AS has_data FROM pg_stat_all_tables WHERE relid = 'pg_shdescription'::regclass; +-- stats_reset may not be set for datid=0 and shared objects in +-- pg_stat_database, so reset once. SELECT pg_stat_reset_single_table_counters('pg_shdescription'::regclass); SELECT (n_tup_ins + n_tup_upd) > 0 AS has_data FROM pg_stat_all_tables WHERE relid = 'pg_shdescription'::regclass; +SELECT stats_reset AS shared_db_reset_before + FROM pg_stat_database WHERE datid = 0 \gset +-- Second reset for comparison. +SELECT pg_stat_reset_single_table_counters('pg_shdescription'::regclass); +SELECT stats_reset > :'shared_db_reset_before'::timestamptz AS has_updated + FROM pg_stat_database WHERE datid = 0; -- set back comment \if :{?description_before} diff -Nru postgresql-15-15.17/src/test/regress/sql/tsearch.sql postgresql-15-15.18/src/test/regress/sql/tsearch.sql --- postgresql-15-15.17/src/test/regress/sql/tsearch.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/tsearch.sql 2026-05-11 19:49:58.000000000 +0000 @@ -569,6 +569,14 @@ SELECT ts_headline('english', 'foo bar', to_tsquery('english', '')); +-- Test for large values of StartSel, StopSel and FragmentDelimiter +SELECT ts_headline('english', 'foo barbar', to_tsquery('english', 'foo'), + 'StartSel=' || repeat('x', 32768)); +SELECT ts_headline('english', 'foo barbar', to_tsquery('english', 'foo'), + 'StopSel=' || repeat('x', 32768)); +SELECT ts_headline('english', 'foo barbar', to_tsquery('english', 'foo'), + 'FragmentDelimiter=' || repeat('x', 32768)); + --Rewrite sub system CREATE TABLE test_tsquery (txtkeyword TEXT, txtsample TEXT); diff -Nru postgresql-15-15.17/src/test/regress/sql/window.sql postgresql-15-15.18/src/test/regress/sql/window.sql --- postgresql-15-15.17/src/test/regress/sql/window.sql 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/test/regress/sql/window.sql 2026-05-11 19:49:58.000000000 +0000 @@ -326,6 +326,32 @@ SELECT pg_get_viewdef('v_window'); +-- test overflow frame specifications +SELECT sum(unique1) over (rows between current row and 9223372036854775807 following exclude current row), + unique1, four +FROM tenk1 WHERE unique1 < 10; + +SELECT sum(unique1) over (rows between 9223372036854775807 following and 1 following), + unique1, four +FROM tenk1 WHERE unique1 < 10; + +SELECT last_value(unique1) over (ORDER BY four rows between current row and 9223372036854775807 following exclude current row), + unique1, four +FROM tenk1 WHERE unique1 < 10; + +-- These test GROUPS mode with an offset large enough to cause overflow when +-- added to currentgroup. Although the overflow doesn't produce visibly wrong +-- results (due to the incremental nature of group pointer advancement), we +-- still need to protect against it as signed integer overflow is undefined +-- behavior in C. +SELECT sum(unique1) over (ORDER BY four groups between current row and 9223372036854775807 following), + unique1, four +FROM tenk1 WHERE unique1 < 10; + +SELECT sum(unique1) over (ORDER BY four groups between 9223372036854775807 following and unbounded following), + unique1, four +FROM tenk1 WHERE unique1 < 10; + -- RANGE offset PRECEDING/FOLLOWING tests SELECT sum(unique1) over (order by four range between 2::int8 preceding and 1::int2 preceding), diff -Nru postgresql-15-15.17/src/timezone/data/tzdata.zi postgresql-15-15.18/src/timezone/data/tzdata.zi --- postgresql-15-15.17/src/timezone/data/tzdata.zi 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/timezone/data/tzdata.zi 2026-05-11 19:49:58.000000000 +0000 @@ -1,4 +1,5 @@ -# version 2025c +# version 2026b +# redo posix_only # This zic input file is in the public domain. R d 1916 o - Jun 14 23s 1 S R d 1916 1919 - O Su>=1 23s 0 - @@ -1304,8 +1305,8 @@ R MT 1975 1979 - Ap Su>=15 2 1 S R MT 1975 1980 - S Su>=15 2 0 - R MT 1980 o - Mar 31 2 1 S -R MD 1997 ma - Mar lastSu 2 1 S -R MD 1997 ma - O lastSu 3 0 - +R MD 1997 2021 - Mar lastSu 2 1 S +R MD 1997 2021 - O lastSu 3 0 - R O 1918 1919 - S 16 2s 0 - R O 1919 o - Ap 15 2s 1 S R O 1944 o - Ap 3 2s 1 S @@ -2965,7 +2966,9 @@ -5 C E%sT Z America/Vancouver -8:12:28 - LMT 1884 -8 Va P%sT 1987 --8 C P%sT +-8 C P%sT 2026 Mar 9 +-8 1 PDT 2026 N 1 2 +-7 - MST Z America/Whitehorse -9:0:12 - LMT 1900 Au 20 -9 Y Y%sT 1965 -9 Yu Y%sT 1966 F 27 @@ -3666,7 +3669,8 @@ 3 R MSK/MSD 1990 May 6 2 2 R EE%sT 1992 2 e EE%sT 1997 -2 MD EE%sT +2 MD EE%sT 2022 +2 E EE%sT Z Europe/Dublin -0:25:21 - LMT 1880 Au 2 -0:25:21 - DMT 1916 May 21 2s -0:25:21 1 IST 1916 O 1 2s diff -Nru postgresql-15-15.17/src/timezone/strftime.c postgresql-15-15.18/src/timezone/strftime.c --- postgresql-15-15.17/src/timezone/strftime.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/timezone/strftime.c 2026-05-11 19:49:58.000000000 +0000 @@ -122,6 +122,13 @@ * Convert timestamp t to string s, a caller-allocated buffer of size maxsize, * using the given format pattern. * + * Unlike standard strftime(), we guarantee to provide a null-terminated + * result even on failure, so long as maxsize > 0. If we overrun the buffer, + * return an empty string rather than risking mis-encoded multibyte output. + * (Since this module only supports C locale, you might think multibyte + * characters are impossible --- but the time zone name printed by %Z comes + * from outside and could contain such.) + * * See also timestamptz_to_str. */ size_t @@ -135,11 +142,15 @@ if (!p) { errno = EOVERFLOW; + if (maxsize > 0) + *s = '\0'; return 0; } if (p == s + maxsize) { errno = ERANGE; + if (maxsize > 0) + *s = '\0'; return 0; } *p = '\0'; diff -Nru postgresql-15-15.17/src/timezone/zic.c postgresql-15-15.18/src/timezone/zic.c --- postgresql-15-15.17/src/timezone/zic.c 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/timezone/zic.c 2026-05-11 19:49:58.000000000 +0000 @@ -2629,7 +2629,7 @@ bool isdst, zic_t save, bool doquotes) { char *cp; - char *slashp; + char const *slashp; size_t len; char const *format = zp->z_format; diff -Nru postgresql-15-15.17/src/tools/make_ctags postgresql-15-15.18/src/tools/make_ctags --- postgresql-15-15.17/src/tools/make_ctags 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/tools/make_ctags 2026-05-11 19:49:58.000000000 +0000 @@ -1,16 +1,54 @@ #!/bin/sh -# src/tools/make_ctags +# src/tools/make_ctags [-e] [-n] +# If -e is specified, generate tags files for emacs. +# If -n is specified, don't create symbolic links of tags file. +usage="Usage: $0 [-e][-n]" +if [ $# -gt 2 ] +then echo $usage + exit 1 +fi -command -v ctags >/dev/null || \ - { echo "'ctags' program not found" 1>&2; exit 1; } +EMACS_MODE= +NO_SYMLINK= +IS_EXUBERANT= +PROG="ctags" +TAGS_OPT="-a -f" +TAGS_FILE="tags" +FLAGS= +IGNORE_IDENTIFIES= + +while [ $# -gt 0 ] +do + if [ $1 = "-e" ] + then EMACS_MODE="Y" + elif [ $1 = "-n" ] + then NO_SYMLINK="Y" + else + echo $usage + exit 1 + fi + shift +done -trap "rm -f /tmp/$$" 0 1 2 3 15 -rm -f ./tags +if [ ! "$EMACS_MODE" ] +then (command -v ctags >/dev/null) || \ + { echo "'ctags' program not found" 1>&2; exit 1; } +fi -IS_EXUBERANT="" ctags --version 2>&1 | grep Exuberant && IS_EXUBERANT="Y" +if [ "$EMACS_MODE" ] +then TAGS_FILE="TAGS" + if [ "$IS_EXUBERANT" ] + then PROG="ctags -e" + else (command -v etags >/dev/null) || \ + { echo "neither 'etags' nor exuberant 'ctags' program not found" 1>&2; exit 1; } + PROG="etags" + TAGS_OPT="-a -o" + fi +fi + # List of kinds supported by Exuberant Ctags 5.8 # generated by ctags --list-kinds # --c-kinds was called --c-types before 2003 @@ -31,12 +69,23 @@ if [ "$IS_EXUBERANT" ] then FLAGS="--c-kinds=+dfmstuv" -else FLAGS="-dt" +elif [ ! "$EMACS_MODE" ] +then FLAGS="-dt" fi +# Use -I option to ignore a macro +if [ "$IS_EXUBERANT" ] +then IGNORE_IDENTIFIES="-I pg_node_attr+" +fi + +trap "ret=$?; rm -rf /tmp/$$; exit $ret" 0 1 2 3 15 +rm -f ./$TAGS_FILE + # this is outputting the tags into the file 'tags', and appending -find `pwd`/ -type f -name '*.[chyl]' -print | - xargs ctags -a -f tags "$FLAGS" +find `pwd`/ \( -name tmp_install -prune -o -name tmp_check -prune \) \ + -o \( -name "*.[chly]" -o -iname "*makefile*" -o -name "*.mk" -o -name "*.in" \ + -o -name "*.sql" -o -name "*.p[lm]" \) -type f -print | + xargs $PROG $TAGS_OPT $TAGS_FILE $FLAGS $IGNORE_IDENTIFIES # Sorting non-Exuberant ctags file allows for fast searching of the tags file. # Since etags file has a header that we cannot sort in with the other entries @@ -44,10 +93,13 @@ if [ ! "$IS_EXUBERANT" -a ! "$EMACS_MODE" ] then LC_ALL=C export LC_ALL - sort tags >/tmp/$$ && mv /tmp/$$ tags + sort $TAGS_FILE >/tmp/$$ && mv /tmp/$$ $TAGS_FILE fi -find . \( -name 'CVS' -prune \) -o \( -name .git -prune \) -o -type d -print | -while read DIR -do [ "$DIR" != "." ] && ln -f -s `echo "$DIR" | sed 's;/[^/]*;/..;g'`/tags "$DIR"/tags -done +# create symbolic links +if [ ! "$NO_SYMLINK" ] +then find . \( -name 'CVS' -prune \) -o \( -name .git -prune \) -o -type d -print | + while read DIR + do [ "$DIR" != "." ] && ln -f -s `echo "$DIR" | sed 's;/[^/]*;/..;g'`/$TAGS_FILE "$DIR"/$TAGS_FILE + done +fi diff -Nru postgresql-15-15.17/src/tools/msvc/Mkvcbuild.pm postgresql-15-15.18/src/tools/msvc/Mkvcbuild.pm --- postgresql-15-15.17/src/tools/msvc/Mkvcbuild.pm 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/tools/msvc/Mkvcbuild.pm 2026-05-11 19:49:58.000000000 +0000 @@ -106,7 +106,7 @@ pread.c preadv.c pwrite.c pwritev.c pg_bitutils.c pg_strong_random.c pgcheckdir.c pgmkdirp.c pgsleep.c pgstrcasecmp.c pqsignal.c mkdtemp.c qsort.c qsort_arg.c bsearch_arg.c quotes.c system.c - strerror.c tar.c + strerror.c tar.c timingsafe_bcmp.c win32common.c win32env.c win32error.c win32fseek.c win32ntdll.c win32security.c win32setlocale.c win32stat.c); diff -Nru postgresql-15-15.17/src/tools/msvc/Solution.pm postgresql-15-15.18/src/tools/msvc/Solution.pm --- postgresql-15-15.17/src/tools/msvc/Solution.pm 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/tools/msvc/Solution.pm 2026-05-11 19:49:58.000000000 +0000 @@ -253,6 +253,7 @@ HAVE_DECL_STRNLEN => 1, HAVE_DECL_STRTOLL => 1, HAVE_DECL_STRTOULL => 1, + HAVE_DECL_TIMINGSAFE_BCMP => 0, HAVE_DLOPEN => undef, HAVE_EDITLINE_HISTORY_H => undef, HAVE_EDITLINE_READLINE_H => undef, @@ -415,6 +416,7 @@ HAVE_SYS_UIO_H => undef, HAVE_SYS_UN_H => undef, HAVE_TERMIOS_H => undef, + HAVE_TIMINGSAFE_BCMP => undef, HAVE_TYPEOF => undef, HAVE_UCRED_H => undef, HAVE_UINT64 => undef, @@ -463,13 +465,14 @@ PACKAGE_TARNAME => lc qq{"$package_name"}, PACKAGE_URL => qq{"$package_url"}, PACKAGE_VERSION => qq{"$package_version"}, + PG_CXX_PRINTF_ATTRIBUTE => undef, + PG_C_PRINTF_ATTRIBUTE => undef, PG_INT128_TYPE => undef, PG_INT64_TYPE => 'long long int', PG_KRB_SRVNAM => qq{"postgres"}, PG_MAJORVERSION => qq{"$majorver"}, PG_MAJORVERSION_NUM => $majorver, PG_MINORVERSION_NUM => $minorver, - PG_PRINTF_ATTRIBUTE => undef, PG_USE_STDBOOL => 1, PG_VERSION => qq{"$package_version$extraver"}, PG_VERSION_NUM => sprintf("%d%04d", $majorver, $minorver), diff -Nru postgresql-15-15.17/src/tools/pgindent/typedefs.list postgresql-15-15.18/src/tools/pgindent/typedefs.list --- postgresql-15-15.17/src/tools/pgindent/typedefs.list 2026-02-23 22:01:47.000000000 +0000 +++ postgresql-15-15.18/src/tools/pgindent/typedefs.list 2026-05-11 19:49:58.000000000 +0000 @@ -577,6 +577,7 @@ DiscardMode DiscardStmt DistanceValue +DistinctColInfo DistinctExpr DoStmt DocRepresentation