{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2025-09-25", "build": "18.0", "major": "18", "minor": 0, "manual": "18", "status": "stable", "doc_git": "", "version": "18.0", "eol_date": "2030-11-14", "date_text": "2025-09-25", "supported": true, "manual_url": "/docs/18/release-18.html", "source_url": "/docs/release/18.0/", "entry_count": 210, "placeholder": false, "content_hash": "18846b73e34c6c5402520e411e973c0a253591050c63dbc366a66ce751e0aeaa", "manual_build": "18.6", "source_as_of": "", "changes_count": 199, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore using <a href=\"/docs/18/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a> or use of <a href=\"/docs/18/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a> or logical replication is required for those wishing to migrate data from any previous release. See <a href=\"/docs/18/upgrading.html\" title=\"18.6. Upgrading a PostgreSQL Cluster\">Section 18.6</a> for general information on migrating to new major releases.</p>\n<p>Version 18 contains a number of changes that may affect compatibility with previous releases. Observe the following incompatibilities:</p>\n<div>\n</div>", "compatibility_count": 11, "label": "18.0", "status_label": "Supported", "eol": "2030-11-14", "age_days": 366, "support_days": 1510}, "groups": [{"date": "2025-09-25", "build": "18.0", "major": "18", "minor": 0, "manual": "18", "status": "stable", "doc_git": "", "version": "18.0", "eol_date": "2030-11-14", "date_text": "2025-09-25", "supported": true, "manual_url": "/docs/18/release-18.html", "source_url": "/docs/release/18.0/", "entry_count": 210, "placeholder": false, "content_hash": "18846b73e34c6c5402520e411e973c0a253591050c63dbc366a66ce751e0aeaa", "manual_build": "18.6", "source_as_of": "", "changes_count": 199, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore using <a href=\"/docs/18/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a> or use of <a href=\"/docs/18/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a> or logical replication is required for those wishing to migrate data from any previous release. See <a href=\"/docs/18/upgrading.html\" title=\"18.6. Upgrading a PostgreSQL Cluster\">Section 18.6</a> for general information on migrating to new major releases.</p>\n<p>Version 18 contains a number of changes that may affect compatibility with previous releases. Observe the following incompatibilities:</p>\n<div>\n</div>", "compatibility_count": 11, "label": "18.0", "status_label": "Supported", "eol": "2030-11-14", "age_days": 366, "support_days": 1510, "entries": [{"id": "18.0-a8fa82432892119f", "cves": [], "html": "<p>Change <a href=\"/docs/18/app-initdb.html\" title=\"initdb\"><span><span>initdb</span></span></a> default to enable data checksums (Greg Sabino Mullane) <a href=\"https://postgr.es/c/04bec894a04\">§</a></p>\n<p>Checksums can be disabled with the new <span>initdb</span> option <code>--no-data-checksums</code>. <a href=\"/docs/18/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a> requires matching cluster checksum settings, so this new option can be useful to upgrade non-checksum old clusters.</p>", "text": "Change initdb default to enable data checksums (Greg Sabino Mullane) § Checksums can be disabled with the new initdb option --no-data-checksums. pg_upgrade requires matching cluster checksum settings, so this new option can be useful to upgrade non-checksum old clusters.", "title": "Change initdb default to enable data checksums", "commits": ["04bec894a04"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "ab496434d25411703b78d251977a161d4f481117f9a61c9a5ed39e5056795861", "section_path": ["Compatibility"], "commit_groups": [["04bec894a04"]], "identity_text": "Change app-initdb default to enable data checksums (Greg Sabino Mullane) Checksums can be disabled with the new initdb option --no-data-checksums. pgupgrade requires matching cluster checksum settings, so this new option can be useful to upgrade non-checksum old clusters.", "commit_aliases": ["04bec894a04"], "source_commits": ["04bec894a04"], "source_entry_id": "18.0/migration/001", "db_id": "f3c7465886914cc33d3dae8014f0ac38", "patch_ids": ["f78286ddb1f2e6833c76c4a8351542bf"], "statement_hash": "8b50759677598fe7ea5e5a6df6d0083c36bbd43c74224fd00ca0fd9966a22f2f", "relations": [{"rule": 2, "type": "related", "target": "db70c584fb64d9f59231adb14744b4a2", "evidence": {"same_day": true, "patch_ids": ["f78286ddb1f2e6833c76c4a8351542bf"]}}], "version": "18.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": [{"db_id": "db70c584fb64d9f59231adb14744b4a2", "kind": "related", "version": "18.0", "label": "18.0", "title": "Change initdb to default to enabling checksums", "evidence": {"same_day": true, "patch_ids": ["f78286ddb1f2e6833c76c4a8351542bf"]}, "url": "/docs/compare/?release=18.0#18.0-d9b49042b8f09224", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS"}]}, {"id": "18.0-d328de9397b5e0d5", "cves": [], "html": "<p>Change time zone abbreviation handling (Tom Lane) <a href=\"https://postgr.es/c/d7674c9fa\">§</a></p>\n<p>The system will now favor the current session's time zone abbreviations before checking the server variable <a href=\"/docs/18/runtime-config-client.html#GUC-TIMEZONE-ABBREVIATIONS\">timezone_abbreviations</a>. Previously <code>timezone_abbreviations</code> was checked first.</p>", "text": "Change time zone abbreviation handling (Tom Lane) § The system will now favor the current session's time zone abbreviations before checking the server variable timezone_abbreviations. Previously timezone_abbreviations was checked first.", "title": "Change time zone abbreviation handling", "commits": ["d7674c9fa"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "ec9a6dbcae9b0cc2ac417b00bc0d62968e91e82fe34d0a8e1e8e63e896b46d5f", "section_path": ["Compatibility"], "commit_groups": [["d7674c9fa"]], "identity_text": "Change time zone abbreviation handling (Tom Lane) The system will now favor the current session's time zone abbreviations before checking the server variable guc-timezone-abbreviations . Previously timezone_abbreviations was checked first.", "commit_aliases": ["d7674c9fa"], "source_commits": ["d7674c9fa"], "source_entry_id": "18.0/migration/002", "db_id": "2343bc4fd897605d6495c765dfdc2774", "patch_ids": ["4fb970b4bd6121eaf0178066f8ea909c"], "statement_hash": "f8a25067db2d336959a2f40c8130ac1d55dcd167e4db04c3249bec7147a49eb8", "relations": [], "version": "18.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5b8f3e9c493f3cfc", "cves": [], "html": "<p>Deprecate <a href=\"/docs/18/auth-password.html\" title=\"20.5. Password Authentication\">MD5 password</a> authentication (Nathan Bossart) <a href=\"https://postgr.es/c/db6a4a985\">§</a></p>\n<p>Support for MD5 passwords will be removed in a future major version release. <a href=\"/docs/18/sql-createrole.html\" title=\"CREATE ROLE\"><span>CREATE ROLE</span></a> and <a href=\"/docs/18/sql-alterrole.html\" title=\"ALTER ROLE\"><span>ALTER ROLE</span></a> now emit deprecation warnings when setting MD5 passwords. These warnings can be disabled by setting the <a href=\"/docs/18/runtime-config-connection.html#GUC-MD5-PASSWORD-WARNINGS\">md5_password_warnings</a> parameter to <code>off</code>.</p>", "text": "Deprecate MD5 password authentication (Nathan Bossart) § Support for MD5 passwords will be removed in a future major version release. CREATE ROLE and ALTER ROLE now emit deprecation warnings when setting MD5 passwords. These warnings can be disabled by setting the md5_password_warnings parameter to off.", "title": "Deprecate MD5 password authentication", "commits": ["db6a4a985"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "a3c1406a89e6567a01f463dc017332ee26f86f6513954e4242d41228f630b354", "section_path": ["Compatibility"], "commit_groups": [["db6a4a985"]], "identity_text": "Deprecate MD5 password authentication (Nathan Bossart) Support for MD5 passwords will be removed in a future major version release. sql-createrole and sql-alterrole now emit deprecation warnings when setting MD5 passwords. These warnings can be disabled by setting the guc-md5-password-warnings parameter to off.", "commit_aliases": ["db6a4a985"], "source_commits": ["db6a4a985"], "source_entry_id": "18.0/migration/003", "db_id": "30aed22a7b379bfc7e845b051d348d35", "patch_ids": ["8c3ab652b8b1dc2fd0afe67ca881830c"], "statement_hash": "680efa648cd65a0e690a37b96731050a958a0690ae89e623a11e01e1a072488e", "relations": [], "version": "18.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c84ca88e6e5518a9", "cves": [], "html": "<p>Change <a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a> and <a href=\"/docs/18/sql-analyze.html\" title=\"ANALYZE\"><span>ANALYZE</span></a> to process the inheritance children of a parent (Michael Harris) <a href=\"https://postgr.es/c/62ddf7ee9\">§</a></p>\n<p>The previous behavior can be performed by using the new <code>ONLY</code> option.</p>", "text": "Change VACUUM and ANALYZE to process the inheritance children of a parent (Michael Harris) § The previous behavior can be performed by using the new ONLY option.", "title": "Change VACUUM and ANALYZE to process the inheritance children of a parent", "commits": ["62ddf7ee9"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "e38aa345a14711d367987f4fa89c4779eea36ec33d38f095e55fe5cee251a237", "section_path": ["Compatibility"], "commit_groups": [["62ddf7ee9"]], "identity_text": "Change sql-vacuum and sql-analyze to process the inheritance children of a parent (Michael Harris) The previous behavior can be performed by using the new ONLY option.", "commit_aliases": ["62ddf7ee9"], "source_commits": ["62ddf7ee9"], "source_entry_id": "18.0/migration/004", "db_id": "c27156e947f09ff22df4dce5613e8f4c", "patch_ids": ["29279fd7549098871f985b99df60e141"], "statement_hash": "76658321347e57068ed0f32921beaf67fdfe6744b563a2f78d0f84beb89c3ac3", "relations": [{"rule": 2, "type": "related", "target": "94f45240a0275d0638838beebe665ece", "evidence": {"same_day": true, "patch_ids": ["29279fd7549098871f985b99df60e141"]}}], "version": "18.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": [{"db_id": "94f45240a0275d0638838beebe665ece", "kind": "related", "version": "18.0", "label": "18.0", "title": "Allow VACUUM and ANALYZE to process partitioned tables without processing their children", "evidence": {"same_day": true, "patch_ids": ["29279fd7549098871f985b99df60e141"]}, "url": "/docs/compare/?release=18.0#18.0-f2283e0ad8b607f4", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY"}]}, {"id": "18.0-dea78a5140a83ea5", "cves": [], "html": "<p>Prevent <a href=\"/docs/18/sql-copy.html\" title=\"COPY\"><code>COPY FROM</code></a> from treating <code>\\.</code> as an end-of-file marker when reading <acronym>CSV</acronym> files (Daniel Vérité, Tom Lane) <a href=\"https://postgr.es/c/770233748\">§</a> <a href=\"https://postgr.es/c/da8a4c166\">§</a></p>\n<p><a href=\"/docs/18/app-psql.html\" title=\"psql\"><span><span>psql</span></span></a> will still treat <code>\\.</code> as an end-of-file marker when reading <acronym>CSV</acronym> files from <code>STDIN</code>. Older <span>psql</span> clients connecting to <span>PostgreSQL</span> 18 servers might experience <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMANDS-COPY\"><code>\\copy</code></a> problems. This release also enforces that <code>\\.</code> must appear alone on a line.</p>", "text": "Prevent COPY FROM from treating \\. as an end-of-file marker when reading CSV files (Daniel Vérité, Tom Lane) § § psql will still treat \\. as an end-of-file marker when reading CSV files from STDIN. Older psql clients connecting to PostgreSQL 18 servers might experience \\copy problems. This release also enforces that \\. must appear alone on a line.", "title": "Prevent COPY FROM from treating \\. as an end-of-file marker when reading CSV files", "commits": ["770233748", "da8a4c166"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "fea2a46c290c3f9965df10b2e76f7a4d57cffc9ed5493f2366fa39775ad33fe9", "section_path": ["Compatibility"], "commit_groups": [["770233748"], ["da8a4c166"]], "identity_text": "Prevent COPY FROM from treating \\. as an end-of-file marker when reading CSV files (Daniel Vérité, Tom Lane) app-psql will still treat \\. as an end-of-file marker when reading CSV files from STDIN. Older psql clients connecting to PostgreSQL 18 servers might experience \\copy problems. This release also enforces that \\. must appear alone on a line.", "commit_aliases": ["770233748", "da8a4c166"], "source_commits": ["770233748", "da8a4c166"], "source_entry_id": "18.0/migration/005", "db_id": "4f7cd257e4ad009f611f0caf979d438e", "patch_ids": ["0d4f992d2be4de6ff4cd458ccb95eca4", "1ea23822f2f40fda5f44f0d3d8abc20f"], "statement_hash": "e79e11d3871e9ef0892573cfab7e0f55552a205043d862b2e9724ee4c69f4016", "relations": [], "version": "18.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c367683bb470a5d2", "cves": [], "html": "<p>Disallow unlogged partitioned tables (Michael Paquier) <a href=\"https://postgr.es/c/e2bab2d79\">§</a></p>\n<p>Previously <a href=\"/docs/18/sql-altertable.html\" title=\"ALTER TABLE\"><code>ALTER TABLE SET [UN]LOGGED</code></a> did nothing, and the creation of an unlogged partitioned table did not cause its children to be unlogged.</p>", "text": "Disallow unlogged partitioned tables (Michael Paquier) § Previously ALTER TABLE SET [UN]LOGGED did nothing, and the creation of an unlogged partitioned table did not cause its children to be unlogged.", "title": "Disallow unlogged partitioned tables", "commits": ["e2bab2d79"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "2a426f3624dd193ed36b9a5f8e99a1c2b6a654ba9a342e2deb4f460d5d74d69c", "section_path": ["Compatibility"], "commit_groups": [["e2bab2d79"]], "identity_text": "Disallow unlogged partitioned tables (Michael Paquier) Previously ALTER TABLE SET [UN]LOGGED did nothing, and the creation of an unlogged partitioned table did not cause its children to be unlogged.", "commit_aliases": ["e2bab2d79"], "source_commits": ["e2bab2d79"], "source_entry_id": "18.0/migration/006", "db_id": "8118dd69602467d30fb6a9609bba6b70", "patch_ids": ["04e8ab00f8915683a43dd6f436a5c79b"], "statement_hash": "3b9bcae38ba730024eb2f2277a64804c55d104dbf649268784801db61ef784c1", "relations": [], "version": "18.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0d2c2c2259abf618", "cves": [], "html": "<p>Execute <code>AFTER</code> <a href=\"/docs/18/triggers.html\" title=\"Chapter 37. Triggers\">triggers</a> as the role that was active when trigger events were queued (Laurenz Albe) <a href=\"https://postgr.es/c/01463e1cc\">§</a></p>\n<p>Previously such triggers were run as the role that was active at trigger execution time (e.g., at <a href=\"/docs/18/sql-commit.html\" title=\"COMMIT\"><span>COMMIT</span></a>). This is significant for cases where the role is changed between queue time and transaction commit.</p>", "text": "Execute AFTER triggers as the role that was active when trigger events were queued (Laurenz Albe) § Previously such triggers were run as the role that was active at trigger execution time (e.g., at COMMIT). This is significant for cases where the role is changed between queue time and transaction commit.", "title": "Execute AFTER triggers as the role that was active when trigger events were queued", "commits": ["01463e1cc"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "f10785acbe9b26f28a8c98e9a00c1d2a4e8afa8c0b7f7291f990211dfc079f53", "section_path": ["Compatibility"], "commit_groups": [["01463e1cc"]], "identity_text": "Execute AFTER triggers as the role that was active when trigger events were queued (Laurenz Albe) Previously such triggers were run as the role that was active at trigger execution time (e.g., at sql-commit ). This is significant for cases where the role is changed between queue time and transaction commit.", "commit_aliases": ["01463e1cc"], "source_commits": ["01463e1cc"], "source_entry_id": "18.0/migration/007", "db_id": "ae8521434650fe5524c9fcaa38acac84", "patch_ids": ["917ba717810e74a1c7c638690cf0f5eb"], "statement_hash": "f0612c07183e11ac71073f5d359d3b0a521ebcc0822d94befe83c23059d03016", "relations": [], "version": "18.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-607cc591e9d82ae8", "cves": [], "html": "<p>Remove non-functional support for rule privileges in <a href=\"/docs/18/sql-grant.html\" title=\"GRANT\"><span>GRANT</span></a>/<a href=\"/docs/18/sql-revoke.html\" title=\"REVOKE\"><span>REVOKE</span></a> (Fujii Masao) <a href=\"https://postgr.es/c/fefa76f70\">§</a></p>\n<p>These have been non-functional since <span>PostgreSQL</span> 8.2.</p>", "text": "Remove non-functional support for rule privileges in GRANT/REVOKE (Fujii Masao) § These have been non-functional since PostgreSQL 8.2.", "title": "Remove non-functional support for rule privileges in GRANT/REVOKE", "commits": ["fefa76f70"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "db08cd3d3ddd023cec8d6165fd052ba6e7d655cc958d6c238b6f02af024dc1a1", "section_path": ["Compatibility"], "commit_groups": [["fefa76f70"]], "identity_text": "Remove non-functional support for rule privileges in sql-grant / sql-revoke (Fujii Masao) These have been non-functional since PostgreSQL 8.2.", "commit_aliases": ["fefa76f70"], "source_commits": ["fefa76f70"], "source_entry_id": "18.0/migration/008", "db_id": "421b9236b8ba45e9981de4acb0936336", "patch_ids": ["1a39a92752613c9674e39e99f119c2de"], "statement_hash": "9a9f6ec57f00ae867aca818ec5c55d43899650a49ee6ab2ce0bed4d154bb41b9", "relations": [], "version": "18.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-558a645d00b3f47b", "cves": [], "html": "<p>Remove column <a href=\"/docs/18/view-pg-backend-memory-contexts.html\" title=\"53.5. pg_backend_memory_contexts\"><code>pg_backend_memory_contexts</code></a>.<code>parent</code> (Melih Mutlu) <a href=\"https://postgr.es/c/f0d112759\">§</a></p>\n<p>This is no longer needed since <code>pg_backend_memory_contexts</code>.<code>path</code> was added.</p>", "text": "Remove column pg_backend_memory_contexts.parent (Melih Mutlu) § This is no longer needed since pg_backend_memory_contexts.path was added.", "title": "Remove column pg_backend_memory_contexts.parent", "commits": ["f0d112759"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "3348da5b519f14fb93b5b2c6235af20ce3d744fa55889ab04d496724498b7727", "section_path": ["Compatibility"], "commit_groups": [["f0d112759"]], "identity_text": "Remove column pg_backend_memory_contexts.parent (Melih Mutlu) This is no longer needed since pg_backend_memory_contexts.path was added.", "commit_aliases": ["f0d112759"], "source_commits": ["f0d112759"], "source_entry_id": "18.0/migration/009", "db_id": "af948e47866b03a70707df9bf672d482", "patch_ids": ["91a2e8e9299edf53c184627b3cf053e7"], "statement_hash": "a4dc378426b8f016478b991a4d989f716af959a3b360b65d527ec7fd450acb6b", "relations": [], "version": "18.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3bddcb1c02f74659", "cves": [], "html": "<p>Change <code>pg_backend_memory_contexts</code>.<code>level</code> and <a href=\"/docs/18/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE\" title=\"Table 9.96. Server Signaling Functions\"><code>pg_log_backend_memory_contexts()</code></a> to be one-based (Melih Mutlu, Atsushi Torikoshi, David Rowley, Fujii Masao) <a href=\"https://postgr.es/c/32d3ed816\">§</a> <a href=\"https://postgr.es/c/d9e03864b\">§</a> <a href=\"https://postgr.es/c/706cbed35\">§</a></p>\n<p>These were previously zero-based.</p>", "text": "Change pg_backend_memory_contexts.level and pg_log_backend_memory_contexts() to be one-based (Melih Mutlu, Atsushi Torikoshi, David Rowley, Fujii Masao) § § § These were previously zero-based.", "title": "Change pg_backend_memory_contexts.level and pg_log_backend_memory_contexts() to be one-based", "commits": ["32d3ed816", "706cbed35", "d9e03864b"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "50bbd1729e746a694a3df7d491e7ab79d0b57696ebbb5127fdc124520b03ee7c", "section_path": ["Compatibility"], "commit_groups": [["32d3ed816"], ["706cbed35"], ["d9e03864b"]], "identity_text": "Change pg_backend_memory_contexts.level and pg_log_backend_memory_contexts() to be one-based (Melih Mutlu, Atsushi Torikoshi, David Rowley, Fujii Masao) These were previously zero-based.", "commit_aliases": ["32d3ed816", "706cbed35", "d9e03864b"], "source_commits": ["32d3ed816", "706cbed35", "d9e03864b"], "source_entry_id": "18.0/migration/010", "db_id": "b8c57d935d8b183f9ee20e7477f90abd", "patch_ids": ["3d61500ab7649ba207c5b4742ce83946", "845864cc388c5f840e08c3fdf9f3032a", "eaa8db2e49e44f9880c123bf159cab42"], "statement_hash": "c56bfdda9e9b110545ab282f1be71da486fd1e7af030b2a5c125fe4d37560c98", "relations": [{"rule": 2, "type": "related", "target": "7ed5d279df474d7ce518a2cd605d091d", "evidence": {"same_day": true, "patch_ids": ["eaa8db2e49e44f9880c123bf159cab42"]}}], "version": "18.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": [{"db_id": "7ed5d279df474d7ce518a2cd605d091d", "kind": "related", "version": "18.0", "label": "18.0", "title": "Add column pg_backend_memory_contexts.path to show memory context parents", "evidence": {"same_day": true, "patch_ids": ["eaa8db2e49e44f9880c123bf159cab42"]}, "url": "/docs/compare/?release=18.0#18.0-f9c2e124d8a94a20", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING"}]}, {"id": "18.0-63b962f0125472b6", "cves": [], "html": "<p>Change <a href=\"/docs/18/textsearch.html\" title=\"Chapter 12. Full Text Search\">full text search</a> to use the default collation provider of the cluster to read configuration files and dictionaries, rather than always using libc (Peter Eisentraut) <a href=\"https://postgr.es/c/fb1a18810f0\">§</a></p>\n<p>Clusters that default to non-libc collation providers (e.g., ICU, builtin) that behave differently than libc for characters processed by LC_CTYPE could observe changes in behavior of some full-text search functions, as well as the <a href=\"/docs/18/pgtrgm.html\" title=\"F.35. pg_trgm — support for similarity of text using trigram matching\">pg_trgm</a> extension. When upgrading such clusters using <a href=\"/docs/18/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>, it is recommended to reindex all indexes related to full-text search and <span>pg_trgm</span> after the upgrade.</p>", "text": "Change full text search to use the default collation provider of the cluster to read configuration files and dictionaries, rather than always using libc (Peter Eisentraut) § Clusters that default to non-libc collation providers (e.g., ICU, builtin) that behave differently than libc for characters processed by LC_CTYPE could observe changes in behavior of some full-text search functions, as well as the pg_trgm extension. When upgrading such clusters using pg_upgrade, it is recommended to reindex all indexes related to full-text search and pg_trgm after the upgrade.", "title": "Change full text search to use the default collation provider of the cluster to read configuration files and dictionaries, rather than always using libc", "commits": ["fb1a18810f0"], "section": "Compatibility", "category": "compatibility", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION", "source_hash": "e3ce56b4fc2a72cd171306a24ddd0b8daecb530f1409e98a57781871e32f9519", "section_path": ["Compatibility"], "commit_groups": [["fb1a18810f0"]], "identity_text": "Change full text search to use the default collation provider of the cluster to read configuration files and dictionaries, rather than always using libc (Peter Eisentraut) Clusters that default to non-libc collation providers (e.g., ICU, builtin) that behave differently than libc for characters processed by LC_CTYPE could observe changes in behavior of some full-text search functions, as well as the pgtrgm extension. When upgrading such clusters using pgupgrade , it is recommended to reindex all indexes related to full-text search and pg_trgm after the upgrade.", "commit_aliases": ["fb1a18810f0"], "source_commits": ["fb1a18810f0"], "source_entry_id": "18.0/migration/011", "db_id": "14f7ec96f489178a5ba54f0173a2002a", "patch_ids": ["d34589a0ca33552be8913ecb392dc365"], "statement_hash": "0d016706c1da5d040bed5653360eaa27ed050c9172ff53f737e1221153008011", "relations": [], "version": "18.0", "category_label": "Compatibility", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-680d6a94e6af24a0", "cves": [], "html": "<p>Automatically remove some unnecessary table self-joins (Andrey Lepikhov, Alexander Kuzmenkov, Alexander Korotkov, Alena Rybakina) <a href=\"https://postgr.es/c/fc069a3a6\">§</a></p>\n<p>This optimization can be disabled using server variable <a href=\"/docs/18/runtime-config-query.html#GUC-ENABLE-SELF-JOIN-ELIMINATION\">enable_self_join_elimination</a>.</p>", "text": "Automatically remove some unnecessary table self-joins (Andrey Lepikhov, Alexander Kuzmenkov, Alexander Korotkov, Alena Rybakina) § This optimization can be disabled using server variable enable_self_join_elimination.", "title": "Automatically remove some unnecessary table self-joins", "commits": ["fc069a3a6"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "40c3196e66530b1ad6c86357db78c6683c075a289ecc4fdc11ccdd15d42dafad", "section_path": ["Server", "Optimizer"], "commit_groups": [["fc069a3a6"]], "identity_text": "Automatically remove some unnecessary table self-joins (Andrey Lepikhov, Alexander Kuzmenkov, Alexander Korotkov, Alena Rybakina) This optimization can be disabled using server variable guc-enable-self-join-elimination .", "commit_aliases": ["fc069a3a6"], "source_commits": ["fc069a3a6"], "source_entry_id": "18.0/changes/001", "db_id": "e93aac468afc7b983da5961bc89a6570", "patch_ids": ["f4668f24b918872b344ea179b57163cf"], "statement_hash": "235c5aa78ae11057e82ffcaba18192f08d816b80c7a4abeb2ccab576de5173f7", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d841fa8566ba0e41", "cves": [], "html": "<p>Convert some <a href=\"/docs/18/functions-comparisons.html#FUNCTIONS-COMPARISONS-IN-SCALAR\" title=\"9.25.1. IN\"><code>IN (VALUES ...)</code></a> to <code>x = ANY ...</code> for better optimizer statistics (Alena Rybakina, Andrei Lepikhov) <a href=\"https://postgr.es/c/c0962a113\">§</a></p>", "text": "Convert some IN (VALUES ...) to x = ANY ... for better optimizer statistics (Alena Rybakina, Andrei Lepikhov) §", "title": "Convert some IN (VALUES ...) to x = ANY ... for better optimizer statistics", "commits": ["c0962a113"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "4ba957892aa6172c1ba4d6e4d5242417072a25fa5fb19f26aa2cb93b5cdcea82", "section_path": ["Server", "Optimizer"], "commit_groups": [["c0962a113"]], "identity_text": "Convert some IN (VALUES ...) to x = ANY ... for better optimizer statistics (Alena Rybakina, Andrei Lepikhov)", "commit_aliases": ["c0962a113"], "source_commits": ["c0962a113"], "source_entry_id": "18.0/changes/002", "db_id": "764cb613ec29b5df2b6d0d9987768083", "patch_ids": ["f3ef498af7484884fe0fe8d3179d0691"], "statement_hash": "1994faf6d5d15f3e4a7dbff5aa1cd8f7f3f12341dfdeacdf6a2f1f84be69c14b", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c98c0b36c2f7ee04", "cves": [], "html": "<p>Allow transforming <a href=\"/docs/18/functions-logical.html\" title=\"9.1. Logical Operators\"><code>OR</code></a>-clauses to arrays for faster index processing (Alexander Korotkov, Andrey Lepikhov) <a href=\"https://postgr.es/c/ae4569161\">§</a></p>", "text": "Allow transforming OR-clauses to arrays for faster index processing (Alexander Korotkov, Andrey Lepikhov) §", "title": "Allow transforming OR-clauses to arrays for faster index processing", "commits": ["ae4569161"], "section": "Server / Optimizer", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "5fd9cfd78e09d29f7989ebf65e641d8464ca20ab208b3010f1927e2a5a38d21e", "section_path": ["Server", "Optimizer"], "commit_groups": [["ae4569161"]], "identity_text": "Allow transforming OR-clauses to arrays for faster index processing (Alexander Korotkov, Andrey Lepikhov)", "commit_aliases": ["ae4569161"], "source_commits": ["ae4569161"], "source_entry_id": "18.0/changes/003", "db_id": "2e05a47011ecefd0b4eb07547cc72835", "patch_ids": ["fb982918d31ae726b84a777e332b6884"], "statement_hash": "02c7be9bbfb909c1719246ac2948e31ec265c3b148e5d9b6ae59b607ffc7865e", "relations": [], "version": "18.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3e2b4de2db16b12f", "cves": [], "html": "<p>Speed up the processing of <a href=\"/docs/18/sql-select.html#SQL-INTERSECT\" title=\"INTERSECT Clause\"><code>INTERSECT</code></a>, <a href=\"/docs/18/sql-select.html#SQL-EXCEPT\" title=\"EXCEPT Clause\"><code>EXCEPT</code></a>, <a href=\"/docs/18/tutorial-window.html\" title=\"3.5. Window Functions\">window aggregates</a>, and <a href=\"/docs/18/sql-createview.html\" title=\"CREATE VIEW\">view column aliases</a> (Tom Lane, David Rowley) <a href=\"https://postgr.es/c/52c707483\">§</a> <a href=\"https://postgr.es/c/276279295\">§</a> <a href=\"https://postgr.es/c/8d96f57d5\">§</a> <a href=\"https://postgr.es/c/908a96861\">§</a></p>", "text": "Speed up the processing of INTERSECT, EXCEPT, window aggregates, and view column aliases (Tom Lane, David Rowley) § § § §", "title": "Speed up the processing of INTERSECT, EXCEPT, window aggregates, and view column aliases", "commits": ["276279295", "52c707483", "8d96f57d5", "908a96861"], "section": "Server / Optimizer", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "91354d1ac2e34f2ac56c584852bd500487ec143feea22c06d2d473ea4526c886", "section_path": ["Server", "Optimizer"], "commit_groups": [["276279295"], ["52c707483"], ["8d96f57d5"], ["908a96861"]], "identity_text": "Speed up the processing of INTERSECT, EXCEPT, window aggregates, and view column aliases (Tom Lane, David Rowley)", "commit_aliases": ["276279295", "52c707483", "8d96f57d5", "908a96861"], "source_commits": ["276279295", "52c707483", "8d96f57d5", "908a96861"], "source_entry_id": "18.0/changes/004", "db_id": "27889e11b1017fcd071cbebfd982e004", "patch_ids": ["88fc8de0d114dd8d37c995d33aa2e424", "c34e95d351102295e83eda2c0898ef4f", "d6f6d3fc510fd75b0cd2a6ccb16caf21", "e02121b5ec912ea613d75476b5d8da31"], "statement_hash": "67a7f9ceb4d2956015c1be13e9166cb6044290d7faf0fb602f564494e744c06e", "relations": [], "version": "18.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e1173d201acd35c6", "cves": [], "html": "<p>Allow the keys of <a href=\"/docs/18/sql-select.html#SQL-DISTINCT\" title=\"DISTINCT Clause\"><code>SELECT DISTINCT</code></a> to be internally reordered to avoid sorting (Richard Guo) <a href=\"https://postgr.es/c/a8ccf4e93\">§</a></p>\n<p>This optimization can be disabled using <a href=\"/docs/18/runtime-config-query.html#GUC-ENABLE-DISTINCT-REORDERING\">enable_distinct_reordering</a>.</p>", "text": "Allow the keys of SELECT DISTINCT to be internally reordered to avoid sorting (Richard Guo) § This optimization can be disabled using enable_distinct_reordering.", "title": "Allow the keys of SELECT DISTINCT to be internally reordered to avoid sorting", "commits": ["a8ccf4e93"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "0b3d9b69f68103fec0e196e120de31d7d5ccbd1c26beea05060ff6a886ab9130", "section_path": ["Server", "Optimizer"], "commit_groups": [["a8ccf4e93"]], "identity_text": "Allow the keys of SELECT DISTINCT to be internally reordered to avoid sorting (Richard Guo) This optimization can be disabled using guc-enable-distinct-reordering .", "commit_aliases": ["a8ccf4e93"], "source_commits": ["a8ccf4e93"], "source_entry_id": "18.0/changes/005", "db_id": "e1633e7353cb2e283e589f245c02709b", "patch_ids": ["2a4dc17b68562e6259b7bb1052fff9ad"], "statement_hash": "8e10ed699456a43e5c53f99fc9ddb0ec2951686ee8551c8e706fbd1d1b10766c", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-723dd69ea02477f1", "cves": [], "html": "<p>Ignore <a href=\"/docs/18/sql-select.html#SQL-GROUPBY\" title=\"GROUP BY Clause\"><code>GROUP BY</code></a> columns that are functionally dependent on other columns (Zhang Mingli, Jian He, David Rowley) <a href=\"https://postgr.es/c/bd10ec529\">§</a></p>\n<p>If a <code>GROUP BY</code> clause includes all columns of a unique index, as well as other columns of the same table, those other columns are redundant and can be dropped from the grouping. This was already true for non-deferred primary keys.</p>", "text": "Ignore GROUP BY columns that are functionally dependent on other columns (Zhang Mingli, Jian He, David Rowley) § If a GROUP BY clause includes all columns of a unique index, as well as other columns of the same table, those other columns are redundant and can be dropped from the grouping. This was already true for non-deferred primary keys.", "title": "Ignore GROUP BY columns that are functionally dependent on other columns", "commits": ["bd10ec529"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "590fd20dfbdf85d87e1c14e1c4ca54d910d8ce015f220e7798d40fa268c94536", "section_path": ["Server", "Optimizer"], "commit_groups": [["bd10ec529"]], "identity_text": "Ignore GROUP BY columns that are functionally dependent on other columns (Zhang Mingli, Jian He, David Rowley) If a GROUP BY clause includes all columns of a unique index, as well as other columns of the same table, those other columns are redundant and can be dropped from the grouping. This was already true for non-deferred primary keys.", "commit_aliases": ["bd10ec529"], "source_commits": ["bd10ec529"], "source_entry_id": "18.0/changes/006", "db_id": "69820747e9a30607a8a95df47dbabdd6", "patch_ids": ["34cad2fc9ab6206a92e572686514a8b6"], "statement_hash": "f79bb17c14f5da30c295cc7cf55f487a682d1912a3cd315fb8c06f09d6f9fd62", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-28dd1f0f20c4cc4b", "cves": [], "html": "<p>Allow some <a href=\"/docs/18/sql-select.html#SQL-HAVING\" title=\"HAVING Clause\"><code>HAVING</code></a> clauses on <a href=\"/docs/18/queries-table-expressions.html#QUERIES-GROUPING-SETS\" title=\"7.2.4. GROUPING SETS, CUBE, and ROLLUP\"><code>GROUPING SETS</code></a> to be pushed to <a href=\"/docs/18/sql-select.html#SQL-WHERE\" title=\"WHERE Clause\"><code>WHERE</code></a> clauses (Richard Guo) <a href=\"https://postgr.es/c/67a54b9e8\">§</a> <a href=\"https://postgr.es/c/247dea89f\">§</a> <a href=\"https://postgr.es/c/f5050f795\">§</a> <a href=\"https://postgr.es/c/cc5d98525\">§</a></p>\n<p>This allows earlier row filtering. This release also fixes some <code>GROUPING SETS</code> queries that used to return incorrect results.</p>", "text": "Allow some HAVING clauses on GROUPING SETS to be pushed to WHERE clauses (Richard Guo) § § § § This allows earlier row filtering. This release also fixes some GROUPING SETS queries that used to return incorrect results.", "title": "Allow some HAVING clauses on GROUPING SETS to be pushed to WHERE clauses", "commits": ["247dea89f", "67a54b9e8", "cc5d98525", "f5050f795"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "7d93dee8cbb6c5b43abf85da682b3cd602844df0aad42cdf3bd1b210551f26fb", "section_path": ["Server", "Optimizer"], "commit_groups": [["247dea89f"], ["67a54b9e8"], ["cc5d98525"], ["f5050f795"]], "identity_text": "Allow some HAVING clauses on GROUPING SETS to be pushed to WHERE clauses (Richard Guo) This allows earlier row filtering. This release also fixes some GROUPING SETS queries that used to return incorrect results.", "commit_aliases": ["247dea89f", "67a54b9e8", "cc5d98525", "f5050f795"], "source_commits": ["247dea89f", "67a54b9e8", "cc5d98525", "f5050f795"], "source_entry_id": "18.0/changes/007", "db_id": "e536ba32048335bb638a016ded27116b", "patch_ids": ["1ae07ed70f6403998c8d004a95303270", "302fc509a25f9b4b070cfc2ed497cc05", "5ce25769fa8297252747bcadd5fb8096", "bb70968006a3e0fdebcd1dd48f3e503a"], "statement_hash": "5de0004596ff255cc8fd70e95011362605c186180864bfadb9674a57e084c4d8", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-75da163cbd9e48a6", "cves": [], "html": "<p>Improve row estimates for <a href=\"/docs/18/functions-srf.html#FUNCTIONS-SRF-SERIES\" title=\"Table 9.69. Series Generating Functions\"><code>generate_series()</code></a> using <a href=\"/docs/18/datatype-numeric.html\" title=\"8.1. Numeric Types\"><code>numeric</code></a> and <a href=\"/docs/18/datatype-datetime.html\" title=\"8.5. Date/Time Types\"><code>timestamp</code></a> values (David Rowley, Song Jinzhou) <a href=\"https://postgr.es/c/036bdcec9\">§</a> <a href=\"https://postgr.es/c/97173536e\">§</a></p>", "text": "Improve row estimates for generate_series() using numeric and timestamp values (David Rowley, Song Jinzhou) § §", "title": "Improve row estimates for generate_series() using numeric and timestamp values", "commits": ["036bdcec9", "97173536e"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "bfa62ab567808d130606b57322b3564d5ab00860079455bf2fba489acbfce75f", "section_path": ["Server", "Optimizer"], "commit_groups": [["036bdcec9"], ["97173536e"]], "identity_text": "Improve row estimates for generate_series() using numeric and timestamp values (David Rowley, Song Jinzhou)", "commit_aliases": ["036bdcec9", "97173536e"], "source_commits": ["036bdcec9", "97173536e"], "source_entry_id": "18.0/changes/008", "db_id": "d82aac51b035bfe8e15d4159c668f73a", "patch_ids": ["1dd699091397089a53c5d457b050033e", "804e83795dfcb3c7cca716573e30de6a"], "statement_hash": "802febfa899f0c3d0039d8e72f923517c82398682ce553e3c5c63f2374a042d7", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-70a56ade34590ddd", "cves": [], "html": "<p>Allow the optimizer to use <code>Right Semi Join</code> plans (Richard Guo) <a href=\"https://postgr.es/c/aa86129e1\">§</a></p>\n<p>Semi-joins are used when needing to find if there is at least one match.</p>", "text": "Allow the optimizer to use Right Semi Join plans (Richard Guo) § Semi-joins are used when needing to find if there is at least one match.", "title": "Allow the optimizer to use Right Semi Join plans", "commits": ["aa86129e1"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "619b5f1bfc705891d795ac9ab763f6362d300120b9a2d649250a5fb0fe617a45", "section_path": ["Server", "Optimizer"], "commit_groups": [["aa86129e1"]], "identity_text": "Allow the optimizer to use Right Semi Join plans (Richard Guo) Semi-joins are used when needing to find if there is at least one match.", "commit_aliases": ["aa86129e1"], "source_commits": ["aa86129e1"], "source_entry_id": "18.0/changes/009", "db_id": "f76a8468845b91ddcffeaa33fa3400a0", "patch_ids": ["79e6e1842e88c7f535ade4eaba7be513"], "statement_hash": "117c31abccc7e061fab7475bec0bdf75e420f53925d5e95de87e71dad3cea951", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0bf93b27e1b1c8e2", "cves": [], "html": "<p>Allow merge joins to use <a href=\"/docs/18/runtime-config-query.html#GUC-ENABLE-INCREMENTAL-SORT\">incremental sorts</a> (Richard Guo) <a href=\"https://postgr.es/c/828e94c9d\">§</a></p>", "text": "Allow merge joins to use incremental sorts (Richard Guo) §", "title": "Allow merge joins to use incremental sorts", "commits": ["828e94c9d"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "232faeb186a197cb2d471ce89d7969bca2593ea44e545f90f86f5ec9974800b1", "section_path": ["Server", "Optimizer"], "commit_groups": [["828e94c9d"]], "identity_text": "Allow merge joins to use incremental sorts (Richard Guo)", "commit_aliases": ["828e94c9d"], "source_commits": ["828e94c9d"], "source_entry_id": "18.0/changes/010", "db_id": "7e8d7bcff75eca9f6d3794b3ed0388fb", "patch_ids": ["22cb8f9f6594048e5c90b7c0a948ea39"], "statement_hash": "c730545e91cae06688ba34e2ac9097a5800e1f311eaa283af2f272f7a1ac2767", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-200b52f9d63401ad", "cves": [], "html": "<p>Improve the efficiency of planning queries accessing many partitions (Ashutosh Bapat, Yuya Watari, David Rowley) <a href=\"https://postgr.es/c/88f55bc97\">§</a> <a href=\"https://postgr.es/c/d69d45a5a\">§</a></p>", "text": "Improve the efficiency of planning queries accessing many partitions (Ashutosh Bapat, Yuya Watari, David Rowley) § §", "title": "Improve the efficiency of planning queries accessing many partitions", "commits": ["88f55bc97", "d69d45a5a"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "7cec6b7a3c4b0b96689bd0d68404844c350a00677ea88e38b124b1582f228d77", "section_path": ["Server", "Optimizer"], "commit_groups": [["88f55bc97"], ["d69d45a5a"]], "identity_text": "Improve the efficiency of planning queries accessing many partitions (Ashutosh Bapat, Yuya Watari, David Rowley)", "commit_aliases": ["88f55bc97", "d69d45a5a"], "source_commits": ["88f55bc97", "d69d45a5a"], "source_entry_id": "18.0/changes/011", "db_id": "6365c622e7f4156b307f731e72d9a3de", "patch_ids": ["15b3816633681459d9dd93e64a48ce0d", "ba8aa7045b27e8a9467ad9df65f2a614"], "statement_hash": "abf3aa0c2277a1dc8d9ddb61b3ffe1d2c987f7e7d4295a9d96f9ad75fa3f8e2a", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-cd058ce20aafebed", "cves": [], "html": "<p>Allow <a href=\"/docs/18/runtime-config-query.html#GUC-ENABLE-PARTITIONWISE-JOIN\">partitionwise joins</a> in more cases, and reduce its memory usage (Richard Guo, Tom Lane, Ashutosh Bapat) <a href=\"https://postgr.es/c/9b282a935\">§</a> <a href=\"https://postgr.es/c/513f4472a\">§</a></p>", "text": "Allow partitionwise joins in more cases, and reduce its memory usage (Richard Guo, Tom Lane, Ashutosh Bapat) § §", "title": "Allow partitionwise joins in more cases, and reduce its memory usage", "commits": ["513f4472a", "9b282a935"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "cccb81e8d167297ee2b086955ed9914693ecfdb1803b07df4ff007a993b1d1bd", "section_path": ["Server", "Optimizer"], "commit_groups": [["513f4472a"], ["9b282a935"]], "identity_text": "Allow partitionwise joins in more cases, and reduce its memory usage (Richard Guo, Tom Lane, Ashutosh Bapat)", "commit_aliases": ["513f4472a", "9b282a935"], "source_commits": ["513f4472a", "9b282a935"], "source_entry_id": "18.0/changes/012", "db_id": "e1323b3c594bfa821577fa9462f03cdb", "patch_ids": ["2ff70c110f54ba540a2cece6e3a512cd", "dd416b1d8a4d68e28e16f90c7055e0bb"], "statement_hash": "40327e199cf2577490955fbcc74c05fe2901108bec3acfe4621734a986af7685", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0a96c3f22c743902", "cves": [], "html": "<p>Improve cost estimates of partition queries (Nikita Malakhov, Andrei Lepikhov) <a href=\"https://postgr.es/c/fae535da0\">§</a></p>", "text": "Improve cost estimates of partition queries (Nikita Malakhov, Andrei Lepikhov) §", "title": "Improve cost estimates of partition queries", "commits": ["fae535da0"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "ad72fe467357e9b21f201ea22bac15faa0c66b16f28d43cb9b3f490b554ae9db", "section_path": ["Server", "Optimizer"], "commit_groups": [["fae535da0"]], "identity_text": "Improve cost estimates of partition queries (Nikita Malakhov, Andrei Lepikhov)", "commit_aliases": ["fae535da0"], "source_commits": ["fae535da0"], "source_entry_id": "18.0/changes/013", "db_id": "c65e9805a7d1ddaa6d1373559e4cc29f", "patch_ids": ["61b7fea36f21c950e67f8bac538e8fce"], "statement_hash": "a36db3cf18d61186e69ff7181df62ed65dd845c1892191555ce2f6c4eecb52bd", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0ed62a6dcc6eb60c", "cves": [], "html": "<p>Improve <a href=\"/docs/18/xfunc-sql.html\" title=\"36.5. Query Language (SQL) Functions\"><acronym>SQL</acronym>-language function</a> plan caching (Alexander Pyhalov, Tom Lane) <a href=\"https://postgr.es/c/0dca5d68d\">§</a> <a href=\"https://postgr.es/c/09b07c295\">§</a></p>", "text": "Improve SQL-language function plan caching (Alexander Pyhalov, Tom Lane) § §", "title": "Improve SQL-language function plan caching", "commits": ["09b07c295", "0dca5d68d"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "624d5ebd4fbd3484e763f4ffd477ed7308b2ba7c3b507bfe163d59e440d1c9f2", "section_path": ["Server", "Optimizer"], "commit_groups": [["09b07c295"], ["0dca5d68d"]], "identity_text": "Improve SQL-language function plan caching (Alexander Pyhalov, Tom Lane)", "commit_aliases": ["09b07c295", "0dca5d68d"], "source_commits": ["09b07c295", "0dca5d68d"], "source_entry_id": "18.0/changes/014", "db_id": "de187fd5833da9236d39e17a824451c0", "patch_ids": ["254214644dc444095fdc1eed63435eea", "aca8b43ca22cd7e20074fc7a0a7722ba"], "statement_hash": "146626d1f5aff4758ae17dc01f8d5f905420813c8aeb98087d9ca08c5471eb23", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-81f4be5c092dad16", "cves": [], "html": "<p>Improve handling of disabled optimizer features (Robert Haas) <a href=\"https://postgr.es/c/e22253467\">§</a></p>", "text": "Improve handling of disabled optimizer features (Robert Haas) §", "title": "Improve handling of disabled optimizer features", "commits": ["e22253467"], "section": "Server / Optimizer", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-OPTIMIZER", "source_hash": "3ac7c9a012dfeb824499ec299452a4443f811573d8cdc48a32a87591feb62e84", "section_path": ["Server", "Optimizer"], "commit_groups": [["e22253467"]], "identity_text": "Improve handling of disabled optimizer features (Robert Haas)", "commit_aliases": ["e22253467"], "source_commits": ["e22253467"], "source_entry_id": "18.0/changes/015", "db_id": "6af674fe85c6718d1c2ae803cc5fa2d4", "patch_ids": ["78269645a1e3bdd21fcde369b7fb1c82"], "statement_hash": "0dcbf8861cd7ba230ddcdaf5746f5f46a4f85aa3e242a34f907c8eadbc61f43c", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5c8b8535c34dd690", "cves": [], "html": "<p>Allow skip scans of <a href=\"/docs/18/xfunc-sql.html\" title=\"36.5. Query Language (SQL) Functions\">btree</a> indexes (Peter Geoghegan) <a href=\"https://postgr.es/c/92fe23d93\">§</a> <a href=\"https://postgr.es/c/8a510275d\">§</a></p>\n<p>This allows multi-column btree indexes to be used in more cases such as when there are no restrictions on the first or early indexed columns (or there are non-equality ones), and there are useful restrictions on later indexed columns.</p>", "text": "Allow skip scans of btree indexes (Peter Geoghegan) § § This allows multi-column btree indexes to be used in more cases such as when there are no restrictions on the first or early indexed columns (or there are non-equality ones), and there are useful restrictions on later indexed columns.", "title": "Allow skip scans of btree indexes", "commits": ["8a510275d", "92fe23d93"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-INDEXES", "source_hash": "6fc7b9601b88e3906c876c63e64c4ed31901ffef59984e3a9f3c5467cf0e520e", "section_path": ["Server", "Indexes"], "commit_groups": [["8a510275d"], ["92fe23d93"]], "identity_text": "Allow skip scans of btree indexes (Peter Geoghegan) This allows multi-column btree indexes to be used in more cases such as when there are no restrictions on the first or early indexed columns (or there are non-equality ones), and there are useful restrictions on later indexed columns.", "commit_aliases": ["8a510275d", "92fe23d93"], "source_commits": ["8a510275d", "92fe23d93"], "source_entry_id": "18.0/changes/016", "db_id": "d6862625b987b44876b5f8813415e301", "patch_ids": ["635b38c19244d008c0a276c87c34aabf", "e61ae831ab07aa91f44cf34554c51986"], "statement_hash": "5f70bac2450552918acb0585c69d065150051c94ca3fd7c0e78accb784965d18", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-50b6cc437d755b78", "cves": [], "html": "<p>Allow non-btree unique indexes to be used as partition keys and in materialized views (Mark Dilger) <a href=\"https://postgr.es/c/f278e1fe3\">§</a> <a href=\"https://postgr.es/c/9d6db8bec\">§</a></p>\n<p>The index type must still support equality.</p>", "text": "Allow non-btree unique indexes to be used as partition keys and in materialized views (Mark Dilger) § § The index type must still support equality.", "title": "Allow non-btree unique indexes to be used as partition keys and in materialized views", "commits": ["9d6db8bec", "f278e1fe3"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-INDEXES", "source_hash": "48d1dc2e21671ed03ec096681269e55993854a87f636152113525b845910da6b", "section_path": ["Server", "Indexes"], "commit_groups": [["9d6db8bec"], ["f278e1fe3"]], "identity_text": "Allow non-btree unique indexes to be used as partition keys and in materialized views (Mark Dilger) The index type must still support equality.", "commit_aliases": ["9d6db8bec", "f278e1fe3"], "source_commits": ["9d6db8bec", "f278e1fe3"], "source_entry_id": "18.0/changes/017", "db_id": "494315b065e8cf257c51cc573e8cd5ba", "patch_ids": ["5bf1633970b359c47772a29d428891b9", "afc683b089394ea6ac807e8fc8c1d9ac"], "statement_hash": "8627db4022a3b996448b3199a1438d065510142c1a86887f48fb1af1aa338936", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-456432f04301fe8e", "cves": [], "html": "<p>Allow <a href=\"/docs/18/gin.html\" title=\"65.4. GIN Indexes\"><code>GIN</code></a> indexes to be created in parallel (Tomas Vondra, Matthias van de Meent) <a href=\"https://postgr.es/c/8492feb98\">§</a></p>", "text": "Allow GIN indexes to be created in parallel (Tomas Vondra, Matthias van de Meent) §", "title": "Allow GIN indexes to be created in parallel", "commits": ["8492feb98"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-INDEXES", "source_hash": "01c6d664aa699cd5856bca9e8beb983f220a3bbc4ba438ca287685b016c76882", "section_path": ["Server", "Indexes"], "commit_groups": [["8492feb98"]], "identity_text": "Allow GIN indexes to be created in parallel (Tomas Vondra, Matthias van de Meent)", "commit_aliases": ["8492feb98"], "source_commits": ["8492feb98"], "source_entry_id": "18.0/changes/018", "db_id": "679afe20174701f36f8833868fba691a", "patch_ids": ["86bbb2d786cd9282ec7c0990ac84734b"], "statement_hash": "4dc151279990477d351d79cd8abfd0af480e2cc275a31cbd790f45a0e112db39", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-36a61764cd73198e", "cves": [], "html": "<p>Allow values to be sorted to speed range-type <a href=\"/docs/18/gist.html\" title=\"65.2. GiST Indexes\">GiST</a> and <a href=\"/docs/18/btree.html\" title=\"65.1. B-Tree Indexes\">btree</a> index builds (Bernd Helmle) <a href=\"https://postgr.es/c/e9e7b6604\">§</a></p>", "text": "Allow values to be sorted to speed range-type GiST and btree index builds (Bernd Helmle) §", "title": "Allow values to be sorted to speed range-type GiST and btree index builds", "commits": ["e9e7b6604"], "section": "Server / Indexes", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-INDEXES", "source_hash": "ac18bed164464842781add926baf8a19f9b384695cfa6ffc14d622e837b24226", "section_path": ["Server", "Indexes"], "commit_groups": [["e9e7b6604"]], "identity_text": "Allow values to be sorted to speed range-type GiST and btree index builds (Bernd Helmle)", "commit_aliases": ["e9e7b6604"], "source_commits": ["e9e7b6604"], "source_entry_id": "18.0/changes/019", "db_id": "bb89183dc8713a98a5f1732f23ebf357", "patch_ids": ["21b0be863bb11025af07f036adc715cd"], "statement_hash": "1110884a4b4193d0fb56b65604f1f84d06c9b027816ac2b2f97f7eb335548e6f", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-fa23d49e1bbd33bf", "cves": [], "html": "<p>Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, Nazir Bilal Yavuz, Melanie Plageman) <a href=\"https://postgr.es/c/02844012b\">§</a> <a href=\"https://postgr.es/c/da7226993\">§</a> <a href=\"https://postgr.es/c/55b454d0e\">§</a> <a href=\"https://postgr.es/c/247ce06b8\">§</a> <a href=\"https://postgr.es/c/10f664684\">§</a> <a href=\"https://postgr.es/c/06fb5612c\">§</a> <a href=\"https://postgr.es/c/c325a7633\">§</a> <a href=\"https://postgr.es/c/50cb7505b\">§</a> <a href=\"https://postgr.es/c/047cba7fa\">§</a> <a href=\"https://postgr.es/c/12ce89fd0\">§</a> <a href=\"https://postgr.es/c/2a5e709e7\">§</a></p>\n<p>This feature allows backends to queue multiple read requests, which allows for more efficient sequential scans, bitmap heap scans, vacuums, etc. This is enabled by server variable <a href=\"/docs/18/runtime-config-resource.html#GUC-IO-METHOD\">io_method</a>, with server variables <a href=\"/docs/18/runtime-config-resource.html#GUC-IO-COMBINE-LIMIT\">io_combine_limit</a> and <a href=\"/docs/18/runtime-config-resource.html#GUC-IO-MAX-COMBINE-LIMIT\">io_max_combine_limit</a> added to control it. This also enables <a href=\"/docs/18/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY\">effective_io_concurrency</a> and <a href=\"/docs/18/runtime-config-resource.html#GUC-MAINTENANCE-IO-CONCURRENCY\">maintenance_io_concurrency</a> values greater than zero for systems without <code>fadvise()</code> support. The new system view <a href=\"/docs/18/view-pg-aios.html\" title=\"53.2. pg_aios\"><code>pg_aios</code></a> shows the file handles being used for asynchronous I/O.</p>", "text": "Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, Nazir Bilal Yavuz, Melanie Plageman) § § § § § § § § § § § This feature allows backends to queue multiple read requests, which allows for more efficient sequential scans, bitmap heap scans, vacuums, etc. This is enabled by server variable io_method, with server variables io_combine_limit and io_max_combine_limit added to control it. This also enables effective_io_concurrency and maintenance_io_concurrency values greater than zero for systems without fadvise() support. The new system view pg_aios shows the file handles being used for asynchronous I/O.", "title": "Add an asynchronous I/O subsystem", "commits": ["02844012b", "047cba7fa", "06fb5612c", "10f664684", "12ce89fd0", "247ce06b8", "2a5e709e7", "50cb7505b", "55b454d0e", "c325a7633", "da7226993"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "fdd8656bbf1cf11f97d6fd57102a43e430a4b1b8d8c4d686a0a5ea63a4b0770c", "section_path": ["Server", "General Performance"], "commit_groups": [["02844012b"], ["047cba7fa"], ["06fb5612c"], ["10f664684"], ["12ce89fd0"], ["247ce06b8"], ["2a5e709e7"], ["50cb7505b"], ["55b454d0e"], ["c325a7633"], ["da7226993"]], "identity_text": "Add an asynchronous I/O subsystem (Andres Freund, Thomas Munro, Nazir Bilal Yavuz, Melanie Plageman) This feature allows backends to queue multiple read requests, which allows for more efficient sequential scans, bitmap heap scans, vacuums, etc. This is enabled by server variable guc-io-method , with server variables guc-io-combine-limit and guc-io-max-combine-limit added to control it. This also enables guc-effective-io-concurrency and guc-maintenance-io-concurrency values greater than zero for systems without fadvise() support. The new system view pg_aios shows the file handles being used for asynchronous I/O.", "commit_aliases": ["02844012b", "047cba7fa", "06fb5612c", "10f664684", "12ce89fd0", "247ce06b8", "2a5e709e7", "50cb7505b", "55b454d0e", "c325a7633", "da7226993"], "source_commits": ["02844012b", "047cba7fa", "06fb5612c", "10f664684", "12ce89fd0", "247ce06b8", "2a5e709e7", "50cb7505b", "55b454d0e", "c325a7633", "da7226993"], "source_entry_id": "18.0/changes/020", "db_id": "37483c0834752f309aa567f79e0fff73", "patch_ids": ["00a9c4d43ad5f440c73f46761173fb9b", "0dbc83e3df4c59c2ca262ef445628a22", "27d018309a2572d361015743ee98324a", "4d8f6ef76cf84da9e8ef4cb69e686748", "4f97e5094bf3ab32f794535fbb774657", "69011e9c5887d0368badf9df4b6cdb59", "6fe75ee49c9ddb6673fc72c6316a6cac", "935377894ec40d13d8a0a722ff34d52e", "9e38c5e8ef550e2076bcc2e8ab7b4e16", "b7142d9ad8162a459c188b676c6a8396", "b78c6771a059bc73ee21df19448cd72b"], "statement_hash": "b96b1508b7345c107e04bf5e3067b8f434fdad4aab6e74bb8cac2ed82dad1d3c", "relations": [], "version": "18.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-bdbe76807453073a", "cves": [], "html": "<p>Improve the locking performance of queries that access many relations (Tomas Vondra) <a href=\"https://postgr.es/c/c4d5cb71d\">§</a></p>", "text": "Improve the locking performance of queries that access many relations (Tomas Vondra) §", "title": "Improve the locking performance of queries that access many relations", "commits": ["c4d5cb71d"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "166ed61e81ac65ed621694d2130b525d95cd6eabf81198d9051b9df5a5471b51", "section_path": ["Server", "General Performance"], "commit_groups": [["c4d5cb71d"]], "identity_text": "Improve the locking performance of queries that access many relations (Tomas Vondra)", "commit_aliases": ["c4d5cb71d"], "source_commits": ["c4d5cb71d"], "source_entry_id": "18.0/changes/021", "db_id": "aff48c3c83b235bf18a030e9ccc9c3b8", "patch_ids": ["fc2837c0cff32783885ae70d5fbb55db"], "statement_hash": "bbf31aaa998b69605f19fb5f3337b504b4ae92cf39abf056f16dadd0b84efe2d", "relations": [], "version": "18.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b0a8003dc1022a25", "cves": [], "html": "<p>Improve the performance and reduce memory usage of hash joins and <a href=\"/docs/18/sql-select.html#SQL-GROUPBY\" title=\"GROUP BY Clause\"><code>GROUP BY</code></a> (David Rowley, Jeff Davis) <a href=\"https://postgr.es/c/adf97c156\">§</a> <a href=\"https://postgr.es/c/0f5738202\">§</a> <a href=\"https://postgr.es/c/4d143509c\">§</a> <a href=\"https://postgr.es/c/a0942f441\">§</a> <a href=\"https://postgr.es/c/626df47ad\">§</a></p>\n<p>This also improves hash set operations used by <a href=\"/docs/18/sql-select.html#SQL-EXCEPT\" title=\"EXCEPT Clause\"><code>EXCEPT</code></a>, and hash lookups of subplan values.</p>", "text": "Improve the performance and reduce memory usage of hash joins and GROUP BY (David Rowley, Jeff Davis) § § § § § This also improves hash set operations used by EXCEPT, and hash lookups of subplan values.", "title": "Improve the performance and reduce memory usage of hash joins and GROUP BY", "commits": ["0f5738202", "4d143509c", "626df47ad", "a0942f441", "adf97c156"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "9f547ee246a07784a2bed2c258eb059c7b92ae34cf3cf037fa83d8419df57bcc", "section_path": ["Server", "General Performance"], "commit_groups": [["0f5738202"], ["4d143509c"], ["626df47ad"], ["a0942f441"], ["adf97c156"]], "identity_text": "Improve the performance and reduce memory usage of hash joins and GROUP BY (David Rowley, Jeff Davis) This also improves hash set operations used by EXCEPT, and hash lookups of subplan values.", "commit_aliases": ["0f5738202", "4d143509c", "626df47ad", "a0942f441", "adf97c156"], "source_commits": ["0f5738202", "4d143509c", "626df47ad", "a0942f441", "adf97c156"], "source_entry_id": "18.0/changes/022", "db_id": "8f6bb5232a0af20918ef87fc2bd9b72d", "patch_ids": ["1758487f83257304f9b99a49b55241a1", "19978010109b328fc13a2f60b64a87b4", "5aefbddf9e57264554b8994d3a88ae3a", "66b388b0b82ff195761808bbad7daaa9", "951eca554a095ba4544d50657927742d"], "statement_hash": "4661b20ed989107cc31aef5019cf8c04bc8793452b44fba95b5618841ad4db50", "relations": [], "version": "18.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9d04d053554c175a", "cves": [], "html": "<p>Allow normal vacuums to freeze some pages, even though they are all-visible (Melanie Plageman) <a href=\"https://postgr.es/c/052026c9b\">§</a> <a href=\"https://postgr.es/c/06eae9e62\">§</a></p>\n<p>This reduces the overhead of later full-relation freezing. The aggressiveness of this can be controlled by server variable and per-table setting <a href=\"/docs/18/runtime-config-vacuum.html#GUC-VACUUM-MAX-EAGER-FREEZE-FAILURE-RATE\">vacuum_max_eager_freeze_failure_rate</a>. Previously vacuum never processed all-visible pages until freezing was required.</p>", "text": "Allow normal vacuums to freeze some pages, even though they are all-visible (Melanie Plageman) § § This reduces the overhead of later full-relation freezing. The aggressiveness of this can be controlled by server variable and per-table setting vacuum_max_eager_freeze_failure_rate. Previously vacuum never processed all-visible pages until freezing was required.", "title": "Allow normal vacuums to freeze some pages, even though they are all-visible", "commits": ["052026c9b", "06eae9e62"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "067908e36f6001abfd9b89898d6468091c7c408aba70fd6644ef0e6e78945b17", "section_path": ["Server", "General Performance"], "commit_groups": [["052026c9b"], ["06eae9e62"]], "identity_text": "Allow normal vacuums to freeze some pages, even though they are all-visible (Melanie Plageman) This reduces the overhead of later full-relation freezing. The aggressiveness of this can be controlled by server variable and per-table setting guc-vacuum-max-eager-freeze-failure-rate . Previously vacuum never processed all-visible pages until freezing was required.", "commit_aliases": ["052026c9b", "06eae9e62"], "source_commits": ["052026c9b", "06eae9e62"], "source_entry_id": "18.0/changes/023", "db_id": "b143946a18139ecebf85f4773c7419b5", "patch_ids": ["67ea98ee74614c1e13cce028969b4f44", "d3f807b22dffb17b1216f302711474dd"], "statement_hash": "1d01a6afb8bdd666bc7b3013928540e3f748fdac185055067dcbcfcb19976f2d", "relations": [], "version": "18.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f532d30d19208618", "cves": [], "html": "<p>Add server variable <a href=\"/docs/18/runtime-config-vacuum.html#GUC-VACUUM-TRUNCATE\">vacuum_truncate</a> to control file truncation during <a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a> (Nathan Bossart, Gurjeet Singh) <a href=\"https://postgr.es/c/0164a0f9e\">§</a></p>\n<p>A storage-level parameter with the same name and behavior already existed.</p>", "text": "Add server variable vacuum_truncate to control file truncation during VACUUM (Nathan Bossart, Gurjeet Singh) § A storage-level parameter with the same name and behavior already existed.", "title": "Add server variable vacuum_truncate to control file truncation during VACUUM", "commits": ["0164a0f9e"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "3bdf7d1f300811ca038842a0cc4e774e2520f4329d021c60a179b690525ba77f", "section_path": ["Server", "General Performance"], "commit_groups": [["0164a0f9e"]], "identity_text": "Add server variable guc-vacuum-truncate to control file truncation during sql-vacuum (Nathan Bossart, Gurjeet Singh) A storage-level parameter with the same name and behavior already existed.", "commit_aliases": ["0164a0f9e"], "source_commits": ["0164a0f9e"], "source_entry_id": "18.0/changes/024", "db_id": "d1bf74ed1cb4e3fbacc9001855d15f16", "patch_ids": ["be7bc9e56cdce4915b9e4a702d43e637"], "statement_hash": "944b8ce94c10828d6d6910957cf641b88dc95d22b1b8115647738cec01db9fbe", "relations": [], "version": "18.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6a0f68c7a6c59848", "cves": [], "html": "<p>Increase server variables <a href=\"/docs/18/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY\">effective_io_concurrency</a>'s and <a href=\"/docs/18/runtime-config-resource.html#GUC-MAINTENANCE-IO-CONCURRENCY\">maintenance_io_concurrency</a>'s default values to 16 (Melanie Plageman) <a href=\"https://postgr.es/c/ff79b5b2a\">§</a> <a href=\"https://postgr.es/c/cc6be07eb\">§</a></p>\n<p>This more accurately reflects modern hardware.</p>", "text": "Increase server variables effective_io_concurrency's and maintenance_io_concurrency's default values to 16 (Melanie Plageman) § § This more accurately reflects modern hardware.", "title": "Increase server variables effective_io_concurrency's and maintenance_io_concurrency's default values to 16", "commits": ["cc6be07eb", "ff79b5b2a"], "section": "Server / General Performance", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-PERFORMANCE", "source_hash": "5ed1ab656f1d067bc897340478dcbb402d18bafb76ff5da9b9bec5940ff0e6da", "section_path": ["Server", "General Performance"], "commit_groups": [["cc6be07eb"], ["ff79b5b2a"]], "identity_text": "Increase server variables guc-effective-io-concurrency 's and guc-maintenance-io-concurrency 's default values to 16 (Melanie Plageman) This more accurately reflects modern hardware.", "commit_aliases": ["cc6be07eb", "ff79b5b2a"], "source_commits": ["cc6be07eb", "ff79b5b2a"], "source_entry_id": "18.0/changes/025", "db_id": "426d3063330d1605a0f8dada895702c7", "patch_ids": ["5048dc209f8f981f9a097d9636573570", "711b2163ed88e992fa8f7ebd50bcabfe"], "statement_hash": "2388b7de66243eaf67d83494c797d6d1e1d27a9f5ff72da1c364e2e04896d1a4", "relations": [], "version": "18.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-7eca16540c485be9", "cves": [], "html": "<p>Increase the logging granularity of server variable <a href=\"/docs/18/runtime-config-logging.html#GUC-LOG-CONNECTIONS\">log_connections</a> (Melanie Plageman) <a href=\"https://postgr.es/c/9219093ca\">§</a></p>\n<p>This server variable was previously only boolean, which is still supported.</p>", "text": "Increase the logging granularity of server variable log_connections (Melanie Plageman) § This server variable was previously only boolean, which is still supported.", "title": "Increase the logging granularity of server variable log_connections", "commits": ["9219093ca"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "42fa035457ddebe4280da1ffdf030abca58669ddee1f4de16c1998a7b9a4dfb2", "section_path": ["Server", "Monitoring"], "commit_groups": [["9219093ca"]], "identity_text": "Increase the logging granularity of server variable guc-log-connections (Melanie Plageman) This server variable was previously only boolean, which is still supported.", "commit_aliases": ["9219093ca"], "source_commits": ["9219093ca"], "source_entry_id": "18.0/changes/026", "db_id": "ff5e5f18a1f9dca408cdf9912c05dbc0", "patch_ids": ["a7e481af208e8edfa0f5fb1487d6f5da"], "statement_hash": "bdb1f75b5ad766542e4be765b90646c65665a1de272e063859e8ddf2ad109820", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5ced21ab8b3e15c8", "cves": [], "html": "<p>Add <code>log_connections</code> option to report the duration of connection stages (Melanie Plageman) <a href=\"https://postgr.es/c/18cd15e70\">§</a></p>", "text": "Add log_connections option to report the duration of connection stages (Melanie Plageman) §", "title": "Add log_connections option to report the duration of connection stages", "commits": ["18cd15e70"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "41a344a0928e2afe9e641f311ef5ab55d86e85bce333e6a88a6a3c60f59cbdfb", "section_path": ["Server", "Monitoring"], "commit_groups": [["18cd15e70"]], "identity_text": "Add log_connections option to report the duration of connection stages (Melanie Plageman)", "commit_aliases": ["18cd15e70"], "source_commits": ["18cd15e70"], "source_entry_id": "18.0/changes/027", "db_id": "91c81466b98e0b8e4a0d92321b5a517e", "patch_ids": ["1b950cb014853bc85d486bf75efaca9d"], "statement_hash": "16c0cad808e5939e479b2dd348ffdbb2ae9c55f3e23728d50e88003bece7df2c", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-929b539b3ad17261", "cves": [], "html": "<p>Add <a href=\"/docs/18/runtime-config-logging.html#GUC-LOG-LINE-PREFIX\">log_line_prefix</a> escape <code>%L</code> to output the client <acronym>IP</acronym> address (Greg Sabino Mullane) <a href=\"https://postgr.es/c/3516ea768\">§</a></p>", "text": "Add log_line_prefix escape %L to output the client IP address (Greg Sabino Mullane) §", "title": "Add log_line_prefix escape %L to output the client IP address", "commits": ["3516ea768"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "1bdebb7b546333fd73fa5598efd7d15966692b03acaa8bf3b6823e7257095700", "section_path": ["Server", "Monitoring"], "commit_groups": [["3516ea768"]], "identity_text": "Add guc-log-line-prefix escape %L to output the client IP address (Greg Sabino Mullane)", "commit_aliases": ["3516ea768"], "source_commits": ["3516ea768"], "source_entry_id": "18.0/changes/028", "db_id": "ec6128df26d217a2eecd0111f2e4d0a0", "patch_ids": ["245982fa5f97063e1932c06fd291a313"], "statement_hash": "9dce6737c13142a305d26993679d19f61298311469a6a7edc10ef7bcb6bcbfd5", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4edb641e0b8b7969", "cves": [], "html": "<p>Add server variable <a href=\"/docs/18/runtime-config-logging.html#GUC-LOG-LOCK-FAILURES\">log_lock_failures</a> to log lock acquisition failures (Yuki Seino, Fujii Masao) <a href=\"https://postgr.es/c/6d376c3b0\">§</a> <a href=\"https://postgr.es/c/73bdcfab3\">§</a></p>\n<p>Specifically it reports <a href=\"/docs/18/sql-select.html#SQL-FOR-UPDATE-SHARE\" title=\"The Locking Clause\"><code>SELECT ... NOWAIT</code></a> lock failures.</p>", "text": "Add server variable log_lock_failures to log lock acquisition failures (Yuki Seino, Fujii Masao) § § Specifically it reports SELECT ... NOWAIT lock failures.", "title": "Add server variable log_lock_failures to log lock acquisition failures", "commits": ["6d376c3b0", "73bdcfab3"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "a88dff59604d880435132b5b633e2eb67a03d39010449f6c677e07aa3e5c5da7", "section_path": ["Server", "Monitoring"], "commit_groups": [["6d376c3b0"], ["73bdcfab3"]], "identity_text": "Add server variable guc-log-lock-failures to log lock acquisition failures (Yuki Seino, Fujii Masao) Specifically it reports SELECT ... NOWAIT lock failures.", "commit_aliases": ["6d376c3b0", "73bdcfab3"], "source_commits": ["6d376c3b0", "73bdcfab3"], "source_entry_id": "18.0/changes/029", "db_id": "d8e2695d01232405d3118fd953a35550", "patch_ids": ["b077959c977125e9f3753f321bc477a3", "e967c5c76962ab8a50984a559a44af22"], "statement_hash": "86481d735160d1d7650fa217441fd2d70ed271d146fb44fd372e52c1bbfa1210", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-097f657303fd725e", "cves": [], "html": "<p>Modify <a href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW\" title=\"27.2.19. pg_stat_all_tables\"><code>pg_stat_all_tables</code></a> and its variants to report the time spent in <a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a>, <a href=\"/docs/18/sql-analyze.html\" title=\"ANALYZE\"><span>ANALYZE</span></a>, and their <a href=\"/docs/18/routine-vacuuming.html#AUTOVACUUM\" title=\"24.1.6. The Autovacuum Daemon\">automatic</a> variants (Sami Imseih) <a href=\"https://postgr.es/c/30a6ed0ce\">§</a></p>\n<p>The new columns are <code>total_vacuum_time</code>, <code>total_autovacuum_time</code>, <code>total_analyze_time</code>, and <code>total_autoanalyze_time</code>.</p>", "text": "Modify pg_stat_all_tables and its variants to report the time spent in VACUUM, ANALYZE, and their automatic variants (Sami Imseih) § The new columns are total_vacuum_time, total_autovacuum_time, total_analyze_time, and total_autoanalyze_time.", "title": "Modify pg_stat_all_tables and its variants to report the time spent in VACUUM, ANALYZE, and their automatic variants", "commits": ["30a6ed0ce"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "2092521e84d65496371a602695e86f1b45f3598fa64282cc8e1cb2df767cc998", "section_path": ["Server", "Monitoring"], "commit_groups": [["30a6ed0ce"]], "identity_text": "Modify pg_stat_all_tables and its variants to report the time spent in sql-vacuum , sql-analyze , and their automatic variants (Sami Imseih) The new columns are total_vacuum_time, total_autovacuum_time, total_analyze_time, and total_autoanalyze_time.", "commit_aliases": ["30a6ed0ce"], "source_commits": ["30a6ed0ce"], "source_entry_id": "18.0/changes/030", "db_id": "9671d2c26d28bca864a1d36f60376f71", "patch_ids": ["c2b3c6594a2d8e4e4efcb86b21ade10b"], "statement_hash": "904912b4331b059b0493e73dfb45564c4e6f06521c6face3aed12e28924a3bde", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-a8b19ee3c2ebd809", "cves": [], "html": "<p>Add delay time reporting to <a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a> and <a href=\"/docs/18/sql-analyze.html\" title=\"ANALYZE\"><span>ANALYZE</span></a> (Bertrand Drouvot, Nathan Bossart) <a href=\"https://postgr.es/c/bb8dff999\">§</a> <a href=\"https://postgr.es/c/7720082ae\">§</a></p>\n<p>This information appears in the server log, the system views <a href=\"/docs/18/progress-reporting.html#VACUUM-PROGRESS-REPORTING\" title=\"27.4.5. VACUUM Progress Reporting\"><code>pg_stat_progress_vacuum</code></a> and <a href=\"/docs/18/progress-reporting.html#PG-STAT-PROGRESS-ANALYZE-VIEW\" title=\"Table 27.38. pg_stat_progress_analyze View\"><code>pg_stat_progress_analyze</code></a>, and the output of <a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a> and <a href=\"/docs/18/sql-analyze.html\" title=\"ANALYZE\"><span>ANALYZE</span></a> when in <code>VERBOSE</code> mode; tracking must be enabled with the server variable <a href=\"/docs/18/runtime-config-statistics.html#GUC-TRACK-COST-DELAY-TIMING\">track_cost_delay_timing</a>.</p>", "text": "Add delay time reporting to VACUUM and ANALYZE (Bertrand Drouvot, Nathan Bossart) § § This information appears in the server log, the system views pg_stat_progress_vacuum and pg_stat_progress_analyze, and the output of VACUUM and ANALYZE when in VERBOSE mode; tracking must be enabled with the server variable track_cost_delay_timing.", "title": "Add delay time reporting to VACUUM and ANALYZE", "commits": ["7720082ae", "bb8dff999"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "c3b6092e0b557183c88361a516e8cd0d9afc4df8b8705c21459ed505607217f1", "section_path": ["Server", "Monitoring"], "commit_groups": [["7720082ae"], ["bb8dff999"]], "identity_text": "Add delay time reporting to sql-vacuum and sql-analyze (Bertrand Drouvot, Nathan Bossart) This information appears in the server log, the system views pg_stat_progress_vacuum and pg_stat_progress_analyze, and the output of sql-vacuum and sql-analyze when in VERBOSE mode; tracking must be enabled with the server variable guc-track-cost-delay-timing .", "commit_aliases": ["7720082ae", "bb8dff999"], "source_commits": ["7720082ae", "bb8dff999"], "source_entry_id": "18.0/changes/031", "db_id": "bea9d94f702a252ba6381f744ff75946", "patch_ids": ["37076735ba20e78cc49b9708ebdff26a", "dcc774daa71cb4ef3040110ad61f951b"], "statement_hash": "fa996a38bca92758da7743b591fad3f548bcd94541d767a9356ea8efbc21a20c", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3840c3b2fc9eee99", "cves": [], "html": "<p>Add <acronym>WAL</acronym>, <acronym>CPU</acronym>, and average read statistics output to <code>ANALYZE VERBOSE</code> (Anthonin Bonnefoy) <a href=\"https://postgr.es/c/4c1b4cdb8\">§</a> <a href=\"https://postgr.es/c/bb7775234\">§</a></p>", "text": "Add WAL, CPU, and average read statistics output to ANALYZE VERBOSE (Anthonin Bonnefoy) § §", "title": "Add WAL, CPU, and average read statistics output to ANALYZE VERBOSE", "commits": ["4c1b4cdb8", "bb7775234"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "1a2dcb5dd39a88693da8ffce12adc58b376cbc99d61e7b665edc8b7a8057486c", "section_path": ["Server", "Monitoring"], "commit_groups": [["4c1b4cdb8"], ["bb7775234"]], "identity_text": "Add WAL, CPU, and average read statistics output to ANALYZE VERBOSE (Anthonin Bonnefoy)", "commit_aliases": ["4c1b4cdb8", "bb7775234"], "source_commits": ["4c1b4cdb8", "bb7775234"], "source_entry_id": "18.0/changes/032", "db_id": "89d1e2f5040630b5e6d5d285a3183e17", "patch_ids": ["b3469919d266e3cb5e6a7fd510fd2e77", "e8ed2cc2f82da83716586c11bc4c436b"], "statement_hash": "0ba8f5189b2a89deba8c0398b4327b4ea28a27b30cfe526849d9f7dd081e54d5", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4b700ed68adb6f38", "cves": [], "html": "<p>Add full <acronym>WAL</acronym> buffer count to <code>VACUUM</code>/<code>ANALYZE (VERBOSE)</code> and autovacuum log output (Bertrand Drouvot) <a href=\"https://postgr.es/c/6a8a7ce47\">§</a></p>", "text": "Add full WAL buffer count to VACUUM/ANALYZE (VERBOSE) and autovacuum log output (Bertrand Drouvot) §", "title": "Add full WAL buffer count to VACUUM/ANALYZE (VERBOSE) and autovacuum log output", "commits": ["6a8a7ce47"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "c9894dd7993ceae90219fd40d6eb2b8e99c64032b4b6c0c567537ce9d289b65d", "section_path": ["Server", "Monitoring"], "commit_groups": [["6a8a7ce47"]], "identity_text": "Add full WAL buffer count to VACUUM/ANALYZE (VERBOSE) and autovacuum log output (Bertrand Drouvot)", "commit_aliases": ["6a8a7ce47"], "source_commits": ["6a8a7ce47"], "source_entry_id": "18.0/changes/033", "db_id": "74713f8ae6d85f90e89e18ef3dc6a21d", "patch_ids": ["72511d93ea1587fdaf73eba50b91d1d0"], "statement_hash": "0774d5388d6c2acf1684333e3113f73e85981e8a73cea3b0ab9ee148dc6b388f", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e35712a71ba201d3", "cves": [], "html": "<p>Add per-backend I/O statistics reporting (Bertrand Drouvot) <a href=\"https://postgr.es/c/9aea73fc6\">§</a> <a href=\"https://postgr.es/c/3f1db99bf\">§</a></p>\n<p>The statistics are accessed via <a href=\"/docs/18/monitoring-stats.html#PG-STAT-GET-BACKEND-IO\"><code>pg_stat_get_backend_io()</code></a>. Per-backend I/O statistics can be cleared via <a href=\"/docs/18/monitoring-stats.html#MONITORING-STATS-FUNCS-TABLE\" title=\"Table 27.36. Additional Statistics Functions\"><code>pg_stat_reset_backend_stats()</code></a>.</p>", "text": "Add per-backend I/O statistics reporting (Bertrand Drouvot) § § The statistics are accessed via pg_stat_get_backend_io(). Per-backend I/O statistics can be cleared via pg_stat_reset_backend_stats().", "title": "Add per-backend I/O statistics reporting", "commits": ["3f1db99bf", "9aea73fc6"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "9e1631c53568af593ee7bced63f3b724a0ba10e31a2fd9ed1c4025ad9a38fae7", "section_path": ["Server", "Monitoring"], "commit_groups": [["3f1db99bf"], ["9aea73fc6"]], "identity_text": "Add per-backend I/O statistics reporting (Bertrand Drouvot) The statistics are accessed via pg_stat_get_backend_io(). Per-backend I/O statistics can be cleared via pg_stat_reset_backend_stats().", "commit_aliases": ["3f1db99bf", "9aea73fc6"], "source_commits": ["3f1db99bf", "9aea73fc6"], "source_entry_id": "18.0/changes/034", "db_id": "17e6c76925cfbd574a9ae5f72831fa69", "patch_ids": ["5322e6c9c9cd04d7bf3ea661542be001", "a3ee8fafbb9811b8cda82e07e73283f9"], "statement_hash": "caae69fd5330c7bec4af68b84e21c7fc7e7a5d29f7fae594f65a92e7a22165c1", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0e96d87fb9dc0733", "cves": [], "html": "<p>Add <a href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-IO-VIEW\" title=\"27.2.13. pg_stat_io\"><code>pg_stat_io</code></a> columns to report I/O activity in bytes (Nazir Bilal Yavuz) <a href=\"https://postgr.es/c/f92c854cf\">§</a></p>\n<p>The new columns are <code>read_bytes</code>, <code>write_bytes</code>, and <code>extend_bytes</code>. The <code>op_bytes</code> column, which always equaled <a href=\"/docs/18/runtime-config-preset.html#GUC-BLOCK-SIZE\"><code>BLCKSZ</code></a>, has been removed.</p>", "text": "Add pg_stat_io columns to report I/O activity in bytes (Nazir Bilal Yavuz) § The new columns are read_bytes, write_bytes, and extend_bytes. The op_bytes column, which always equaled BLCKSZ, has been removed.", "title": "Add pg_stat_io columns to report I/O activity in bytes", "commits": ["f92c854cf"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "97f3dadc86ebdf37ec36e4e556f7f81273a6d2f21452bea7c88377d1a3c561ae", "section_path": ["Server", "Monitoring"], "commit_groups": [["f92c854cf"]], "identity_text": "Add pg_stat_io columns to report I/O activity in bytes (Nazir Bilal Yavuz) The new columns are read_bytes, write_bytes, and extend_bytes. The op_bytes column, which always equaled BLCKSZ, has been removed.", "commit_aliases": ["f92c854cf"], "source_commits": ["f92c854cf"], "source_entry_id": "18.0/changes/035", "db_id": "aa7e8fb55aec7ab4c8224a57cb360b58", "patch_ids": ["a311e5aff8043d8480a656b9295d03b6"], "statement_hash": "2e8238782eda3f1431802fe0e4f5c982fab48d2ee3dd4a701ea3842da4484eb0", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3b56014060aade39", "cves": [], "html": "<p>Add <acronym>WAL</acronym> I/O activity rows to <code>pg_stat_io</code> (Nazir Bilal Yavuz, Bertrand Drouvot, Michael Paquier) <a href=\"https://postgr.es/c/a051e71e2\">§</a> <a href=\"https://postgr.es/c/4538bd3f1\">§</a> <a href=\"https://postgr.es/c/7f7f324eb\">§</a></p>\n<p>This includes <acronym>WAL</acronym> receiver activity and a wait event for such writes.</p>", "text": "Add WAL I/O activity rows to pg_stat_io (Nazir Bilal Yavuz, Bertrand Drouvot, Michael Paquier) § § § This includes WAL receiver activity and a wait event for such writes.", "title": "Add WAL I/O activity rows to pg_stat_io", "commits": ["4538bd3f1", "7f7f324eb", "a051e71e2"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "1073fae0e1addc89e2446fa37b2acba1f913d9723e1c4429053ee3268c3f10de", "section_path": ["Server", "Monitoring"], "commit_groups": [["4538bd3f1"], ["7f7f324eb"], ["a051e71e2"]], "identity_text": "Add WAL I/O activity rows to pg_stat_io (Nazir Bilal Yavuz, Bertrand Drouvot, Michael Paquier) This includes WAL receiver activity and a wait event for such writes.", "commit_aliases": ["4538bd3f1", "7f7f324eb", "a051e71e2"], "source_commits": ["4538bd3f1", "7f7f324eb", "a051e71e2"], "source_entry_id": "18.0/changes/036", "db_id": "4e8a04b21c8fb51fcf294e0a57d8462f", "patch_ids": ["0abab9a405c724624eabd4509d63171e", "3d509df32980788958c9572c50adb4fd", "bef53f830f1ba9f3cda0cc8ff4ed91e6"], "statement_hash": "c5453439738584b897b3afc314105f41051f5aa95d24752734738916b65af097", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6c1a9bdb1bd7fe74", "cves": [], "html": "<p>Change server variable <a href=\"/docs/18/runtime-config-statistics.html#GUC-TRACK-WAL-IO-TIMING\">track_wal_io_timing</a> to control tracking <acronym>WAL</acronym> timing in <code>pg_stat_io</code> instead of <a href=\"/docs/18/monitoring-stats.html#PG-STAT-WAL-VIEW\" title=\"Table 27.26. pg_stat_wal View\"><code>pg_stat_wal</code></a> (Bertrand Drouvot) <a href=\"https://postgr.es/c/6c349d83b\">§</a></p>", "text": "Change server variable track_wal_io_timing to control tracking WAL timing in pg_stat_io instead of pg_stat_wal (Bertrand Drouvot) §", "title": "Change server variable track_wal_io_timing to control tracking WAL timing in pg_stat_io instead of pg_stat_wal", "commits": ["6c349d83b"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "d1231847afefe1d4d74417eeedaf338d2e73d369b33a3039d07def9f38206fd7", "section_path": ["Server", "Monitoring"], "commit_groups": [["6c349d83b"]], "identity_text": "Change server variable guc-track-wal-io-timing to control tracking WAL timing in pg_stat_io instead of pg_stat_wal (Bertrand Drouvot)", "commit_aliases": ["6c349d83b"], "source_commits": ["6c349d83b"], "source_entry_id": "18.0/changes/037", "db_id": "c17f05a65724a6039aa7e121e771aa10", "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"], "statement_hash": "2f7ae7e2bcef0b17495e3f738ab823ef4fa3a7ff6d607334d8ca8141298e26c2", "relations": [{"rule": 2, "type": "related", "target": "d0fcc1877409f4702f061ff62c4a5fe9", "evidence": {"same_day": true, "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"], "ambiguous_patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"]}}], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "d0fcc1877409f4702f061ff62c4a5fe9", "kind": "related", "version": "18.0", "label": "18.0", "title": "Remove read/sync columns from pg_stat_wal", "evidence": {"same_day": true, "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"], "ambiguous_patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"]}, "url": "/docs/compare/?release=18.0#18.0-202a628b223b3b6a", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING"}]}, {"id": "18.0-202a628b223b3b6a", "cves": [], "html": "<p>Remove read/sync columns from <code>pg_stat_wal</code> (Bertrand Drouvot) <a href=\"https://postgr.es/c/2421e9a51\">§</a> <a href=\"https://postgr.es/c/6c349d83b\">§</a></p>\n<p>This removes columns <code>wal_write</code>, <code>wal_sync</code>, <code>wal_write_time</code>, and <code>wal_sync_time</code>.</p>", "text": "Remove read/sync columns from pg_stat_wal (Bertrand Drouvot) § § This removes columns wal_write, wal_sync, wal_write_time, and wal_sync_time.", "title": "Remove read/sync columns from pg_stat_wal", "commits": ["2421e9a51", "6c349d83b"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "bdbb6b727ae2ec12ad3bc55377abbd441295c2aa83487fdcb3a37f0805a08762", "section_path": ["Server", "Monitoring"], "commit_groups": [["2421e9a51"], ["6c349d83b"]], "identity_text": "Remove read/sync columns from pg_stat_wal (Bertrand Drouvot) This removes columns wal_write, wal_sync, wal_write_time, and wal_sync_time.", "commit_aliases": ["2421e9a51", "6c349d83b"], "source_commits": ["2421e9a51", "6c349d83b"], "source_entry_id": "18.0/changes/038", "db_id": "d0fcc1877409f4702f061ff62c4a5fe9", "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af", "234c05d3f38c109ec2b38a93d6ac0806"], "statement_hash": "7b33f152d6e61381fe6be52ffbdfe42a5da00b89105becd3eb6f9de24b2b319c", "relations": [{"rule": 2, "type": "related", "target": "c17f05a65724a6039aa7e121e771aa10", "evidence": {"same_day": true, "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"], "ambiguous_patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"]}}], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "c17f05a65724a6039aa7e121e771aa10", "kind": "related", "version": "18.0", "label": "18.0", "title": "Change server variable track_wal_io_timing to control tracking WAL timing in pg_stat_io instead of pg_stat_wal", "evidence": {"same_day": true, "patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"], "ambiguous_patch_ids": ["08fb6ea64d401512c5db7dbb4b9241af"]}, "url": "/docs/compare/?release=18.0#18.0-6c1a9bdb1bd7fe74", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING"}]}, {"id": "18.0-634291e59601ff91", "cves": [], "html": "<p>Add function <a href=\"/docs/18/monitoring-stats.html#PG-STAT-GET-BACKEND-WAL\"><code>pg_stat_get_backend_wal()</code></a> to return per-backend <acronym>WAL</acronym> statistics (Bertrand Drouvot) <a href=\"https://postgr.es/c/76def4cdd\">§</a></p>\n<p>Per-backend <acronym>WAL</acronym> statistics can be cleared via <a href=\"/docs/18/monitoring-stats.html#MONITORING-STATS-FUNCS-TABLE\" title=\"Table 27.36. Additional Statistics Functions\"><code>pg_stat_reset_backend_stats()</code></a>.</p>", "text": "Add function pg_stat_get_backend_wal() to return per-backend WAL statistics (Bertrand Drouvot) § Per-backend WAL statistics can be cleared via pg_stat_reset_backend_stats().", "title": "Add function pg_stat_get_backend_wal() to return per-backend WAL statistics", "commits": ["76def4cdd"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "242f296d8a20316ed2428d9cc9afa62a44163367fa7e0849e047ee688cfea11f", "section_path": ["Server", "Monitoring"], "commit_groups": [["76def4cdd"]], "identity_text": "Add function pg_stat_get_backend_wal() to return per-backend WAL statistics (Bertrand Drouvot) Per-backend WAL statistics can be cleared via pg_stat_reset_backend_stats().", "commit_aliases": ["76def4cdd"], "source_commits": ["76def4cdd"], "source_entry_id": "18.0/changes/039", "db_id": "062885cb962fb66b290bfca5b7d287a1", "patch_ids": ["4e24f0fbea0bfb8adf57d60deed85cbe"], "statement_hash": "b74d0e38b049943fe62ccf7336ca21fd4a9fd9d020f9b94347272b09da3db5af", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b4a386c2e779722f", "cves": [], "html": "<p>Add function <a href=\"/docs/18/functions-admin.html#FUNCTIONS-ADMIN-GENFILE-TABLE\" title=\"Table 9.108. Generic File Access Functions\"><code>pg_ls_summariesdir()</code></a> to specifically list the contents of <a href=\"/docs/18/storage-file-layout.html\" title=\"66.1. Database File Layout\"><code>PGDATA</code></a>/<a href=\"/docs/18/runtime-config-wal.html#GUC-WAL-SUMMARY-KEEP-TIME\"><code>pg_wal/summaries</code></a> (Yushi Ogiwara) <a href=\"https://postgr.es/c/4e1fad378\">§</a></p>", "text": "Add function pg_ls_summariesdir() to specifically list the contents of PGDATA/pg_wal/summaries (Yushi Ogiwara) §", "title": "Add function pg_ls_summariesdir() to specifically list the contents of PGDATA/pg_wal/summaries", "commits": ["4e1fad378"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "d6ccff9c03df46b05091a267c2cb8b7b5535dedef74c43578dfaf0e9d97bb59f", "section_path": ["Server", "Monitoring"], "commit_groups": [["4e1fad378"]], "identity_text": "Add function pg_ls_summariesdir() to specifically list the contents of PGDATA/pg_wal/summaries (Yushi Ogiwara)", "commit_aliases": ["4e1fad378"], "source_commits": ["4e1fad378"], "source_entry_id": "18.0/changes/040", "db_id": "b9a68e06cac60dffdbd6bf6eb05a794e", "patch_ids": ["9fe64e076fe5fc2c95c8fa5ba6f057ef"], "statement_hash": "09d2ba0760f22482dda1728ad727396c99942f333bb0a66ba64ce98dfb4017c7", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-2ab3ba61126a6e6f", "cves": [], "html": "<p>Add column <a href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-CHECKPOINTER-VIEW\" title=\"27.2.15. pg_stat_checkpointer\"><code>pg_stat_checkpointer</code></a>.<code>num_done</code> to report the number of completed checkpoints (Anton A. Melnikov) <a href=\"https://postgr.es/c/559efce1d\">§</a></p>\n<p>Columns <code>num_timed</code> and <code>num_requested</code> count both completed and skipped checkpoints.</p>", "text": "Add column pg_stat_checkpointer.num_done to report the number of completed checkpoints (Anton A. Melnikov) § Columns num_timed and num_requested count both completed and skipped checkpoints.", "title": "Add column pg_stat_checkpointer.num_done to report the number of completed checkpoints", "commits": ["559efce1d"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "b0f52803f5eace4dd8a6f300af475cd3f6d7567d9e52472b06a815ec78abd658", "section_path": ["Server", "Monitoring"], "commit_groups": [["559efce1d"]], "identity_text": "Add column pg_stat_checkpointer.num_done to report the number of completed checkpoints (Anton A. Melnikov) Columns num_timed and num_requested count both completed and skipped checkpoints.", "commit_aliases": ["559efce1d"], "source_commits": ["559efce1d"], "source_entry_id": "18.0/changes/041", "db_id": "066d4a943702f3b2e401f4e7aae7deab", "patch_ids": ["c949e573ffaba7a2a8d27d7162de1f0b"], "statement_hash": "68a8924f2cff332cb007ffe69e69b6126cb2165fc11751dbddcea61dcddacc3a", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-61ce84aa748564e5", "cves": [], "html": "<p>Add column <code>pg_stat_checkpointer</code>.<code>slru_written</code> to report <acronym>SLRU</acronym> buffers written (Nitin Jadhav) <a href=\"https://postgr.es/c/17cc5f666\">§</a></p>\n<p>Also, modify the checkpoint server log message to report separate shared buffer and <acronym>SLRU</acronym> buffer values.</p>", "text": "Add column pg_stat_checkpointer.slru_written to report SLRU buffers written (Nitin Jadhav) § Also, modify the checkpoint server log message to report separate shared buffer and SLRU buffer values.", "title": "Add column pg_stat_checkpointer.slru_written to report SLRU buffers written", "commits": ["17cc5f666"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "e3cd14d094f854569dcf0a7ec616f689d1baac8a113db529f691cfd28c517c08", "section_path": ["Server", "Monitoring"], "commit_groups": [["17cc5f666"]], "identity_text": "Add column pg_stat_checkpointer.slru_written to report SLRU buffers written (Nitin Jadhav) Also, modify the checkpoint server log message to report separate shared buffer and SLRU buffer values.", "commit_aliases": ["17cc5f666"], "source_commits": ["17cc5f666"], "source_entry_id": "18.0/changes/042", "db_id": "c727bac201403ee5787ce91519d78b8f", "patch_ids": ["d6837b0ccfa7bed8d3ef332bff20c386"], "statement_hash": "d75f1cff8692d2b125311380a9eb939eed72a5eec22bed4041dad77e8aed16e7", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-50beb09b38031570", "cves": [], "html": "<p>Add columns to <a href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-DATABASE-VIEW\" title=\"27.2.17. pg_stat_database\"><code>pg_stat_database</code></a> to report parallel worker activity (Benoit Lobréau) <a href=\"https://postgr.es/c/e7a9496de\">§</a></p>\n<p>The new columns are <code>parallel_workers_to_launch</code> and <code>parallel_workers_launched</code>.</p>", "text": "Add columns to pg_stat_database to report parallel worker activity (Benoit Lobréau) § The new columns are parallel_workers_to_launch and parallel_workers_launched.", "title": "Add columns to pg_stat_database to report parallel worker activity", "commits": ["e7a9496de"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "eb7a9a2fcda5d6b360e1516a8ecfca3e10034c0773a50d5480dd72cbbe41a363", "section_path": ["Server", "Monitoring"], "commit_groups": [["e7a9496de"]], "identity_text": "Add columns to pg_stat_database to report parallel worker activity (Benoit Lobréau) The new columns are parallel_workers_to_launch and parallel_workers_launched.", "commit_aliases": ["e7a9496de"], "source_commits": ["e7a9496de"], "source_entry_id": "18.0/changes/043", "db_id": "dfce089734ba453a8b429200599d48f4", "patch_ids": ["537ec52eb436dc276f2922a0463b3fde"], "statement_hash": "2a16728a2a22066209d758116c71b02d570e00dc834d54006e01a8747ab449a3", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e0b7fcc669e7cd20", "cves": [], "html": "<p>Have <a href=\"/docs/18/runtime-config-statistics.html#GUC-COMPUTE-QUERY-ID\">query id</a> computation of constant lists consider only the first and last constants (Dmitry Dolgov, Sami Imseih) <a href=\"https://postgr.es/c/62d712ecf\">§</a> <a href=\"https://postgr.es/c/9fbd53dea\">§</a> <a href=\"https://postgr.es/c/c2da1a5d6\">§</a></p>\n<p>Jumbling is used by <a href=\"/docs/18/pgstatstatements.html\" title=\"F.32. pg_stat_statements — track statistics of SQL planning and execution\">pg_stat_statements</a>.</p>", "text": "Have query id computation of constant lists consider only the first and last constants (Dmitry Dolgov, Sami Imseih) § § § Jumbling is used by pg_stat_statements.", "title": "Have query id computation of constant lists consider only the first and last constants", "commits": ["62d712ecf", "9fbd53dea", "c2da1a5d6"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "2cf9373f5b7eddab9fd5ff38dada6cd3257b8f28a837aed595560e11f200a37d", "section_path": ["Server", "Monitoring"], "commit_groups": [["62d712ecf"], ["9fbd53dea"], ["c2da1a5d6"]], "identity_text": "Have query id computation of constant lists consider only the first and last constants (Dmitry Dolgov, Sami Imseih) Jumbling is used by pgstatstatements .", "commit_aliases": ["62d712ecf", "9fbd53dea", "c2da1a5d6"], "source_commits": ["62d712ecf", "9fbd53dea", "c2da1a5d6"], "source_entry_id": "18.0/changes/044", "db_id": "602391884e0f9956bc8189e3df9fa46c", "patch_ids": ["5788e402f9a32d0839d25eda04d2e777", "892e3023e3eb75d6d37898823ef6e17d", "b602290e314da4eb2c893c183d542ea2"], "statement_hash": "15594176dafd96eadc8774ee3c07b03bfac584e26aab1114deaf08975c0d6fa7", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4bd7c5c5ceccdfa2", "cves": [], "html": "<p>Adjust query id computations to group together queries using the same relation name (Michael Paquier, Sami Imseih) <a href=\"https://postgr.es/c/787514b30\">§</a></p>\n<p>This is true even if the tables in different schemas have different column names.</p>", "text": "Adjust query id computations to group together queries using the same relation name (Michael Paquier, Sami Imseih) § This is true even if the tables in different schemas have different column names.", "title": "Adjust query id computations to group together queries using the same relation name", "commits": ["787514b30"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "09abeab4f5099639b5d52aa31679edc914c3b3c20594c0d395bf45bf491d5e09", "section_path": ["Server", "Monitoring"], "commit_groups": [["787514b30"]], "identity_text": "Adjust query id computations to group together queries using the same relation name (Michael Paquier, Sami Imseih) This is true even if the tables in different schemas have different column names.", "commit_aliases": ["787514b30"], "source_commits": ["787514b30"], "source_entry_id": "18.0/changes/045", "db_id": "b3b7d2a11d4d31f38f5974d4bc93b3e3", "patch_ids": ["79273c32213aef68723d02e288664812"], "statement_hash": "4cd23dc47a6dcb75efe88b4674803607d5b63bfc8d8855e3822b801ecc934093", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-3402d3ff0e2cd897", "cves": [], "html": "<p>Add column <a href=\"/docs/18/view-pg-backend-memory-contexts.html\" title=\"53.5. pg_backend_memory_contexts\"><code>pg_backend_memory_contexts</code></a>.<code>type</code> to report the type of memory context (David Rowley) <a href=\"https://postgr.es/c/12227a1d5\">§</a></p>", "text": "Add column pg_backend_memory_contexts.type to report the type of memory context (David Rowley) §", "title": "Add column pg_backend_memory_contexts.type to report the type of memory context", "commits": ["12227a1d5"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "15d29754ae427a052443f1a6626960cf94ba6bda77f6df23ffbece3059a2aaf5", "section_path": ["Server", "Monitoring"], "commit_groups": [["12227a1d5"]], "identity_text": "Add column pg_backend_memory_contexts.type to report the type of memory context (David Rowley)", "commit_aliases": ["12227a1d5"], "source_commits": ["12227a1d5"], "source_entry_id": "18.0/changes/046", "db_id": "1fd42df52ed332c3d9d9f6ae19b16420", "patch_ids": ["3977b1d7e6d02dc670220e1e3b219267"], "statement_hash": "24fbd68903b1f42423f271865f961e17ce5f1d8baa7a044061a3e8d64d131bfc", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f9c2e124d8a94a20", "cves": [], "html": "<p>Add column <code>pg_backend_memory_contexts</code>.<code>path</code> to show memory context parents (Melih Mutlu) <a href=\"https://postgr.es/c/32d3ed816\">§</a></p>", "text": "Add column pg_backend_memory_contexts.path to show memory context parents (Melih Mutlu) §", "title": "Add column pg_backend_memory_contexts.path to show memory context parents", "commits": ["32d3ed816"], "section": "Server / Monitoring", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MONITORING", "source_hash": "fe70390be48a7656a5a036d23b8695f7dd1cb00476e46001e3b1ed259d1548af", "section_path": ["Server", "Monitoring"], "commit_groups": [["32d3ed816"]], "identity_text": "Add column pg_backend_memory_contexts.path to show memory context parents (Melih Mutlu)", "commit_aliases": ["32d3ed816"], "source_commits": ["32d3ed816"], "source_entry_id": "18.0/changes/047", "db_id": "7ed5d279df474d7ce518a2cd605d091d", "patch_ids": ["eaa8db2e49e44f9880c123bf159cab42"], "statement_hash": "ffa15ce62078a744cf44121cfda2949c530bd7fb777e4900033a28988556de13", "relations": [{"rule": 2, "type": "related", "target": "b8c57d935d8b183f9ee20e7477f90abd", "evidence": {"same_day": true, "patch_ids": ["eaa8db2e49e44f9880c123bf159cab42"]}}], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "b8c57d935d8b183f9ee20e7477f90abd", "kind": "related", "version": "18.0", "label": "18.0", "title": "Change pg_backend_memory_contexts.level and pg_log_backend_memory_contexts() to be one-based", "evidence": {"same_day": true, "patch_ids": ["eaa8db2e49e44f9880c123bf159cab42"]}, "url": "/docs/compare/?release=18.0#18.0-3bddcb1c02f74659", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION"}]}, {"id": "18.0-33915810b55250be", "cves": [], "html": "<p>Add function <a href=\"/docs/18/functions-info.html#FUNCTIONS-INFO-OBJECT-TABLE\" title=\"Table 9.81. Object Information and Addressing Functions\"><code>pg_get_acl()</code></a> to retrieve database access control details (Joel Jacobson) <a href=\"https://postgr.es/c/4564f1ceb\">§</a> <a href=\"https://postgr.es/c/d898665bf\">§</a></p>", "text": "Add function pg_get_acl() to retrieve database access control details (Joel Jacobson) § §", "title": "Add function pg_get_acl() to retrieve database access control details", "commits": ["4564f1ceb", "d898665bf"], "section": "Server / Privileges", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PRIVILEGES", "source_hash": "39a0e54cf10496289f448e8b5cf7a83ad0f4a1dad5d8b88bc38a045012595af3", "section_path": ["Server", "Privileges"], "commit_groups": [["4564f1ceb"], ["d898665bf"]], "identity_text": "Add function pg_get_acl() to retrieve database access control details (Joel Jacobson)", "commit_aliases": ["4564f1ceb", "d898665bf"], "source_commits": ["4564f1ceb", "d898665bf"], "source_entry_id": "18.0/changes/048", "db_id": "ad850851b5569f2cacc651752f08d04f", "patch_ids": ["4dc0424113c1959079f3a8cbcd6d075c", "6f98238a578fbdf3c4f8b2f8442a9443"], "statement_hash": "b5738fc376219c85ab240a4d03d8c61a19c7ef3218d218a2f99f961cfa02ae1d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e083e86b0999f401", "cves": [], "html": "<p>Add function <a href=\"/docs/18/functions-info.html#FUNCTIONS-INFO-ACCESS-TABLE\" title=\"Table 9.72. Access Privilege Inquiry Functions\"><code>has_largeobject_privilege()</code></a> to check large object privileges (Yugo Nagata) <a href=\"https://postgr.es/c/4eada203a\">§</a></p>", "text": "Add function has_largeobject_privilege() to check large object privileges (Yugo Nagata) §", "title": "Add function has_largeobject_privilege() to check large object privileges", "commits": ["4eada203a"], "section": "Server / Privileges", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PRIVILEGES", "source_hash": "bbfbf3c3ece75a40f49e6a874bdb5b72ba58a27f32a5ea35fd4d4c1eac892598", "section_path": ["Server", "Privileges"], "commit_groups": [["4eada203a"]], "identity_text": "Add function has_largeobject_privilege() to check large object privileges (Yugo Nagata)", "commit_aliases": ["4eada203a"], "source_commits": ["4eada203a"], "source_entry_id": "18.0/changes/049", "db_id": "20e548031e0fa774a44ef2ccda8b5768", "patch_ids": ["692c244b77bff2a8f3509d0f3f788fb5"], "statement_hash": "31f9f08133b37f73a56f5218942b92e031210ec05cba9a6cb6d49d942bfbac20", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-48cbad33bf051182", "cves": [], "html": "<p>Allow <a href=\"/docs/18/sql-alterdefaultprivileges.html\" title=\"ALTER DEFAULT PRIVILEGES\"><span>ALTER DEFAULT PRIVILEGES</span></a> to define large object default privileges (Takatsuka Haruka, Yugo Nagata, Laurenz Albe) <a href=\"https://postgr.es/c/0d6c47766\">§</a></p>", "text": "Allow ALTER DEFAULT PRIVILEGES to define large object default privileges (Takatsuka Haruka, Yugo Nagata, Laurenz Albe) §", "title": "Allow ALTER DEFAULT PRIVILEGES to define large object default privileges", "commits": ["0d6c47766"], "section": "Server / Privileges", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PRIVILEGES", "source_hash": "4c91df429994b748ca8f11482114f697801f5b8c6c8b714ebf14f04619bf4653", "section_path": ["Server", "Privileges"], "commit_groups": [["0d6c47766"]], "identity_text": "Allow sql-alterdefaultprivileges to define large object default privileges (Takatsuka Haruka, Yugo Nagata, Laurenz Albe)", "commit_aliases": ["0d6c47766"], "source_commits": ["0d6c47766"], "source_entry_id": "18.0/changes/050", "db_id": "2115b59fe3ecb850d34420db9087d6ee", "patch_ids": ["8bd885a988ec8e858d73081f630fd33d"], "statement_hash": "91512a6ced76577a52c71c7f1692309e60bb18dc1ce44331c056f04fd50fb429", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-63bd5329a9fe779c", "cves": [], "html": "<p>Add predefined role <a href=\"/docs/18/predefined-roles.html\" title=\"21.5. Predefined Roles\"><code>pg_signal_autovacuum_worker</code></a> (Kirill Reshke) <a href=\"https://postgr.es/c/ccd38024b\">§</a></p>\n<p>This allows sending signals to autovacuum workers.</p>", "text": "Add predefined role pg_signal_autovacuum_worker (Kirill Reshke) § This allows sending signals to autovacuum workers.", "title": "Add predefined role pg_signal_autovacuum_worker", "commits": ["ccd38024b"], "section": "Server / Privileges", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PRIVILEGES", "source_hash": "bfdef5e379e1781509025a5997d7b24eee477202a1c63fdf10ed414f0ba7b3e4", "section_path": ["Server", "Privileges"], "commit_groups": [["ccd38024b"]], "identity_text": "Add predefined role pg_signal_autovacuum_worker (Kirill Reshke) This allows sending signals to autovacuum workers.", "commit_aliases": ["ccd38024b"], "source_commits": ["ccd38024b"], "source_entry_id": "18.0/changes/051", "db_id": "20b3f6628c87707ad4d0eb8fd8768e0a", "patch_ids": ["a254744dab5b2721c5babac8740a351d"], "statement_hash": "c15408fea664f43b416b4b112fe35a5f8e4c76546718ab374fef03190e47327d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-8937e04e6f598c9a", "cves": [], "html": "<p>Add support for the <a href=\"/docs/18/auth-oauth.html\" title=\"20.15. OAuth Authorization/Authentication\">OAuth authentication method</a> (Jacob Champion, Daniel Gustafsson, Thomas Munro) <a href=\"https://postgr.es/c/b3f0be788\">§</a></p>\n<p>This adds an <code>oauth</code> authentication method to <a href=\"/docs/18/auth-pg-hba-conf.html\" title=\"20.1. The pg_hba.conf File\"><code>pg_hba.conf</code></a>, libpq OAuth options, a server variable <a href=\"/docs/18/runtime-config-connection.html#GUC-OAUTH-VALIDATOR-LIBRARIES\">oauth_validator_libraries</a> to load token validation libraries, and a configure flag <a href=\"/docs/18/install-make.html#CONFIGURE-OPTION-WITH-LIBCURL\"><code>--with-libcurl</code></a> to add the required compile-time libraries.</p>", "text": "Add support for the OAuth authentication method (Jacob Champion, Daniel Gustafsson, Thomas Munro) § This adds an oauth authentication method to pg_hba.conf, libpq OAuth options, a server variable oauth_validator_libraries to load token validation libraries, and a configure flag --with-libcurl to add the required compile-time libraries.", "title": "Add support for the OAuth authentication method", "commits": ["b3f0be788"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "1ac9338858fd8a7a47d62e75d679e10a0eb1bfabc9a52d1e7db8098aa7bd9e0d", "section_path": ["Server", "Server Configuration"], "commit_groups": [["b3f0be788"]], "identity_text": "Add support for the OAuth authentication method (Jacob Champion, Daniel Gustafsson, Thomas Munro) This adds an oauth authentication method to pg_hba.conf, libpq OAuth options, a server variable guc-oauth-validator-libraries to load token validation libraries, and a configure flag --with-libcurl to add the required compile-time libraries.", "commit_aliases": ["b3f0be788"], "source_commits": ["b3f0be788"], "source_entry_id": "18.0/changes/052", "db_id": "746baa07cb5e517064dca7ea3454e3b0", "patch_ids": ["e84eb2fdc1830185f25750762e1cc528"], "statement_hash": "07ddc49607980c97519f77163181f14568e19bbe0b1e0dc01b218b1f6a71074d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c129dc9baebd36d0", "cves": [], "html": "<p>Add server variable <a href=\"/docs/18/runtime-config-connection.html#GUC-SSL-TLS13-CIPHERS\">ssl_tls13_ciphers</a> to allow specification of multiple colon-separated TLSv1.3 cipher suites (Erica Zhang, Daniel Gustafsson) <a href=\"https://postgr.es/c/45188c2ea\">§</a></p>", "text": "Add server variable ssl_tls13_ciphers to allow specification of multiple colon-separated TLSv1.3 cipher suites (Erica Zhang, Daniel Gustafsson) §", "title": "Add server variable ssl_tls13_ciphers to allow specification of multiple colon-separated TLSv1.3 cipher suites", "commits": ["45188c2ea"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "5d256d99caaf5046100077cd472e922ae375d82b0f5b45bcfbac3a79833692b5", "section_path": ["Server", "Server Configuration"], "commit_groups": [["45188c2ea"]], "identity_text": "Add server variable guc-ssl-tls13-ciphers to allow specification of multiple colon-separated TLSv1.3 cipher suites (Erica Zhang, Daniel Gustafsson)", "commit_aliases": ["45188c2ea"], "source_commits": ["45188c2ea"], "source_entry_id": "18.0/changes/053", "db_id": "13b081fb2e1030e7c402c99be84d674e", "patch_ids": ["b918cd02542986f670ea5e4ccce7bed8"], "statement_hash": "ffe4b310bcfc2b812bd9ca43729c6e6988676e615fa96ac501930ef3cd998db9", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-7ae83796934b368a", "cves": [], "html": "<p>Change server variable <a href=\"/docs/18/runtime-config-connection.html#GUC-SSL-GROUPS\">ssl_groups</a>'s default to include elliptic curve X25519 (Daniel Gustafsson, Jacob Champion) <a href=\"https://postgr.es/c/daa02c6bd\">§</a></p>", "text": "Change server variable ssl_groups's default to include elliptic curve X25519 (Daniel Gustafsson, Jacob Champion) §", "title": "Change server variable ssl_groups's default to include elliptic curve X25519", "commits": ["daa02c6bd"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "769ef4c7a0e583d2f4cb847ab408143dd1d5d440e558c0b751debd0c43265451", "section_path": ["Server", "Server Configuration"], "commit_groups": [["daa02c6bd"]], "identity_text": "Change server variable guc-ssl-groups 's default to include elliptic curve X25519 (Daniel Gustafsson, Jacob Champion)", "commit_aliases": ["daa02c6bd"], "source_commits": ["daa02c6bd"], "source_entry_id": "18.0/changes/054", "db_id": "0ff6b951577e789ccfcf50c5fdd16250", "patch_ids": ["b6419e2ab5092340bdb51279a882c575"], "statement_hash": "79f1b0ec5dbbc9c41cfae0c653c6b8af2978a2d458009ec866463efb3c895406", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ec11a3f47cab5302", "cves": [], "html": "<p>Rename server variable <code>ssl_ecdh_curve</code> to <a href=\"/docs/18/runtime-config-connection.html#GUC-SSL-GROUPS\">ssl_groups</a> and allow multiple colon-separated <acronym>ECDH</acronym> curves to be specified (Erica Zhang, Daniel Gustafsson) <a href=\"https://postgr.es/c/3d1ef3a15\">§</a></p>\n<p>The previous name still works.</p>", "text": "Rename server variable ssl_ecdh_curve to ssl_groups and allow multiple colon-separated ECDH curves to be specified (Erica Zhang, Daniel Gustafsson) § The previous name still works.", "title": "Rename server variable ssl_ecdh_curve to ssl_groups and allow multiple colon-separated ECDH curves to be specified", "commits": ["3d1ef3a15"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "69fc229fb451ba3569f10661789b08fd931063d5102c111408c2c761550da092", "section_path": ["Server", "Server Configuration"], "commit_groups": [["3d1ef3a15"]], "identity_text": "Rename server variable ssl_ecdh_curve to guc-ssl-groups and allow multiple colon-separated ECDH curves to be specified (Erica Zhang, Daniel Gustafsson) The previous name still works.", "commit_aliases": ["3d1ef3a15"], "source_commits": ["3d1ef3a15"], "source_entry_id": "18.0/changes/055", "db_id": "96a81164afdac0bf4ed0486ab950b9cc", "patch_ids": ["c2561d4875ae281fdaea78d9e93eaee2"], "statement_hash": "af282a32e71f1303e38dd9f838dce742a3ea5e5033c66e5a334acc730ab67445", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-fc222bd600eb20c7", "cves": [], "html": "<p>Make <a href=\"/docs/18/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE\" title=\"Table 9.96. Server Signaling Functions\">cancel request keys</a> 256 bits (Heikki Linnakangas, Jelte Fennema-Nio) <a href=\"https://postgr.es/c/a460251f0\">§</a> <a href=\"https://postgr.es/c/9d9b9d46f\">§</a></p>\n<p>This is only possible when the server and client support wire protocol version 3.2, introduced in this release.</p>", "text": "Make cancel request keys 256 bits (Heikki Linnakangas, Jelte Fennema-Nio) § § This is only possible when the server and client support wire protocol version 3.2, introduced in this release.", "title": "Make cancel request keys 256 bits", "commits": ["9d9b9d46f", "a460251f0"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "4da7c6464ec24190e054671959a89c1342b41fd9c2df30a579e2cb4c8e608823", "section_path": ["Server", "Server Configuration"], "commit_groups": [["9d9b9d46f"], ["a460251f0"]], "identity_text": "Make cancel request keys 256 bits (Heikki Linnakangas, Jelte Fennema-Nio) This is only possible when the server and client support wire protocol version 3.2, introduced in this release.", "commit_aliases": ["9d9b9d46f", "a460251f0"], "source_commits": ["9d9b9d46f", "a460251f0"], "source_entry_id": "18.0/changes/056", "db_id": "d4bdcc752134e88e3b6f69045f91e32f", "patch_ids": ["3374f7d4348f979a16fb3f835b1434dd", "78aeb882063c4d9c0113cb769f6f63c8"], "statement_hash": "bf970fd6a3a870ec104cf3173699ac7821ccb4e686bb18b2d9050cfee203c953", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-fad3071db20b5849", "cves": [], "html": "<p>Add server variable <a href=\"/docs/18/runtime-config-vacuum.html#GUC-AUTOVACUUM-WORKER-SLOTS\">autovacuum_worker_slots</a> to specify the maximum number of background workers (Nathan Bossart) <a href=\"https://postgr.es/c/c758119e5\">§</a></p>\n<p>With this variable set, <a href=\"/docs/18/runtime-config-vacuum.html#GUC-AUTOVACUUM-MAX-WORKERS\">autovacuum_max_workers</a> can be adjusted at runtime up to this maximum without a server restart.</p>", "text": "Add server variable autovacuum_worker_slots to specify the maximum number of background workers (Nathan Bossart) § With this variable set, autovacuum_max_workers can be adjusted at runtime up to this maximum without a server restart.", "title": "Add server variable autovacuum_worker_slots to specify the maximum number of background workers", "commits": ["c758119e5"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "cccf9f941c4560c33011e635dcab0b9c28ae26749ffd1608f7169c4ecf499acc", "section_path": ["Server", "Server Configuration"], "commit_groups": [["c758119e5"]], "identity_text": "Add server variable guc-autovacuum-worker-slots to specify the maximum number of background workers (Nathan Bossart) With this variable set, guc-autovacuum-max-workers can be adjusted at runtime up to this maximum without a server restart.", "commit_aliases": ["c758119e5"], "source_commits": ["c758119e5"], "source_entry_id": "18.0/changes/057", "db_id": "14193c2c6216dac54ee9f03d74597315", "patch_ids": ["17efa2578b6fdfca54d1895a47b5d85c"], "statement_hash": "2340cf9dd0c8914c3ae78fcca1d6cb8a3eec267275fe98352062b37d256a1302", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-cc3cc0af71ac8fcd", "cves": [], "html": "<p>Allow specification of the fixed number of dead tuples that will trigger an <a href=\"/docs/18/routine-vacuuming.html#AUTOVACUUM\" title=\"24.1.6. The Autovacuum Daemon\">autovacuum</a> (Nathan Bossart, Frédéric Yhuel) <a href=\"https://postgr.es/c/306dc520b\">§</a></p>\n<p>The server variable is <a href=\"/docs/18/runtime-config-vacuum.html#GUC-AUTOVACUUM-VACUUM-MAX-THRESHOLD\">autovacuum_vacuum_max_threshold</a>. Percentages are still used for triggering.</p>", "text": "Allow specification of the fixed number of dead tuples that will trigger an autovacuum (Nathan Bossart, Frédéric Yhuel) § The server variable is autovacuum_vacuum_max_threshold. Percentages are still used for triggering.", "title": "Allow specification of the fixed number of dead tuples that will trigger an autovacuum", "commits": ["306dc520b"], "section": "Server / Server Configuration", "category": "bugfix", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "fd553683edfb9d3b450f0a00d5e58d81232bb84ff144ad688ad048e97b11922e", "section_path": ["Server", "Server Configuration"], "commit_groups": [["306dc520b"]], "identity_text": "Allow specification of the fixed number of dead tuples that will trigger an autovacuum (Nathan Bossart, Frédéric Yhuel) The server variable is guc-autovacuum-vacuum-max-threshold . Percentages are still used for triggering.", "commit_aliases": ["306dc520b"], "source_commits": ["306dc520b"], "source_entry_id": "18.0/changes/058", "db_id": "c6c8d0da14fc739954f67e4c3e8e297c", "patch_ids": ["fede0a2ed06d94a30aac6de8675efbce"], "statement_hash": "f26aed72e786336ffb0181c576796c1b0d66b6c0c79fa7ab8337a9deb9a04a70", "relations": [], "version": "18.0", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-88c8af4f4659a505", "cves": [], "html": "<p>Change server variable <a href=\"/docs/18/runtime-config-resource.html#GUC-MAX-FILES-PER-PROCESS\">max_files_per_process</a> to limit only files opened by a backend (Andres Freund) <a href=\"https://postgr.es/c/adb5f85fa\">§</a></p>\n<p>Previously files opened by the postmaster were also counted toward this limit.</p>", "text": "Change server variable max_files_per_process to limit only files opened by a backend (Andres Freund) § Previously files opened by the postmaster were also counted toward this limit.", "title": "Change server variable max_files_per_process to limit only files opened by a backend", "commits": ["adb5f85fa"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "2618bfe12d00c39268c401694e59d9fad97443ba987c22b6d62e307da9068d9a", "section_path": ["Server", "Server Configuration"], "commit_groups": [["adb5f85fa"]], "identity_text": "Change server variable guc-max-files-per-process to limit only files opened by a backend (Andres Freund) Previously files opened by the postmaster were also counted toward this limit.", "commit_aliases": ["adb5f85fa"], "source_commits": ["adb5f85fa"], "source_entry_id": "18.0/changes/059", "db_id": "7d0f8a8401a0235fee5c42443323fd9f", "patch_ids": ["1253eb7b68a386abd794c882137adc02"], "statement_hash": "04e1a6687e91598505d1cd8239184c483171e03aa143374ed943a3e8b71c817c", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-a70925addf13174f", "cves": [], "html": "<p>Add server variable <a href=\"/docs/18/runtime-config-preset.html#GUC-NUM-OS-SEMAPHORES\">num_os_semaphores</a> to report the required number of semaphores (Nathan Bossart) <a href=\"https://postgr.es/c/0dcaea569\">§</a></p>\n<p>This is useful for operating system configuration.</p>", "text": "Add server variable num_os_semaphores to report the required number of semaphores (Nathan Bossart) § This is useful for operating system configuration.", "title": "Add server variable num_os_semaphores to report the required number of semaphores", "commits": ["0dcaea569"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "9ab5511113bd82e70e3a03fc12538f6345af41f77c718778b40bf3d3a03203b6", "section_path": ["Server", "Server Configuration"], "commit_groups": [["0dcaea569"]], "identity_text": "Add server variable guc-num-os-semaphores to report the required number of semaphores (Nathan Bossart) This is useful for operating system configuration.", "commit_aliases": ["0dcaea569"], "source_commits": ["0dcaea569"], "source_entry_id": "18.0/changes/060", "db_id": "baa925cc966c3797d6c1baeb8600b3af", "patch_ids": ["7cab2bba487b8dfdc88b894d86ebcb31"], "statement_hash": "db627bdf62b6a351d882ccec445c9221ec8e4d930aed5bf5e6b0b5b611bd8094", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-fcaec73419edafbc", "cves": [], "html": "<p>Add server variable <a href=\"/docs/18/runtime-config-client.html#GUC-EXTENSION-CONTROL-PATH\">extension_control_path</a> to specify the location of extension control files (Peter Eisentraut, Matheus Alcantara) <a href=\"https://postgr.es/c/4f7f7b037\">§</a> <a href=\"https://postgr.es/c/81eaaa2c4\">§</a></p>", "text": "Add server variable extension_control_path to specify the location of extension control files (Peter Eisentraut, Matheus Alcantara) § §", "title": "Add server variable extension_control_path to specify the location of extension control files", "commits": ["4f7f7b037", "81eaaa2c4"], "section": "Server / Server Configuration", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-CONFIG", "source_hash": "9d62b8c0663f70e4f69542ec94abb0e3f367bb880d1661fa4b5ee26a52495548", "section_path": ["Server", "Server Configuration"], "commit_groups": [["4f7f7b037"], ["81eaaa2c4"]], "identity_text": "Add server variable guc-extension-control-path to specify the location of extension control files (Peter Eisentraut, Matheus Alcantara)", "commit_aliases": ["4f7f7b037", "81eaaa2c4"], "source_commits": ["4f7f7b037", "81eaaa2c4"], "source_entry_id": "18.0/changes/061", "db_id": "9a0ac630df36e673c00b61131cd0c2ff", "patch_ids": ["2c992ea1a18c7e56b1999e13915ad2f8", "95178da37b740ae32403368a9d5de091"], "statement_hash": "b2d063e72b9d991ddf32656536cdf6aa960609b5293a9f7685124d9018ed0d46", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d6cdb50cb80abdda", "cves": [], "html": "<p>Allow inactive replication slots to be automatically invalidated using server variable <a href=\"/docs/18/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT\">idle_replication_slot_timeout</a> (Nisha Moond, Bharath Rupireddy) <a href=\"https://postgr.es/c/ac0e33136\">§</a></p>", "text": "Allow inactive replication slots to be automatically invalidated using server variable idle_replication_slot_timeout (Nisha Moond, Bharath Rupireddy) §", "title": "Allow inactive replication slots to be automatically invalidated using server variable idle_replication_slot_timeout", "commits": ["ac0e33136"], "section": "Server / Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-REPLICATION", "source_hash": "8c442254dde2045ae1b1e87460c9e70a650a5b8afddfac774dc1463a967d81ba", "section_path": ["Server", "Streaming Replication and Recovery"], "commit_groups": [["ac0e33136"]], "identity_text": "Allow inactive replication slots to be automatically invalidated using server variable guc-idle-replication-slot-timeout (Nisha Moond, Bharath Rupireddy)", "commit_aliases": ["ac0e33136"], "source_commits": ["ac0e33136"], "source_entry_id": "18.0/changes/062", "db_id": "7e52ed73d316bf78778f528fedb05f84", "patch_ids": ["df8d31e4efb6cb139d5c669e2215050c"], "statement_hash": "eb9a1e5c89e5b4fa71a37fedc208ddb8c2f0f95fbc1eec06821cbc772f3bd8fc", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-03713c460c2a7d56", "cves": [], "html": "<p>Add server variable <a href=\"/docs/18/runtime-config-replication.html#GUC-MAX-ACTIVE-REPLICATION-ORIGINS\">max_active_replication_origins</a> to control the maximum active replication origins (Euler Taveira) <a href=\"https://postgr.es/c/04ff636cb\">§</a></p>\n<p>This was previously controlled by <a href=\"/docs/18/runtime-config-replication.html#GUC-MAX-REPLICATION-SLOTS\">max_replication_slots</a>, but this new setting allows a higher origin count in cases where fewer slots are required.</p>", "text": "Add server variable max_active_replication_origins to control the maximum active replication origins (Euler Taveira) § This was previously controlled by max_replication_slots, but this new setting allows a higher origin count in cases where fewer slots are required.", "title": "Add server variable max_active_replication_origins to control the maximum active replication origins", "commits": ["04ff636cb"], "section": "Server / Streaming Replication and Recovery", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-REPLICATION", "source_hash": "33b1bea544f15476df511f7f493e700d5039ed734c0053ce03bf246913999aca", "section_path": ["Server", "Streaming Replication and Recovery"], "commit_groups": [["04ff636cb"]], "identity_text": "Add server variable guc-max-active-replication-origins to control the maximum active replication origins (Euler Taveira) This was previously controlled by guc-max-replication-slots , but this new setting allows a higher origin count in cases where fewer slots are required.", "commit_aliases": ["04ff636cb"], "source_commits": ["04ff636cb"], "source_entry_id": "18.0/changes/063", "db_id": "1428b3f7f6cc1a4506850622a40c3ffb", "patch_ids": ["a8c08a420a79bd1a161ea23d9bef6d71"], "statement_hash": "9e85b8d9968595a466cfb230295bcf24c446ed069e908115b73bf70ddbaf2392", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b3be55f006e9da56", "cves": [], "html": "<p>Allow the values of <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-GENERATED-STORED\">generated columns</a> to be logically replicated (Shubham Khanna, Vignesh C, Zhijie Hou, Shlok Kyal, Peter Smith) <a href=\"https://postgr.es/c/745217a05\">§</a> <a href=\"https://postgr.es/c/7054186c4\">§</a> <a href=\"https://postgr.es/c/87ce27de6\">§</a> <a href=\"https://postgr.es/c/6252b1eaf\">§</a></p>\n<p>If the publication specifies a column list, all specified columns, generated and non-generated, are published. Without a specified column list, publication option <code>publish_generated_columns</code> controls whether generated columns are published. Previously generated columns were not replicated and the subscriber had to compute the values if possible; this is particularly useful for non-<span>PostgreSQL</span> subscribers which lack such a capability.</p>", "text": "Allow the values of generated columns to be logically replicated (Shubham Khanna, Vignesh C, Zhijie Hou, Shlok Kyal, Peter Smith) § § § § If the publication specifies a column list, all specified columns, generated and non-generated, are published. Without a specified column list, publication option publish_generated_columns controls whether generated columns are published. Previously generated columns were not replicated and the subscriber had to compute the values if possible; this is particularly useful for non-PostgreSQL subscribers which lack such a capability.", "title": "Allow the values of generated columns to be logically replicated", "commits": ["6252b1eaf", "7054186c4", "745217a05", "87ce27de6"], "section": "Server / Logical Replication", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICAL", "source_hash": "8ce5cf78247c4224e21a3859bb19dbd3ae248d206b36330a42cd21f09eb98501", "section_path": ["Server", "Logical Replication"], "commit_groups": [["6252b1eaf"], ["7054186c4"], ["745217a05"], ["87ce27de6"]], "identity_text": "Allow the values of generated columns to be logically replicated (Shubham Khanna, Vignesh C, Zhijie Hou, Shlok Kyal, Peter Smith) If the publication specifies a column list, all specified columns, generated and non-generated, are published. Without a specified column list, publication option publish_generated_columns controls whether generated columns are published. Previously generated columns were not replicated and the subscriber had to compute the values if possible; this is particularly useful for non-PostgreSQL subscribers which lack such a capability.", "commit_aliases": ["6252b1eaf", "7054186c4", "745217a05", "87ce27de6"], "source_commits": ["6252b1eaf", "7054186c4", "745217a05", "87ce27de6"], "source_entry_id": "18.0/changes/064", "db_id": "5202261d9ce471fa7ab14e9e38ae61ef", "patch_ids": ["1665b39bcf49aa722b1893f0f6a01425", "3341f4a55afcad51ffb341807df994d9", "369fa64a83003bb9b411f50bb7db1dc9", "4288fdb022ae4713ce4aa5fa5fa0f5cc"], "statement_hash": "083520dac02028f1cb8e9374c5f6fee5c51e6f31ad5594e2b5d7f6386a3b9577", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-2d4096e3c7abe9a2", "cves": [], "html": "<p>Change the default <a href=\"/docs/18/sql-createsubscription.html\" title=\"CREATE SUBSCRIPTION\"><span>CREATE SUBSCRIPTION</span></a> streaming option from <code>off</code> to <code>parallel</code> (Vignesh C) <a href=\"https://postgr.es/c/1bf1140be\">§</a></p>", "text": "Change the default CREATE SUBSCRIPTION streaming option from off to parallel (Vignesh C) §", "title": "Change the default CREATE SUBSCRIPTION streaming option from off to parallel", "commits": ["1bf1140be"], "section": "Server / Logical Replication", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICAL", "source_hash": "dce9ffa74056678f5973ff428b9f15c4f65d9403797d8b7feb364f5e78f6b6b7", "section_path": ["Server", "Logical Replication"], "commit_groups": [["1bf1140be"]], "identity_text": "Change the default sql-createsubscription streaming option from off to parallel (Vignesh C)", "commit_aliases": ["1bf1140be"], "source_commits": ["1bf1140be"], "source_entry_id": "18.0/changes/065", "db_id": "64ac8d883b9496b763afc3ba0c0bac52", "patch_ids": ["6ef9a9f39489f250a02f1462b636b45f"], "statement_hash": "ccdb8be0260f594a383cc3edfe4b5c3fb3df37d5354d857e476778efb79b3ff4", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-a97cc604ed380ce6", "cves": [], "html": "<p>Allow <a href=\"/docs/18/sql-altersubscription.html\" title=\"ALTER SUBSCRIPTION\"><span>ALTER SUBSCRIPTION</span></a> to change the replication slot's two-phase commit behavior (Hayato Kuroda, Ajin Cherian, Amit Kapila, Zhijie Hou) <a href=\"https://postgr.es/c/1462aad2e\">§</a> <a href=\"https://postgr.es/c/4868c96bc\">§</a></p>", "text": "Allow ALTER SUBSCRIPTION to change the replication slot's two-phase commit behavior (Hayato Kuroda, Ajin Cherian, Amit Kapila, Zhijie Hou) § §", "title": "Allow ALTER SUBSCRIPTION to change the replication slot's two-phase commit behavior", "commits": ["1462aad2e", "4868c96bc"], "section": "Server / Logical Replication", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICAL", "source_hash": "b96743f044a02e2201e5e678b547c8fdb56efd310343f8b3e4919fa6c862dfc7", "section_path": ["Server", "Logical Replication"], "commit_groups": [["1462aad2e"], ["4868c96bc"]], "identity_text": "Allow sql-altersubscription to change the replication slot's two-phase commit behavior (Hayato Kuroda, Ajin Cherian, Amit Kapila, Zhijie Hou)", "commit_aliases": ["1462aad2e", "4868c96bc"], "source_commits": ["1462aad2e", "4868c96bc"], "source_entry_id": "18.0/changes/066", "db_id": "41cd5554ab5a99df850ddc649a630bf5", "patch_ids": ["15c1439cde9cf963e340507c56e6bd57", "fd8060f9266b72de63d063d80a6bb2f9"], "statement_hash": "4c14605560e017cf4d89bb8a33a0ab993f4a9ff353648fde85d7e88cde571530", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-a8d78b040297e9b0", "cves": [], "html": "<p>Log <a href=\"/docs/18/hot-standby.html#HOT-STANDBY-CONFLICT\" title=\"26.4.2. Handling Query Conflicts\">conflicts</a> while applying logical replication changes (Zhijie Hou, Nisha Moond) <a href=\"https://postgr.es/c/9758174e2\">§</a> <a href=\"https://postgr.es/c/edcb71258\">§</a> <a href=\"https://postgr.es/c/640178c92\">§</a> <a href=\"https://postgr.es/c/6c2b5edec\">§</a> <a href=\"https://postgr.es/c/73eba5004\">§</a></p>\n<p>Also report in new columns of <a href=\"/docs/18/monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION-STATS\" title=\"27.2.9. pg_stat_subscription_stats\"><code>pg_stat_subscription_stats</code></a>.</p>", "text": "Log conflicts while applying logical replication changes (Zhijie Hou, Nisha Moond) § § § § § Also report in new columns of pg_stat_subscription_stats.", "title": "Log conflicts while applying logical replication changes", "commits": ["640178c92", "6c2b5edec", "73eba5004", "9758174e2", "edcb71258"], "section": "Server / Logical Replication", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICAL", "source_hash": "05b6c5eed4fe0a503528ebf6e93550346f53902f7896fdfd02fa0f490a545a5d", "section_path": ["Server", "Logical Replication"], "commit_groups": [["640178c92"], ["6c2b5edec"], ["73eba5004"], ["9758174e2"], ["edcb71258"]], "identity_text": "Log conflicts while applying logical replication changes (Zhijie Hou, Nisha Moond) Also report in new columns of pg_stat_subscription_stats.", "commit_aliases": ["640178c92", "6c2b5edec", "73eba5004", "9758174e2", "edcb71258"], "source_commits": ["640178c92", "6c2b5edec", "73eba5004", "9758174e2", "edcb71258"], "source_entry_id": "18.0/changes/067", "db_id": "d501fbaa05f2f82279ea37f34a051e90", "patch_ids": ["51def9eea7743271af2095d95b545a4f", "8b6edece41c91a3f70d5596159ddbe32", "ae3bbcf20f2ea20c2688908c03c2959a", "ae68c8345354c13eb606659698b10d59", "f0ec97314be2a61418e5a1c0f3506967"], "statement_hash": "a122cf64cd9a507a10cc7e4d8d75e98e4d0911707c1e708541f68fcd20a195cf", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d75b3348cb3c29c1", "cves": [], "html": "<p>Allow <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-GENERATED-STORED\">generated columns</a> to be virtual, and make them the default (Peter Eisentraut, Jian He, Richard Guo, Dean Rasheed) <a href=\"https://postgr.es/c/83ea6c540\">§</a> <a href=\"https://postgr.es/c/cdc168ad4\">§</a> <a href=\"https://postgr.es/c/1e4351af3\">§</a></p>\n<p>Virtual generated columns generate their values when the columns are read, not written. The write behavior can still be specified via the <code>STORED</code> option.</p>", "text": "Allow generated columns to be virtual, and make them the default (Peter Eisentraut, Jian He, Richard Guo, Dean Rasheed) § § § Virtual generated columns generate their values when the columns are read, not written. The write behavior can still be specified via the STORED option.", "title": "Allow generated columns to be virtual, and make them the default", "commits": ["1e4351af3", "83ea6c540", "cdc168ad4"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "8b9bb147252ad7e35c8f655d35d8c3a7e914db7df27c4bd4a357130d618b67b2", "section_path": ["Utility Commands"], "commit_groups": [["1e4351af3"], ["83ea6c540"], ["cdc168ad4"]], "identity_text": "Allow generated columns to be virtual, and make them the default (Peter Eisentraut, Jian He, Richard Guo, Dean Rasheed) Virtual generated columns generate their values when the columns are read, not written. The write behavior can still be specified via the STORED option.", "commit_aliases": ["1e4351af3", "83ea6c540", "cdc168ad4"], "source_commits": ["1e4351af3", "83ea6c540", "cdc168ad4"], "source_entry_id": "18.0/changes/068", "db_id": "e55bde9210ccbba653a3ff687ce8c8d5", "patch_ids": ["3e371ba8f3c63409d6e3c656c1bdb71c", "447c816d3adc612f5ef8fd3d4f63cc04", "dc34ef60f4a74f75244fff70b71d30ca"], "statement_hash": "5dc1a0db02d845a39dfa141f18f21f435065540c7745af4f23009c79c78be2b5", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1b582314268a1627", "cves": [], "html": "<p>Add <code>OLD</code>/<code>NEW</code> support to <a href=\"/docs/18/dml-returning.html\" title=\"6.4. Returning Data from Modified Rows\"><code>RETURNING</code></a> in <acronym>DML</acronym> queries (Dean Rasheed) <a href=\"https://postgr.es/c/80feb727c\">§</a></p>\n<p>Previously <code>RETURNING</code> only returned new values for <a href=\"/docs/18/sql-insert.html\" title=\"INSERT\"><span>INSERT</span></a> and <a href=\"/docs/18/sql-update.html\" title=\"UPDATE\"><span>UPDATE</span></a>, and old values for <a href=\"/docs/18/sql-delete.html\" title=\"DELETE\"><span>DELETE</span></a>; <a href=\"/docs/18/sql-merge.html\" title=\"MERGE\"><span>MERGE</span></a> would return the appropriate value for the internal query executed. This new syntax allows the <code>RETURNING</code> list of <code>INSERT</code>/<code>UPDATE</code>/<code>DELETE</code>/<code>MERGE</code> to explicitly return old and new values by using the special aliases <code>old</code> and <code>new</code>. These aliases can be renamed to avoid identifier conflicts.</p>", "text": "Add OLD/NEW support to RETURNING in DML queries (Dean Rasheed) § Previously RETURNING only returned new values for INSERT and UPDATE, and old values for DELETE; MERGE would return the appropriate value for the internal query executed. This new syntax allows the RETURNING list of INSERT/UPDATE/DELETE/MERGE to explicitly return old and new values by using the special aliases old and new. These aliases can be renamed to avoid identifier conflicts.", "title": "Add OLD/NEW support to RETURNING in DML queries", "commits": ["80feb727c"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "a8fc808c426e5a39fe1dc4198d1fc55913f32e15adb8f6ffac2992288794c5d6", "section_path": ["Utility Commands"], "commit_groups": [["80feb727c"]], "identity_text": "Add OLD/NEW support to RETURNING in DML queries (Dean Rasheed) Previously RETURNING only returned new values for sql-insert and sql-update , and old values for sql-delete ; sql-merge would return the appropriate value for the internal query executed. This new syntax allows the RETURNING list of INSERT/UPDATE/DELETE/MERGE to explicitly return old and new values by using the special aliases old and new. These aliases can be renamed to avoid identifier conflicts.", "commit_aliases": ["80feb727c"], "source_commits": ["80feb727c"], "source_entry_id": "18.0/changes/069", "db_id": "a6ab1b647947ca727232553f3a8dc197", "patch_ids": ["4fca2a9efd37d56cb0881b858a6b90f0"], "statement_hash": "2d5bdf5703ba0215fc209242d19c9debd27beb536915449517e314371beaea1e", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5507537d48f3fa62", "cves": [], "html": "<p>Allow foreign tables to be created like existing local tables (Zhang Mingli) <a href=\"https://postgr.es/c/302cf1575\">§</a></p>\n<p>The syntax is <a href=\"/docs/18/sql-createforeigntable.html\" title=\"CREATE FOREIGN TABLE\"><code>CREATE FOREIGN TABLE ... LIKE</code></a>.</p>", "text": "Allow foreign tables to be created like existing local tables (Zhang Mingli) § The syntax is CREATE FOREIGN TABLE ... LIKE.", "title": "Allow foreign tables to be created like existing local tables", "commits": ["302cf1575"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "62be8c19fa522f585e5dde472a79dd0aca848387218592415e6459267cb044c1", "section_path": ["Utility Commands"], "commit_groups": [["302cf1575"]], "identity_text": "Allow foreign tables to be created like existing local tables (Zhang Mingli) The syntax is CREATE FOREIGN TABLE ... LIKE.", "commit_aliases": ["302cf1575"], "source_commits": ["302cf1575"], "source_entry_id": "18.0/changes/070", "db_id": "3c08bf99d8f77ab94596e695234e7097", "patch_ids": ["411e9a2745f01f897f4e54030814cdda"], "statement_hash": "650c85d540879cb0964e2e35ff37c707d3011899d487df426f0eca681a4e7ed5", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-fe1a855e89d5c6c8", "cves": [], "html": "<p>Allow <a href=\"/docs/18/functions-matching.html#FUNCTIONS-LIKE\" title=\"9.7.1. LIKE\"><code>LIKE</code></a> with <a href=\"/docs/18/collation.html#COLLATION-NONDETERMINISTIC\" title=\"23.2.2.4. Nondeterministic Collations\">nondeterministic collations</a> (Peter Eisentraut) <a href=\"https://postgr.es/c/85b7efa1c\">§</a></p>", "text": "Allow LIKE with nondeterministic collations (Peter Eisentraut) §", "title": "Allow LIKE with nondeterministic collations", "commits": ["85b7efa1c"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "f18c3846540e26051772bf9f2ce2e36b80aaee96301004d7a41dfd9d5e174e11", "section_path": ["Utility Commands"], "commit_groups": [["85b7efa1c"]], "identity_text": "Allow LIKE with nondeterministic collations (Peter Eisentraut)", "commit_aliases": ["85b7efa1c"], "source_commits": ["85b7efa1c"], "source_entry_id": "18.0/changes/071", "db_id": "f3cb3e9cf2993fd77e182438fd54d155", "patch_ids": ["a5fc7223c5e3de4e0b0adde360f9a8ab"], "statement_hash": "df1ccd059c05458d62412178f18b09f9ac5b61de20fa13903026b25d6b0a281d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-547a5b7139bf17c9", "cves": [], "html": "<p>Allow text position search functions with nondeterministic collations (Peter Eisentraut) <a href=\"https://postgr.es/c/329304c90\">§</a></p>\n<p>These used to generate an error.</p>", "text": "Allow text position search functions with nondeterministic collations (Peter Eisentraut) § These used to generate an error.", "title": "Allow text position search functions with nondeterministic collations", "commits": ["329304c90"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "44de95f0bc4bf8dedce0af6fad80799804648813e2b8d379595f9119068daf23", "section_path": ["Utility Commands"], "commit_groups": [["329304c90"]], "identity_text": "Allow text position search functions with nondeterministic collations (Peter Eisentraut) These used to generate an error.", "commit_aliases": ["329304c90"], "source_commits": ["329304c90"], "source_entry_id": "18.0/changes/072", "db_id": "1633612e398b9d62fc3745ae04ffbdcb", "patch_ids": ["43d52072e1fb7ccdaab204775ce5218b"], "statement_hash": "819c561a7502a24a171a66abb4e6b6d3543683ac066ea66ccff53a0fce4befea", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-353986c77138379c", "cves": [], "html": "<p>Add builtin collation provider <a href=\"/docs/18/locale.html#LOCALE-PROVIDERS\" title=\"23.1.4. Locale Providers\"><code>PG_UNICODE_FAST</code></a> (Jeff Davis) <a href=\"https://postgr.es/c/d3d098316\">§</a></p>\n<p>This locale supports case mapping, but sorts in code point order, not natural language order.</p>", "text": "Add builtin collation provider PG_UNICODE_FAST (Jeff Davis) § This locale supports case mapping, but sorts in code point order, not natural language order.", "title": "Add builtin collation provider PG_UNICODE_FAST", "commits": ["d3d098316"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "c67e8fc3c341be4b77ad03dc233abe7dcf8538d89e6aa0f6ccdf7ecd5fced9ee", "section_path": ["Utility Commands"], "commit_groups": [["d3d098316"]], "identity_text": "Add builtin collation provider PG_UNICODE_FAST (Jeff Davis) This locale supports case mapping, but sorts in code point order, not natural language order.", "commit_aliases": ["d3d098316"], "source_commits": ["d3d098316"], "source_entry_id": "18.0/changes/073", "db_id": "30595e5c571a05cc7aee9889ba3a082f", "patch_ids": ["04e3a10e98b76c4d3552450e42090216"], "statement_hash": "a2fd33890c8b434927b30005c495e84f2917c37b0d70177e7af7e169446cb0cc", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f2283e0ad8b607f4", "cves": [], "html": "<p>Allow <a href=\"/docs/18/sql-vacuum.html\" title=\"VACUUM\"><span>VACUUM</span></a> and <a href=\"/docs/18/sql-analyze.html\" title=\"ANALYZE\"><span>ANALYZE</span></a> to process partitioned tables without processing their children (Michael Harris) <a href=\"https://postgr.es/c/62ddf7ee9\">§</a></p>\n<p>This is enabled with the new <code>ONLY</code> option. This is useful since autovacuum does not process partitioned tables, just its children.</p>", "text": "Allow VACUUM and ANALYZE to process partitioned tables without processing their children (Michael Harris) § This is enabled with the new ONLY option. This is useful since autovacuum does not process partitioned tables, just its children.", "title": "Allow VACUUM and ANALYZE to process partitioned tables without processing their children", "commits": ["62ddf7ee9"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "05c7937bacc706d236a69b8c4fc589b591495e0020f6ccc2a065ca5215497451", "section_path": ["Utility Commands"], "commit_groups": [["62ddf7ee9"]], "identity_text": "Allow sql-vacuum and sql-analyze to process partitioned tables without processing their children (Michael Harris) This is enabled with the new ONLY option. This is useful since autovacuum does not process partitioned tables, just its children.", "commit_aliases": ["62ddf7ee9"], "source_commits": ["62ddf7ee9"], "source_entry_id": "18.0/changes/074", "db_id": "94f45240a0275d0638838beebe665ece", "patch_ids": ["29279fd7549098871f985b99df60e141"], "statement_hash": "186081ff4a06c8a75bdfc573ce88d92f94310682d9ee69294323a9c8326c9e6f", "relations": [{"rule": 2, "type": "related", "target": "c27156e947f09ff22df4dce5613e8f4c", "evidence": {"same_day": true, "patch_ids": ["29279fd7549098871f985b99df60e141"]}}], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "c27156e947f09ff22df4dce5613e8f4c", "kind": "related", "version": "18.0", "label": "18.0", "title": "Change VACUUM and ANALYZE to process the inheritance children of a parent", "evidence": {"same_day": true, "patch_ids": ["29279fd7549098871f985b99df60e141"]}, "url": "/docs/compare/?release=18.0#18.0-c84ca88e6e5518a9", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION"}]}, {"id": "18.0-00fa56f14a769e0c", "cves": [], "html": "<p>Add functions to modify per-relation and per-column optimizer statistics (Corey Huinker) <a href=\"https://postgr.es/c/e839c8ecc\">§</a> <a href=\"https://postgr.es/c/d32d14639\">§</a> <a href=\"https://postgr.es/c/650ab8aaf\">§</a></p>\n<p>The functions are <a href=\"/docs/18/functions-admin.html#FUNCTIONS-ADMIN-STATSMOD\" title=\"Table 9.105. Database Object Statistics Manipulation Functions\"><code>pg_restore_relation_stats()</code></a>, <code>pg_restore_attribute_stats()</code>, <code>pg_clear_relation_stats()</code>, and <code>pg_clear_attribute_stats()</code>.</p>", "text": "Add functions to modify per-relation and per-column optimizer statistics (Corey Huinker) § § § The functions are pg_restore_relation_stats(), pg_restore_attribute_stats(), pg_clear_relation_stats(), and pg_clear_attribute_stats().", "title": "Add functions to modify per-relation and per-column optimizer statistics", "commits": ["650ab8aaf", "d32d14639", "e839c8ecc"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "674b01db84fb9420f02aad464846ffa2cb53e14b1d1fbbb110ec279daa7ad21d", "section_path": ["Utility Commands"], "commit_groups": [["650ab8aaf"], ["d32d14639"], ["e839c8ecc"]], "identity_text": "Add functions to modify per-relation and per-column optimizer statistics (Corey Huinker) The functions are pg_restore_relation_stats(), pg_restore_attribute_stats(), pg_clear_relation_stats(), and pg_clear_attribute_stats().", "commit_aliases": ["650ab8aaf", "d32d14639", "e839c8ecc"], "source_commits": ["650ab8aaf", "d32d14639", "e839c8ecc"], "source_entry_id": "18.0/changes/075", "db_id": "6e9858b57c68ea99d8150fd4b9910b9f", "patch_ids": ["4b5624c10aaa5b112428b0a7a7f438af", "aec78a3156d287b4d2d70cdd28529fcb", "eaa21c78bd0fb6108287d3368130333b"], "statement_hash": "7eaa13e8bdea924978103d7640a4fbfb4bfa5d38f0861eb50b3ae7fb57e908a3", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-615abfe2518a2e1a", "cves": [], "html": "<p>Add server variable <a href=\"/docs/18/runtime-config-resource.html#GUC-FILE-COPY-METHOD\">file_copy_method</a> to control the file copying method (Nazir Bilal Yavuz) <a href=\"https://postgr.es/c/f78ca6f3e\">§</a></p>\n<p>This controls whether <a href=\"/docs/18/sql-createdatabase.html\" title=\"CREATE DATABASE\"><code>CREATE DATABASE ... STRATEGY=FILE_COPY</code></a> and <a href=\"/docs/18/sql-alterdatabase.html\" title=\"ALTER DATABASE\"><code>ALTER DATABASE ... SET TABLESPACE</code></a> uses file copy or clone.</p>", "text": "Add server variable file_copy_method to control the file copying method (Nazir Bilal Yavuz) § This controls whether CREATE DATABASE ... STRATEGY=FILE_COPY and ALTER DATABASE ... SET TABLESPACE uses file copy or clone.", "title": "Add server variable file_copy_method to control the file copying method", "commits": ["f78ca6f3e"], "section": "Utility Commands", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-UTILITY", "source_hash": "55ffac7e2445fc4100affe783d64394b74d1f2e231c9ff84dec30c9a304d45d3", "section_path": ["Utility Commands"], "commit_groups": [["f78ca6f3e"]], "identity_text": "Add server variable guc-file-copy-method to control the file copying method (Nazir Bilal Yavuz) This controls whether CREATE DATABASE ... STRATEGY=FILE_COPY and ALTER DATABASE ... SET TABLESPACE uses file copy or clone.", "commit_aliases": ["f78ca6f3e"], "source_commits": ["f78ca6f3e"], "source_entry_id": "18.0/changes/076", "db_id": "b992193589e7617ce4982491eb56e0e8", "patch_ids": ["439a7381d3a81157f6048dcf27ba49c2"], "statement_hash": "d2befdc7cea14270674f2666fadea7539a2a737ce15620835aa47ff9bd481014", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-db27a9639261e139", "cves": [], "html": "<p>Allow the specification of non-overlapping <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-PRIMARY-KEY\"><code>PRIMARY KEY</code></a>, <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-UNIQUE\"><code>UNIQUE</code></a>, and <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES\">foreign key</a> constraints (Paul A. Jungwirth) <a href=\"https://postgr.es/c/fc0438b4e\">§</a> <a href=\"https://postgr.es/c/89f908a6d\">§</a></p>\n<p>This is specified by <code>WITHOUT OVERLAPS</code> for <code>PRIMARY KEY</code> and <code>UNIQUE</code>, and by <code>PERIOD</code> for foreign keys, all applied to the last specified column.</p>", "text": "Allow the specification of non-overlapping PRIMARY KEY, UNIQUE, and foreign key constraints (Paul A. Jungwirth) § § This is specified by WITHOUT OVERLAPS for PRIMARY KEY and UNIQUE, and by PERIOD for foreign keys, all applied to the last specified column.", "title": "Allow the specification of non-overlapping PRIMARY KEY, UNIQUE, and foreign key constraints", "commits": ["89f908a6d", "fc0438b4e"], "section": "Utility Commands / Constraints", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "cec7b6e045c9545e4f10003ed952bf9225e93776662baf6f97aab61666ffbe22", "section_path": ["Utility Commands", "Constraints"], "commit_groups": [["89f908a6d"], ["fc0438b4e"]], "identity_text": "Allow the specification of non-overlapping PRIMARY KEY, UNIQUE, and foreign key constraints (Paul A. Jungwirth) This is specified by WITHOUT OVERLAPS for PRIMARY KEY and UNIQUE, and by PERIOD for foreign keys, all applied to the last specified column.", "commit_aliases": ["89f908a6d", "fc0438b4e"], "source_commits": ["89f908a6d", "fc0438b4e"], "source_entry_id": "18.0/changes/077", "db_id": "656f1a2aaf525351eb1b8eece841fb72", "patch_ids": ["9d21a99c31ba9ddbc8896e95bc3a20c8", "ed4443224512a7d7c9e0593dd5194bd1"], "statement_hash": "f26c4016e11249e5cafa6f494580e249b2ffd42b0e460e4b6da81439d8a183c1", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0b43fb4e9ec35c53", "cves": [], "html": "<p>Allow <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-CHECK\"><code>CHECK</code></a> and <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES\">foreign key</a> constraints to be specified as <code>NOT ENFORCED</code> (Amul Sul) <a href=\"https://postgr.es/c/ca87c415e\">§</a> <a href=\"https://postgr.es/c/eec0040c4\">§</a></p>\n<p>This also adds column <a href=\"/docs/18/catalog-pg-constraint.html\" title=\"52.13. pg_constraint\"><code>pg_constraint</code></a>.<code>conenforced</code>.</p>", "text": "Allow CHECK and foreign key constraints to be specified as NOT ENFORCED (Amul Sul) § § This also adds column pg_constraint.conenforced.", "title": "Allow CHECK and foreign key constraints to be specified as NOT ENFORCED", "commits": ["ca87c415e", "eec0040c4"], "section": "Utility Commands / Constraints", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "47a74d174f45c84fadfefcd99f91a1c5b2a162611ee164e7a53164d9a4c34e1b", "section_path": ["Utility Commands", "Constraints"], "commit_groups": [["ca87c415e"], ["eec0040c4"]], "identity_text": "Allow CHECK and foreign key constraints to be specified as NOT ENFORCED (Amul Sul) This also adds column pg_constraint.conenforced.", "commit_aliases": ["ca87c415e", "eec0040c4"], "source_commits": ["ca87c415e", "eec0040c4"], "source_entry_id": "18.0/changes/078", "db_id": "156ef162ef6c54bcf8685caaa1f35f9c", "patch_ids": ["28c11a4e5c4747a11fea5d43ea2536bb", "897c774e88b353e9aaeb6731a2e16f1e"], "statement_hash": "9d9913a6743e4062207224366278ff21a4ddbc3afbab5cd896fbb02070710e2f", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-8f6d0fef92cbe901", "cves": [], "html": "<p>Require <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-REFERENCES\">primary/foreign key</a> relationships to use either deterministic collations or the the same nondeterministic collations (Peter Eisentraut) <a href=\"https://postgr.es/c/9321d2fdf\">§</a></p>\n<p>The restore of a <a href=\"/docs/18/app-pgdump.html\" title=\"pg_dump\"><span><span>pg_dump</span></span></a>, also used by <a href=\"/docs/18/pgupgrade.html\" title=\"pg_upgrade\"><span><span>pg_upgrade</span></span></a>, will fail if these requirements are not met; schema changes must be made for these upgrade methods to succeed.</p>", "text": "Require primary/foreign key relationships to use either deterministic collations or the the same nondeterministic collations (Peter Eisentraut) § The restore of a pg_dump, also used by pg_upgrade, will fail if these requirements are not met; schema changes must be made for these upgrade methods to succeed.", "title": "Require primary/foreign key relationships to use either deterministic collations or the the same nondeterministic collations", "commits": ["9321d2fdf"], "section": "Utility Commands / Constraints", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "2b17eb3b34045fd66a066a2076d863f0fa350f40aa79c07d72d3a50fcdeff6f3", "section_path": ["Utility Commands", "Constraints"], "commit_groups": [["9321d2fdf"]], "identity_text": "Require primary/foreign key relationships to use either deterministic collations or the the same nondeterministic collations (Peter Eisentraut) The restore of a app-pgdump , also used by pgupgrade , will fail if these requirements are not met; schema changes must be made for these upgrade methods to succeed.", "commit_aliases": ["9321d2fdf"], "source_commits": ["9321d2fdf"], "source_entry_id": "18.0/changes/079", "db_id": "68a1f7d62d756e8a62c81960b94b7516", "patch_ids": ["0ce5a6d8a11a1381cec57c4513b145b6"], "statement_hash": "2618c39bc6d6dedcb5838152a2f2578f929d0e51755b824342e7609b6456ce31", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0039523c093ff51f", "cves": [], "html": "<p>Store column <a href=\"/docs/18/sql-createtable.html#SQL-CREATETABLE-PARMS-NOT-NULL\"><code>NOT NULL</code></a> specifications in <a href=\"/docs/18/catalog-pg-constraint.html\" title=\"52.13. pg_constraint\"><code>pg_constraint</code></a> (Álvaro Herrera, Bernd Helmle) <a href=\"https://postgr.es/c/14e87ffa5\">§</a> <a href=\"https://postgr.es/c/81ce602d4\">§</a></p>\n<p>This allows names to be specified for <code>NOT NULL</code> constraint. This also adds <code>NOT NULL</code> constraints to foreign tables and <code>NOT NULL</code> inheritance control to local tables.</p>", "text": "Store column NOT NULL specifications in pg_constraint (Álvaro Herrera, Bernd Helmle) § § This allows names to be specified for NOT NULL constraint. This also adds NOT NULL constraints to foreign tables and NOT NULL inheritance control to local tables.", "title": "Store column NOT NULL specifications in pg_constraint", "commits": ["14e87ffa5", "81ce602d4"], "section": "Utility Commands / Constraints", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "8d664870fe4f56fdb40b1e71956c91806ece38272c325ee7364c831d08a4078a", "section_path": ["Utility Commands", "Constraints"], "commit_groups": [["14e87ffa5"], ["81ce602d4"]], "identity_text": "Store column NOT NULL specifications in pg_constraint (Álvaro Herrera, Bernd Helmle) This allows names to be specified for NOT NULL constraint. This also adds NOT NULL constraints to foreign tables and NOT NULL inheritance control to local tables.", "commit_aliases": ["14e87ffa5", "81ce602d4"], "source_commits": ["14e87ffa5", "81ce602d4"], "source_entry_id": "18.0/changes/080", "db_id": "8a4e6850401232dbd894c7a1988f9765", "patch_ids": ["505109f4ed771badde73056b108e1d2e", "cbc655e13a914f142d5328fd2f764c89"], "statement_hash": "1c879bc0432ab853565526cf4359ab6808a77d0d5c13a35df594c1bd9ee148eb", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-71a718667ea9d30a", "cves": [], "html": "<p>Allow <a href=\"/docs/18/sql-altertable.html\" title=\"ALTER TABLE\"><span>ALTER TABLE</span></a> to set the <code>NOT VALID</code> attribute of <code>NOT NULL</code> constraints (Rushabh Lathia, Jian He) <a href=\"https://postgr.es/c/a379061a2\">§</a></p>", "text": "Allow ALTER TABLE to set the NOT VALID attribute of NOT NULL constraints (Rushabh Lathia, Jian He) §", "title": "Allow ALTER TABLE to set the NOT VALID attribute of NOT NULL constraints", "commits": ["a379061a2"], "section": "Utility Commands / Constraints", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "7a63541c0cbbb94bf4c1f24b20eb8d40802864525d0a1f1d7c799ec1ef11ded5", "section_path": ["Utility Commands", "Constraints"], "commit_groups": [["a379061a2"]], "identity_text": "Allow sql-altertable to set the NOT VALID attribute of NOT NULL constraints (Rushabh Lathia, Jian He)", "commit_aliases": ["a379061a2"], "source_commits": ["a379061a2"], "source_entry_id": "18.0/changes/081", "db_id": "f12f345f0589967cff7f213f4c4bca92", "patch_ids": ["a2748ca9c6b723c431540e39acdedc40"], "statement_hash": "a8527c487edbe6f9a27b333d0cb36ae75e63f09eb9da9be99855bf147481647a", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-fef76810fd909153", "cves": [], "html": "<p>Allow modification of the inheritability of <code>NOT NULL</code> constraints (Suraj Kharage, Álvaro Herrera) <a href=\"https://postgr.es/c/f4e53e10b\">§</a> <a href=\"https://postgr.es/c/4a02af8b1\">§</a></p>\n<p>The syntax is <a href=\"/docs/18/sql-altertable.html\" title=\"ALTER TABLE\"><code>ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT</code></a>.</p>", "text": "Allow modification of the inheritability of NOT NULL constraints (Suraj Kharage, Álvaro Herrera) § § The syntax is ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT.", "title": "Allow modification of the inheritability of NOT NULL constraints", "commits": ["4a02af8b1", "f4e53e10b"], "section": "Utility Commands / Constraints", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "1c4f8756f1658494559bcf0a5e867d67b99c36db57dc1d6d871e2860cb1d23c9", "section_path": ["Utility Commands", "Constraints"], "commit_groups": [["4a02af8b1"], ["f4e53e10b"]], "identity_text": "Allow modification of the inheritability of NOT NULL constraints (Suraj Kharage, Álvaro Herrera) The syntax is ALTER TABLE ... ALTER CONSTRAINT ... [NO] INHERIT.", "commit_aliases": ["4a02af8b1", "f4e53e10b"], "source_commits": ["4a02af8b1", "f4e53e10b"], "source_entry_id": "18.0/changes/082", "db_id": "adedc047dd49b7985ea964547e1bb243", "patch_ids": ["56786cb45efb3212c89bdb6ba9fb1df5", "909cea2bfeaec8651ebceab1164a3e8c"], "statement_hash": "2389a86ed4c13eb10fce8148371ee5a6a016890e39b2a991d29d19326a10d62e", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1858e6bfd78676a8", "cves": [], "html": "<p>Allow <code>NOT VALID</code> foreign key constraints on partitioned tables (Amul Sul) <a href=\"https://postgr.es/c/b663b9436\">§</a></p>", "text": "Allow NOT VALID foreign key constraints on partitioned tables (Amul Sul) §", "title": "Allow NOT VALID foreign key constraints on partitioned tables", "commits": ["b663b9436"], "section": "Utility Commands / Constraints", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "062a57914f39af06b5e61c9892baed456e5c24e484a6259c145f99dfd61fda32", "section_path": ["Utility Commands", "Constraints"], "commit_groups": [["b663b9436"]], "identity_text": "Allow NOT VALID foreign key constraints on partitioned tables (Amul Sul)", "commit_aliases": ["b663b9436"], "source_commits": ["b663b9436"], "source_entry_id": "18.0/changes/083", "db_id": "00f0a79bb9b96d16af5a0d9ed236739d", "patch_ids": ["c2923b14543c6619fb5c4ab76a00fd21"], "statement_hash": "15cb6c826ef8120a3dec63ed2b6c3cd1e5eebed7e6a87ec7d752833735252b0d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f1d806ac686f4f4b", "cves": [], "html": "<p>Allow <a href=\"/docs/18/sql-altertable.html#SQL-ALTERTABLE-DESC-DROP-CONSTRAINT\">dropping</a> of constraints <code>ONLY</code> on partitioned tables (Álvaro Herrera) <a href=\"https://postgr.es/c/4dea33ce7\">§</a></p>\n<p>This was previously erroneously prohibited.</p>", "text": "Allow dropping of constraints ONLY on partitioned tables (Álvaro Herrera) § This was previously erroneously prohibited.", "title": "Allow dropping of constraints ONLY on partitioned tables", "commits": ["4dea33ce7"], "section": "Utility Commands / Constraints", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-CONSTRAINTS", "source_hash": "8c1219c56b3716c6e0669450727af7aed75763ee754fd98663afe83cdbb70624", "section_path": ["Utility Commands", "Constraints"], "commit_groups": [["4dea33ce7"]], "identity_text": "Allow dropping of constraints ONLY on partitioned tables (Álvaro Herrera) This was previously erroneously prohibited.", "commit_aliases": ["4dea33ce7"], "source_commits": ["4dea33ce7"], "source_entry_id": "18.0/changes/084", "db_id": "18344143b41582623ed016d08d3724f0", "patch_ids": ["e01f71769bcebafa65ea9e9facbc8f0e"], "statement_hash": "2f709f0920ff299f36d06fa6d2c5e29a93df41901d6a0aa8e7f22d2226fd478d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b15309054d630829", "cves": [], "html": "<p>Add <code>REJECT_LIMIT</code> to control the number of invalid rows <code>COPY FROM</code> can ignore (Atsushi Torikoshi) <a href=\"https://postgr.es/c/4ac2a9bec\">§</a></p>\n<p>This is available when <code>ON_ERROR = 'ignore'</code>.</p>", "text": "Add REJECT_LIMIT to control the number of invalid rows COPY FROM can ignore (Atsushi Torikoshi) § This is available when ON_ERROR = 'ignore'.", "title": "Add REJECT_LIMIT to control the number of invalid rows COPY FROM can ignore", "commits": ["4ac2a9bec"], "section": "Utility Commands / COPY", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-COPY", "source_hash": "f3981715f3b71b16f4c72e77aa2ec03da5d40cb477dd6d80bc4cf5c4d4f90e5c", "section_path": ["Utility Commands", "COPY"], "commit_groups": [["4ac2a9bec"]], "identity_text": "Add REJECT_LIMIT to control the number of invalid rows COPY FROM can ignore (Atsushi Torikoshi) This is available when ON_ERROR = 'ignore'.", "commit_aliases": ["4ac2a9bec"], "source_commits": ["4ac2a9bec"], "source_entry_id": "18.0/changes/085", "db_id": "674d24a9f1cfc352eb2363f11a5c7539", "patch_ids": ["7f4f9e66d9ca5682846e93efd1b5fc7d"], "statement_hash": "698a53fb14412adff83d040ae615676e6a127786304207e285e2519d605a92e2", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5cd8e6c78484f775", "cves": [], "html": "<p>Allow <code>COPY TO</code> to copy rows from populated materialized views (Jian He) <a href=\"https://postgr.es/c/534874fac\">§</a></p>", "text": "Allow COPY TO to copy rows from populated materialized views (Jian He) §", "title": "Allow COPY TO to copy rows from populated materialized views", "commits": ["534874fac"], "section": "Utility Commands / COPY", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-COPY", "source_hash": "e37c4454ecdf402763cdc909e3004d4bd7ae457a278af9953c8d49c850da3008", "section_path": ["Utility Commands", "COPY"], "commit_groups": [["534874fac"]], "identity_text": "Allow COPY TO to copy rows from populated materialized views (Jian He)", "commit_aliases": ["534874fac"], "source_commits": ["534874fac"], "source_entry_id": "18.0/changes/086", "db_id": "23a5576dc9182181550cee0d3d6263bc", "patch_ids": ["9ad7b973037ff1a0a179ec607ca95b25"], "statement_hash": "580d88384b12572bdc1dba7d048eec5819aaebb667e38fe313dc4e980a4939c0", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6731adec896c7c19", "cves": [], "html": "<p>Add <code>COPY</code> <code>LOG_VERBOSITY</code> level <code>silent</code> to suppress log output of ignored rows (Atsushi Torikoshi) <a href=\"https://postgr.es/c/e7834a1a2\">§</a></p>\n<p>This new level suppresses output for discarded input rows when <code>on_error = 'ignore'</code>.</p>", "text": "Add COPY LOG_VERBOSITY level silent to suppress log output of ignored rows (Atsushi Torikoshi) § This new level suppresses output for discarded input rows when on_error = 'ignore'.", "title": "Add COPY LOG_VERBOSITY level silent to suppress log output of ignored rows", "commits": ["e7834a1a2"], "section": "Utility Commands / COPY", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-COPY", "source_hash": "e30568a05a51cc956d53c72dd6423d9460b332d5296181fd3e08afd8bd29367c", "section_path": ["Utility Commands", "COPY"], "commit_groups": [["e7834a1a2"]], "identity_text": "Add COPY LOG_VERBOSITY level silent to suppress log output of ignored rows (Atsushi Torikoshi) This new level suppresses output for discarded input rows when on_error = 'ignore'.", "commit_aliases": ["e7834a1a2"], "source_commits": ["e7834a1a2"], "source_entry_id": "18.0/changes/087", "db_id": "30be8963700022701b7661b754782b3b", "patch_ids": ["f569a49fa09919d4034e2b06b4c342ce"], "statement_hash": "6d5f23b832ecbeab177e4573126032823a2586d9ba213cd63d0d47a0f54a12a6", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1a1baaed5585a779", "cves": [], "html": "<p>Disallow <code>COPY FREEZE</code> on foreign tables (Nathan Bossart) <a href=\"https://postgr.es/c/401a6956f\">§</a></p>\n<p>Previously, the <code>COPY</code> worked but the <code>FREEZE</code> was ignored, so disallow this command.</p>", "text": "Disallow COPY FREEZE on foreign tables (Nathan Bossart) § Previously, the COPY worked but the FREEZE was ignored, so disallow this command.", "title": "Disallow COPY FREEZE on foreign tables", "commits": ["401a6956f"], "section": "Utility Commands / COPY", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-COPY", "source_hash": "2bfc9a6e767e8725680471126a503535a61702174b5a16a1bf2bd6118f06eb97", "section_path": ["Utility Commands", "COPY"], "commit_groups": [["401a6956f"]], "identity_text": "Disallow COPY FREEZE on foreign tables (Nathan Bossart) Previously, the COPY worked but the FREEZE was ignored, so disallow this command.", "commit_aliases": ["401a6956f"], "source_commits": ["401a6956f"], "source_entry_id": "18.0/changes/088", "db_id": "75550bfda376779970fec97260fe8639", "patch_ids": ["eee714494241fff433db4787d9092a87"], "statement_hash": "032b9ea2d143e561478378fffea7290a140c3417066719b65f9a85e0be0fc8cc", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4732efcce00b7547", "cves": [], "html": "<p>Automatically include <code>BUFFERS</code> output in <code>EXPLAIN ANALYZE</code> (Guillaume Lelarge, David Rowley) <a href=\"https://postgr.es/c/c2a4078eb\">§</a></p>", "text": "Automatically include BUFFERS output in EXPLAIN ANALYZE (Guillaume Lelarge, David Rowley) §", "title": "Automatically include BUFFERS output in EXPLAIN ANALYZE", "commits": ["c2a4078eb"], "section": "Utility Commands / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "4f1cc832b26669ebc18ab566168b38ef39fca619a6c92e252369b01f5a0bc9b1", "section_path": ["Utility Commands", "EXPLAIN"], "commit_groups": [["c2a4078eb"]], "identity_text": "Automatically include BUFFERS output in EXPLAIN ANALYZE (Guillaume Lelarge, David Rowley)", "commit_aliases": ["c2a4078eb"], "source_commits": ["c2a4078eb"], "source_entry_id": "18.0/changes/089", "db_id": "7d0150a8d96ebdd5210b00551808f87c", "patch_ids": ["fe41e5c5aa3992b5c1d39d93a7d6ea31"], "statement_hash": "4d3ebf18daea69902eaf0d735f16086aa29e7bb1546e40ac2dd310ec32bfb65a", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f88980978c25aa7b", "cves": [], "html": "<p>Add full <acronym>WAL</acronym> buffer count to <code>EXPLAIN (WAL)</code> output (Bertrand Drouvot) <a href=\"https://postgr.es/c/320545bfc\">§</a></p>", "text": "Add full WAL buffer count to EXPLAIN (WAL) output (Bertrand Drouvot) §", "title": "Add full WAL buffer count to EXPLAIN (WAL) output", "commits": ["320545bfc"], "section": "Utility Commands / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "e70f8707fdfc9a5e11eecfc7be79f12ac25687ff9f9a598bab2bbed10e7952a3", "section_path": ["Utility Commands", "EXPLAIN"], "commit_groups": [["320545bfc"]], "identity_text": "Add full WAL buffer count to EXPLAIN (WAL) output (Bertrand Drouvot)", "commit_aliases": ["320545bfc"], "source_commits": ["320545bfc"], "source_entry_id": "18.0/changes/090", "db_id": "b1402b6353f73f398c174abfd4cb75f4", "patch_ids": ["585091e9e2e1078246b0ecd89829b72f"], "statement_hash": "2bef83ac1581f3e0e2e23bb3dffbd7e2bca8cd32e26f6b3b7649706bc5985e3b", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0ec1e9f670b7bf87", "cves": [], "html": "<p>In <code>EXPLAIN ANALYZE</code>, report the number of index lookups used per index scan node (Peter Geoghegan) <a href=\"https://postgr.es/c/0fbceae84\">§</a></p>", "text": "In EXPLAIN ANALYZE, report the number of index lookups used per index scan node (Peter Geoghegan) §", "title": "In EXPLAIN ANALYZE, report the number of index lookups used per index scan node", "commits": ["0fbceae84"], "section": "Utility Commands / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "b06d2547a2689ffeff48c0ee4af3b40f10b120d0b14fd78b648019997ca231f1", "section_path": ["Utility Commands", "EXPLAIN"], "commit_groups": [["0fbceae84"]], "identity_text": "In EXPLAIN ANALYZE, report the number of index lookups used per index scan node (Peter Geoghegan)", "commit_aliases": ["0fbceae84"], "source_commits": ["0fbceae84"], "source_entry_id": "18.0/changes/091", "db_id": "bab8dbda4117422a88669df5576a5023", "patch_ids": ["47bcd366fc2b2d8e747acc4acdbe8c4a"], "statement_hash": "58f0bb81e5341548a9a6e1f357ff1230ec2d0249b162ecc2c4516fa91c0cda6d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-8f617caa6756d686", "cves": [], "html": "<p>Modify <code>EXPLAIN</code> to output fractional row counts (Ibrar Ahmed, Ilia Evdokimov, Robert Haas) <a href=\"https://postgr.es/c/ddb17e387\">§</a> <a href=\"https://postgr.es/c/95dbd827f\">§</a></p>", "text": "Modify EXPLAIN to output fractional row counts (Ibrar Ahmed, Ilia Evdokimov, Robert Haas) § §", "title": "Modify EXPLAIN to output fractional row counts", "commits": ["95dbd827f", "ddb17e387"], "section": "Utility Commands / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "8b372df1de3e847251475feecff87511212ef4a7308f2ab3f9d3991a4f7f1271", "section_path": ["Utility Commands", "EXPLAIN"], "commit_groups": [["95dbd827f"], ["ddb17e387"]], "identity_text": "Modify EXPLAIN to output fractional row counts (Ibrar Ahmed, Ilia Evdokimov, Robert Haas)", "commit_aliases": ["95dbd827f", "ddb17e387"], "source_commits": ["95dbd827f", "ddb17e387"], "source_entry_id": "18.0/changes/092", "db_id": "2cbb7e039caf18034654ec1ad2162ce6", "patch_ids": ["277dfa6cd96707a4511579fea69bdf42", "a7a2bc7d28fb59615d3820a1aef1ada5"], "statement_hash": "f3ad444cd57c43a8eb9aef5c6daf8d22789e8e21aecd35286d59347003a31e47", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-601ba6789b6723ef", "cves": [], "html": "<p>Add memory and disk usage details to <code>Material</code>, <code>Window Aggregate</code>, and common table expression nodes to <code>EXPLAIN</code> output (David Rowley, Tatsuo Ishii) <a href=\"https://postgr.es/c/1eff8279d\">§</a> <a href=\"https://postgr.es/c/53abb1e0e\">§</a> <a href=\"https://postgr.es/c/95d6e9af0\">§</a> <a href=\"https://postgr.es/c/40708acd6\">§</a></p>", "text": "Add memory and disk usage details to Material, Window Aggregate, and common table expression nodes to EXPLAIN output (David Rowley, Tatsuo Ishii) § § § §", "title": "Add memory and disk usage details to Material, Window Aggregate, and common table expression nodes to EXPLAIN output", "commits": ["1eff8279d", "40708acd6", "53abb1e0e", "95d6e9af0"], "section": "Utility Commands / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "f128c3ab11e36d502813b59e5ae2fff45e8771de891b8f3d9df293688b89b071", "section_path": ["Utility Commands", "EXPLAIN"], "commit_groups": [["1eff8279d"], ["40708acd6"], ["53abb1e0e"], ["95d6e9af0"]], "identity_text": "Add memory and disk usage details to Material, Window Aggregate, and common table expression nodes to EXPLAIN output (David Rowley, Tatsuo Ishii)", "commit_aliases": ["1eff8279d", "40708acd6", "53abb1e0e", "95d6e9af0"], "source_commits": ["1eff8279d", "40708acd6", "53abb1e0e", "95d6e9af0"], "source_entry_id": "18.0/changes/093", "db_id": "f7637a7e9a3f81b57fe9146041535ad8", "patch_ids": ["1df52fbee5d573687d789986df7b35c2", "c360be90ce7d5bd791ad4622b5bfbe57", "ee6f3673f5e42eb9d5bf8e348328fafe", "f8173d6a2780f722fa00fec00898b957"], "statement_hash": "82672a2762009bce7205451b2953885a722ed7d77e229835b6189709c86f9901", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-88dd6a58e55cfdde", "cves": [], "html": "<p>Add details about window function arguments to <code>EXPLAIN</code> output (Tom Lane) <a href=\"https://postgr.es/c/8b1b34254\">§</a></p>", "text": "Add details about window function arguments to EXPLAIN output (Tom Lane) §", "title": "Add details about window function arguments to EXPLAIN output", "commits": ["8b1b34254"], "section": "Utility Commands / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "a9c598e09704fea78f54ec79c93b4f2ed12edb7ffa65c7f4ff645e8207780e58", "section_path": ["Utility Commands", "EXPLAIN"], "commit_groups": [["8b1b34254"]], "identity_text": "Add details about window function arguments to EXPLAIN output (Tom Lane)", "commit_aliases": ["8b1b34254"], "source_commits": ["8b1b34254"], "source_entry_id": "18.0/changes/094", "db_id": "e18d645dd62690d4179d6a67439f312c", "patch_ids": ["ec84a482b22364ca0904164bf7b650a1"], "statement_hash": "b368768879451808ef2f7dd803b2c8af870c11d3c483e0d30a7664d513201eec", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c57e3b87c33cec9d", "cves": [], "html": "<p>Add <code>Parallel Bitmap Heap Scan</code> worker cache statistics to <code>EXPLAIN ANALYZE</code> (David Geier, Heikki Linnakangas, Donghang Lin, Alena Rybakina, David Rowley) <a href=\"https://postgr.es/c/5a1e6df3b\">§</a></p>", "text": "Add Parallel Bitmap Heap Scan worker cache statistics to EXPLAIN ANALYZE (David Geier, Heikki Linnakangas, Donghang Lin, Alena Rybakina, David Rowley) §", "title": "Add Parallel Bitmap Heap Scan worker cache statistics to EXPLAIN ANALYZE", "commits": ["5a1e6df3b"], "section": "Utility Commands / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "382a101c5350e51e68527939a7c17f3fbe53b219e5fe816c8ac8707b587e49d8", "section_path": ["Utility Commands", "EXPLAIN"], "commit_groups": [["5a1e6df3b"]], "identity_text": "Add Parallel Bitmap Heap Scan worker cache statistics to EXPLAIN ANALYZE (David Geier, Heikki Linnakangas, Donghang Lin, Alena Rybakina, David Rowley)", "commit_aliases": ["5a1e6df3b"], "source_commits": ["5a1e6df3b"], "source_entry_id": "18.0/changes/095", "db_id": "778e042a7bca864fc20e787657eae283", "patch_ids": ["e13545dcffc8e4f5983b60b2c8dc26ba"], "statement_hash": "d40345a739f93231913a4643f6a21e7b83e12c707c288b83ad808ec462ebfab5", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b4f1bde46728e1ad", "cves": [], "html": "<p>Indicate disabled nodes in <code>EXPLAIN ANALYZE</code> output (Robert Haas, David Rowley, Laurenz Albe) <a href=\"https://postgr.es/c/c01743aa4\">§</a> <a href=\"https://postgr.es/c/161320b4b\">§</a> <a href=\"https://postgr.es/c/84b8fccbe\">§</a></p>", "text": "Indicate disabled nodes in EXPLAIN ANALYZE output (Robert Haas, David Rowley, Laurenz Albe) § § §", "title": "Indicate disabled nodes in EXPLAIN ANALYZE output", "commits": ["161320b4b", "84b8fccbe", "c01743aa4"], "section": "Utility Commands / EXPLAIN", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-EXPLAIN", "source_hash": "fe9c0805a96c737b939c7d7c8fdc3329f7bda6e4ff8933f5a1f2595bb3219c99", "section_path": ["Utility Commands", "EXPLAIN"], "commit_groups": [["161320b4b"], ["84b8fccbe"], ["c01743aa4"]], "identity_text": "Indicate disabled nodes in EXPLAIN ANALYZE output (Robert Haas, David Rowley, Laurenz Albe)", "commit_aliases": ["161320b4b", "84b8fccbe", "c01743aa4"], "source_commits": ["161320b4b", "84b8fccbe", "c01743aa4"], "source_entry_id": "18.0/changes/096", "db_id": "23300e43061f5fe045f54955a393e875", "patch_ids": ["a368e7a7240f0fb39e7661639c1ec43f", "b0f9881746d36f6f632c01f913c024af", "b3db3ec60dd1a995198a4a30f82beeb4"], "statement_hash": "d7e90390fe778b0bea90d6844d9f6909dcab1b9e76b1990046da386d75f0f3bd", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-2af3118e9cf895c6", "cves": [], "html": "<p>Improve <a href=\"/docs/18/collation.html#COLLATION-MANAGING-STANDARD\" title=\"23.2.2.1. Standard Collations\">Unicode</a> full case mapping and conversion (Jeff Davis) <a href=\"https://postgr.es/c/4e7f62bc3\">§</a> <a href=\"https://postgr.es/c/286a365b9\">§</a></p>\n<p>This adds the ability to do conditional and title case mapping, and case map single characters to multiple characters.</p>", "text": "Improve Unicode full case mapping and conversion (Jeff Davis) § § This adds the ability to do conditional and title case mapping, and case map single characters to multiple characters.", "title": "Improve Unicode full case mapping and conversion", "commits": ["286a365b9", "4e7f62bc3"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "44c26c92986f06630e401c20db860295e1e24fcd5259ea9ea934f4bf062fdd8e", "section_path": ["Data Types"], "commit_groups": [["286a365b9"], ["4e7f62bc3"]], "identity_text": "Improve Unicode full case mapping and conversion (Jeff Davis) This adds the ability to do conditional and title case mapping, and case map single characters to multiple characters.", "commit_aliases": ["286a365b9", "4e7f62bc3"], "source_commits": ["286a365b9", "4e7f62bc3"], "source_entry_id": "18.0/changes/097", "db_id": "1b2ed6a4886122496b4235e9bc502410", "patch_ids": ["0bc695a859154bdbe2aa4141a8c131d7", "c4d90a2c6dc576697ae6803230585a80"], "statement_hash": "02776b8149a82584d272cc2094e4a669aca778c5844f65839a5f72cf0687f143", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e8ea7869a8082253", "cves": [], "html": "<p>Allow <a href=\"/docs/18/datatype-json.html\" title=\"8.14. JSON Types\"><code>jsonb</code></a> <code>null</code> values to be cast to scalar types as <code>NULL</code> (Tom Lane) <a href=\"https://postgr.es/c/a5579a90a\">§</a></p>\n<p>Previously such casts generated an error.</p>", "text": "Allow jsonb null values to be cast to scalar types as NULL (Tom Lane) § Previously such casts generated an error.", "title": "Allow jsonb null values to be cast to scalar types as NULL", "commits": ["a5579a90a"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "1e15ce0182df8ba9bb4f5d3c70a693a1c71b87744e48c4280afcb76462804520", "section_path": ["Data Types"], "commit_groups": [["a5579a90a"]], "identity_text": "Allow jsonb null values to be cast to scalar types as NULL (Tom Lane) Previously such casts generated an error.", "commit_aliases": ["a5579a90a"], "source_commits": ["a5579a90a"], "source_entry_id": "18.0/changes/098", "db_id": "707a9526e8d1e6416419dcc4e0f8c1fb", "patch_ids": ["f6184b101cbccd529291b34b9ea43559"], "statement_hash": "e835773742df55f58b57f5dbf777b47ddc9916b939e5f10a60426d8f63610fdd", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-69d404540f719906", "cves": [], "html": "<p>Add optional parameter to <a href=\"/docs/18/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE\" title=\"Table 9.51. JSON Processing Functions\"><code>json{b}_strip_nulls</code></a> to allow removal of null array elements (Florents Tselai) <a href=\"https://postgr.es/c/4603903d2\">§</a></p>", "text": "Add optional parameter to json{b}_strip_nulls to allow removal of null array elements (Florents Tselai) §", "title": "Add optional parameter to json{b}_strip_nulls to allow removal of null array elements", "commits": ["4603903d2"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "4c2e22cc8bbb8a2d5f13e86d2e97e51a1bc8f88c107067a603ace9ebb1958a85", "section_path": ["Data Types"], "commit_groups": [["4603903d2"]], "identity_text": "Add optional parameter to json{b}_strip_nulls to allow removal of null array elements (Florents Tselai)", "commit_aliases": ["4603903d2"], "source_commits": ["4603903d2"], "source_entry_id": "18.0/changes/099", "db_id": "ed4ae5d934182b8abe85d461b1aec905", "patch_ids": ["53957a139405a1a63e2a80ae5c7633c5"], "statement_hash": "2353d6854c138551fa6c128dc9828ac36b241d8c813afe7719a90cbfd0e910d5", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-cea24b509f4bf358", "cves": [], "html": "<p>Add function <a href=\"/docs/18/functions-array.html#ARRAY-FUNCTIONS-TABLE\" title=\"Table 9.57. Array Functions\"><code>array_sort()</code></a> which sorts an array's first dimension (Junwang Zhao, Jian He) <a href=\"https://postgr.es/c/6c12ae09f\">§</a></p>", "text": "Add function array_sort() which sorts an array's first dimension (Junwang Zhao, Jian He) §", "title": "Add function array_sort() which sorts an array's first dimension", "commits": ["6c12ae09f"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "d7b1e0835defdcd73c1e32e6c1505e43bd755d4dea033a81de1a49ce898debb2", "section_path": ["Data Types"], "commit_groups": [["6c12ae09f"]], "identity_text": "Add function array_sort() which sorts an array's first dimension (Junwang Zhao, Jian He)", "commit_aliases": ["6c12ae09f"], "source_commits": ["6c12ae09f"], "source_entry_id": "18.0/changes/100", "db_id": "4de325fa4535491c0694238b7c98f7e6", "patch_ids": ["c7bff0b37a68e7db3427774c38619ac7"], "statement_hash": "1b8e208dd9da84b68630db6e70eaa1b1e97cbd8295baf3141f5837933861cba9", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-19b55afd582ddf02", "cves": [], "html": "<p>Add function <a href=\"/docs/18/functions-array.html#ARRAY-FUNCTIONS-TABLE\" title=\"Table 9.57. Array Functions\"><code>array_reverse()</code></a> which reverses an array's first dimension (Aleksander Alekseev) <a href=\"https://postgr.es/c/49d6c7d8d\">§</a></p>", "text": "Add function array_reverse() which reverses an array's first dimension (Aleksander Alekseev) §", "title": "Add function array_reverse() which reverses an array's first dimension", "commits": ["49d6c7d8d"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "0631b9c5fc256653b132c39b3f93cb09c7938372c029c53b13f58d93b434e1d7", "section_path": ["Data Types"], "commit_groups": [["49d6c7d8d"]], "identity_text": "Add function array_reverse() which reverses an array's first dimension (Aleksander Alekseev)", "commit_aliases": ["49d6c7d8d"], "source_commits": ["49d6c7d8d"], "source_entry_id": "18.0/changes/101", "db_id": "04303e115e57612dca79ef5a9ab63041", "patch_ids": ["03ae5b8911f272ccafb9c3876c7f3387"], "statement_hash": "8008e051e0fc517cdec2a45e989e6e7cf3ead188464cab7ad031a5aa5adf21bc", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-a256c0a1a1f5c17b", "cves": [], "html": "<p>Add function <a href=\"/docs/18/functions-string.html#FUNCTIONS-STRING-OTHER\" title=\"Table 9.10. Other String Functions and Operators\"><code>reverse()</code></a> to reverse bytea bytes (Aleksander Alekseev) <a href=\"https://postgr.es/c/0697b2390\">§</a></p>", "text": "Add function reverse() to reverse bytea bytes (Aleksander Alekseev) §", "title": "Add function reverse() to reverse bytea bytes", "commits": ["0697b2390"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "1391c72bc875fa563fe97e4f3f326d89ade66c1b138208d1e0a1347035f3eef4", "section_path": ["Data Types"], "commit_groups": [["0697b2390"]], "identity_text": "Add function reverse() to reverse bytea bytes (Aleksander Alekseev)", "commit_aliases": ["0697b2390"], "source_commits": ["0697b2390"], "source_entry_id": "18.0/changes/102", "db_id": "f44735403faab808dbc8e70e494d5367", "patch_ids": ["5cd9af568be42f1acea780c7bf2bdae5"], "statement_hash": "db66fdeed8508fd104685446965f51db4ef1eff1fd2180c36767e29306ad806b", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-91ec2a175f6e81fe", "cves": [], "html": "<p>Allow casting between integer types and <a href=\"/docs/18/datatype-binary.html\" title=\"8.4. Binary Data Types\"><code>bytea</code></a> (Aleksander Alekseev) <a href=\"https://postgr.es/c/6da469bad\">§</a></p>\n<p>The integer values are stored as <code>bytea</code> two's complement values.</p>", "text": "Allow casting between integer types and bytea (Aleksander Alekseev) § The integer values are stored as bytea two's complement values.", "title": "Allow casting between integer types and bytea", "commits": ["6da469bad"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "ac3d81087880686f7b48568deaab6ff750ea049c29d4a529345affdd9137af3a", "section_path": ["Data Types"], "commit_groups": [["6da469bad"]], "identity_text": "Allow casting between integer types and bytea (Aleksander Alekseev) The integer values are stored as bytea two's complement values.", "commit_aliases": ["6da469bad"], "source_commits": ["6da469bad"], "source_entry_id": "18.0/changes/103", "db_id": "5551ec9759852e876b78cdf60b7e5861", "patch_ids": ["129367dc9e7217c5b7de91653664e367"], "statement_hash": "6e79726a30c9f23d82d38671f942cd48ed1a9b83b8184d44b3cd08ccdc47ba18", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b7f5c835bb8cb99a", "cves": [], "html": "<p>Update Unicode data to <a href=\"/docs/18/collation.html#COLLATION-MANAGING-STANDARD\" title=\"23.2.2.1. Standard Collations\">Unicode</a> 16.0.0 (Peter Eisentraut) <a href=\"https://postgr.es/c/82a46cca9\">§</a></p>", "text": "Update Unicode data to Unicode 16.0.0 (Peter Eisentraut) §", "title": "Update Unicode data to Unicode 16.0.0", "commits": ["82a46cca9"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "7b363edbf7fc1652e00ae639f016a531400b78a1501225262fbf76a7fc2c0dd8", "section_path": ["Data Types"], "commit_groups": [["82a46cca9"]], "identity_text": "Update Unicode data to Unicode 16.0.0 (Peter Eisentraut)", "commit_aliases": ["82a46cca9"], "source_commits": ["82a46cca9"], "source_entry_id": "18.0/changes/104", "db_id": "b3a13160940dac3f7a1a1af7f4cf764d", "patch_ids": ["37e8f514959e205b0155b61312d52d56"], "statement_hash": "dc448dd80b25033f629182d9bb00f6e6eb258933e0fc988309cd3ddbaf4be408", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5f1391509757dd6d", "cves": [], "html": "<p>Add full text search <a href=\"/docs/18/textsearch-dictionaries.html#TEXTSEARCH-SNOWBALL-DICTIONARY\" title=\"12.6.6. Snowball Dictionary\">stemming</a> for Estonian (Tom Lane) <a href=\"https://postgr.es/c/b464e51ab\">§</a></p>", "text": "Add full text search stemming for Estonian (Tom Lane) §", "title": "Add full text search stemming for Estonian", "commits": ["b464e51ab"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "dd6878414ee23406689c7eefc1a641935c96e6bd890e0e1431ff6fd28bfca759", "section_path": ["Data Types"], "commit_groups": [["197427fb3", "7edd2cbc5", "8388cae55", "9c46d902b", "b464e51ab", "c0c364fa1"]], "identity_text": "Add full text search stemming for Estonian (Tom Lane)", "commit_aliases": ["197427fb3", "7edd2cbc5", "8388cae55", "9c46d902b", "b464e51ab", "c0c364fa1"], "source_commits": ["b464e51ab"], "source_entry_id": "18.0/changes/105", "db_id": "d02c90e2590d4a47f73a5782496b4966", "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"], "statement_hash": "765cc1defacc087129eb32bf5f736de4c5be16883a95fba7b8adca47a87ce874", "relations": [{"rule": 2, "type": "related", "target": "00feddbb8384a7a8cefe4217cd497215", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}}, {"rule": 2, "type": "related", "target": "43dbc69a435522e8a12bbf37193bcbca", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}}, {"rule": 2, "type": "related", "target": "c2850458f2850974df366bef8a85488e", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}}, {"rule": 2, "type": "related", "target": "d6bf0f560b8ac8cad3c1d6a070b45594", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}}, {"rule": 2, "type": "related", "target": "fe6fa87c7f7a2f01e5226fc8b75d4395", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}}], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "fe6fa87c7f7a2f01e5226fc8b75d4395", "kind": "related", "version": "17.5", "label": "17.5", "title": "Avoid crash when a Snowball stemmer encounters an out-of-memory condition", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}, "url": "/docs/compare/?release=17.5#17.5-88fad50b7b3b2e15", "source_url": "/docs/release/17.5/#RELEASE-17-5-CHANGES"}, {"db_id": "c2850458f2850974df366bef8a85488e", "kind": "related", "version": "16.9", "label": "16.9", "title": "Avoid crash when a Snowball stemmer encounters an out-of-memory condition", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}, "url": "/docs/compare/?release=16.9#16.9-71f38ed0f1b64f88", "source_url": "/docs/release/16.9/#RELEASE-16-9-CHANGES"}, {"db_id": "00feddbb8384a7a8cefe4217cd497215", "kind": "related", "version": "15.13", "label": "15.13", "title": "Avoid crash when a Snowball stemmer encounters an out-of-memory condition", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}, "url": "/docs/compare/?release=15.13#15.13-6fa1c30b53ef4a7a", "source_url": "/docs/release/15.13/#id-1.11.6.12.5"}, {"db_id": "d6bf0f560b8ac8cad3c1d6a070b45594", "kind": "related", "version": "14.18", "label": "14.18", "title": "Avoid crash when a Snowball stemmer encounters an out-of-memory condition", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}, "url": "/docs/compare/?release=14.18#14.18-813abffbc8584526", "source_url": "/docs/release/14.18/#id-1.11.6.12.5"}, {"db_id": "43dbc69a435522e8a12bbf37193bcbca", "kind": "related", "version": "13.21", "label": "13.21", "title": "Avoid crash when a Snowball stemmer encounters an out-of-memory condition", "evidence": {"same_day": false, "patch_ids": ["d20fbffc83ee90d1348f1d03836b8f18"]}, "url": "/docs/compare/?release=13.21#13.21-7de382d5402e6e82", "source_url": "/docs/release/13.21/#id-1.11.6.8.6"}]}, {"id": "18.0-484da2e971e2ea9a", "cves": [], "html": "<p>Improve the <a href=\"/docs/18/datatype-xml.html\" title=\"8.13. XML Type\"><code>XML</code></a> error codes to more closely match the <acronym>SQL</acronym> standard (Tom Lane) <a href=\"https://postgr.es/c/cd838e200\">§</a></p>\n<p>These errors are reported via <a href=\"/docs/18/errcodes-appendix.html\" title=\"Appendix A. PostgreSQL Error Codes\"><code>SQLSTATE</code></a>.</p>", "text": "Improve the XML error codes to more closely match the SQL standard (Tom Lane) § These errors are reported via SQLSTATE.", "title": "Improve the XML error codes to more closely match the SQL standard", "commits": ["cd838e200"], "section": "Data Types", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-DATATYPES", "source_hash": "b003b4d98dbd5677c14bef49c97e4a7845d1314b654ffa4843f446d7091d0cc6", "section_path": ["Data Types"], "commit_groups": [["cd838e200"]], "identity_text": "Improve the XML error codes to more closely match the SQL standard (Tom Lane) These errors are reported via SQLSTATE.", "commit_aliases": ["cd838e200"], "source_commits": ["cd838e200"], "source_entry_id": "18.0/changes/106", "db_id": "29cf32d71ceaf941577232a9a6de849b", "patch_ids": ["d0cddeae6cd2c47e599df50be2682b02"], "statement_hash": "7e7aa4253ca1fd37a6b6fde5f48c3cfc8d4b57bc08b4970e5dc0f9548fa01120", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-eec605cfdc403633", "cves": [], "html": "<p>Add function <a href=\"/docs/18/functions-string.html#FUNCTIONS-STRING-OTHER\" title=\"Table 9.10. Other String Functions and Operators\"><code>casefold()</code></a> to allow for more sophisticated case-insensitive matching (Jeff Davis) <a href=\"https://postgr.es/c/bfc599206\">§</a></p>\n<p>This allows more accurate comparisons, i.e., a character can have multiple upper or lower case equivalents, or upper or lower case conversion changes the number of characters.</p>", "text": "Add function casefold() to allow for more sophisticated case-insensitive matching (Jeff Davis) § This allows more accurate comparisons, i.e., a character can have multiple upper or lower case equivalents, or upper or lower case conversion changes the number of characters.", "title": "Add function casefold() to allow for more sophisticated case-insensitive matching", "commits": ["bfc599206"], "section": "Functions", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "45cb069e223659d8f877c9a2110d431b847abaa3d2bf90c2d51977f38f2e6cb4", "section_path": ["Functions"], "commit_groups": [["bfc599206"]], "identity_text": "Add function casefold() to allow for more sophisticated case-insensitive matching (Jeff Davis) This allows more accurate comparisons, i.e., a character can have multiple upper or lower case equivalents, or upper or lower case conversion changes the number of characters.", "commit_aliases": ["bfc599206"], "source_commits": ["bfc599206"], "source_entry_id": "18.0/changes/107", "db_id": "b6349fdce5ba2ae112d0be3d05e38198", "patch_ids": ["0684a21f7afe3e30c9299aaa67789314"], "statement_hash": "c9d001f8f460c1f05dad5d20c8956c701fd640f0996cec7198b5decd3f545c09", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6997f70f04ef9a9f", "cves": [], "html": "<p>Allow <a href=\"/docs/18/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE\" title=\"Table 9.62. General-Purpose Aggregate Functions\"><code>MIN()</code></a>/<a href=\"/docs/18/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE\" title=\"Table 9.62. General-Purpose Aggregate Functions\"><code>MAX()</code></a> aggregates on arrays and composite types (Aleksander Alekseev, Marat Buharov) <a href=\"https://postgr.es/c/a0f1fce80\">§</a> <a href=\"https://postgr.es/c/2d24fd942\">§</a></p>", "text": "Allow MIN()/MAX() aggregates on arrays and composite types (Aleksander Alekseev, Marat Buharov) § §", "title": "Allow MIN()/MAX() aggregates on arrays and composite types", "commits": ["2d24fd942", "a0f1fce80"], "section": "Functions", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "5cadbbf5599ab2314a87ecb4f26020de91d5430e9148ef87b799d1518fcb25db", "section_path": ["Functions"], "commit_groups": [["2d24fd942"], ["a0f1fce80"]], "identity_text": "Allow MIN()/MAX() aggregates on arrays and composite types (Aleksander Alekseev, Marat Buharov)", "commit_aliases": ["2d24fd942", "a0f1fce80"], "source_commits": ["2d24fd942", "a0f1fce80"], "source_entry_id": "18.0/changes/108", "db_id": "ff1f62132a8b10a5b46e5398263f6f25", "patch_ids": ["3edf790a09115a97da7454a772b4af24", "918dcba37bfa104714d105730a4fe810"], "statement_hash": "34aeb4e9e3d29179eef8e884691002728bd47baa789e80ea81c923f3f1058f93", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f22633dee861de77-1", "cves": [], "html": "<p>Add a <code>WEEK</code> option to <a href=\"/docs/18/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT\" title=\"9.9.1. EXTRACT, date_part\"><code>EXTRACT()</code></a> (Tom Lane) <a href=\"https://postgr.es/c/6be39d77a\">§</a></p>", "text": "Add a WEEK option to EXTRACT() (Tom Lane) §", "title": "Add a WEEK option to EXTRACT()", "commits": ["6be39d77a"], "section": "Functions", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "c369144b029e6d7b953c4f7ee1baf0f025f8ff93f1ab0ece012d7d3c272b17b1", "section_path": ["Functions"], "commit_groups": [["6be39d77a"]], "identity_text": "Add a WEEK option to EXTRACT() (Tom Lane)", "commit_aliases": ["6be39d77a"], "source_commits": ["6be39d77a"], "source_entry_id": "18.0/changes/109", "db_id": "b3cffadee5353df8dd7872750d4fb682", "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "statement_hash": "d8e836149292c973d2a0f09ad1d451f9e0d694896adc926732c9f533896bd490", "relations": [{"rule": 2, "type": "related", "target": "ade04ae5639b5e3efcd757143411e3ce", "evidence": {"same_day": true, "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "ambiguous_patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"]}}], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "ade04ae5639b5e3efcd757143411e3ce", "kind": "related", "version": "18.0", "label": "18.0", "title": "Improve the output EXTRACT(QUARTER ...) for negative values", "evidence": {"same_day": true, "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "ambiguous_patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"]}, "url": "/docs/compare/?release=18.0#18.0-f22633dee861de77-2", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS"}]}, {"id": "18.0-f22633dee861de77-2", "cves": [], "html": "<p>Improve the output <code>EXTRACT(QUARTER ...)</code> for negative values (Tom Lane) <a href=\"https://postgr.es/c/6be39d77a\">§</a></p>", "text": "Improve the output EXTRACT(QUARTER ...) for negative values (Tom Lane) §", "title": "Improve the output EXTRACT(QUARTER ...) for negative values", "commits": ["6be39d77a"], "section": "Functions", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "72c85521604e9cca15c3f296bcf42cbfa34ae96e6cbafa6537be6b0d02e10620", "section_path": ["Functions"], "commit_groups": [["6be39d77a"]], "identity_text": "Improve the output EXTRACT(QUARTER ...) for negative values (Tom Lane)", "commit_aliases": ["6be39d77a"], "source_commits": ["6be39d77a"], "source_entry_id": "18.0/changes/110", "db_id": "ade04ae5639b5e3efcd757143411e3ce", "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "statement_hash": "a214ee4643d1d9bf98ef496b4419597961fc04d5f9e0d55db52838d472d932f1", "relations": [{"rule": 2, "type": "related", "target": "b3cffadee5353df8dd7872750d4fb682", "evidence": {"same_day": true, "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "ambiguous_patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"]}}], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "b3cffadee5353df8dd7872750d4fb682", "kind": "related", "version": "18.0", "label": "18.0", "title": "Add a WEEK option to EXTRACT()", "evidence": {"same_day": true, "patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"], "ambiguous_patch_ids": ["c19cf27dbaa7653c29b3098b611b1638"]}, "url": "/docs/compare/?release=18.0#18.0-f22633dee861de77-1", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS"}]}, {"id": "18.0-db03fc0c4d7c7e77", "cves": [], "html": "<p>Add roman numeral support to <a href=\"/docs/18/functions-formatting.html#FUNCTIONS-FORMATTING-TABLE\" title=\"Table 9.26. Formatting Functions\"><code>to_number()</code></a> (Hunaid Sohail) <a href=\"https://postgr.es/c/172e6b3ad\">§</a></p>\n<p>This is accessed via the <code>RN</code> pattern.</p>", "text": "Add roman numeral support to to_number() (Hunaid Sohail) § This is accessed via the RN pattern.", "title": "Add roman numeral support to to_number()", "commits": ["172e6b3ad"], "section": "Functions", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "32bda5c343b0e274152cea92bbc66b00d80c0ad61b63250b896faf088627ead4", "section_path": ["Functions"], "commit_groups": [["172e6b3ad"]], "identity_text": "Add roman numeral support to to_number() (Hunaid Sohail) This is accessed via the RN pattern.", "commit_aliases": ["172e6b3ad"], "source_commits": ["172e6b3ad"], "source_entry_id": "18.0/changes/111", "db_id": "e0cbd160d06a691a81d92c71d409a5ef", "patch_ids": ["133b66dc3fa7a00aecec6623a2a0104a"], "statement_hash": "3ad41892efe6fea4d12c377eae3bb3908d356da0f989fc2b51e3072b9dcd7439", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-542d8a8a70b3db3c", "cves": [], "html": "<p>Add <a href=\"/docs/18/datatype-uuid.html\" title=\"8.12. UUID Type\"><code>UUID</code></a> version 7 generation function <a href=\"/docs/18/functions-uuid.html#FUNC_UUID_GEN_TABLE\" title=\"Table 9.45. UUID Generation Functions\"><code>uuidv7()</code></a> (Andrey Borodin) <a href=\"https://postgr.es/c/78c5e141e\">§</a></p>\n<p>This <code>UUID</code> value is temporally sortable. Function alias <a href=\"/docs/18/functions-uuid.html#FUNC_UUID_GEN_TABLE\" title=\"Table 9.45. UUID Generation Functions\"><code>uuidv4()</code></a> has been added to explicitly generate version 4 UUIDs.</p>", "text": "Add UUID version 7 generation function uuidv7() (Andrey Borodin) § This UUID value is temporally sortable. Function alias uuidv4() has been added to explicitly generate version 4 UUIDs.", "title": "Add UUID version 7 generation function uuidv7()", "commits": ["78c5e141e"], "section": "Functions", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "7877416c8bc1ed72cd83517c7cfa2be9454b995e7c9ecbc06655eb24026b18dd", "section_path": ["Functions"], "commit_groups": [["78c5e141e"]], "identity_text": "Add UUID version 7 generation function uuidv7() (Andrey Borodin) This UUID value is temporally sortable. Function alias uuidv4() has been added to explicitly generate version 4 UUIDs.", "commit_aliases": ["78c5e141e"], "source_commits": ["78c5e141e"], "source_entry_id": "18.0/changes/112", "db_id": "cece32c4a51bdf23bee2a0f29962d93d", "patch_ids": ["56fa70c05aee3519b8c7f629a11367fa"], "statement_hash": "e0da520f09f4f2ac133bc0bff5d10a98c32f202b283cfa8927ddc7514e82334d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0793591dedbc959b", "cves": [], "html": "<p>Add functions <a href=\"/docs/18/functions-binarystring.html#FUNCTIONS-BINARYSTRING-OTHER\" title=\"Table 9.12. Other Binary String Functions\"><code>crc32()</code></a> and <a href=\"/docs/18/functions-binarystring.html#FUNCTIONS-BINARYSTRING-OTHER\" title=\"Table 9.12. Other Binary String Functions\"><code>crc32c()</code></a> to compute <acronym>CRC</acronym> values (Aleksander Alekseev) <a href=\"https://postgr.es/c/760162fed\">§</a></p>", "text": "Add functions crc32() and crc32c() to compute CRC values (Aleksander Alekseev) §", "title": "Add functions crc32() and crc32c() to compute CRC values", "commits": ["760162fed"], "section": "Functions", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "186d4a85f05026c3f1e1b5cedc85be001793dd4387c3846bd784693e34d9df3e", "section_path": ["Functions"], "commit_groups": [["760162fed"]], "identity_text": "Add functions crc32() and crc32c() to compute CRC values (Aleksander Alekseev)", "commit_aliases": ["760162fed"], "source_commits": ["760162fed"], "source_entry_id": "18.0/changes/113", "db_id": "4adbc4a880c6d186b573a23b72e25743", "patch_ids": ["f072ba34fd057475f25240221b644589"], "statement_hash": "b7c1fff56676d7a5ea8f068fd55d5c9250a4f76ec60d2244c2e801cfe67c7e03", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-88be5f9be0b211b5", "cves": [], "html": "<p>Add math functions <a href=\"/docs/18/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"Table 9.5. Mathematical Functions\"><code>gamma()</code></a> and <a href=\"/docs/18/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"Table 9.5. Mathematical Functions\"><code>lgamma()</code></a> (Dean Rasheed) <a href=\"https://postgr.es/c/a3b6dfd41\">§</a></p>", "text": "Add math functions gamma() and lgamma() (Dean Rasheed) §", "title": "Add math functions gamma() and lgamma()", "commits": ["a3b6dfd41"], "section": "Functions", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "0e6224fe43da67b085f65cee813ae8aad126061d045f1ff177ccd09630b490bd", "section_path": ["Functions"], "commit_groups": [["a3b6dfd41"]], "identity_text": "Add math functions gamma() and lgamma() (Dean Rasheed)", "commit_aliases": ["a3b6dfd41"], "source_commits": ["a3b6dfd41"], "source_entry_id": "18.0/changes/114", "db_id": "986dd3e980b067ffd2e6eecdfc4befd1", "patch_ids": ["e0b46f5f41bfa3e2a42c6d003da6b3d5"], "statement_hash": "6e74c2ea38c261b8bb55b6b1bcd723c5977a27e47fe892c9b2fbb23d25a61bef", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d96ba464f44620eb", "cves": [], "html": "<p>Allow <code>=&gt;</code> syntax for named cursor arguments in <a href=\"/docs/18/plpgsql.html\" title=\"Chapter 41. PL/pgSQL — SQL Procedural Language\">PL/pgSQL</a> (Pavel Stehule) <a href=\"https://postgr.es/c/246dedc5d\">§</a></p>\n<p>We previously only accepted <code>:=</code>.</p>", "text": "Allow => syntax for named cursor arguments in PL/pgSQL (Pavel Stehule) § We previously only accepted :=.", "title": "Allow => syntax for named cursor arguments in PL/pgSQL", "commits": ["246dedc5d"], "section": "Functions", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "0d96d209799c5f086a10c64775cb42339b3d437dcb75d4c0b0d7ca78d9aa678e", "section_path": ["Functions"], "commit_groups": [["246dedc5d"]], "identity_text": "Allow => syntax for named cursor arguments in PL/pgSQL (Pavel Stehule) We previously only accepted :=.", "commit_aliases": ["246dedc5d"], "source_commits": ["246dedc5d"], "source_entry_id": "18.0/changes/115", "db_id": "a4ea7ded150aaebd8e3d529313e4ff98", "patch_ids": ["93da3674645c806399e4a7258ccd3d35"], "statement_hash": "add7c95473de1dd4a0566aaf8254da83d00c65a5719b19d40aa9c92d4001cd1c", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0d9be41bbb427c11", "cves": [], "html": "<p>Allow <a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX Regular Expressions\"><code>regexp_match[es]()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX Regular Expressions\"><code>regexp_like()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX Regular Expressions\"><code>regexp_replace()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX Regular Expressions\"><code>regexp_count()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX Regular Expressions\"><code>regexp_instr()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX Regular Expressions\"><code>regexp_substr()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX Regular Expressions\"><code>regexp_split_to_table()</code></a>/<a href=\"/docs/18/functions-matching.html#FUNCTIONS-POSIX-REGEXP\" title=\"9.7.3. POSIX Regular Expressions\"><code>regexp_split_to_array()</code></a> to use named arguments (Jian He) <a href=\"https://postgr.es/c/580f8727c\">§</a></p>", "text": "Allow regexp_match[es]()/regexp_like()/regexp_replace()/regexp_count()/regexp_instr()/regexp_substr()/regexp_split_to_table()/regexp_split_to_array() to use named arguments (Jian He) §", "title": "Allow regexp_match[es]()/regexp_like()/regexp_replace()/regexp_count()/regexp_instr()/regexp_substr()/regexp_split_to_table()/regexp_split_to_array() to use named arguments", "commits": ["580f8727c"], "section": "Functions", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-FUNCTIONS", "source_hash": "537f565df3ddb721db2bfe04fb5165619d5ed54a98e5025bf7ebe2594e7ea5fe", "section_path": ["Functions"], "commit_groups": [["580f8727c"]], "identity_text": "Allow regexp_match[es]()/regexp_like()/regexp_replace()/regexp_count()/regexp_instr()/regexp_substr()/regexp_split_to_table()/regexp_split_to_array() to use named arguments (Jian He)", "commit_aliases": ["580f8727c"], "source_commits": ["580f8727c"], "source_entry_id": "18.0/changes/116", "db_id": "325c0a35a7406d298611bb6828289ff0", "patch_ids": ["4e22fed07663f7a3f1934e689acb6eaa"], "statement_hash": "3d7072f71a631c3271d07df2f0b0325b7ae5f4d8f46ea986b04a57acad9a86a3", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-0c1a57f2ceb09589", "cves": [], "html": "<p>Add function <a href=\"/docs/18/libpq-status.html#LIBPQ-PQFULLPROTOCOLVERSION\"><code>PQfullProtocolVersion()</code></a> to report the full, including minor, protocol version number (Jacob Champion, Jelte Fennema-Nio) <a href=\"https://postgr.es/c/cdb6b0fdb\">§</a></p>", "text": "Add function PQfullProtocolVersion() to report the full, including minor, protocol version number (Jacob Champion, Jelte Fennema-Nio) §", "title": "Add function PQfullProtocolVersion() to report the full, including minor, protocol version number", "commits": ["cdb6b0fdb"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "4d15532b628660643127aa6505deec0b8d3a38c80917c9354108c3340c1fd166", "section_path": ["Libpq"], "commit_groups": [["cdb6b0fdb"]], "identity_text": "Add function PQfullProtocolVersion() to report the full, including minor, protocol version number (Jacob Champion, Jelte Fennema-Nio)", "commit_aliases": ["cdb6b0fdb"], "source_commits": ["cdb6b0fdb"], "source_entry_id": "18.0/changes/117", "db_id": "4b86d214e32c355a269673a5aa3b2558", "patch_ids": ["52abaad7880c01090a771e4447bc86e2"], "statement_hash": "f9bd22e1e8f83bd582c6d52c403e9b0ef03dbbb8144aeb9364fb4e3225d47d07", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-93af92d9546daff9", "cves": [], "html": "<p>Add libpq connection <a href=\"/docs/18/libpq-connect.html#LIBPQ-CONNECT-SSL-MAX-PROTOCOL-VERSION\">parameters</a> and <a href=\"/docs/18/libpq-envars.html\" title=\"32.15. Environment Variables\">environment variables</a> to specify the minimum and maximum acceptable protocol version for connections (Jelte Fennema-Nio) <a href=\"https://postgr.es/c/285613c60\">§</a> <a href=\"https://postgr.es/c/507034910\">§</a></p>", "text": "Add libpq connection parameters and environment variables to specify the minimum and maximum acceptable protocol version for connections (Jelte Fennema-Nio) § §", "title": "Add libpq connection parameters and environment variables to specify the minimum and maximum acceptable protocol version for connections", "commits": ["285613c60", "507034910"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "dd8e24e0798022c5e49d33b8f037eae94f69ab39a4a885b8b176f5e16dbcf97e", "section_path": ["Libpq"], "commit_groups": [["285613c60"], ["507034910"]], "identity_text": "Add libpq connection parameters and environment variables to specify the minimum and maximum acceptable protocol version for connections (Jelte Fennema-Nio)", "commit_aliases": ["285613c60", "507034910"], "source_commits": ["285613c60", "507034910"], "source_entry_id": "18.0/changes/118", "db_id": "324ad8ffd0dc73072b6cae1163bbd895", "patch_ids": ["534b2c53e2e1a92c27d124b03e588165", "75729722b6f7aba5cfb305b2f8099d9d"], "statement_hash": "5bc66e57f7b5710b779499207adb20134778a80ccd962165684afde348719556", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-207d234a979be0ba", "cves": [], "html": "<p>Report <a href=\"/docs/18/runtime-config-client.html#GUC-SEARCH-PATH\">search_path</a> changes to the client (Alexander Kukushkin, Jelte Fennema-Nio, Tomas Vondra) <a href=\"https://postgr.es/c/28a1121fd\">§</a> <a href=\"https://postgr.es/c/0d06a7eac\">§</a></p>", "text": "Report search_path changes to the client (Alexander Kukushkin, Jelte Fennema-Nio, Tomas Vondra) § §", "title": "Report search_path changes to the client", "commits": ["0d06a7eac", "28a1121fd"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "1b3b66fd3e804bfd9a8f8eb4900833f7becb2d7ae3e27f57d8450450272b7e24", "section_path": ["Libpq"], "commit_groups": [["0d06a7eac"], ["28a1121fd"]], "identity_text": "Report guc-search-path changes to the client (Alexander Kukushkin, Jelte Fennema-Nio, Tomas Vondra)", "commit_aliases": ["0d06a7eac", "28a1121fd"], "source_commits": ["0d06a7eac", "28a1121fd"], "source_entry_id": "18.0/changes/119", "db_id": "218352fe6746ce16b55b280a597a34c3", "patch_ids": ["5ff7e1b21d24cbfadde9ec259d6a73c7", "6773d35e5f3a311c7ff50c9c2faf3885"], "statement_hash": "50991c451a4bfb5e106b4ba60fe467da4d2e687a547ce099c82004fbe44fd3e9", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-beeeaad682b3e543", "cves": [], "html": "<p>Add <a href=\"/docs/18/libpq-control.html#LIBPQ-PQTRACE\"><code>PQtrace()</code></a> output for all message types, including authentication (Jelte Fennema-Nio) <a href=\"https://postgr.es/c/ea92f3a0a\">§</a> <a href=\"https://postgr.es/c/a5c6b8f22\">§</a> <a href=\"https://postgr.es/c/b8b3f861f\">§</a> <a href=\"https://postgr.es/c/e87c14b19\">§</a> <a href=\"https://postgr.es/c/7adec2d5f\">§</a></p>", "text": "Add PQtrace() output for all message types, including authentication (Jelte Fennema-Nio) § § § § §", "title": "Add PQtrace() output for all message types, including authentication", "commits": ["7adec2d5f", "a5c6b8f22", "b8b3f861f", "e87c14b19", "ea92f3a0a"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "229bf64e1d8e766cd4a7b64992dd7057c31c49ee08a766d973f0fed3a3136264", "section_path": ["Libpq"], "commit_groups": [["7adec2d5f"], ["a5c6b8f22"], ["b8b3f861f"], ["e87c14b19"], ["ea92f3a0a"]], "identity_text": "Add PQtrace() output for all message types, including authentication (Jelte Fennema-Nio)", "commit_aliases": ["7adec2d5f", "a5c6b8f22", "b8b3f861f", "e87c14b19", "ea92f3a0a"], "source_commits": ["7adec2d5f", "a5c6b8f22", "b8b3f861f", "e87c14b19", "ea92f3a0a"], "source_entry_id": "18.0/changes/120", "db_id": "189544d0fbeb310833d8101ad81be81d", "patch_ids": ["7830574fda35c2cd540f06ea5cd22fe7", "acc865fe8e046c03d36dbaf9deafa10e", "dccfa75590b5f88a141ec68c6abef022", "ef0fcd62d83e5a9752310ce62aa470d2", "f1361c9f5c56a8086363704e63d70cd9"], "statement_hash": "c5e10674404ba12ef5a21f94c4df6e89c062cf8daae10222475b36a39dda6485", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ef7c9ed7c8f229dc", "cves": [], "html": "<p>Add libpq connection parameter <a href=\"/docs/18/libpq-connect.html#LIBPQ-CONNECT-SSLKEYLOGFILE\"><code>sslkeylogfile</code></a> which dumps out <acronym>SSL</acronym> key material (Abhishek Chanda, Daniel Gustafsson) <a href=\"https://postgr.es/c/2da74d8d6\">§</a></p>\n<p>This is useful for debugging.</p>", "text": "Add libpq connection parameter sslkeylogfile which dumps out SSL key material (Abhishek Chanda, Daniel Gustafsson) § This is useful for debugging.", "title": "Add libpq connection parameter sslkeylogfile which dumps out SSL key material", "commits": ["2da74d8d6"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "8a53c283c907184c5c28dc8b1a80814c955c04574c96f11e2d4b6d6ad07852f9", "section_path": ["Libpq"], "commit_groups": [["2da74d8d6"]], "identity_text": "Add libpq connection parameter sslkeylogfile which dumps out SSL key material (Abhishek Chanda, Daniel Gustafsson) This is useful for debugging.", "commit_aliases": ["2da74d8d6"], "source_commits": ["2da74d8d6"], "source_entry_id": "18.0/changes/121", "db_id": "dec95e8329f62b657fc15ccfb7d006fb", "patch_ids": ["5c9abb135b2e6fb82671370102be25d3"], "statement_hash": "0cbbb246f331bdcf188172740da0fa02fe152d60204197e426ec23a6c89278c5", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f56e310a693fee70", "cves": [], "html": "<p>Modify some libpq function signatures to use <code>int64_t</code> (Thomas Munro) <a href=\"https://postgr.es/c/3c86223c9\">§</a></p>\n<p>These previously used <code>pg_int64</code>, which is now deprecated.</p>", "text": "Modify some libpq function signatures to use int64_t (Thomas Munro) § These previously used pg_int64, which is now deprecated.", "title": "Modify some libpq function signatures to use int64_t", "commits": ["3c86223c9"], "section": "Libpq", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LIBPQ", "source_hash": "10b871bad097417a99cafa49cc3d5d1c211c6de4e2bf8386fbbde08d3facb504", "section_path": ["Libpq"], "commit_groups": [["3c86223c9"]], "identity_text": "Modify some libpq function signatures to use int64_t (Thomas Munro) These previously used pg_int64, which is now deprecated.", "commit_aliases": ["3c86223c9"], "source_commits": ["3c86223c9"], "source_entry_id": "18.0/changes/122", "db_id": "caaca0ad82471ba571571208f6771f02", "patch_ids": ["a9a13dc006668f08f5abd06bcf09cb8e"], "statement_hash": "325b9ac281e658a1f6acd0aaae59a7c20882f4f76754cbd9cd6c886266e8b478", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-2fb6e0f0c8f9dca8", "cves": [], "html": "<p>Allow <span>psql</span> to parse, bind, and close named prepared statements (Anthonin Bonnefoy, Michael Paquier) <a href=\"https://postgr.es/c/d55322b0d\">§</a> <a href=\"https://postgr.es/c/fc39b286a\">§</a></p>\n<p>This is accomplished with new commands <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PARSE\"><code>\\parse</code></a>, <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-BIND-NAMED\"><code>\\bind_named</code></a>, and <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-CLOSE-PREPARED\"><code>\\close_prepared</code></a>.</p>", "text": "Allow psql to parse, bind, and close named prepared statements (Anthonin Bonnefoy, Michael Paquier) § § This is accomplished with new commands \\parse, \\bind_named, and \\close_prepared.", "title": "Allow psql to parse, bind, and close named prepared statements", "commits": ["d55322b0d", "fc39b286a"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "77c05c6a0c7eefaa3828f25811f82a7b7e8197f14e6b0b3ca40906780cc67c8a", "section_path": ["psql"], "commit_groups": [["d55322b0d"], ["fc39b286a"]], "identity_text": "Allow psql to parse, bind, and close named prepared statements (Anthonin Bonnefoy, Michael Paquier) This is accomplished with new commands \\parse, \\bind_named, and \\close_prepared.", "commit_aliases": ["d55322b0d", "fc39b286a"], "source_commits": ["d55322b0d", "fc39b286a"], "source_entry_id": "18.0/changes/123", "db_id": "f1f07070c0f9905a1dadadaf792aeb8f", "patch_ids": ["c1a58c5c685a3ecbf2a745226578758a", "df70e0fc8c75d8b781d59c4c9c988dc2"], "statement_hash": "d69eda95d2e3f3d9d78e8def9469297aa5914f6c8b5405798b94e5847ef4218e", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6aeeef1ea176f829", "cves": [], "html": "<p>Add <span>psql</span> backslash commands to allowing issuance of pipeline queries (Anthonin Bonnefoy) <a href=\"https://postgr.es/c/41625ab8e\">§</a> <a href=\"https://postgr.es/c/17caf6644\">§</a> <a href=\"https://postgr.es/c/2cce0fe44\">§</a></p>\n<p>The new commands are <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-PIPELINE\"><code>\\startpipeline</code></a>, <code>\\syncpipeline</code>, <code>\\sendpipeline</code>, <code>\\endpipeline</code>, <code>\\flushrequest</code>, <code>\\flush</code>, and <code>\\getresults</code>.</p>", "text": "Add psql backslash commands to allowing issuance of pipeline queries (Anthonin Bonnefoy) § § § The new commands are \\startpipeline, \\syncpipeline, \\sendpipeline, \\endpipeline, \\flushrequest, \\flush, and \\getresults.", "title": "Add psql backslash commands to allowing issuance of pipeline queries", "commits": ["17caf6644", "2cce0fe44", "41625ab8e"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "065c75020e0a2e7dcbb2190d382fe267753aec2fed22e926ae12b843cc277e62", "section_path": ["psql"], "commit_groups": [["17caf6644"], ["2cce0fe44"], ["41625ab8e"]], "identity_text": "Add psql backslash commands to allowing issuance of pipeline queries (Anthonin Bonnefoy) The new commands are \\startpipeline, \\syncpipeline, \\sendpipeline, \\endpipeline, \\flushrequest, \\flush, and \\getresults.", "commit_aliases": ["17caf6644", "2cce0fe44", "41625ab8e"], "source_commits": ["17caf6644", "2cce0fe44", "41625ab8e"], "source_entry_id": "18.0/changes/124", "db_id": "4d5f486511455c18c068b6488465fe4d", "patch_ids": ["35ac484ccee3ad9012651c9ebb417256", "70e78ced9a8ba8366255b2db649c9893", "df86acd976c7a1bed1bc2ab4cb1192c0"], "statement_hash": "7a3ae596d3038107a6c2878a16eef9d8d6e31e6830e8ad4070210e11705433d7", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-02580f08fbaf6131", "cves": [], "html": "<p>Allow adding pipeline status to the <span>psql</span> prompt and add related state variables (Anthonin Bonnefoy) <a href=\"https://postgr.es/c/3ce357584\">§</a></p>\n<p>The new prompt character is <code>%P</code> and the new <span>psql</span> variables are <a href=\"/docs/18/app-psql.html#APP-PSQL-VARIABLES-PIPELINE-SYNC-COUNT\"><code>PIPELINE_SYNC_COUNT</code></a>, <a href=\"/docs/18/app-psql.html#APP-PSQL-VARIABLES-PIPELINE-COMMAND-COUNT\"><code>PIPELINE_COMMAND_COUNT</code></a>, and <a href=\"/docs/18/app-psql.html#APP-PSQL-VARIABLES-PIPELINE-RESULT-COUNT\"><code>PIPELINE_RESULT_COUNT</code></a>.</p>", "text": "Allow adding pipeline status to the psql prompt and add related state variables (Anthonin Bonnefoy) § The new prompt character is %P and the new psql variables are PIPELINE_SYNC_COUNT, PIPELINE_COMMAND_COUNT, and PIPELINE_RESULT_COUNT.", "title": "Allow adding pipeline status to the psql prompt and add related state variables", "commits": ["3ce357584"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "ca4d56dd83a7e4b6224510acf54f1d3175534f96e58fb840e6f282c967477b87", "section_path": ["psql"], "commit_groups": [["3ce357584"]], "identity_text": "Allow adding pipeline status to the psql prompt and add related state variables (Anthonin Bonnefoy) The new prompt character is %P and the new psql variables are PIPELINE_SYNC_COUNT, PIPELINE_COMMAND_COUNT, and PIPELINE_RESULT_COUNT.", "commit_aliases": ["3ce357584"], "source_commits": ["3ce357584"], "source_entry_id": "18.0/changes/125", "db_id": "95d64c85bbb64cccbeaed6eff0e1a423", "patch_ids": ["062ee32471ba9950e13d9460b1c630ed"], "statement_hash": "342de8131124813468934a1a6a5b420c312c79e1aba97898e6a94db6850a206c", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-997c75493a7de85c", "cves": [], "html": "<p>Allow adding the connection service name to the <span>psql</span> prompt or access it via <span>psql</span> variable (Michael Banck) <a href=\"https://postgr.es/c/477728b5d\">§</a></p>", "text": "Allow adding the connection service name to the psql prompt or access it via psql variable (Michael Banck) §", "title": "Allow adding the connection service name to the psql prompt or access it via psql variable", "commits": ["477728b5d"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "d708d70528e3a3f746395fa23b8324b7dfe19e3fa2560f0d3fb61d86a8f4af8b", "section_path": ["psql"], "commit_groups": [["477728b5d"]], "identity_text": "Allow adding the connection service name to the psql prompt or access it via psql variable (Michael Banck)", "commit_aliases": ["477728b5d"], "source_commits": ["477728b5d"], "source_entry_id": "18.0/changes/126", "db_id": "b448890a42701668cc28db2c98fe65af", "patch_ids": ["8bc6eb53f480b1773dba3d9ca6fa27ef"], "statement_hash": "b7b84052ccad3b3cdd4e58fd81d7e92d01dcd30e03a638017f02df36fe51481c", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b431886faffda5ff", "cves": [], "html": "<p>Add <span>psql</span> option to use expanded mode on all list commands (Dean Rasheed) <a href=\"https://postgr.es/c/00f4c2959\">§</a></p>\n<p>Adding backslash suffix <code>x</code> enables this.</p>", "text": "Add psql option to use expanded mode on all list commands (Dean Rasheed) § Adding backslash suffix x enables this.", "title": "Add psql option to use expanded mode on all list commands", "commits": ["00f4c2959"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "c295ed9ac299dc91d03e266119cfa5c422c1056a964c2bf9bb936427b8c2d1a3", "section_path": ["psql"], "commit_groups": [["00f4c2959"]], "identity_text": "Add psql option to use expanded mode on all list commands (Dean Rasheed) Adding backslash suffix x enables this.", "commit_aliases": ["00f4c2959"], "source_commits": ["00f4c2959"], "source_entry_id": "18.0/changes/127", "db_id": "5dd3f4378c9385065373f9512386183d", "patch_ids": ["2a6f4ded65d281267015b5b6cc939f54"], "statement_hash": "67f72ef9ab6c8e1c087e265379fba0355acb6aaf4ebf846ec3f223d08f73af6e", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-8984d4a06e8e1c29", "cves": [], "html": "<p>Change <span>psql</span>'s <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-CONNINFO\"><code>\\conninfo</code></a> to use tabular format and include more information (Álvaro Herrera, Maiquel Grassi, Hunaid Sohail) <a href=\"https://postgr.es/c/bba2fbc62\">§</a></p>", "text": "Change psql's \\conninfo to use tabular format and include more information (Álvaro Herrera, Maiquel Grassi, Hunaid Sohail) §", "title": "Change psql's \\conninfo to use tabular format and include more information", "commits": ["bba2fbc62"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "f50ab465a0ba201803a8cb40aac06c8f854c661fbc6959a15809b50060959f8c", "section_path": ["psql"], "commit_groups": [["bba2fbc62"]], "identity_text": "Change psql's app-psql-meta-command-conninfo to use tabular format and include more information (Álvaro Herrera, Maiquel Grassi, Hunaid Sohail)", "commit_aliases": ["bba2fbc62"], "source_commits": ["bba2fbc62"], "source_entry_id": "18.0/changes/128", "db_id": "b7756586e365c7157c475c0430299268", "patch_ids": ["8d29126a5a016ba3aa3ac63ed17eed9e"], "statement_hash": "587565e7970af826aba72167bdd2c90fa3ad561d7bdffc95a3fdf5db3e7a9af2", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-624508557749474f", "cves": [], "html": "<p>Add function's leakproof indicator to <span>psql</span>'s <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-DF-LC\"><code>\\df+</code></a>, <code>\\do+</code>, <code>\\dAo+</code>, and <code>\\dC+</code> outputs (Yugo Nagata) <a href=\"https://postgr.es/c/2355e5111\">§</a></p>", "text": "Add function's leakproof indicator to psql's \\df+, \\do+, \\dAo+, and \\dC+ outputs (Yugo Nagata) §", "title": "Add function's leakproof indicator to psql's \\df+, \\do+, \\dAo+, and \\dC+ outputs", "commits": ["2355e5111"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "b8a6c1bf50c01dfea7e893090f16b02f8a9b074d135f06979cf7e11861937d9b", "section_path": ["psql"], "commit_groups": [["2355e5111"]], "identity_text": "Add function's leakproof indicator to psql's \\df+, \\do+, \\dAo+, and \\dC+ outputs (Yugo Nagata)", "commit_aliases": ["2355e5111"], "source_commits": ["2355e5111"], "source_entry_id": "18.0/changes/129", "db_id": "9d578cae753a7068d3a2429369a138e4", "patch_ids": ["4ee947bb08aead676fe72b63526cdd39"], "statement_hash": "b7ecafc8df9220ee7d63778ed0ac8ad0e28546694bb5fdbba0ac97017dfbb54d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1dea4d8870fe7263", "cves": [], "html": "<p>Add access method details for partitioned relations in <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-DP-UC\"><code>\\dP+</code></a> (Justin Pryzby) <a href=\"https://postgr.es/c/978f38c77\">§</a></p>", "text": "Add access method details for partitioned relations in \\dP+ (Justin Pryzby) §", "title": "Add access method details for partitioned relations in \\dP+", "commits": ["978f38c77"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "513f2fab8dea574eba77472892d2f8de48560874d9a7182acc43f2b25404614a", "section_path": ["psql"], "commit_groups": [["978f38c77"]], "identity_text": "Add access method details for partitioned relations in \\dP+ (Justin Pryzby)", "commit_aliases": ["978f38c77"], "source_commits": ["978f38c77"], "source_entry_id": "18.0/changes/130", "db_id": "818c7f68713a76e08678870d759f6291", "patch_ids": ["7cca4f5d69bc8dc6d2b6ccbaa33d8e79"], "statement_hash": "3ab40daca3f13039aba595247e60f46d4f6453febeb29ab79a875c6f98986293", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-545b1beb3150fb2a", "cves": [], "html": "<p>Add <code>default_version</code> to the <span>psql</span> <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-DX-LC\"><code>\\dx</code></a> extension output (Magnus Hagander) <a href=\"https://postgr.es/c/d696406a9\">§</a></p>", "text": "Add default_version to the psql \\dx extension output (Magnus Hagander) §", "title": "Add default_version to the psql \\dx extension output", "commits": ["d696406a9"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "f45ef00d2add84d90c55cbbc7e9938ca51f52bbcc6c24082fda3375e868a6ff4", "section_path": ["psql"], "commit_groups": [["d696406a9"]], "identity_text": "Add default_version to the psql \\dx extension output (Magnus Hagander)", "commit_aliases": ["d696406a9"], "source_commits": ["d696406a9"], "source_entry_id": "18.0/changes/131", "db_id": "8b0be23bf885cc5302c60d810f5e5d17", "patch_ids": ["a177f1929edb0edaa402f9aa8c4dc5b1"], "statement_hash": "97eb7c8a5e03d2311600a2472cb9936526e73dfb492e20a800a6b6068c604820", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-dc2d98bde772ded1", "cves": [], "html": "<p>Add <span>psql</span> variable <a href=\"/docs/18/app-psql.html#APP-PSQL-VARIABLES-WATCH-INTERVAL\"><code>WATCH_INTERVAL</code></a> to set the default <a href=\"/docs/18/app-psql.html#APP-PSQL-META-COMMAND-WATCH\"><code>\\watch</code></a> wait time (Daniel Gustafsson) <a href=\"https://postgr.es/c/1a759c832\">§</a></p>", "text": "Add psql variable WATCH_INTERVAL to set the default \\watch wait time (Daniel Gustafsson) §", "title": "Add psql variable WATCH_INTERVAL to set the default \\watch wait time", "commits": ["1a759c832"], "section": "psql", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PSQL", "source_hash": "32dbe7ae008210a57ddbd29b951551fca0c360487d239b82a521420aff9d9aca", "section_path": ["psql"], "commit_groups": [["1a759c832"]], "identity_text": "Add psql variable app-psql-variables-watch-interval to set the default \\watch wait time (Daniel Gustafsson)", "commit_aliases": ["1a759c832"], "source_commits": ["1a759c832"], "source_entry_id": "18.0/changes/132", "db_id": "fb9188646ca6019ee7d68115e98063b7", "patch_ids": ["f4150999ddde237444a665e7664bb364"], "statement_hash": "e31ae7e017e542c379f3fad9f44583ecacf3b7e2e1c7156a171e1ba5b89e91cd", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d9b49042b8f09224", "cves": [], "html": "<p>Change <a href=\"/docs/18/app-initdb.html\" title=\"initdb\"><span><span>initdb</span></span></a> to default to enabling checksums (Greg Sabino Mullane) <a href=\"https://postgr.es/c/983a588e0\">§</a> <a href=\"https://postgr.es/c/04bec894a\">§</a></p>\n<p>The new <span>initdb</span> option <code>--no-data-checksums</code> disables checksums.</p>", "text": "Change initdb to default to enabling checksums (Greg Sabino Mullane) § § The new initdb option --no-data-checksums disables checksums.", "title": "Change initdb to default to enabling checksums", "commits": ["04bec894a", "983a588e0"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "f8f34e3e2ad1f1316678e49b712c445e3ddd519b898c474e581fdfa668983b8c", "section_path": ["Server Applications"], "commit_groups": [["04bec894a"], ["983a588e0"]], "identity_text": "Change app-initdb to default to enabling checksums (Greg Sabino Mullane) The new initdb option --no-data-checksums disables checksums.", "commit_aliases": ["04bec894a", "983a588e0"], "source_commits": ["04bec894a", "983a588e0"], "source_entry_id": "18.0/changes/133", "db_id": "db70c584fb64d9f59231adb14744b4a2", "patch_ids": ["2f0b053af829369c3e773971e514dfc9", "f78286ddb1f2e6833c76c4a8351542bf"], "statement_hash": "a04cf4bcb0a1f1804333415522f466bd804eca240f36149cdbd72bcb10c51e82", "relations": [{"rule": 2, "type": "related", "target": "f3c7465886914cc33d3dae8014f0ac38", "evidence": {"same_day": true, "patch_ids": ["f78286ddb1f2e6833c76c4a8351542bf"]}}], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "f3c7465886914cc33d3dae8014f0ac38", "kind": "related", "version": "18.0", "label": "18.0", "title": "Change initdb default to enable data checksums", "evidence": {"same_day": true, "patch_ids": ["f78286ddb1f2e6833c76c4a8351542bf"]}, "url": "/docs/compare/?release=18.0#18.0-a8fa82432892119f", "source_url": "/docs/release/18.0/#RELEASE-18-MIGRATION"}]}, {"id": "18.0-3aa4f5ae30376479", "cves": [], "html": "<p>Add <span>initdb</span> option <code>--no-sync-data-files</code> to avoid syncing heap/index files (Nathan Bossart) <a href=\"https://postgr.es/c/cf131fa94\">§</a></p>\n<p><span>initdb</span> option <code>--no-sync</code> is still available to avoid syncing any files.</p>", "text": "Add initdb option --no-sync-data-files to avoid syncing heap/index files (Nathan Bossart) § initdb option --no-sync is still available to avoid syncing any files.", "title": "Add initdb option --no-sync-data-files to avoid syncing heap/index files", "commits": ["cf131fa94"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "75c8f0bdfad04f0d23cb26c70c1ac8035b373f8861476b487902137fb7226355", "section_path": ["Server Applications"], "commit_groups": [["cf131fa94"]], "identity_text": "Add initdb option --no-sync-data-files to avoid syncing heap/index files (Nathan Bossart) initdb option --no-sync is still available to avoid syncing any files.", "commit_aliases": ["cf131fa94"], "source_commits": ["cf131fa94"], "source_entry_id": "18.0/changes/134", "db_id": "9952d39dc06228d3a10d17bc3b5169fe", "patch_ids": ["4e1d69b6c246228bc290d1f93422d624"], "statement_hash": "7713e4c4118e732a811941c3e11d09cec1b024f960b3b7998b6b19a60f3f83ca", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-7e9d4c0fc2dfb35a", "cves": [], "html": "<p>Add <a href=\"/docs/18/app-vacuumdb.html\" title=\"vacuumdb\"><span><span>vacuumdb</span></span></a> option <code>--missing-stats-only</code> to compute only missing optimizer statistics (Corey Huinker, Nathan Bossart) <a href=\"https://postgr.es/c/edba754f0\">§</a> <a href=\"https://postgr.es/c/987910502\">§</a></p>\n<p>This option can only be run by superusers and can only be used with options <code>--analyze-only</code> and <code>--analyze-in-stages</code>.</p>", "text": "Add vacuumdb option --missing-stats-only to compute only missing optimizer statistics (Corey Huinker, Nathan Bossart) § § This option can only be run by superusers and can only be used with options --analyze-only and --analyze-in-stages.", "title": "Add vacuumdb option --missing-stats-only to compute only missing optimizer statistics", "commits": ["987910502", "edba754f0"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "1199d1c1b8dd6304d46f2f0be670b1746b4d32ede3679f66ba9258fcc89c8330", "section_path": ["Server Applications"], "commit_groups": [["987910502"], ["edba754f0"]], "identity_text": "Add app-vacuumdb option --missing-stats-only to compute only missing optimizer statistics (Corey Huinker, Nathan Bossart) This option can only be run by superusers and can only be used with options --analyze-only and --analyze-in-stages.", "commit_aliases": ["987910502", "edba754f0"], "source_commits": ["987910502", "edba754f0"], "source_entry_id": "18.0/changes/135", "db_id": "853076317df1e045ebd45b56522f230a", "patch_ids": ["067aff8cba670576fe0c3fd89d649257", "b94a1cae6980cfb5f7ef4424d00fcb6a"], "statement_hash": "5385ca51a2d01858906e995b4406bf1ef97d31883665cc58aae33e348c5b9490", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d07e626cfc87cc2d", "cves": [], "html": "<p>Add <a href=\"/docs/18/app-pgcombinebackup.html\" title=\"pg_combinebackup\"><span><span>pg_combinebackup</span></span></a> option <code>-k</code>/<code>--link</code> to enable hard linking (Israel Barth Rubio, Robert Haas) <a href=\"https://postgr.es/c/99aeb8470\">§</a></p>\n<p>Only some files can be hard linked. This should not be used if the backups will be used independently.</p>", "text": "Add pg_combinebackup option -k/--link to enable hard linking (Israel Barth Rubio, Robert Haas) § Only some files can be hard linked. This should not be used if the backups will be used independently.", "title": "Add pg_combinebackup option -k/--link to enable hard linking", "commits": ["99aeb8470"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "eefef01cb696f44d91b49f7817d447e5f2b2aeac8ca97a0513d80a36ce3eab22", "section_path": ["Server Applications"], "commit_groups": [["99aeb8470"]], "identity_text": "Add app-pgcombinebackup option -k/--link to enable hard linking (Israel Barth Rubio, Robert Haas) Only some files can be hard linked. This should not be used if the backups will be used independently.", "commit_aliases": ["99aeb8470"], "source_commits": ["99aeb8470"], "source_entry_id": "18.0/changes/136", "db_id": "cbac9921cfb2186e54629d635e3729f3", "patch_ids": ["b2774e6278fb43524469fa415bf7c504"], "statement_hash": "5736af1019c3d5e2bd2ae443e4a9261637afca5e0e0ff655d599e24adaf4ea01", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-75fede038d668a8d", "cves": [], "html": "<p>Allow <a href=\"/docs/18/app-pgverifybackup.html\" title=\"pg_verifybackup\"><span><span>pg_verifybackup</span></span></a> to verify tar-format backups (Amul Sul) <a href=\"https://postgr.es/c/8dfd31290\">§</a></p>", "text": "Allow pg_verifybackup to verify tar-format backups (Amul Sul) §", "title": "Allow pg_verifybackup to verify tar-format backups", "commits": ["8dfd31290"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "e2b0d86a1a6fe34a3eaef7656a3093c8fef2bcf4bb4045b3b394c42b6e595297", "section_path": ["Server Applications"], "commit_groups": [["8dfd31290"]], "identity_text": "Allow app-pgverifybackup to verify tar-format backups (Amul Sul)", "commit_aliases": ["8dfd31290"], "source_commits": ["8dfd31290"], "source_entry_id": "18.0/changes/137", "db_id": "4a31265bb9d301899f61cbb72dc938fe", "patch_ids": ["f61db0ff36a5aaba1fefc4551593c41a"], "statement_hash": "033fcbd8882efc5f140f40a57fd1009957f6354e0fff3b3c07f05be1d2c1ce01", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f775ed91253ae2a7", "cves": [], "html": "<p>If <a href=\"/docs/18/app-pgrewind.html\" title=\"pg_rewind\"><span><span>pg_rewind</span></span></a>'s <code>--source-server</code> specifies a database name, use it in <code>--write-recovery-conf</code> output (Masahiko Sawada) <a href=\"https://postgr.es/c/4ecdd4110\">§</a></p>", "text": "If pg_rewind's --source-server specifies a database name, use it in --write-recovery-conf output (Masahiko Sawada) §", "title": "If pg_rewind's --source-server specifies a database name, use it in --write-recovery-conf output", "commits": ["4ecdd4110"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "b8e56e6ae6588f2cb4df8056eac8508fcaa1a7d5c2bed9b03e0c9c7c3fa92317", "section_path": ["Server Applications"], "commit_groups": [["4ecdd4110"]], "identity_text": "If app-pgrewind 's --source-server specifies a database name, use it in --write-recovery-conf output (Masahiko Sawada)", "commit_aliases": ["4ecdd4110"], "source_commits": ["4ecdd4110"], "source_entry_id": "18.0/changes/138", "db_id": "31e83eaf955dc5094a8982493afd63f3", "patch_ids": ["422026f71813c5ab788723a75cfa5fd6"], "statement_hash": "85b876a7486c3a65c5a92598f9e9b5dad71b32bdd0c7932389bfbfb0fdef6adc", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-915172048ef89595", "cves": [], "html": "<p>Add <a href=\"/docs/18/app-pgresetwal.html\" title=\"pg_resetwal\"><span><span>pg_resetwal</span></span></a> option <code>--char-signedness</code> to change the default <code>char</code> signedness (Masahiko Sawada) <a href=\"https://postgr.es/c/30666d185\">§</a></p>", "text": "Add pg_resetwal option --char-signedness to change the default char signedness (Masahiko Sawada) §", "title": "Add pg_resetwal option --char-signedness to change the default char signedness", "commits": ["30666d185"], "section": "Server Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SERVER-APPS", "source_hash": "1109968f9e43b45953a526f184648d85db28b47d688f491e1bf329b1223e6a82", "section_path": ["Server Applications"], "commit_groups": [["30666d185"]], "identity_text": "Add app-pgresetwal option --char-signedness to change the default char signedness (Masahiko Sawada)", "commit_aliases": ["30666d185"], "source_commits": ["30666d185"], "source_entry_id": "18.0/changes/139", "db_id": "de60efb8b41468fb0459eaacd7e58849", "patch_ids": ["5f6d5be1745e81fcdc6e9b19df0c805d"], "statement_hash": "2e2828b91010abfb7434c834860be467a228d211bd371f7f730efd531fd3e713", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9b8052d9682b1054", "cves": [], "html": "<p>Add <a href=\"/docs/18/app-pgdump.html\" title=\"pg_dump\"><span><span>pg_dump</span></span></a> option <code>--statistics</code> (Jeff Davis) <a href=\"https://postgr.es/c/bde2fb797\">§</a> <a href=\"https://postgr.es/c/a3e8dc143\">§</a></p>", "text": "Add pg_dump option --statistics (Jeff Davis) § §", "title": "Add pg_dump option --statistics", "commits": ["a3e8dc143", "bde2fb797"], "section": "Server Applications / pg_dump/pg_dumpall/pg_restore", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGDUMP", "source_hash": "2d3d93b82ef664b1f0244b7e43fe05588854ab0ca7c11011f7a607d3ee6c90d6", "section_path": ["Server Applications", "pg_dump/pg_dumpall/pg_restore"], "commit_groups": [["a3e8dc143"], ["bde2fb797"]], "identity_text": "Add app-pgdump option --statistics (Jeff Davis)", "commit_aliases": ["a3e8dc143", "bde2fb797"], "source_commits": ["a3e8dc143", "bde2fb797"], "source_entry_id": "18.0/changes/140", "db_id": "45377d9a7cbb5f6d8a91743818fe9f95", "patch_ids": ["0b036a7b9a6fe69f0ae3fc14f07f890e", "3403ebf99c25408505f5bbc915ea6a92"], "statement_hash": "d940022b9100e359cdd29574a6c0b6d758a89af40770a693ddc3a5b2232c1974", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-2543385556630458", "cves": [], "html": "<p>Add <span>pg_dump</span> and <a href=\"/docs/18/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a> option <code>--sequence-data</code> to dump sequence data that would normally be excluded (Nathan Bossart) <a href=\"https://postgr.es/c/9c49f0e8c\">§</a> <a href=\"https://postgr.es/c/acea3fc49\">§</a></p>", "text": "Add pg_dump and pg_dumpall option --sequence-data to dump sequence data that would normally be excluded (Nathan Bossart) § §", "title": "Add pg_dump and pg_dumpall option --sequence-data to dump sequence data that would normally be excluded", "commits": ["9c49f0e8c", "acea3fc49"], "section": "Server Applications / pg_dump/pg_dumpall/pg_restore", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGDUMP", "source_hash": "4424f6df2367d695a36039440ad3354cad22e464adf6623f4a6ab6f11550ed11", "section_path": ["Server Applications", "pg_dump/pg_dumpall/pg_restore"], "commit_groups": [["9c49f0e8c"], ["acea3fc49"]], "identity_text": "Add pg_dump and app-pg-dumpall option --sequence-data to dump sequence data that would normally be excluded (Nathan Bossart)", "commit_aliases": ["9c49f0e8c", "acea3fc49"], "source_commits": ["9c49f0e8c", "acea3fc49"], "source_entry_id": "18.0/changes/141", "db_id": "57dfabc21cb09eee80237e7dbdeb4cfd", "patch_ids": ["ce7a77b9bb38b32190aa243f00af6062", "d4543602d88dfc88e50236d446d2d446"], "statement_hash": "f73184a2cfa206e9f7b47760836ce121d8a19c8db2af75e1831a8c988cc8e7fe", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1c7cab16e2b0faec", "cves": [], "html": "<p>Add <a href=\"/docs/18/app-pgdump.html\" title=\"pg_dump\"><span><span>pg_dump</span></span></a>, <a href=\"/docs/18/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>, and <a href=\"/docs/18/app-pgrestore.html\" title=\"pg_restore\"><span><span>pg_restore</span></span></a> options <code>--statistics-only</code>, <code>--no-statistics</code>, <code>--no-data</code>, and <code>--no-schema</code> (Corey Huinker, Jeff Davis) <a href=\"https://postgr.es/c/1fd1bd871\">§</a></p>", "text": "Add pg_dump, pg_dumpall, and pg_restore options --statistics-only, --no-statistics, --no-data, and --no-schema (Corey Huinker, Jeff Davis) §", "title": "Add pg_dump, pg_dumpall, and pg_restore options --statistics-only, --no-statistics, --no-data, and --no-schema", "commits": ["1fd1bd871"], "section": "Server Applications / pg_dump/pg_dumpall/pg_restore", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGDUMP", "source_hash": "48e0a689c9b0d5e55ef3d9ae16fc5c4a905c41197e8434f2f4f569b5a3250d84", "section_path": ["Server Applications", "pg_dump/pg_dumpall/pg_restore"], "commit_groups": [["1fd1bd871"]], "identity_text": "Add app-pgdump , app-pg-dumpall , and app-pgrestore options --statistics-only, --no-statistics, --no-data, and --no-schema (Corey Huinker, Jeff Davis)", "commit_aliases": ["1fd1bd871"], "source_commits": ["1fd1bd871"], "source_entry_id": "18.0/changes/142", "db_id": "8d5b8469bade89e9c1af7e30be1f4707", "patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"], "statement_hash": "19059f6013aef8345c941793ebe68ab82f27b44f9d1247c34243111b8ea7a09d", "relations": [{"rule": 2, "type": "related", "target": "afbfe0f474eef5c2d8090e1f45feeeba", "evidence": {"same_day": true, "patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"], "ambiguous_patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"]}}], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "afbfe0f474eef5c2d8090e1f45feeeba", "kind": "related", "version": "18.0", "label": "18.0", "title": "Allow pg_upgrade to preserve optimizer statistics", "evidence": {"same_day": true, "patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"], "ambiguous_patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"]}, "url": "/docs/compare/?release=18.0#18.0-4b580bc4439297d2", "source_url": "/docs/release/18.0/#RELEASE-18-PGUPGRADE"}]}, {"id": "18.0-448108837474663a", "cves": [], "html": "<p>Add option <code>--no-policies</code> to disable row level security policy processing in <a href=\"/docs/18/app-pgdump.html\" title=\"pg_dump\"><span><span>pg_dump</span></span></a>, <a href=\"/docs/18/app-pg-dumpall.html\" title=\"pg_dumpall\"><span><span>pg_dumpall</span></span></a>, <a href=\"/docs/18/app-pgrestore.html\" title=\"pg_restore\"><span><span>pg_restore</span></span></a> (Nikolay Samokhvalov) <a href=\"https://postgr.es/c/cd3c45125\">§</a></p>\n<p>This is useful for migrating to systems with different policies.</p>", "text": "Add option --no-policies to disable row level security policy processing in pg_dump, pg_dumpall, pg_restore (Nikolay Samokhvalov) § This is useful for migrating to systems with different policies.", "title": "Add option --no-policies to disable row level security policy processing in pg_dump, pg_dumpall, pg_restore", "commits": ["cd3c45125"], "section": "Server Applications / pg_dump/pg_dumpall/pg_restore", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGDUMP", "source_hash": "9231fdf3af2971c21ef9738044c6bf6fc9a4e82d61c155057f623aeacf8d1381", "section_path": ["Server Applications", "pg_dump/pg_dumpall/pg_restore"], "commit_groups": [["cd3c45125"]], "identity_text": "Add option --no-policies to disable row level security policy processing in app-pgdump , app-pg-dumpall , app-pgrestore (Nikolay Samokhvalov) This is useful for migrating to systems with different policies.", "commit_aliases": ["cd3c45125"], "source_commits": ["cd3c45125"], "source_entry_id": "18.0/changes/143", "db_id": "f65a09f6ed8414315ea3ab15d44b063d", "patch_ids": ["e8632c1f2c717fcff1a04211ab59a0c3"], "statement_hash": "c2544d757037ea2d9f0d54209afb5dfcd831c83b0fb375579be57d3ffb98b730", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4b580bc4439297d2", "cves": [], "html": "<p>Allow <span>pg_upgrade</span> to preserve optimizer statistics (Corey Huinker, Jeff Davis, Nathan Bossart) <a href=\"https://postgr.es/c/1fd1bd871\">§</a> <a href=\"https://postgr.es/c/c9d502eb6\">§</a> <a href=\"https://postgr.es/c/d5f1b6a75\">§</a> <a href=\"https://postgr.es/c/1fd1bd871\">§</a></p>\n<p>Extended statistics are not preserved. Also add <span>pg_upgrade</span> option <code>--no-statistics</code> to disable statistics preservation.</p>", "text": "Allow pg_upgrade to preserve optimizer statistics (Corey Huinker, Jeff Davis, Nathan Bossart) § § § § Extended statistics are not preserved. Also add pg_upgrade option --no-statistics to disable statistics preservation.", "title": "Allow pg_upgrade to preserve optimizer statistics", "commits": ["1fd1bd871", "c9d502eb6", "d5f1b6a75"], "section": "Server Applications / pg_upgrade", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGUPGRADE", "source_hash": "ecf645ad4de74295862351e977c8da59f7c2af26f64a7500473f40f768a10c16", "section_path": ["Server Applications", "pg_upgrade"], "commit_groups": [["1fd1bd871"], ["c9d502eb6"], ["d5f1b6a75"]], "identity_text": "Allow pg_upgrade to preserve optimizer statistics (Corey Huinker, Jeff Davis, Nathan Bossart) Extended statistics are not preserved. Also add pg_upgrade option --no-statistics to disable statistics preservation.", "commit_aliases": ["1fd1bd871", "c9d502eb6", "d5f1b6a75"], "source_commits": ["1fd1bd871", "c9d502eb6", "d5f1b6a75"], "source_entry_id": "18.0/changes/144", "db_id": "afbfe0f474eef5c2d8090e1f45feeeba", "patch_ids": ["394936eb907d9de5748a0a010a502753", "5d0cb3cccce1158170d1cd02ebb43757", "9d11899adf9cf21258dc987420e25832"], "statement_hash": "e18f67b21353450f4c5d6f714edfc631a34936d49aeb7064d84514378024acac", "relations": [{"rule": 2, "type": "related", "target": "8d5b8469bade89e9c1af7e30be1f4707", "evidence": {"same_day": true, "patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"], "ambiguous_patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"]}}], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": [{"db_id": "8d5b8469bade89e9c1af7e30be1f4707", "kind": "related", "version": "18.0", "label": "18.0", "title": "Add pg_dump, pg_dumpall, and pg_restore options --statistics-only, --no-statistics, --no-data, and --no-schema", "evidence": {"same_day": true, "patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"], "ambiguous_patch_ids": ["5d0cb3cccce1158170d1cd02ebb43757"]}, "url": "/docs/compare/?release=18.0#18.0-1c7cab16e2b0faec", "source_url": "/docs/release/18.0/#RELEASE-18-PGDUMP"}]}, {"id": "18.0-d8756d9cbd2b27ec", "cves": [], "html": "<p>Allow <span>pg_upgrade</span> to process database checks in parallel (Nathan Bossart) <a href=\"https://postgr.es/c/40e2e5e92\">§</a> <a href=\"https://postgr.es/c/6d3d2e8e5\">§</a> <a href=\"https://postgr.es/c/7baa36de5\">§</a> <a href=\"https://postgr.es/c/46cad8b31\">§</a> <a href=\"https://postgr.es/c/6ab8f27bc\">§</a> <a href=\"https://postgr.es/c/bbf83cab9\">§</a> <a href=\"https://postgr.es/c/9db3018cf\">§</a> <a href=\"https://postgr.es/c/c34eabfbb\">§</a> <a href=\"https://postgr.es/c/cf2f82a37\">§</a> <a href=\"https://postgr.es/c/f93f5f7b9\">§</a> <a href=\"https://postgr.es/c/c880cf258\">§</a></p>\n<p>This is controlled by the existing <code>--jobs</code> option.</p>", "text": "Allow pg_upgrade to process database checks in parallel (Nathan Bossart) § § § § § § § § § § § This is controlled by the existing --jobs option.", "title": "Allow pg_upgrade to process database checks in parallel", "commits": ["40e2e5e92", "46cad8b31", "6ab8f27bc", "6d3d2e8e5", "7baa36de5", "9db3018cf", "bbf83cab9", "c34eabfbb", "c880cf258", "cf2f82a37", "f93f5f7b9"], "section": "Server Applications / pg_upgrade", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGUPGRADE", "source_hash": "0b5c0c1256bdf56fd1a023d5ff1ab1516afcdc337e7ee3b0f9b85acfb343155d", "section_path": ["Server Applications", "pg_upgrade"], "commit_groups": [["40e2e5e92"], ["46cad8b31"], ["6ab8f27bc"], ["6d3d2e8e5"], ["7baa36de5"], ["9db3018cf"], ["bbf83cab9"], ["c34eabfbb"], ["c880cf258"], ["cf2f82a37"], ["f93f5f7b9"]], "identity_text": "Allow pg_upgrade to process database checks in parallel (Nathan Bossart) This is controlled by the existing --jobs option.", "commit_aliases": ["40e2e5e92", "46cad8b31", "6ab8f27bc", "6d3d2e8e5", "7baa36de5", "9db3018cf", "bbf83cab9", "c34eabfbb", "c880cf258", "cf2f82a37", "f93f5f7b9"], "source_commits": ["40e2e5e92", "46cad8b31", "6ab8f27bc", "6d3d2e8e5", "7baa36de5", "9db3018cf", "bbf83cab9", "c34eabfbb", "c880cf258", "cf2f82a37", "f93f5f7b9"], "source_entry_id": "18.0/changes/145", "db_id": "f9d4e72dc027a71ce2a37a4129d73c6d", "patch_ids": ["39d7bd98f5854223c3d58a547a4902aa", "5ae351aee2ec1eb7531ddb523ae48e85", "5d92df319c237bb627175e5564de1c46", "6bedf241e4d5b07a2ac61d723ea4e964", "77821ad60c100a1e9888a07a9b2869f7", "b086dcc033e4eec4f10e04fbbd07818f", "b5650ea4d83bdf9e634285ce798e2430", "c6ef2c23b919aa135fcc566958ceb6a9", "d47694834da9942ed2c592d8eacf8993", "de1419043d49359a7ca596aee355ff07", "df6634fce6c9cedeed8afd588b041845"], "statement_hash": "c05e7f4baaf6c58f0446522b852d7004694d10b5221f78902728516deb65d021", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-67f639ce48c62e2e", "cves": [], "html": "<p>Add <span>pg_upgrade</span> option <code>--swap</code> to swap directories rather than copy, clone, or link files (Nathan Bossart) <a href=\"https://postgr.es/c/626d7236b\">§</a></p>\n<p>This mode is potentially the fastest.</p>", "text": "Add pg_upgrade option --swap to swap directories rather than copy, clone, or link files (Nathan Bossart) § This mode is potentially the fastest.", "title": "Add pg_upgrade option --swap to swap directories rather than copy, clone, or link files", "commits": ["626d7236b"], "section": "Server Applications / pg_upgrade", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGUPGRADE", "source_hash": "5105f96fe345879f059f5dec740fcdf62c3fb86f637efc061ea65ff41062563f", "section_path": ["Server Applications", "pg_upgrade"], "commit_groups": [["626d7236b"]], "identity_text": "Add pg_upgrade option --swap to swap directories rather than copy, clone, or link files (Nathan Bossart) This mode is potentially the fastest.", "commit_aliases": ["626d7236b"], "source_commits": ["626d7236b"], "source_entry_id": "18.0/changes/146", "db_id": "f554eecffc9529fc8a7bf5df05f1ee48", "patch_ids": ["925b13034396ed82973d22527b295ac1"], "statement_hash": "446dc8dd0a3efeea98cbe5eef953503f703ba461702c2ad5d7041434781f351e", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f19ad14633daaefd", "cves": [], "html": "<p>Add <span>pg_upgrade</span> option <code>--set-char-signedness</code> to set the default <code>char</code> signedness of new cluster (Masahiko Sawada) <a href=\"https://postgr.es/c/a8238f87f\">§</a> <a href=\"https://postgr.es/c/1aab68059\">§</a></p>\n<p>This is to handle cases where a pre-<span>PostgreSQL</span> 18 cluster's default <acronym>CPU</acronym> signedness does not match the new cluster.</p>", "text": "Add pg_upgrade option --set-char-signedness to set the default char signedness of new cluster (Masahiko Sawada) § § This is to handle cases where a pre-PostgreSQL 18 cluster's default CPU signedness does not match the new cluster.", "title": "Add pg_upgrade option --set-char-signedness to set the default char signedness of new cluster", "commits": ["1aab68059", "a8238f87f"], "section": "Server Applications / pg_upgrade", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGUPGRADE", "source_hash": "81fc7dfeaecc0c2acbed8c77a91318171c093256de3f1c6509e4ddb9b3506a2b", "section_path": ["Server Applications", "pg_upgrade"], "commit_groups": [["1aab68059"], ["a8238f87f"]], "identity_text": "Add pg_upgrade option --set-char-signedness to set the default char signedness of new cluster (Masahiko Sawada) This is to handle cases where a pre-PostgreSQL 18 cluster's default CPU signedness does not match the new cluster.", "commit_aliases": ["1aab68059", "a8238f87f"], "source_commits": ["1aab68059", "a8238f87f"], "source_entry_id": "18.0/changes/147", "db_id": "512ccd3d1bb4f010fe11b0eb637be55c", "patch_ids": ["85f2c26487e180e9e34c5a419dbbbf35", "b55f3df554d6f4f601f40f9bd71932dc"], "statement_hash": "5d736231626605165fd5a2523999bf34662259ec86505d0abb98425210873d2d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-326132e0413a2af5", "cves": [], "html": "<p>Add <a href=\"/docs/18/app-pgcreatesubscriber.html\" title=\"pg_createsubscriber\"><span><span>pg_createsubscriber</span></span></a> option <code>--all</code> to create logical replicas for all databases (Shubham Khanna) <a href=\"https://postgr.es/c/fb2ea12f4\">§</a></p>", "text": "Add pg_createsubscriber option --all to create logical replicas for all databases (Shubham Khanna) §", "title": "Add pg_createsubscriber option --all to create logical replicas for all databases", "commits": ["fb2ea12f4"], "section": "Server Applications / Logical Replication Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICALREP-APP", "source_hash": "faf0501784185f0274b91341f0cea4d1ee6e811868673a3a6ee1ed33847c5743", "section_path": ["Server Applications", "Logical Replication Applications"], "commit_groups": [["fb2ea12f4"]], "identity_text": "Add app-pgcreatesubscriber option --all to create logical replicas for all databases (Shubham Khanna)", "commit_aliases": ["fb2ea12f4"], "source_commits": ["fb2ea12f4"], "source_entry_id": "18.0/changes/148", "db_id": "954788171dcb6930008281d2189eef2b", "patch_ids": ["245e6d7207164c875aec56850b5dd55c"], "statement_hash": "c4a2693c70db1fc909c0ec71efb48bf2afef9841773d730329b484b5e39c01bb", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-43d66b2640370b92", "cves": [], "html": "<p>Add <span>pg_createsubscriber</span> option <code>--clean</code> to remove publications (Shubham Khanna) <a href=\"https://postgr.es/c/e5aeed4b8\">§</a> <a href=\"https://postgr.es/c/60dda7bbc\">§</a></p>", "text": "Add pg_createsubscriber option --clean to remove publications (Shubham Khanna) § §", "title": "Add pg_createsubscriber option --clean to remove publications", "commits": ["60dda7bbc", "e5aeed4b8"], "section": "Server Applications / Logical Replication Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICALREP-APP", "source_hash": "2da64372e5883b9f3bdb349da006a3aa23028a390fab7edff19003a7d49a0316", "section_path": ["Server Applications", "Logical Replication Applications"], "commit_groups": [["60dda7bbc"], ["e5aeed4b8"]], "identity_text": "Add pg_createsubscriber option --clean to remove publications (Shubham Khanna)", "commit_aliases": ["60dda7bbc", "e5aeed4b8"], "source_commits": ["60dda7bbc", "e5aeed4b8"], "source_entry_id": "18.0/changes/149", "db_id": "a3ee32edc1ed5ed8fc4beb24a728e94c", "patch_ids": ["8dcabb64a74beea420e0402e41aa4d21", "c203fff53a96a19f82a444e6ce2b5966"], "statement_hash": "1b7cc63371adabb9b0a36adb1a8829f98a748e42e2ed5ff2a972812322515b23", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-716d7b5f8a521be7", "cves": [], "html": "<p>Add <span>pg_createsubscriber</span> option <code>--enable-two-phase</code> to enable prepared transactions (Shubham Khanna) <a href=\"https://postgr.es/c/e117cfb2f\">§</a></p>", "text": "Add pg_createsubscriber option --enable-two-phase to enable prepared transactions (Shubham Khanna) §", "title": "Add pg_createsubscriber option --enable-two-phase to enable prepared transactions", "commits": ["e117cfb2f"], "section": "Server Applications / Logical Replication Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICALREP-APP", "source_hash": "343f583b66e94905a85d02018a62265c74dc248149a2d26e069195c9ef400ead", "section_path": ["Server Applications", "Logical Replication Applications"], "commit_groups": [["e117cfb2f"]], "identity_text": "Add pg_createsubscriber option --enable-two-phase to enable prepared transactions (Shubham Khanna)", "commit_aliases": ["e117cfb2f"], "source_commits": ["e117cfb2f"], "source_entry_id": "18.0/changes/150", "db_id": "ddd2eec200c963d80868d55e604e2e3a", "patch_ids": ["9f0265494d5def7f02e8f05819a94c23"], "statement_hash": "faec4e2c79436622d74ba1b7f84f70be155252fc23e1b39dcdad38cd5ffc05c6", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9451ebe7b4fbdfba", "cves": [], "html": "<p>Add <a href=\"/docs/18/app-pgrecvlogical.html\" title=\"pg_recvlogical\"><span><span>pg_recvlogical</span></span></a> option <code>--enable-failover</code> to specify failover slots (Hayato Kuroda) <a href=\"https://postgr.es/c/cf2655a90\">§</a></p>\n<p>Also add option <code>--enable-two-phase</code> as a synonym for <code>--two-phase</code>, and deprecate the latter.</p>", "text": "Add pg_recvlogical option --enable-failover to specify failover slots (Hayato Kuroda) § Also add option --enable-two-phase as a synonym for --two-phase, and deprecate the latter.", "title": "Add pg_recvlogical option --enable-failover to specify failover slots", "commits": ["cf2655a90"], "section": "Server Applications / Logical Replication Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICALREP-APP", "source_hash": "88d9dfa30e5ff57caeb5e8300717a8f74efeb33f2f5d2a0704986b8b80e9f686", "section_path": ["Server Applications", "Logical Replication Applications"], "commit_groups": [["cf2655a90"]], "identity_text": "Add app-pgrecvlogical option --enable-failover to specify failover slots (Hayato Kuroda) Also add option --enable-two-phase as a synonym for --two-phase, and deprecate the latter.", "commit_aliases": ["cf2655a90"], "source_commits": ["cf2655a90"], "source_entry_id": "18.0/changes/151", "db_id": "99a65ba8cccf85a1b00949d9784e824d", "patch_ids": ["f79f6257cc134079c46d90ba5379ee73"], "statement_hash": "ec97ab729002ad98ab6300ea9df86f7113426cb2f32822d741404b144a051152", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-469a5c74393039c4", "cves": [], "html": "<p>Allow <span>pg_recvlogical</span> <code>--drop-slot</code> to work without <code>--dbname</code> (Hayato Kuroda) <a href=\"https://postgr.es/c/c68100aa4\">§</a></p>", "text": "Allow pg_recvlogical --drop-slot to work without --dbname (Hayato Kuroda) §", "title": "Allow pg_recvlogical --drop-slot to work without --dbname", "commits": ["c68100aa4"], "section": "Server Applications / Logical Replication Applications", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-LOGICALREP-APP", "source_hash": "4c6b0f837901f50c25bc9205453bb7b4ef00415891e3eed73509249ca294591d", "section_path": ["Server Applications", "Logical Replication Applications"], "commit_groups": [["c68100aa4"]], "identity_text": "Allow pg_recvlogical --drop-slot to work without --dbname (Hayato Kuroda)", "commit_aliases": ["c68100aa4"], "source_commits": ["c68100aa4"], "source_entry_id": "18.0/changes/152", "db_id": "8f364820e55644a3a9e26c58d361267b", "patch_ids": ["33d58051231422c994deb2adafe09815"], "statement_hash": "7a8e8735b056aa3b8f0fd15ad90f0690b2e9a69bc625d7c8a66b4465cab96d14", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-09b969a654ab4db4", "cves": [], "html": "<p>Separate the loading and running of <a href=\"/docs/18/xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS\" title=\"36.10.14. Injection Points\">injection points</a> (Michael Paquier, Heikki Linnakangas) <a href=\"https://postgr.es/c/4b211003e\">§</a> <a href=\"https://postgr.es/c/a0a5869a8\">§</a></p>\n<p>Injection points can now be created, but not run, via <a href=\"/docs/18/xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS\" title=\"36.10.14. Injection Points\"><code>INJECTION_POINT_LOAD()</code></a>, and such injection points can be run via <a href=\"/docs/18/xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS\" title=\"36.10.14. Injection Points\"><code>INJECTION_POINT_CACHED()</code></a>.</p>", "text": "Separate the loading and running of injection points (Michael Paquier, Heikki Linnakangas) § § Injection points can now be created, but not run, via INJECTION_POINT_LOAD(), and such injection points can be run via INJECTION_POINT_CACHED().", "title": "Separate the loading and running of injection points", "commits": ["4b211003e", "a0a5869a8"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "893df888cecfaa14b955913efb9204b93a7b2018ba3f7a9e397a29af6bcb71b3", "section_path": ["Source Code"], "commit_groups": [["4b211003e"], ["a0a5869a8"]], "identity_text": "Separate the loading and running of injection points (Michael Paquier, Heikki Linnakangas) Injection points can now be created, but not run, via INJECTION_POINT_LOAD(), and such injection points can be run via INJECTION_POINT_CACHED().", "commit_aliases": ["4b211003e", "a0a5869a8"], "source_commits": ["4b211003e", "a0a5869a8"], "source_entry_id": "18.0/changes/153", "db_id": "59fdac27249ed47565b6f75c16e0cd37", "patch_ids": ["613d98e15d1b3445fb5c464537496995", "7b03a2eaca0889ac9bd69ab74602affc"], "statement_hash": "88d18cc833292ed5dc6609366922320f4b754c28efda5a19a0778d9ce7001fbd", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-2a684741a2d184a7", "cves": [], "html": "<p>Support runtime arguments in injection points (Michael Paquier) <a href=\"https://postgr.es/c/371f2db8b\">§</a></p>", "text": "Support runtime arguments in injection points (Michael Paquier) §", "title": "Support runtime arguments in injection points", "commits": ["371f2db8b"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "05301770ccd349689d8b69904a931228a96e0662899a3ade25f228442b6353fc", "section_path": ["Source Code"], "commit_groups": [["371f2db8b"]], "identity_text": "Support runtime arguments in injection points (Michael Paquier)", "commit_aliases": ["371f2db8b"], "source_commits": ["371f2db8b"], "source_entry_id": "18.0/changes/154", "db_id": "18e4ff23a56d78d29d6ae66814cb5956", "patch_ids": ["904e25b09a2067d4faafaee411020747"], "statement_hash": "5628295a828190147d169e94449983354f8ae8ff5a86e747e2323a9fafe55684", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b8063b04940470a1", "cves": [], "html": "<p>Allow inline injection point test code with <a href=\"/docs/18/xfunc-c.html#XFUNC-ADDIN-INJECTION-POINTS\" title=\"36.10.14. Injection Points\"><code>IS_INJECTION_POINT_ATTACHED()</code></a> (Heikki Linnakangas) <a href=\"https://postgr.es/c/20e0e7da9\">§</a></p>", "text": "Allow inline injection point test code with IS_INJECTION_POINT_ATTACHED() (Heikki Linnakangas) §", "title": "Allow inline injection point test code with IS_INJECTION_POINT_ATTACHED()", "commits": ["20e0e7da9"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "79e4cea60860d8836e161e88fdabc5f64d65b8ed64a9f03e86904ead26b4d830", "section_path": ["Source Code"], "commit_groups": [["20e0e7da9"]], "identity_text": "Allow inline injection point test code with IS_INJECTION_POINT_ATTACHED() (Heikki Linnakangas)", "commit_aliases": ["20e0e7da9"], "source_commits": ["20e0e7da9"], "source_entry_id": "18.0/changes/155", "db_id": "69ea97ff28af6ada25aca341f8a735b0", "patch_ids": ["2674b27a1325c15a5774f87f3db64257"], "statement_hash": "205a386562b145149d35fbbbf10a8d236a72a87070e3f78c0fc594e2c19dfb63", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-90ebf5445d5aa78e", "cves": [], "html": "<p>Improve the performance of processing long <a href=\"/docs/18/datatype-json.html\" title=\"8.14. JSON Types\"><code>JSON</code></a> strings using <acronym>SIMD</acronym> (Single Instruction Multiple Data) (David Rowley) <a href=\"https://postgr.es/c/ca6fde922\">§</a></p>", "text": "Improve the performance of processing long JSON strings using SIMD (Single Instruction Multiple Data) (David Rowley) §", "title": "Improve the performance of processing long JSON strings using SIMD (Single Instruction Multiple Data)", "commits": ["ca6fde922"], "section": "Source Code", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "2b68724e9ee7f08af34fb5dc99e67d9a8ab04ede02afe191439e3458dd0f05e6", "section_path": ["Source Code"], "commit_groups": [["ca6fde922"]], "identity_text": "Improve the performance of processing long JSON strings using SIMD (Single Instruction Multiple Data) (David Rowley)", "commit_aliases": ["ca6fde922"], "source_commits": ["ca6fde922"], "source_entry_id": "18.0/changes/156", "db_id": "bf59b3a6451a01581991094dc922205b", "patch_ids": ["6cd1200fc56103b10efacfbc076570b2"], "statement_hash": "b5d92db4da4785f9e55e37acc9bac0dd40e7bb88a4bb126cc0e859e91cbee94c", "relations": [], "version": "18.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b11e30db33f1640b", "cves": [], "html": "<p>Speed up CRC32C calculations using x86 <acronym>AVX</acronym>-512 instructions (Raghuveer Devulapalli, Paul Amonson) <a href=\"https://postgr.es/c/3c6e8c123\">§</a></p>", "text": "Speed up CRC32C calculations using x86 AVX-512 instructions (Raghuveer Devulapalli, Paul Amonson) §", "title": "Speed up CRC32C calculations using x86 AVX-512 instructions", "commits": ["3c6e8c123"], "section": "Source Code", "category": "performance", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "5c411d4b51c4b6be50ef868a21271a59e4a75118bd9ef67ecd94fe284fa402d6", "section_path": ["Source Code"], "commit_groups": [["3c6e8c123"]], "identity_text": "Speed up CRC32C calculations using x86 AVX-512 instructions (Raghuveer Devulapalli, Paul Amonson)", "commit_aliases": ["3c6e8c123"], "source_commits": ["3c6e8c123"], "source_entry_id": "18.0/changes/157", "db_id": "ecafb4a5cc6e92dddebe2ea023f597fc", "patch_ids": ["019ee0d01e78e91881714ff3219df19d"], "statement_hash": "9ebfb29bd90710429d9371df23815bf2b5a56103e50f8fd93d29218148000bd5", "relations": [], "version": "18.0", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-db83e36c1db3de67", "cves": [], "html": "<p>Add <acronym>ARM</acronym> Neon and <acronym>SVE CPU</acronym> intrinsics for popcount (integer bit counting) (Chiranmoy Bhattacharya, Devanga Susmitha, Rama Malladi) <a href=\"https://postgr.es/c/6be53c276\">§</a> <a href=\"https://postgr.es/c/519338ace\">§</a></p>", "text": "Add ARM Neon and SVE CPU intrinsics for popcount (integer bit counting) (Chiranmoy Bhattacharya, Devanga Susmitha, Rama Malladi) § §", "title": "Add ARM Neon and SVE CPU intrinsics for popcount (integer bit counting)", "commits": ["519338ace", "6be53c276"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "09d6f13a948bcd90f3f3ac8e4018d0c533c115226c68a7db35a0bca2856dc813", "section_path": ["Source Code"], "commit_groups": [["519338ace"], ["6be53c276"]], "identity_text": "Add ARM Neon and SVE CPU intrinsics for popcount (integer bit counting) (Chiranmoy Bhattacharya, Devanga Susmitha, Rama Malladi)", "commit_aliases": ["519338ace", "6be53c276"], "source_commits": ["519338ace", "6be53c276"], "source_entry_id": "18.0/changes/158", "db_id": "e50b80ab8e5fdb402e0beb48a5db4bc9", "patch_ids": ["205916923c7dd75d0231c55476cd4c48", "fd2f2d7fbcf88e0449c66f9f417165fc"], "statement_hash": "ee09c22e85fe2068ac5f7492e13742c8aea22c6679a441f8015237ca7bdeeca7", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ecae7587264d9281", "cves": [], "html": "<p>Improve the speed of numeric multiplication and division (Joel Jacobson, Dean Rasheed) <a href=\"https://postgr.es/c/ca481d3c9\">§</a> <a href=\"https://postgr.es/c/c4e44224c\">§</a> <a href=\"https://postgr.es/c/8dc28d7eb\">§</a> <a href=\"https://postgr.es/c/9428c001f\">§</a></p>", "text": "Improve the speed of numeric multiplication and division (Joel Jacobson, Dean Rasheed) § § § §", "title": "Improve the speed of numeric multiplication and division", "commits": ["8dc28d7eb", "9428c001f", "c4e44224c", "ca481d3c9"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "6edd099ca744adedc636a8415e8be30ad6220455ffa27ad1859cf8db0e9e45b0", "section_path": ["Source Code"], "commit_groups": [["8dc28d7eb"], ["9428c001f"], ["c4e44224c"], ["ca481d3c9"]], "identity_text": "Improve the speed of numeric multiplication and division (Joel Jacobson, Dean Rasheed)", "commit_aliases": ["8dc28d7eb", "9428c001f", "c4e44224c", "ca481d3c9"], "source_commits": ["8dc28d7eb", "9428c001f", "c4e44224c", "ca481d3c9"], "source_entry_id": "18.0/changes/159", "db_id": "a7dfad9e7ea9413b1f4feb4de2d8c632", "patch_ids": ["2f55166563d7d9ec64de99e0bf6e591a", "674fb4fd8062e095c5e8fbfa7beab186", "8d573b00acf40046627605c19414157d", "eb6faba6db5698c6310910540adef0d3"], "statement_hash": "8921ae4e40b001cd77fce579693d0a2e93ba934d8c04d74b261b43866655c114", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-fd7d506191195bf5", "cves": [], "html": "<p>Add configure option <a href=\"/docs/18/install-make.html#CONFIGURE-OPTION-WITH-LIBNUMA\"><code>--with-libnuma</code></a> to enable <acronym>NUMA</acronym> awareness (Jakub Wartak, Bertrand Drouvot) <a href=\"https://postgr.es/c/65c298f61\">§</a> <a href=\"https://postgr.es/c/8cc139bec\">§</a> <a href=\"https://postgr.es/c/ba2a3c230\">§</a></p>\n<p>The function <a href=\"/docs/18/functions-info.html#FUNCTIONS-INFO-SESSION-TABLE\" title=\"Table 9.71. Session Information Functions\"><code>pg_numa_available()</code></a> reports on <acronym>NUMA</acronym> awareness, and system views <a href=\"/docs/18/view-pg-shmem-allocations-numa.html\" title=\"53.28. pg_shmem_allocations_numa\"><code>pg_shmem_allocations_numa</code></a> and <a href=\"/docs/18/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-NUMA\" title=\"F.25.2. The pg_buffercache_numa View\"><code>pg_buffercache_numa</code></a> which report on shared memory distribution across <acronym>NUMA</acronym> nodes.</p>", "text": "Add configure option --with-libnuma to enable NUMA awareness (Jakub Wartak, Bertrand Drouvot) § § § The function pg_numa_available() reports on NUMA awareness, and system views pg_shmem_allocations_numa and pg_buffercache_numa which report on shared memory distribution across NUMA nodes.", "title": "Add configure option --with-libnuma to enable NUMA awareness", "commits": ["65c298f61", "8cc139bec", "ba2a3c230"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "0b0694513101ef09876066d6557fa4d54f9a726b8c32a495d2e11cb5dbb87a56", "section_path": ["Source Code"], "commit_groups": [["65c298f61"], ["8cc139bec"], ["ba2a3c230"]], "identity_text": "Add configure option --with-libnuma to enable NUMA awareness (Jakub Wartak, Bertrand Drouvot) The function pg_numa_available() reports on NUMA awareness, and system views pg_shmem_allocations_numa and pg_buffercache_numa which report on shared memory distribution across NUMA nodes.", "commit_aliases": ["65c298f61", "8cc139bec", "ba2a3c230"], "source_commits": ["65c298f61", "8cc139bec", "ba2a3c230"], "source_entry_id": "18.0/changes/160", "db_id": "c46ccca9f1946dfd4459a691e07af2db", "patch_ids": ["0bda3a2939f0c8e553f2cd364b861d66", "a0086763a22eaef1a94129dc2cb83f26", "ff9b0977e0d9bc988b2742729958c76a"], "statement_hash": "db9faab559f61ef090bb1474d8e37a8edb03dfee891204a25cf413b42cb27eae", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9d0c448b436ae645", "cves": [], "html": "<p>Add <a href=\"/docs/18/storage-toast.html\" title=\"66.2. TOAST\"><acronym>TOAST</acronym></a> table to <a href=\"/docs/18/catalog-pg-index.html\" title=\"52.26. pg_index\"><code>pg_index</code></a> to allow for very large expression indexes (Nathan Bossart) <a href=\"https://postgr.es/c/b52c4fc3c\">§</a></p>", "text": "Add TOAST table to pg_index to allow for very large expression indexes (Nathan Bossart) §", "title": "Add TOAST table to pg_index to allow for very large expression indexes", "commits": ["b52c4fc3c"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "e38df8c4adac3c916dd37e49534a831db4c663c75afb9f1572aa9d9a19e1310b", "section_path": ["Source Code"], "commit_groups": [["b52c4fc3c"]], "identity_text": "Add TOAST table to pg_index to allow for very large expression indexes (Nathan Bossart)", "commit_aliases": ["b52c4fc3c"], "source_commits": ["b52c4fc3c"], "source_entry_id": "18.0/changes/161", "db_id": "a183c4433783924b1f543b04dffbe63e", "patch_ids": ["825a8af7998ad11c985cc0c19920c0aa"], "statement_hash": "585ce1fc6b90250a5d9f417054d52adc8449c84cb9126c4a7c8e18ded4b9bc89", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-7c4c1a0fa6a16941", "cves": [], "html": "<p>Remove column <a href=\"/docs/18/catalog-pg-attribute.html\" title=\"52.7. pg_attribute\"><code>pg_attribute</code></a>.<code>attcacheoff</code> (David Rowley) <a href=\"https://postgr.es/c/02a8d0c45\">§</a></p>", "text": "Remove column pg_attribute.attcacheoff (David Rowley) §", "title": "Remove column pg_attribute.attcacheoff", "commits": ["02a8d0c45"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "645f698b676a9ba73d5e041adbcaff61122cc02dafe32585a497ee892ea42a60", "section_path": ["Source Code"], "commit_groups": [["02a8d0c45"]], "identity_text": "Remove column pg_attribute.attcacheoff (David Rowley)", "commit_aliases": ["02a8d0c45"], "source_commits": ["02a8d0c45"], "source_entry_id": "18.0/changes/162", "db_id": "de9715e00924e543a93173bd557f8a87", "patch_ids": ["2a64af08b922f4b5dfec5863eeacc734"], "statement_hash": "f1b5f09c6883050623ac1812e798880f8ba176d23813a4ced4f4bd063d39ad1d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-78805849d91844f9", "cves": [], "html": "<p>Add column <a href=\"/docs/18/catalog-pg-class.html\" title=\"52.11. pg_class\"><code>pg_class</code></a>.<code>relallfrozen</code> (Melanie Plageman) <a href=\"https://postgr.es/c/99f8f3fbb\">§</a></p>", "text": "Add column pg_class.relallfrozen (Melanie Plageman) §", "title": "Add column pg_class.relallfrozen", "commits": ["99f8f3fbb"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "02febe83c5ceca231086a3ac50eeaa199052ee8b196e5ca9c648c59dde6831ca", "section_path": ["Source Code"], "commit_groups": [["99f8f3fbb"]], "identity_text": "Add column pg_class.relallfrozen (Melanie Plageman)", "commit_aliases": ["99f8f3fbb"], "source_commits": ["99f8f3fbb"], "source_entry_id": "18.0/changes/163", "db_id": "2e16a121d2fdae3f34873b26af68f724", "patch_ids": ["e34a60db7964acc6555e873dfb10725a"], "statement_hash": "96beb2905e3a248595ecdda5e965d732eec214f703f8add76ce30ed4598a9414", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c782cff0c813679a", "cves": [], "html": "<p>Add <a href=\"/docs/18/indexam.html\" title=\"Chapter 63. Index Access Method Interface Definition\"><code>amgettreeheight</code></a>, <code>amconsistentequality</code>, and <code>amconsistentordering</code> to the index access method <acronym>API</acronym> (Mark Dilger) <a href=\"https://postgr.es/c/56fead44d\">§</a> <a href=\"https://postgr.es/c/af4002b38\">§</a></p>", "text": "Add amgettreeheight, amconsistentequality, and amconsistentordering to the index access method API (Mark Dilger) § §", "title": "Add amgettreeheight, amconsistentequality, and amconsistentordering to the index access method API", "commits": ["56fead44d", "af4002b38"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "d9121373abf7531fa3051db8fd45e11e34a371bb1779aa72dbd4573002763cc6", "section_path": ["Source Code"], "commit_groups": [["56fead44d"], ["af4002b38"]], "identity_text": "Add amgettreeheight, amconsistentequality, and amconsistentordering to the index access method API (Mark Dilger)", "commit_aliases": ["56fead44d", "af4002b38"], "source_commits": ["56fead44d", "af4002b38"], "source_entry_id": "18.0/changes/164", "db_id": "c0896ad6ccc9b4c2522da43d546da5f5", "patch_ids": ["d54243aea7af44672498af96b843565f", "fb0944545fe3714256167ec92793a5fc"], "statement_hash": "6ef133d3b85ce6783272fac722c9d4e931a1f2092c9da0e51cb9b27246ad7051", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-460501ce376100d3", "cves": [], "html": "<p>Add GiST support function <a href=\"/docs/18/gist.html#GIST-EXTENSIBILITY\" title=\"65.2.3. Extensibility\"><code>stratnum()</code></a> (Paul A. Jungwirth) <a href=\"https://postgr.es/c/7406ab623\">§</a></p>", "text": "Add GiST support function stratnum() (Paul A. Jungwirth) §", "title": "Add GiST support function stratnum()", "commits": ["7406ab623"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "cd860c634e5c11ef7814413f8dfc7d4e50a604bc8ae0127b42546e3f70578790", "section_path": ["Source Code"], "commit_groups": [["7406ab623"]], "identity_text": "Add GiST support function stratnum() (Paul A. Jungwirth)", "commit_aliases": ["7406ab623"], "source_commits": ["7406ab623"], "source_entry_id": "18.0/changes/165", "db_id": "547b4d266eb95df0ca214e88f83f2ac3", "patch_ids": ["c0f4d3964e16c6eacecdf93706337b0f"], "statement_hash": "ab651fe748b337f580f4b0931d16866d0f092f26619271305ee30d4e09247dd2", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4ab938fcc679b324", "cves": [], "html": "<p>Record the default <acronym>CPU</acronym> signedness of <code>char</code> in <a href=\"/docs/18/app-pgcontroldata.html\" title=\"pg_controldata\"><span><span>pg_controldata</span></span></a> (Masahiko Sawada) <a href=\"https://postgr.es/c/44fe30fda\">§</a></p>", "text": "Record the default CPU signedness of char in pg_controldata (Masahiko Sawada) §", "title": "Record the default CPU signedness of char in pg_controldata", "commits": ["44fe30fda"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "363da2533daefb50791d8811bea21405b4ee732ce6c4f3f355442806e1dd31fa", "section_path": ["Source Code"], "commit_groups": [["44fe30fda"]], "identity_text": "Record the default CPU signedness of char in app-pgcontroldata (Masahiko Sawada)", "commit_aliases": ["44fe30fda"], "source_commits": ["44fe30fda"], "source_entry_id": "18.0/changes/166", "db_id": "1527e2bcee85b6c81195ac3b56adf9ec", "patch_ids": ["a1e6c83e979843b0eaf5ffe14783e0e3"], "statement_hash": "47a0f9c4a0f67658919456be40ebfed6e7fa4cc578e1cbb804123622a3dc417b", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4255e556057b15b2", "cves": [], "html": "<p>Add support for Python \"Limited <acronym>API</acronym>\" in <a href=\"/docs/18/plpython.html\" title=\"Chapter 44. PL/Python — Python Procedural Language\">PL/Python</a> (Peter Eisentraut) <a href=\"https://postgr.es/c/72a3d0462\">§</a> <a href=\"https://postgr.es/c/0793ab810\">§</a></p>\n<p>This helps prevent problems caused by <span>Python</span> 3.x version mismatches.</p>", "text": "Add support for Python \"Limited API\" in PL/Python (Peter Eisentraut) § § This helps prevent problems caused by Python 3.x version mismatches.", "title": "Add support for Python \"Limited API\" in PL/Python", "commits": ["0793ab810", "72a3d0462"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "f49def5963789b61e9e11e6b78ad16b391ce6657675eb5e12857c3d90c25063f", "section_path": ["Source Code"], "commit_groups": [["0793ab810"], ["72a3d0462"]], "identity_text": "Add support for Python \"Limited API\" in PL/Python (Peter Eisentraut) This helps prevent problems caused by Python 3.x version mismatches.", "commit_aliases": ["0793ab810", "72a3d0462"], "source_commits": ["0793ab810", "72a3d0462"], "source_entry_id": "18.0/changes/167", "db_id": "d9d289d7c17d30019901f5104438a9b5", "patch_ids": ["cbf73ec20c058f368547efbe37a75ed9", "d615c6575bcf9dabc148901891890deb"], "statement_hash": "bf3af05933e7d77673abcb674c13915120867f48aac15d60053f750a42d0d7d0", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-923b07e7289358ea", "cves": [], "html": "<p>Change the minimum supported <span>Python</span> version to 3.6.8 (Jacob Champion) <a href=\"https://postgr.es/c/45363fca6\">§</a></p>", "text": "Change the minimum supported Python version to 3.6.8 (Jacob Champion) §", "title": "Change the minimum supported Python version to 3.6.8", "commits": ["45363fca6"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "edfc0a822c1e6decb577eb651c059faf6285be5446a2ae201393b823c93a7b4a", "section_path": ["Source Code"], "commit_groups": [["45363fca6"]], "identity_text": "Change the minimum supported Python version to 3.6.8 (Jacob Champion)", "commit_aliases": ["45363fca6"], "source_commits": ["45363fca6"], "source_entry_id": "18.0/changes/168", "db_id": "3803d2204af4aafb31861db9c07294df", "patch_ids": ["d238a5c385201266bab1298ddc3d6937"], "statement_hash": "8e0582a6e94665c56a736b1daf82f2826837a955bf1ad3c8fed3ee41c1854b9b", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c729ed080047e9a6", "cves": [], "html": "<p>Remove support for <span>OpenSSL</span> versions older than 1.1.1 (Daniel Gustafsson) <a href=\"https://postgr.es/c/a70e01d43\">§</a> <a href=\"https://postgr.es/c/6c66b7443\">§</a></p>", "text": "Remove support for OpenSSL versions older than 1.1.1 (Daniel Gustafsson) § §", "title": "Remove support for OpenSSL versions older than 1.1.1", "commits": ["6c66b7443", "a70e01d43"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "fef36e34b98c4cf8afc0e87fda7cd8014955b79b409cd798e1776f2cbb3cc19d", "section_path": ["Source Code"], "commit_groups": [["6c66b7443"], ["a70e01d43"]], "identity_text": "Remove support for OpenSSL versions older than 1.1.1 (Daniel Gustafsson)", "commit_aliases": ["6c66b7443", "a70e01d43"], "source_commits": ["6c66b7443", "a70e01d43"], "source_entry_id": "18.0/changes/169", "db_id": "48cbbe1a33f004fe33768f2881d5d92f", "patch_ids": ["abb2eed446c79007a20dabd90ec11e07", "e230f75c4521f002154fbc695ab93e0a"], "statement_hash": "c8e7dae9a85d85423b23da56e2d21b96b7f26438f93b7ac8c175a38b66b24100", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-48539960f4e6144e", "cves": [], "html": "<p>If <span>LLVM</span> is enabled, require version 14 or later (Thomas Munro) <a href=\"https://postgr.es/c/972c2cd28\">§</a></p>", "text": "If LLVM is enabled, require version 14 or later (Thomas Munro) §", "title": "If LLVM is enabled, require version 14 or later", "commits": ["972c2cd28"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "312a91a833836d352538d85b42e2e70e2f3593c02b219f7e95f80da5e10bfaf4", "section_path": ["Source Code"], "commit_groups": [["972c2cd28"]], "identity_text": "If LLVM is enabled, require version 14 or later (Thomas Munro)", "commit_aliases": ["972c2cd28"], "source_commits": ["972c2cd28"], "source_entry_id": "18.0/changes/170", "db_id": "50c7a44be3192eea399751ed1200e8e8", "patch_ids": ["8a4ef85fef8148a0752a6381c6a739bb"], "statement_hash": "36fc6c5974c10ca846263ab84a10c91abb0ab4d1f95effb5f1513c71c37a4bbe", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-cc466a564036d579", "cves": [], "html": "<p>Add macro <a href=\"/docs/18/functions-info.html\" title=\"9.27. System Information Functions and Operators\"><code>PG_MODULE_MAGIC_EXT</code></a> to allow extensions to report their name and version (Andrei Lepikhov) <a href=\"https://postgr.es/c/9324c8c58\">§</a></p>\n<p>This information can be access via the new function <a href=\"/docs/18/functions-info.html#FUNCTIONS-INFO-SESSION-TABLE\" title=\"Table 9.71. Session Information Functions\"><code>pg_get_loaded_modules()</code></a>.</p>", "text": "Add macro PG_MODULE_MAGIC_EXT to allow extensions to report their name and version (Andrei Lepikhov) § This information can be access via the new function pg_get_loaded_modules().", "title": "Add macro PG_MODULE_MAGIC_EXT to allow extensions to report their name and version", "commits": ["9324c8c58"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "473925ca43927bf0fecf0ebb8b99b79703e70fb6920ef16d9a6197b242837012", "section_path": ["Source Code"], "commit_groups": [["9324c8c58"]], "identity_text": "Add macro PG_MODULE_MAGIC_EXT to allow extensions to report their name and version (Andrei Lepikhov) This information can be access via the new function pg_get_loaded_modules().", "commit_aliases": ["9324c8c58"], "source_commits": ["9324c8c58"], "source_entry_id": "18.0/changes/171", "db_id": "22bad4a55bc766af423a30b6bf1b99b9", "patch_ids": ["ed1ff647f1c305bd35f657351b9a7adf"], "statement_hash": "b4515add36ae14827b8bf37983849f8407d2e2de81d57662cf8c2e42fb2dc367", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1f7ee7beb9720d96", "cves": [], "html": "<p>Document that <a href=\"/docs/18/spi-spi-connect.html\" title=\"SPI_connect\"><code>SPI_connect()</code></a>/<a href=\"/docs/18/spi-spi-connect.html\" title=\"SPI_connect\"><code>SPI_connect_ext()</code></a> always returns success (<code>SPI_OK_CONNECT</code>) (Stepan Neretin) <a href=\"https://postgr.es/c/218527d01\">§</a></p>\n<p>Errors are always reported via <code>ereport()</code>.</p>", "text": "Document that SPI_connect()/SPI_connect_ext() always returns success (SPI_OK_CONNECT) (Stepan Neretin) § Errors are always reported via ereport().", "title": "Document that SPI_connect()/SPI_connect_ext() always returns success (SPI_OK_CONNECT)", "commits": ["218527d01"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "aa52b5fa421b28ab0bc7e593947371732a940dc52c961ec9185e124ddf4d35ff", "section_path": ["Source Code"], "commit_groups": [["218527d01"]], "identity_text": "Document that SPI_connect()/SPI_connect_ext() always returns success (SPI_OK_CONNECT) (Stepan Neretin) Errors are always reported via ereport().", "commit_aliases": ["218527d01"], "source_commits": ["218527d01"], "source_entry_id": "18.0/changes/172", "db_id": "6c9d752ad2524932db7f67c114ea208c", "patch_ids": ["8db80b5d2f22fef141642ab40ac0c845"], "statement_hash": "67c11936fe67155db84d081f3909f3742a03731f80e2342d6e16669433687aba", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-dbb8c166c369ad8f", "cves": [], "html": "<p>Add <a href=\"/docs/18/xfunc-c.html#XFUNC-API-ABI-STABILITY-GUIDANCE\" title=\"36.10.6. Server API and ABI Stability Guidance\">documentation section</a> about <acronym>API</acronym> and <acronym>ABI</acronym> compatibility (David Wheeler, Peter Eisentraut) <a href=\"https://postgr.es/c/e54a42ac9\">§</a></p>", "text": "Add documentation section about API and ABI compatibility (David Wheeler, Peter Eisentraut) §", "title": "Add documentation section about API and ABI compatibility", "commits": ["e54a42ac9"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "90c971529d419760d77397cb587a82b521c16886289aebdd0a9950e6910000f9", "section_path": ["Source Code"], "commit_groups": [["e54a42ac9"]], "identity_text": "Add documentation section about API and ABI compatibility (David Wheeler, Peter Eisentraut)", "commit_aliases": ["e54a42ac9"], "source_commits": ["e54a42ac9"], "source_entry_id": "18.0/changes/173", "db_id": "bce92895bdc4d2128762d0826b82afe5", "patch_ids": ["ed9bc344aa72386c8e767c718632ec82"], "statement_hash": "0295a4b203df0b9501cc58312ecd1041db9220faa5a8a3ae88d0fb981ee922f4", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-c62188fa02597863", "cves": [], "html": "<p>Remove the experimental designation of <span>Meson</span> builds on <span>Windows</span> (Aleksander Alekseev) <a href=\"https://postgr.es/c/5afaba629\">§</a></p>", "text": "Remove the experimental designation of Meson builds on Windows (Aleksander Alekseev) §", "title": "Remove the experimental designation of Meson builds on Windows", "commits": ["5afaba629"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "6fa8dda0e2cd9ac5555c784bf5c0ef8242c1206143e83bc3f734bc4ebaecdc2a", "section_path": ["Source Code"], "commit_groups": [["5afaba629"]], "identity_text": "Remove the experimental designation of Meson builds on Windows (Aleksander Alekseev)", "commit_aliases": ["5afaba629"], "source_commits": ["5afaba629"], "source_entry_id": "18.0/changes/174", "db_id": "65f45b8de45e88579fb3a07c1fc5ca82", "patch_ids": ["7f3733853ec88ef6dcc506c3f311ca02"], "statement_hash": "4b791d0ce6d561df0dc9266dbc1c032420c8b1a17d776165cd28778ec4824762", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b529394c7414f821", "cves": [], "html": "<p>Remove configure options <code>--disable-spinlocks</code> and <code>--disable-atomics</code> (Thomas Munro) <a href=\"https://postgr.es/c/e25626677\">§</a> <a href=\"https://postgr.es/c/813852613\">§</a></p>\n<p>Thirty-two-bit atomic operations are now required.</p>", "text": "Remove configure options --disable-spinlocks and --disable-atomics (Thomas Munro) § § Thirty-two-bit atomic operations are now required.", "title": "Remove configure options --disable-spinlocks and --disable-atomics", "commits": ["813852613", "e25626677"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "dea8d45db1e65b97fa1c42d83d77ae1a21b44ff4bf947e134c0ae0c51fec84eb", "section_path": ["Source Code"], "commit_groups": [["813852613"], ["e25626677"]], "identity_text": "Remove configure options --disable-spinlocks and --disable-atomics (Thomas Munro) Thirty-two-bit atomic operations are now required.", "commit_aliases": ["813852613", "e25626677"], "source_commits": ["813852613", "e25626677"], "source_entry_id": "18.0/changes/175", "db_id": "cb76202d341bfde3157c7f5662fdca08", "patch_ids": ["1adba83a13269f9fe1796e4c938f5668", "c5a68b790cc12df3a522cd1c85e50f75"], "statement_hash": "f075e693a989fc62b94be60cc6414f54094d772e3fc9f2cc5a1a1beefdca9437", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e16d84f131471052", "cves": [], "html": "<p>Remove support for the <acronym>HPPA</acronym>/<acronym>PA-RISC</acronym> architecture (Tom Lane) <a href=\"https://postgr.es/c/edadeb071\">§</a></p>", "text": "Remove support for the HPPA/PA-RISC architecture (Tom Lane) §", "title": "Remove support for the HPPA/PA-RISC architecture", "commits": ["edadeb071"], "section": "Source Code", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-SOURCE-CODE", "source_hash": "8f4d3cb0f0e25fcd326fb98621d0aefc3e51c019fd35d16cfdf8c01567fe96be", "section_path": ["Source Code"], "commit_groups": [["edadeb071"]], "identity_text": "Remove support for the HPPA/PA-RISC architecture (Tom Lane)", "commit_aliases": ["edadeb071"], "source_commits": ["edadeb071"], "source_entry_id": "18.0/changes/176", "db_id": "a167452f08dbddf1b2de4b6f87175253", "patch_ids": ["4c7fcd694e4cfcfdf4d2b66e07bcc93b"], "statement_hash": "34e0e62ec64cf13e242497f80e1704894b16ff8d2f43db397bcdbb5fd4d87a42", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-7290fc125f61d724", "cves": [], "html": "<p>Add extension <a href=\"/docs/18/pglogicalinspect.html\" title=\"F.28. pg_logicalinspect — logical decoding components inspection\">pg_logicalinspect</a> to inspect logical snapshots (Bertrand Drouvot) <a href=\"https://postgr.es/c/7cdfeee32\">§</a></p>", "text": "Add extension pg_logicalinspect to inspect logical snapshots (Bertrand Drouvot) §", "title": "Add extension pg_logicalinspect to inspect logical snapshots", "commits": ["7cdfeee32"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "2687560225facdefa50011e45e121f7d2ba43f8c8dbd44cf574154afa1445beb", "section_path": ["Additional Modules"], "commit_groups": [["7cdfeee32"]], "identity_text": "Add extension pglogicalinspect to inspect logical snapshots (Bertrand Drouvot)", "commit_aliases": ["7cdfeee32"], "source_commits": ["7cdfeee32"], "source_entry_id": "18.0/changes/177", "db_id": "67c4f0ce87d750c9d1fc47621ad4ca18", "patch_ids": ["a7b197beccb692abf2aeb8c35a0a48a1"], "statement_hash": "aacda762c76e2c1fbfdaa69e9c927a9740a1692b0b61c349e5016a3c3b699a0a", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-b013c231e39d5be8", "cves": [], "html": "<p>Add extension <a href=\"/docs/18/pgoverexplain.html\" title=\"F.29. pg_overexplain — allow EXPLAIN to dump even more details\">pg_overexplain</a> which adds debug details to <a href=\"/docs/18/sql-explain.html\" title=\"EXPLAIN\"><code>EXPLAIN</code></a> output (Robert Haas) <a href=\"https://postgr.es/c/8d5ceb113\">§</a></p>", "text": "Add extension pg_overexplain which adds debug details to EXPLAIN output (Robert Haas) §", "title": "Add extension pg_overexplain which adds debug details to EXPLAIN output", "commits": ["8d5ceb113"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "7515ce17b867bfaab97a731353d79de47d4cad8cb11c156dc88cd77a008a3e6a", "section_path": ["Additional Modules"], "commit_groups": [["8d5ceb113"]], "identity_text": "Add extension pgoverexplain which adds debug details to EXPLAIN output (Robert Haas)", "commit_aliases": ["8d5ceb113"], "source_commits": ["8d5ceb113"], "source_entry_id": "18.0/changes/178", "db_id": "87a2dbbbebd8175b5bf005cb3cfc67ca", "patch_ids": ["2ed4181cb477cdca663a38f91a5f217c"], "statement_hash": "d9fca54d692a23040461084ec35270936c31625992377c566a8c37899f1f0787", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-4831466123b6482b", "cves": [], "html": "<p>Add output columns to <a href=\"/docs/18/postgres-fdw.html#POSTGRES-FDW-FUNCTIONS\" title=\"F.38.2. Functions\"><code>postgres_fdw_get_connections()</code></a> (Hayato Kuroda, Sagar Dilip Shedge) <a href=\"https://postgr.es/c/c297a47c5\">§</a> <a href=\"https://postgr.es/c/857df3cef\">§</a> <a href=\"https://postgr.es/c/4f08ab554\">§</a> <a href=\"https://postgr.es/c/fe186bda7\">§</a></p>\n<p>New output column <code>used_in_xact</code> indicates if the foreign data wrapper is being used by a current transaction, <code>closed</code> indicates if it is closed, <code>user_name</code> indicates the user name, and <code>remote_backend_pid</code> indicates the remote backend process identifier.</p>", "text": "Add output columns to postgres_fdw_get_connections() (Hayato Kuroda, Sagar Dilip Shedge) § § § § New output column used_in_xact indicates if the foreign data wrapper is being used by a current transaction, closed indicates if it is closed, user_name indicates the user name, and remote_backend_pid indicates the remote backend process identifier.", "title": "Add output columns to postgres_fdw_get_connections()", "commits": ["4f08ab554", "857df3cef", "c297a47c5", "fe186bda7"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "2757fb81880ea4eb26d1e4463218e9a19e266a0e629f94c057cb3aec12bcea56", "section_path": ["Additional Modules"], "commit_groups": [["4f08ab554"], ["857df3cef"], ["c297a47c5"], ["fe186bda7"]], "identity_text": "Add output columns to postgres_fdw_get_connections() (Hayato Kuroda, Sagar Dilip Shedge) New output column used_in_xact indicates if the foreign data wrapper is being used by a current transaction, closed indicates if it is closed, user_name indicates the user name, and remote_backend_pid indicates the remote backend process identifier.", "commit_aliases": ["4f08ab554", "857df3cef", "c297a47c5", "fe186bda7"], "source_commits": ["4f08ab554", "857df3cef", "c297a47c5", "fe186bda7"], "source_entry_id": "18.0/changes/179", "db_id": "57766a54c36633792199e697fc70e7df", "patch_ids": ["69b3dae14669bd99116e5c32e7ce74b0", "6a1a0a8505001d8b25302d12068877e7", "c0a12ec1a2d53150c1b560fb21c4539c", "d67e56f99dc5bb1eb71cebb589bee3a5"], "statement_hash": "3720900a35e82886147a69fd3730383d5206cad9f0e7aafdf9a19742425cfc42", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-5519d2468e9d5ea2", "cves": [], "html": "<p>Allow <a href=\"/docs/18/auth-password.html\" title=\"20.5. Password Authentication\"><acronym>SCRAM</acronym></a> authentication from the client to be passed to <a href=\"/docs/18/postgres-fdw.html\" title=\"F.38. postgres_fdw — access data stored in external PostgreSQL servers\">postgres_fdw</a> servers (Matheus Alcantara, Peter Eisentraut) <a href=\"https://postgr.es/c/761c79508\">§</a></p>\n<p>This avoids storing <span>postgres_fdw</span> authentication information in the database, and is enabled with the <span>postgres_fdw</span> <a href=\"/docs/18/postgres-fdw.html#POSTGRES-FDW-OPTION-USE-SCRAM-PASSTHROUGH\"><code>use_scram_passthrough</code></a> connection option. libpq uses new connection parameters <a href=\"/docs/18/libpq-connect.html#LIBPQ-CONNECT-SCRAM-CLIENT-KEY\">scram_client_key</a> and <a href=\"/docs/18/libpq-connect.html#LIBPQ-CONNECT-SCRAM-SERVER-KEY\">scram_server_key</a>.</p>", "text": "Allow SCRAM authentication from the client to be passed to postgres_fdw servers (Matheus Alcantara, Peter Eisentraut) § This avoids storing postgres_fdw authentication information in the database, and is enabled with the postgres_fdw use_scram_passthrough connection option. libpq uses new connection parameters scram_client_key and scram_server_key.", "title": "Allow SCRAM authentication from the client to be passed to postgres_fdw servers", "commits": ["761c79508"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "5acf9481abc4c3c8dc1300ade55bcee491bededaef10ba7b4c9d16ee213d4b3f", "section_path": ["Additional Modules"], "commit_groups": [["761c79508"]], "identity_text": "Allow SCRAM authentication from the client to be passed to postgres-fdw servers (Matheus Alcantara, Peter Eisentraut) This avoids storing postgres_fdw authentication information in the database, and is enabled with the postgres_fdw use_scram_passthrough connection option. libpq uses new connection parameters libpq-connect-scram-client-key and libpq-connect-scram-server-key .", "commit_aliases": ["761c79508"], "source_commits": ["761c79508"], "source_entry_id": "18.0/changes/180", "db_id": "e470a9bf401deab26d02f6095d0d4417", "patch_ids": ["af2270afccff9e2eee136add3ddf9516"], "statement_hash": "7752ceee84e239333dabe3abd26dcd183aad92846d5412c6919e21ed04e49920", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-40e7df9bbd01fbdd", "cves": [], "html": "<p>Allow <acronym>SCRAM</acronym> authentication from the client to be passed to <a href=\"/docs/18/dblink.html\" title=\"F.11. dblink — connect to other PostgreSQL databases\">dblink</a> servers (Matheus Alcantara) <a href=\"https://postgr.es/c/3642df265\">§</a></p>", "text": "Allow SCRAM authentication from the client to be passed to dblink servers (Matheus Alcantara) §", "title": "Allow SCRAM authentication from the client to be passed to dblink servers", "commits": ["3642df265"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "d5d459964678c5f8377c3bd875649fc44172ce4cb2a1b6401f0950b80fc6ba4a", "section_path": ["Additional Modules"], "commit_groups": [["3642df265"]], "identity_text": "Allow SCRAM authentication from the client to be passed to dblink servers (Matheus Alcantara)", "commit_aliases": ["3642df265"], "source_commits": ["3642df265"], "source_entry_id": "18.0/changes/181", "db_id": "db82382f896f8242594f26f0e98cd318", "patch_ids": ["071743b3a560980bed101b42da01a888"], "statement_hash": "606c662a7292efbe14169ab67273e036f3695f6e116ffb4735ab23da0a7f3415", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-be0a5c377c8ad1d6", "cves": [], "html": "<p>Add <code>on_error</code> and <code>log_verbosity</code> options to <a href=\"/docs/18/file-fdw.html\" title=\"F.15. file_fdw — access data files in the server's file system\">file_fdw</a> (Atsushi Torikoshi) <a href=\"https://postgr.es/c/a1c4c8a9e\">§</a></p>\n<p>These control how <span>file_fdw</span> handles and reports invalid file rows.</p>", "text": "Add on_error and log_verbosity options to file_fdw (Atsushi Torikoshi) § These control how file_fdw handles and reports invalid file rows.", "title": "Add on_error and log_verbosity options to file_fdw", "commits": ["a1c4c8a9e"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "115a0c8a418b7106acd2734d853b844db562b082c4bda8f83428f4e298314284", "section_path": ["Additional Modules"], "commit_groups": [["a1c4c8a9e"]], "identity_text": "Add on_error and log_verbosity options to file-fdw (Atsushi Torikoshi) These control how file_fdw handles and reports invalid file rows.", "commit_aliases": ["a1c4c8a9e"], "source_commits": ["a1c4c8a9e"], "source_entry_id": "18.0/changes/182", "db_id": "6982b0c41f58b8ad05599dd36f57aaa9", "patch_ids": ["21992e0340c7459eca57bac98530eee3"], "statement_hash": "c5180a0af1dd4fdd3162754e1b488f348273f6c2f9209b82ebf3d374fabffd98", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d073f00449dd1fe3", "cves": [], "html": "<p>Add <code>reject_limit</code> to control the number of invalid rows <span>file_fdw</span> can ignore (Atsushi Torikoshi) <a href=\"https://postgr.es/c/6c8f67032\">§</a></p>\n<p>This is active when <code>ON_ERROR = 'ignore'</code>.</p>", "text": "Add reject_limit to control the number of invalid rows file_fdw can ignore (Atsushi Torikoshi) § This is active when ON_ERROR = 'ignore'.", "title": "Add reject_limit to control the number of invalid rows file_fdw can ignore", "commits": ["6c8f67032"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "914ef144cb149e5828a4af2d2b3498fdd849dab913c363a52d16e74e3911885f", "section_path": ["Additional Modules"], "commit_groups": [["6c8f67032"]], "identity_text": "Add reject_limit to control the number of invalid rows file_fdw can ignore (Atsushi Torikoshi) This is active when ON_ERROR = 'ignore'.", "commit_aliases": ["6c8f67032"], "source_commits": ["6c8f67032"], "source_entry_id": "18.0/changes/183", "db_id": "48a8faf8ec485497fca4db2bacbaeab7", "patch_ids": ["5b6c0783ca982f9138e4795b3e829d8a"], "statement_hash": "731012e4db71426106868c5367cd50ce2ef63f3770862fd07904f6a9a0245032", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-633e2729df5f6460", "cves": [], "html": "<p>Add configurable variable <code>min_password_length</code> to <a href=\"/docs/18/passwordcheck.html\" title=\"F.24. passwordcheck — verify password strength\">passwordcheck</a> (Emanuele Musella, Maurizio Boriani) <a href=\"https://postgr.es/c/f7e1b3828\">§</a></p>\n<p>This controls the minimum password length.</p>", "text": "Add configurable variable min_password_length to passwordcheck (Emanuele Musella, Maurizio Boriani) § This controls the minimum password length.", "title": "Add configurable variable min_password_length to passwordcheck", "commits": ["f7e1b3828"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "1b94e879146707658c8624a2cc1d0d5d51823ca6cec56d81901b4e94cb11b78c", "section_path": ["Additional Modules"], "commit_groups": [["f7e1b3828"]], "identity_text": "Add configurable variable min_password_length to passwordcheck (Emanuele Musella, Maurizio Boriani) This controls the minimum password length.", "commit_aliases": ["f7e1b3828"], "source_commits": ["f7e1b3828"], "source_entry_id": "18.0/changes/184", "db_id": "c2f3e4981e48c781d80d8d683bfeafdc", "patch_ids": ["8adca4662ef9e316e20e61eac39f5953"], "statement_hash": "3c96a08392c835400e1601043498429b0df9c4a3c6205b65fa827329a880c71d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-ccb942ad8d145ac9", "cves": [], "html": "<p>Have <a href=\"/docs/18/pgbench.html\" title=\"pgbench\"><span><span>pgbench</span></span></a> report the number of failed, retried, or skipped transactions in per-script reports (Yugo Nagata) <a href=\"https://postgr.es/c/cae0f3c40\">§</a></p>", "text": "Have pgbench report the number of failed, retried, or skipped transactions in per-script reports (Yugo Nagata) §", "title": "Have pgbench report the number of failed, retried, or skipped transactions in per-script reports", "commits": ["cae0f3c40"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "b6ab8471bd55acbc24e7b6d8e4dbc4490126311ba216112a2325d59926d09340", "section_path": ["Additional Modules"], "commit_groups": [["cae0f3c40"]], "identity_text": "Have pgbench report the number of failed, retried, or skipped transactions in per-script reports (Yugo Nagata)", "commit_aliases": ["cae0f3c40"], "source_commits": ["cae0f3c40"], "source_entry_id": "18.0/changes/185", "db_id": "7d68f2a4e71d87ab7e6b4494d5b3c176", "patch_ids": ["7ae9139da216927d66da497ea952bf95"], "statement_hash": "18f1805b3f36c44aa22e9a7c871bfc854cae06d2d1ba7d54f1c9ef8c03dabac0", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-6929095b04fe5b40", "cves": [], "html": "<p>Add <a href=\"/docs/18/isn.html\" title=\"F.20. isn — data types for international standard numbers (ISBN, EAN, UPC, etc.)\">isn</a> server variable <code>weak</code> to control invalid check digit acceptance (Viktor Holmberg) <a href=\"https://postgr.es/c/448904423\">§</a></p>\n<p>This was previously only controlled by function <a href=\"/docs/18/isn.html#ISN-FUNCTIONS\" title=\"Table F.11. isn Functions\"><code>isn_weak()</code></a>.</p>", "text": "Add isn server variable weak to control invalid check digit acceptance (Viktor Holmberg) § This was previously only controlled by function isn_weak().", "title": "Add isn server variable weak to control invalid check digit acceptance", "commits": ["448904423"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "02b17a33ef29c5ffa267140e9614fd175f35fb008501832e4e8b2738b89ccc04", "section_path": ["Additional Modules"], "commit_groups": [["448904423"]], "identity_text": "Add isn server variable weak to control invalid check digit acceptance (Viktor Holmberg) This was previously only controlled by function isn_weak().", "commit_aliases": ["448904423"], "source_commits": ["448904423"], "source_entry_id": "18.0/changes/186", "db_id": "5f8aee170ab63cf20094d429feccf7c0", "patch_ids": ["18f9d78d0b131468273798f1c5d15c6f"], "statement_hash": "5acf45b1736bba51038a52d3be296633c8f71d63e863e5b4fa2a8bd6b564504e", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f65afd9fd3a24d96", "cves": [], "html": "<p>Allow values to be sorted to speed <a href=\"/docs/18/btree-gist.html\" title=\"F.8. btree_gist — GiST operator classes with B-tree behavior\">btree_gist</a> index builds (Bernd Helmle, Andrey Borodin) <a href=\"https://postgr.es/c/e4309f73f\">§</a></p>", "text": "Allow values to be sorted to speed btree_gist index builds (Bernd Helmle, Andrey Borodin) §", "title": "Allow values to be sorted to speed btree_gist index builds", "commits": ["e4309f73f"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "212669f707e1fce095f4a15af5bba9c3db22d8a44760a389af1d2d2f668d8dde", "section_path": ["Additional Modules"], "commit_groups": [["e4309f73f"]], "identity_text": "Allow values to be sorted to speed btree-gist index builds (Bernd Helmle, Andrey Borodin)", "commit_aliases": ["e4309f73f"], "source_commits": ["e4309f73f"], "source_entry_id": "18.0/changes/187", "db_id": "7e911d1361965be0a82fa600d4ebef9d", "patch_ids": ["cffdd969af417cd314b82e92cb6a914f"], "statement_hash": "cebec6909a36bdf2166bf54e64bff4c820d6b198d1e688f1c4007e765cf72614", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d35d4aa1899363aa", "cves": [], "html": "<p>Add <a href=\"/docs/18/amcheck.html\" title=\"F.1. amcheck — tools to verify table and index consistency\">amcheck</a> check function <a href=\"/docs/18/amcheck.html#AMCHECK-FUNCTIONS\" title=\"F.1.1. Functions\"><code>gin_index_check()</code></a> to verify <code>GIN</code> indexes (Grigory Kryachko, Heikki Linnakangas, Andrey Borodin) <a href=\"https://postgr.es/c/14ffaece0\">§</a></p>", "text": "Add amcheck check function gin_index_check() to verify GIN indexes (Grigory Kryachko, Heikki Linnakangas, Andrey Borodin) §", "title": "Add amcheck check function gin_index_check() to verify GIN indexes", "commits": ["14ffaece0"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "e92d948d2ddc6876642e73f177289d6b41bb2fe21922122f6e1e7eeaf83fff3c", "section_path": ["Additional Modules"], "commit_groups": [["14ffaece0"]], "identity_text": "Add amcheck check function gin_index_check() to verify GIN indexes (Grigory Kryachko, Heikki Linnakangas, Andrey Borodin)", "commit_aliases": ["14ffaece0"], "source_commits": ["14ffaece0"], "source_entry_id": "18.0/changes/188", "db_id": "901639a50d26960109ceeaf20c9a6525", "patch_ids": ["3da01d3c7aa186dc71d957e208a485dc"], "statement_hash": "da2898009fd05a775abd078506b5f09c6e8b1e8fec26d605efd008c0d231dab0", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-a511612dd1dbda61", "cves": [], "html": "<p>Add functions <a href=\"/docs/18/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT-RELATION\" title=\"F.25.6. The pg_buffercache_evict_relation() Function\"><code>pg_buffercache_evict_relation()</code></a> and <a href=\"/docs/18/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT-ALL\" title=\"F.25.7. The pg_buffercache_evict_all() Function\"><code>pg_buffercache_evict_all()</code></a> to evict unpinned shared buffers (Nazir Bilal Yavuz) <a href=\"https://postgr.es/c/dcf7e1697\">§</a></p>\n<p>The existing function <a href=\"/docs/18/pgbuffercache.html#PGBUFFERCACHE-PG-BUFFERCACHE-EVICT\" title=\"F.25.5. The pg_buffercache_evict() Function\"><code>pg_buffercache_evict()</code></a> now returns the buffer flush status.</p>", "text": "Add functions pg_buffercache_evict_relation() and pg_buffercache_evict_all() to evict unpinned shared buffers (Nazir Bilal Yavuz) § The existing function pg_buffercache_evict() now returns the buffer flush status.", "title": "Add functions pg_buffercache_evict_relation() and pg_buffercache_evict_all() to evict unpinned shared buffers", "commits": ["dcf7e1697"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "ff8384fcca3171ad9ba328245edab24a7394c982bd1ee80a16272f59622034c3", "section_path": ["Additional Modules"], "commit_groups": [["dcf7e1697"]], "identity_text": "Add functions pg_buffercache_evict_relation() and pg_buffercache_evict_all() to evict unpinned shared buffers (Nazir Bilal Yavuz) The existing function pg_buffercache_evict() now returns the buffer flush status.", "commit_aliases": ["dcf7e1697"], "source_commits": ["dcf7e1697"], "source_entry_id": "18.0/changes/189", "db_id": "53a630578a75630174d2c269609886e6", "patch_ids": ["18bc743ec0e02f2bfdd5e711a373a351"], "statement_hash": "741214ec5c0080df2f48fe0ecb949fe4d8cc9dcffc25225e8d4f433bd4032752", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-d112bddfd7837836", "cves": [], "html": "<p>Allow extensions to install custom <a href=\"/docs/18/sql-explain.html\" title=\"EXPLAIN\"><span>EXPLAIN</span></a> options (Robert Haas, Sami Imseih) <a href=\"https://postgr.es/c/c65bc2e1d\">§</a> <a href=\"https://postgr.es/c/4fd02bf7c\">§</a> <a href=\"https://postgr.es/c/50ba65e73\">§</a></p>", "text": "Allow extensions to install custom EXPLAIN options (Robert Haas, Sami Imseih) § § §", "title": "Allow extensions to install custom EXPLAIN options", "commits": ["4fd02bf7c", "50ba65e73", "c65bc2e1d"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "126c1e252fd401d5cbcf8667b52299d2f5510b10142a7ea6310dcbba82c8bd12", "section_path": ["Additional Modules"], "commit_groups": [["4fd02bf7c"], ["50ba65e73"], ["c65bc2e1d"]], "identity_text": "Allow extensions to install custom sql-explain options (Robert Haas, Sami Imseih)", "commit_aliases": ["4fd02bf7c", "50ba65e73", "c65bc2e1d"], "source_commits": ["4fd02bf7c", "50ba65e73", "c65bc2e1d"], "source_entry_id": "18.0/changes/190", "db_id": "17128679b68e62fcef0d48d266afb493", "patch_ids": ["4a90cb7809dd3268e814052cb9d568f6", "a7446b42cbf558abedd81726ef25be11", "b1d23fea200234c95397b7e93fd14848"], "statement_hash": "e8646573cbbb7286af9b4ad50cc583bc6310d49c513b0e947a6bca0270e16301", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-72dccadf752b71eb", "cves": [], "html": "<p>Allow extensions to use the server's cumulative statistics <acronym>API</acronym> (Michael Paquier) <a href=\"https://postgr.es/c/7949d9594\">§</a> <a href=\"https://postgr.es/c/2eff9e678\">§</a></p>", "text": "Allow extensions to use the server's cumulative statistics API (Michael Paquier) § §", "title": "Allow extensions to use the server's cumulative statistics API", "commits": ["2eff9e678", "7949d9594"], "section": "Additional Modules", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-MODULES", "source_hash": "7611ce1609aa627ae59449ba16bf0a6a11d238cb4b3f48d277fa6399e2615ef5", "section_path": ["Additional Modules"], "commit_groups": [["2eff9e678"], ["7949d9594"]], "identity_text": "Allow extensions to use the server's cumulative statistics API (Michael Paquier)", "commit_aliases": ["2eff9e678", "7949d9594"], "source_commits": ["2eff9e678", "7949d9594"], "source_entry_id": "18.0/changes/191", "db_id": "51ed37dd51200e7f7a59592baf05f997", "patch_ids": ["3eb79f54769a802749d52f97f9f8c4cd", "4af802e5801cb1008a49bbd7ffb1b4c6"], "statement_hash": "a6e76441b49e4dfc8c5b6323c846f1efe63f20730e0cc0450e6f197b1eb9b2a0", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-f9d180ce3867ba06", "cves": [], "html": "<p>Allow the queries of <a href=\"/docs/18/sql-createtableas.html\" title=\"CREATE TABLE AS\"><span>CREATE TABLE AS</span></a> and <a href=\"/docs/18/sql-declare.html\" title=\"DECLARE\"><span>DECLARE</span></a> to be tracked by <span>pg_stat_statements</span> (Anthonin Bonnefoy) <a href=\"https://postgr.es/c/6b652e6ce\">§</a></p>\n<p>They are also now assigned query ids.</p>", "text": "Allow the queries of CREATE TABLE AS and DECLARE to be tracked by pg_stat_statements (Anthonin Bonnefoy) § They are also now assigned query ids.", "title": "Allow the queries of CREATE TABLE AS and DECLARE to be tracked by pg_stat_statements", "commits": ["6b652e6ce"], "section": "Additional Modules / pg_stat_statements", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGSTATSTATEMENTS", "source_hash": "a71330cbf6ff1fcbcb3577f9497064f4234185cd87242388194c557aabf1ba1b", "section_path": ["Additional Modules", "pg_stat_statements"], "commit_groups": [["6b652e6ce"]], "identity_text": "Allow the queries of sql-createtableas and sql-declare to be tracked by pg_stat_statements (Anthonin Bonnefoy) They are also now assigned query ids.", "commit_aliases": ["6b652e6ce"], "source_commits": ["6b652e6ce"], "source_entry_id": "18.0/changes/192", "db_id": "222e3bfb3e07da2a4bb138e9b89a9ea9", "patch_ids": ["6f27bba477d5d34ec287e6d1f0cb4c01"], "statement_hash": "529743a734ea4d3d2e0ab03ec1c2bc3a516f21292fd3896db229b7e1ee80bdfd", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9feb714b6e408a34", "cves": [], "html": "<p>Allow the parameterization of <a href=\"/docs/18/sql-set.html\" title=\"SET\"><span>SET</span></a> values in <span>pg_stat_statements</span> (Greg Sabino Mullane, Michael Paquier) <a href=\"https://postgr.es/c/dc6851596\">§</a></p>\n<p>This reduces the bloat caused by <code>SET</code> statements with differing constants.</p>", "text": "Allow the parameterization of SET values in pg_stat_statements (Greg Sabino Mullane, Michael Paquier) § This reduces the bloat caused by SET statements with differing constants.", "title": "Allow the parameterization of SET values in pg_stat_statements", "commits": ["dc6851596"], "section": "Additional Modules / pg_stat_statements", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGSTATSTATEMENTS", "source_hash": "1f417978794e493fec83127f28bd0ea95e8b299c427563b1296dbcb2150ca0ca", "section_path": ["Additional Modules", "pg_stat_statements"], "commit_groups": [["dc6851596"]], "identity_text": "Allow the parameterization of sql-set values in pg_stat_statements (Greg Sabino Mullane, Michael Paquier) This reduces the bloat caused by SET statements with differing constants.", "commit_aliases": ["dc6851596"], "source_commits": ["dc6851596"], "source_entry_id": "18.0/changes/193", "db_id": "d87ff3c638d05d56d3504f36a1d0eb9e", "patch_ids": ["3d32975392dfbf77a358e6067a48fe4d"], "statement_hash": "45589530b5dde17afb7b34a69cafc678f86039fa9b52d8c08a42e0052b5b7086", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-58fe8ed3eb4ac00f", "cves": [], "html": "<p>Add <a href=\"/docs/18/pgstatstatements.html#PGSTATSTATEMENTS-PG-STAT-STATEMENTS\" title=\"F.32.1. The pg_stat_statements View\"><code>pg_stat_statements</code></a> columns to report parallel activity (Guillaume Lelarge) <a href=\"https://postgr.es/c/cf54a2c00\">§</a></p>\n<p>The new columns are <code>parallel_workers_to_launch</code> and <code>parallel_workers_launched</code>.</p>", "text": "Add pg_stat_statements columns to report parallel activity (Guillaume Lelarge) § The new columns are parallel_workers_to_launch and parallel_workers_launched.", "title": "Add pg_stat_statements columns to report parallel activity", "commits": ["cf54a2c00"], "section": "Additional Modules / pg_stat_statements", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGSTATSTATEMENTS", "source_hash": "4bea78cbf69168bd47d9d84472e256b83685ff82c01f4d938e37329c48e8034d", "section_path": ["Additional Modules", "pg_stat_statements"], "commit_groups": [["cf54a2c00"]], "identity_text": "Add pg_stat_statements columns to report parallel activity (Guillaume Lelarge) The new columns are parallel_workers_to_launch and parallel_workers_launched.", "commit_aliases": ["cf54a2c00"], "source_commits": ["cf54a2c00"], "source_entry_id": "18.0/changes/194", "db_id": "823f8d0879e0c04f27c34b7a3b667631", "patch_ids": ["6831774269bf4d573b364772321f1d98"], "statement_hash": "9c17fad8b061e59f13e9c70ddcdc3c5fcd20b2bbfe2878b5ceac9531b5be3eca", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-319957903c0be0f5", "cves": [], "html": "<p>Add <code>pg_stat_statements</code>.<code>wal_buffers_full</code> to report full <acronym>WAL</acronym> buffers (Bertrand Drouvot) <a href=\"https://postgr.es/c/ce5bcc4a9\">§</a></p>", "text": "Add pg_stat_statements.wal_buffers_full to report full WAL buffers (Bertrand Drouvot) §", "title": "Add pg_stat_statements.wal_buffers_full to report full WAL buffers", "commits": ["ce5bcc4a9"], "section": "Additional Modules / pg_stat_statements", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGSTATSTATEMENTS", "source_hash": "00483f0bb6bed3dc52e750abffeaaee664740c6aa8ceda1af850420bab8fdbfa", "section_path": ["Additional Modules", "pg_stat_statements"], "commit_groups": [["ce5bcc4a9"]], "identity_text": "Add pg_stat_statements.wal_buffers_full to report full WAL buffers (Bertrand Drouvot)", "commit_aliases": ["ce5bcc4a9"], "source_commits": ["ce5bcc4a9"], "source_entry_id": "18.0/changes/195", "db_id": "04bb9752bb54f8a586216fc387f41183", "patch_ids": ["b596d0e68f37807e59aa316714895446"], "statement_hash": "70c55196e78f23063400ef5243fea51808dbb9887de6fb64c904a32c7882458f", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-454d1f7907667b27", "cves": [], "html": "<p>Add <span>pgcrypto</span> algorithms <a href=\"/docs/18/pgcrypto.html#PGCRYPTO-CRYPT-ALGORITHMS\" title=\"Table F.18. Supported Algorithms for crypt()\"><code>sha256crypt</code></a> and <a href=\"/docs/18/pgcrypto.html#PGCRYPTO-CRYPT-ALGORITHMS\" title=\"Table F.18. Supported Algorithms for crypt()\"><code>sha512crypt</code></a> (Bernd Helmle) <a href=\"https://postgr.es/c/749a9e20c\">§</a></p>", "text": "Add pgcrypto algorithms sha256crypt and sha512crypt (Bernd Helmle) §", "title": "Add pgcrypto algorithms sha256crypt and sha512crypt", "commits": ["749a9e20c"], "section": "Additional Modules / pgcrypto", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGCRYPTO", "source_hash": "80d5466488cbf40745c79ffbf3905ec0e844acdae70f987d6512d4b8d3b4f9ab", "section_path": ["Additional Modules", "pgcrypto"], "commit_groups": [["749a9e20c"]], "identity_text": "Add pgcrypto algorithms sha256crypt and sha512crypt (Bernd Helmle)", "commit_aliases": ["749a9e20c"], "source_commits": ["749a9e20c"], "source_entry_id": "18.0/changes/196", "db_id": "6d930bd35ba876206f5a9813beccedcf", "patch_ids": ["f5cd375f1c18937c407ef70ec720a716"], "statement_hash": "bff6b8e55820215a69430966b55770e950076a2a38845002186f696873fa2bd1", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-9cb3dbf5db925f06", "cves": [], "html": "<p>Add <a href=\"/docs/18/pgcrypto.html#PGCRYPTO-RAW-ENC-FUNCS\" title=\"F.26.4. Raw Encryption Functions\"><acronym>CFB</acronym></a> mode to <span>pgcrypto</span> encryption and decryption (Umar Hayat) <a href=\"https://postgr.es/c/9ad1b3d01\">§</a></p>", "text": "Add CFB mode to pgcrypto encryption and decryption (Umar Hayat) §", "title": "Add CFB mode to pgcrypto encryption and decryption", "commits": ["9ad1b3d01"], "section": "Additional Modules / pgcrypto", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGCRYPTO", "source_hash": "7f5b08debbba5d1cc71560caa889a862bb5b8108f756e758ad8bc02d4921180a", "section_path": ["Additional Modules", "pgcrypto"], "commit_groups": [["9ad1b3d01"]], "identity_text": "Add CFB mode to pgcrypto encryption and decryption (Umar Hayat)", "commit_aliases": ["9ad1b3d01"], "source_commits": ["9ad1b3d01"], "source_entry_id": "18.0/changes/197", "db_id": "ec341ecdfcaabcd1827eb401ea40905d", "patch_ids": ["b040d33a3888055fc5edf9f0c6e56795"], "statement_hash": "7c89f9937951f96c3f497c06864857f8e8c21ba76f5ef791d1eed77d00a71e81", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-e6ffde3f90c7ca5a", "cves": [], "html": "<p>Add function <a href=\"/docs/18/pgcrypto.html#PGCRYPTO-OPENSSL-SUPPORT-FUNCS\" title=\"F.26.6. OpenSSL Support Functions\"><code>fips_mode()</code></a> to report the server's <acronym>FIPS</acronym> mode (Daniel Gustafsson) <a href=\"https://postgr.es/c/924d89a35\">§</a></p>", "text": "Add function fips_mode() to report the server's FIPS mode (Daniel Gustafsson) §", "title": "Add function fips_mode() to report the server's FIPS mode", "commits": ["924d89a35"], "section": "Additional Modules / pgcrypto", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGCRYPTO", "source_hash": "6887df5888073525195bf750e494c1f0258185ce6b39a3b9c366aaf87bc467ea", "section_path": ["Additional Modules", "pgcrypto"], "commit_groups": [["924d89a35"]], "identity_text": "Add function fips_mode() to report the server's FIPS mode (Daniel Gustafsson)", "commit_aliases": ["924d89a35"], "source_commits": ["924d89a35"], "source_entry_id": "18.0/changes/198", "db_id": "861402831b46a55debf94f9e181d24e4", "patch_ids": ["f3552518869c0bbfacbd3fcc442038d8"], "statement_hash": "54d83b9015ab399dec746f14f85c5f46ae4ed4dd02972e94a5ce579ee4817f1d", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}, {"id": "18.0-1c1c15834b2fb0f5", "cves": [], "html": "<p>Add <span>pgcrypto</span> server variable <a href=\"/docs/18/pgcrypto.html#PGCRYPTO-CONFIGURATION-PARAMETERS-BUILTIN_CRYPTO_ENABLED\"><code>builtin_crypto_enabled</code></a> to allow disabling builtin non-<acronym>FIPS</acronym> mode cryptographic functions (Daniel Gustafsson, Joe Conway) <a href=\"https://postgr.es/c/035f99cbe\">§</a></p>\n<p>This is useful for guaranteeing <acronym>FIPS</acronym> mode behavior.</p>", "text": "Add pgcrypto server variable builtin_crypto_enabled to allow disabling builtin non-FIPS mode cryptographic functions (Daniel Gustafsson, Joe Conway) § This is useful for guaranteeing FIPS mode behavior.", "title": "Add pgcrypto server variable builtin_crypto_enabled to allow disabling builtin non-FIPS mode cryptographic functions", "commits": ["035f99cbe"], "section": "Additional Modules / pgcrypto", "category": "feature", "source_url": "/docs/release/18.0/#RELEASE-18-PGCRYPTO", "source_hash": "7ec37d9ad093c24c937b540278b9a28ded5495aa79ee7e13b25b399ad32123f6", "section_path": ["Additional Modules", "pgcrypto"], "commit_groups": [["035f99cbe"]], "identity_text": "Add pgcrypto server variable builtin_crypto_enabled to allow disabling builtin non-FIPS mode cryptographic functions (Daniel Gustafsson, Joe Conway) This is useful for guaranteeing FIPS mode behavior.", "commit_aliases": ["035f99cbe"], "source_commits": ["035f99cbe"], "source_entry_id": "18.0/changes/199", "db_id": "85292659fb670a2d9202838e30370170", "patch_ids": ["c996d7a6dfbb6918d1e1c1bdc8763d5d"], "statement_hash": "9c517ea3b0ae09d9ac23588dcc459bf5530faea31bee9ef47a11255f44c8ee81", "relations": [], "version": "18.0", "category_label": "Features", "also_in": [], "variants": [], "related_changes": []}]}], "stats": [{"key": "all", "label": "All changes", "count": 210}, {"key": "feature", "label": "Features", "count": 188}, {"key": "bugfix", "label": "Bug fixes", "count": 1}, {"key": "security", "label": "Security", "count": 0}, {"key": "performance", "label": "Performance", "count": 10}, {"key": "compatibility", "label": "Compatibility", "count": 11}, {"key": "improvement", "label": "Improvements", "count": 0}], "total": 210, "release_count": 1, "cross_major": false, "cve_count": 0, "cves": [], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 210, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}