{"format": 1, "mode": "release", "from_release": null, "to_release": {"date": "2017-08-10", "build": "9.6.4", "major": "9.6", "minor": 4, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.4", "eol_date": "2021-11-11", "date_text": "2017-08-10", "supported": false, "manual_url": "/docs/9.6/release-9-6-4.html", "source_url": "/docs/release/9.6.4/", "entry_count": 60, "placeholder": false, "content_hash": "101a45ec03a70c8b8eed1a3c93f6264691c265eee2037c7ed9b4890a410fea9c", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 60, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 9.6.X.</p>\n<p>However, if you use foreign data servers that make use of user passwords for authentication, see the first changelog entry below.</p>\n<p>Also, if you are upgrading from a version earlier than 9.6.3, see <a href=\"/docs/9.6/release-9-6-3.html\">Section E.22</a>.</p>", "compatibility_count": 0, "label": "9.6.4", "status_label": "Historical", "eol": "2021-11-11", "age_days": 3337, "support_days": -1783}, "groups": [{"date": "2017-08-10", "build": "9.6.4", "major": "9.6", "minor": 4, "manual": "9.6", "status": "stable", "doc_git": "", "version": "9.6.4", "eol_date": "2021-11-11", "date_text": "2017-08-10", "supported": false, "manual_url": "/docs/9.6/release-9-6-4.html", "source_url": "/docs/release/9.6.4/", "entry_count": 60, "placeholder": false, "content_hash": "101a45ec03a70c8b8eed1a3c93f6264691c265eee2037c7ed9b4890a410fea9c", "manual_build": "9.6.24", "source_as_of": "", "changes_count": 60, "doc_loaded_at": "2026-09-25T02:22:44.760693", "migration_html": "<p>A dump/restore is not required for those running 9.6.X.</p>\n<p>However, if you use foreign data servers that make use of user passwords for authentication, see the first changelog entry below.</p>\n<p>Also, if you are upgrading from a version earlier than 9.6.3, see <a href=\"/docs/9.6/release-9-6-3.html\">Section E.22</a>.</p>", "compatibility_count": 0, "label": "9.6.4", "status_label": "Historical", "eol": "2021-11-11", "age_days": 3337, "support_days": -1783, "entries": [{"id": "9.6.4-a58d7f58ef83d6db", "cves": ["CVE-2017-7486", "CVE-2017-7547"], "html": "<p>Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options (Noah Misch)</p>\n<p>The fix for CVE-2017-7486 was incorrect: it allowed a user to see the options in her own user mapping, even if she did not have USAGE permission on the associated foreign server. Such options might include a password that had been provided by the server owner rather than the user herself. Since information_schema.user_mapping_options does not show the options in such cases, pg_user_mappings should not either. (CVE-2017-7547)</p>\n<p>By itself, this patch will only fix the behavior in newly initdb'd databases. If you wish to apply this change in an existing database, you will need to do the following:</p>\n<div>\n<ol type=\"1\">\n<li>\n<p>Restart the postmaster after adding allow_system_table_mods = true to postgresql.conf. (In versions supporting ALTER SYSTEM, you can use that to make the configuration change, but you'll still need a restart.)</p>\n</li>\n<li>\n<p>In <span><i>each</i></span> database of the cluster, run the following commands as superuser:</p>\n<pre>SET search_path = pg_catalog;\nCREATE OR REPLACE VIEW pg_user_mappings AS\n    SELECT\n        U.oid       AS umid,\n        S.oid       AS srvid,\n        S.srvname   AS srvname,\n        U.umuser    AS umuser,\n        CASE WHEN U.umuser = 0 THEN\n            'public'\n        ELSE\n            A.rolname\n        END AS usename,\n        CASE WHEN (U.umuser &lt;&gt; 0 AND A.rolname = current_user\n                     AND (pg_has_role(S.srvowner, 'USAGE')\n                          OR has_server_privilege(S.oid, 'USAGE')))\n                    OR (U.umuser = 0 AND pg_has_role(S.srvowner, 'USAGE'))\n                    OR (SELECT rolsuper FROM pg_authid WHERE rolname = current_user)\n                    THEN U.umoptions\n                 ELSE NULL END AS umoptions\n    FROM pg_user_mapping U\n         LEFT JOIN pg_authid A ON (A.oid = U.umuser) JOIN\n        pg_foreign_server S ON (U.umserver = S.oid);\n</pre></li>\n<li>\n<p>Do not forget to include the template0 and template1 databases, or the vulnerability will still exist in databases you create later. To fix template0, you'll need to temporarily make it accept connections. In <span>PostgreSQL</span> 9.5 and later, you can use</p>\n<pre>ALTER DATABASE template0 WITH ALLOW_CONNECTIONS true;\n</pre>\n<p>and then after fixing template0, undo that with</p>\n<pre>ALTER DATABASE template0 WITH ALLOW_CONNECTIONS false;\n</pre>\n<p>In prior versions, instead use</p>\n<pre>UPDATE pg_database SET datallowconn = true WHERE datname = 'template0';\nUPDATE pg_database SET datallowconn = false WHERE datname = 'template0';\n</pre></li>\n<li>\n<p>Finally, remove the allow_system_table_mods configuration setting, and again restart the postmaster.</p>\n</li>\n</ol>\n</div>", "text": "Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options (Noah Misch) The fix for CVE-2017-7486 was incorrect: it allowed a user to see the options in her own user mapping, even if she did not have USAGE permission on the associated foreign server. Such options might include a password that had been provided by the server owner rather than the user herself. Since information_schema.user_mapping_options does not show the options in such cases, pg_user_mappings should not either. (CVE-2017-7547) By itself, this patch will only fix the behavior in newly initdb'd databases. If you wish to apply this change in an existing database, you will need to do the following: Restart the postmaster after adding allow_system_table_mods = true to postgresql.conf. (In versions supporting ALTER SYSTEM, you can use that to make the configuration change, but you'll still need a restart.) In each database of the cluster, run the following commands as superuser: SET search_path = pg_catalog; CREATE OR REPLACE VIEW pg_user_mappings AS SELECT U.oid AS umid, S.oid AS srvid, S.srvname AS srvname, U.umuser AS umuser, CASE WHEN U.umuser = 0 THEN 'public' ELSE A.rolname END AS usename, CASE WHEN (U.umuser <> 0 AND A.rolname = current_user AND (pg_has_role(S.srvowner, 'USAGE') OR has_server_privilege(S.oid, 'USAGE'))) OR (U.umuser = 0 AND pg_has_role(S.srvowner, 'USAGE')) OR (SELECT rolsuper FROM pg_authid WHERE rolname = current_user) THEN U.umoptions ELSE NULL END AS umoptions FROM pg_user_mapping U LEFT JOIN pg_authid A ON (A.oid = U.umuser) JOIN pg_foreign_server S ON (U.umserver = S.oid); Do not forget to include the template0 and template1 databases, or the vulnerability will still exist in databases you create later. To fix template0, you'll need to temporarily make it accept connections. In PostgreSQL 9.5 and later, you can use ALTER DATABASE template0 WITH ALLOW_CONNECTIONS true; and then after fixing template0, undo that with ALTER DATABASE template0 WITH ALLOW_CONNECTIONS false; In prior versions, instead use UPDATE pg_database SET datallowconn = true WHERE datname = 'template0'; UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Finally, remove the allow_system_table_mods configuration setting, and again restart the postmaster.", "title": "Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "f7ebba0f67292e920126fc2b315364b3087756fa230f0245c1869aae421eed8a", "section_path": ["Changes"], "commit_groups": [["156099630", "36f9f6095", "5e8e00914", "b6e39ca92", "e255e97a2", "e568e1eee"]], "identity_text": "Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options (Noah Misch) The fix for CVE-2017-7486 was incorrect: it allowed a user to see the options in her own user mapping, even if she did not have USAGE permission on the associated foreign server. Such options might include a password that had been provided by the server owner rather than the user herself. Since information_schema.user_mapping_options does not show the options in such cases, pg_user_mappings should not either. (CVE-2017-7547) By itself, this patch will only fix the behavior in newly initdb'd databases. If you wish to apply this change in an existing database, you will need to do the following: Restart the postmaster after adding allow_system_table_mods = true to postgresql.conf. (In versions supporting ALTER SYSTEM, you can use that to make the configuration change, but you'll still need a restart.) In each database of the cluster, run the following commands as superuser: SET search_path = pg_catalog; CREATE OR REPLACE VIEW pg_user_mappings AS SELECT U.oid AS umid, S.oid AS srvid, S.srvname AS srvname, U.umuser AS umuser, CASE WHEN U.umuser = 0 THEN 'public' ELSE A.rolname END AS usename, CASE WHEN (U.umuser <> 0 AND A.rolname = current_user AND (pg_has_role(S.srvowner, 'USAGE') OR has_server_privilege(S.oid, 'USAGE'))) OR (U.umuser = 0 AND pg_has_role(S.srvowner, 'USAGE')) OR (SELECT rolsuper FROM pg_authid WHERE rolname = current_user) THEN U.umoptions ELSE NULL END AS umoptions FROM pg_user_mapping U LEFT JOIN pg_authid A ON (A.oid = U.umuser) JOIN pg_foreign_server S ON (U.umserver = S.oid); Do not forget to include the template0 and template1 databases, or the vulnerability will still exist in databases you create later. To fix template0, you'll need to temporarily make it accept connections. In PostgreSQL 9.5 and later, you can use ALTER DATABASE template0 WITH ALLOW_CONNECTIONS true; and then after fixing template0, undo that with ALTER DATABASE template0 WITH ALLOW_CONNECTIONS false; In prior versions, instead use UPDATE pg_database SET datallowconn = true WHERE datname = 'template0'; UPDATE pg_database SET datallowconn = false WHERE datname = 'template0'; Finally, remove the allow_system_table_mods configuration setting, and again restart the postmaster.", "commit_aliases": ["156099630", "36f9f6095", "5e8e00914", "b6e39ca92", "e255e97a2", "e568e1eee"], "source_commits": ["156099630"], "source_entry_id": "9.6.4/changes/001", "db_id": "1e69271813fc4ef5d63b790ce20c8121", "patch_ids": ["7d34abb372ef300ca7bd81ea3b0035ed"], "statement_hash": "584ea2bb7fddd675f56f894ca7f8ee8b10adf6d95c678e599dae323c2cdad731", "relations": [{"rule": 2, "type": "equivalent", "target": "1855f0a3638d5064133d7c655b6801a8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "584ea2bb7fddd675f56f894ca7f8ee8b10adf6d95c678e599dae323c2cdad731"}}, {"rule": 2, "type": "equivalent", "target": "21b6568d8ef3f87de08e2d1aeba27c01", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "584ea2bb7fddd675f56f894ca7f8ee8b10adf6d95c678e599dae323c2cdad731"}}, {"rule": 2, "type": "equivalent", "target": "d9c8c2d5f382f57bd292b9414c97967a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "584ea2bb7fddd675f56f894ca7f8ee8b10adf6d95c678e599dae323c2cdad731"}}, {"rule": 2, "type": "equivalent", "target": "e1a74c8d75ca403b9d0629f7fef87947", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "584ea2bb7fddd675f56f894ca7f8ee8b10adf6d95c678e599dae323c2cdad731"}}], "version": "9.6.4", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "e1a74c8d75ca403b9d0629f7fef87947", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "584ea2bb7fddd675f56f894ca7f8ee8b10adf6d95c678e599dae323c2cdad731"}, "url": "/docs/compare/?release=9.5.8#9.5.8-a58d7f58ef83d6db", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "21b6568d8ef3f87de08e2d1aeba27c01", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "584ea2bb7fddd675f56f894ca7f8ee8b10adf6d95c678e599dae323c2cdad731"}, "url": "/docs/compare/?release=9.4.13#9.4.13-a58d7f58ef83d6db", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "d9c8c2d5f382f57bd292b9414c97967a", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "584ea2bb7fddd675f56f894ca7f8ee8b10adf6d95c678e599dae323c2cdad731"}, "url": "/docs/compare/?release=9.3.18#9.3.18-a58d7f58ef83d6db", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "1855f0a3638d5064133d7c655b6801a8", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "584ea2bb7fddd675f56f894ca7f8ee8b10adf6d95c678e599dae323c2cdad731"}, "url": "/docs/compare/?release=9.2.22#9.2.22-a58d7f58ef83d6db", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-dd9fc2f4e5939b2d", "cves": ["CVE-2017-7546"], "html": "<p>Disallow empty passwords in all password-based authentication methods (Heikki Linnakangas)</p>\n<p><span>libpq</span> ignores empty password specifications, and does not transmit them to the server. So, if a user's password has been set to the empty string, it's impossible to log in with that password via <span>psql</span> or other <span>libpq</span>-based clients. An administrator might therefore believe that setting the password to empty is equivalent to disabling password login. However, with a modified or non-<span>libpq</span>-based client, logging in could be possible, depending on which authentication method is configured. In particular the most common method, md5, accepted empty passwords. Change the server to reject empty passwords in all cases. (CVE-2017-7546)</p>", "text": "Disallow empty passwords in all password-based authentication methods (Heikki Linnakangas) libpq ignores empty password specifications, and does not transmit them to the server. So, if a user's password has been set to the empty string, it's impossible to log in with that password via psql or other libpq-based clients. An administrator might therefore believe that setting the password to empty is equivalent to disabling password login. However, with a modified or non-libpq-based client, logging in could be possible, depending on which authentication method is configured. In particular the most common method, md5, accepted empty passwords. Change the server to reject empty passwords in all cases. (CVE-2017-7546)", "title": "Disallow empty passwords in all password-based authentication methods", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "0b15b62725ee6732b6e872513f39e262a70b76233e931fc9eb7584da8836efee", "section_path": ["Changes"], "commit_groups": [["06651648a", "127835ddf", "b2f833ea7", "bf6b9e944", "d5d46d99b", "f6fc72cb6"]], "identity_text": "Disallow empty passwords in all password-based authentication methods (Heikki Linnakangas) libpq ignores empty password specifications, and does not transmit them to the server. So, if a user's password has been set to the empty string, it's impossible to log in with that password via psql or other libpq-based clients. An administrator might therefore believe that setting the password to empty is equivalent to disabling password login. However, with a modified or non-libpq-based client, logging in could be possible, depending on which authentication method is configured. In particular the most common method, md5, accepted empty passwords. Change the server to reject empty passwords in all cases. (CVE-2017-7546)", "commit_aliases": ["06651648a", "127835ddf", "b2f833ea7", "bf6b9e944", "d5d46d99b", "f6fc72cb6"], "source_commits": ["f6fc72cb6"], "source_entry_id": "9.6.4/changes/002", "db_id": "40acd6d17343ed4ffc6e174a3ba3d54b", "patch_ids": ["ead756eb15ba40bf21794f911086badf"], "statement_hash": "cc4bc48394a4dd716143d3fade767645ef394af6f493bf13e77a885e081f3a70", "relations": [{"rule": 2, "type": "equivalent", "target": "25dc2f083ab66c1e49733c8097ace563", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc4bc48394a4dd716143d3fade767645ef394af6f493bf13e77a885e081f3a70"}}, {"rule": 2, "type": "equivalent", "target": "69397c3edcff5d4d9add77abd127c3c7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc4bc48394a4dd716143d3fade767645ef394af6f493bf13e77a885e081f3a70"}}, {"rule": 2, "type": "equivalent", "target": "84b04fd1018199fb6cd762ee8453dc5c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc4bc48394a4dd716143d3fade767645ef394af6f493bf13e77a885e081f3a70"}}, {"rule": 2, "type": "equivalent", "target": "fa4d8a03c1f22fe89447983939f7c916", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc4bc48394a4dd716143d3fade767645ef394af6f493bf13e77a885e081f3a70"}}], "version": "9.6.4", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "fa4d8a03c1f22fe89447983939f7c916", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Disallow empty passwords in all password-based authentication methods", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc4bc48394a4dd716143d3fade767645ef394af6f493bf13e77a885e081f3a70"}, "url": "/docs/compare/?release=9.5.8#9.5.8-dd9fc2f4e5939b2d", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "25dc2f083ab66c1e49733c8097ace563", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Disallow empty passwords in all password-based authentication methods", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc4bc48394a4dd716143d3fade767645ef394af6f493bf13e77a885e081f3a70"}, "url": "/docs/compare/?release=9.4.13#9.4.13-dd9fc2f4e5939b2d", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "84b04fd1018199fb6cd762ee8453dc5c", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Disallow empty passwords in all password-based authentication methods", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc4bc48394a4dd716143d3fade767645ef394af6f493bf13e77a885e081f3a70"}, "url": "/docs/compare/?release=9.3.18#9.3.18-dd9fc2f4e5939b2d", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "69397c3edcff5d4d9add77abd127c3c7", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Disallow empty passwords in all password-based authentication methods", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "cc4bc48394a4dd716143d3fade767645ef394af6f493bf13e77a885e081f3a70"}, "url": "/docs/compare/?release=9.2.22#9.2.22-dd9fc2f4e5939b2d", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-a943a5910c9b2907", "cves": ["CVE-2017-7548"], "html": "<p>Make <code>lo_put()</code> check for UPDATE privilege on the target large object (Tom Lane, Michael Paquier)</p>\n<p><code>lo_put()</code> should surely require the same permissions as <code>lowrite()</code>, but the check was missing, allowing any user to change the data in a large object. (CVE-2017-7548)</p>", "text": "Make lo_put() check for UPDATE privilege on the target large object (Tom Lane, Michael Paquier) lo_put() should surely require the same permissions as lowrite(), but the check was missing, allowing any user to change the data in a large object. (CVE-2017-7548)", "title": "Make lo_put() check for UPDATE privilege on the target large object", "commits": [], "section": "Changes", "category": "security", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "11626c1c975712d2ce837957b19203023f9e1a83394b96c75b7b9b23645e2b76", "section_path": ["Changes"], "commit_groups": [["52a414387", "873741c68", "8d9881911", "f1cda6d6c"]], "identity_text": "Make lo_put() check for UPDATE privilege on the target large object (Tom Lane, Michael Paquier) lo_put() should surely require the same permissions as lowrite(), but the check was missing, allowing any user to change the data in a large object. (CVE-2017-7548)", "commit_aliases": ["52a414387", "873741c68", "8d9881911", "f1cda6d6c"], "source_commits": ["52a414387"], "source_entry_id": "9.6.4/changes/003", "db_id": "5bceb6c318f55704a8d217698668a81e", "patch_ids": ["c0f6bc7668b5a2367100487d67b0fce3"], "statement_hash": "f125a54671aa221b3d7f0ed71d3acbabbd715511b27ee70a2991d62f83638757", "relations": [{"rule": 2, "type": "equivalent", "target": "558e1b7f415e4b885907cbd9a480a125", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f125a54671aa221b3d7f0ed71d3acbabbd715511b27ee70a2991d62f83638757"}}, {"rule": 2, "type": "equivalent", "target": "d893d7db30473d6217221904807954e7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f125a54671aa221b3d7f0ed71d3acbabbd715511b27ee70a2991d62f83638757"}}], "version": "9.6.4", "category_label": "Security", "also_in": [], "variants": [], "related_changes": [{"db_id": "d893d7db30473d6217221904807954e7", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Make lo_put() check for UPDATE privilege on the target large object", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f125a54671aa221b3d7f0ed71d3acbabbd715511b27ee70a2991d62f83638757"}, "url": "/docs/compare/?release=9.5.8#9.5.8-a943a5910c9b2907", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "558e1b7f415e4b885907cbd9a480a125", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Make lo_put() check for UPDATE privilege on the target large object", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "f125a54671aa221b3d7f0ed71d3acbabbd715511b27ee70a2991d62f83638757"}, "url": "/docs/compare/?release=9.4.13#9.4.13-a943a5910c9b2907", "source_url": "/docs/release/9.4.13/#AEN121463"}]}, {"id": "9.6.4-0967edf8000461a9", "cves": [], "html": "<p>Correct the documentation about the process for upgrading standby servers with <span>pg_upgrade</span> (Bruce Momjian)</p>\n<p>The previous documentation instructed users to start/stop the primary server after running <span>pg_upgrade</span> but before syncing the standby servers. This sequence is unsafe.</p>", "text": "Correct the documentation about the process for upgrading standby servers with pg_upgrade (Bruce Momjian) The previous documentation instructed users to start/stop the primary server after running pg_upgrade but before syncing the standby servers. This sequence is unsafe.", "title": "Correct the documentation about the process for upgrading standby servers with pg_upgrade", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "01a0a7b970974e7a7a748007ee1a9597d173b2c74cdf87ea28e724f8049ba7e5", "section_path": ["Changes"], "commit_groups": [["0f33a719f", "a0873fbab", "fd376afc9"]], "identity_text": "Correct the documentation about the process for upgrading standby servers with pg_upgrade (Bruce Momjian) The previous documentation instructed users to start/stop the primary server after running pg_upgrade but before syncing the standby servers. This sequence is unsafe.", "commit_aliases": ["0f33a719f", "a0873fbab", "fd376afc9"], "source_commits": ["a0873fbab"], "source_entry_id": "9.6.4/changes/004", "db_id": "981170f5b2f5d00dd184bf992886136c", "patch_ids": ["ed383c0be3062dfd2d5907150bc766bb"], "statement_hash": "511e47dc46013326b22e07c8a8951bfbd928f014544ba05b43c042d42afe1591", "relations": [{"rule": 2, "type": "equivalent", "target": "509a10b2a74a2d4ef0b3142f3517abf8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "511e47dc46013326b22e07c8a8951bfbd928f014544ba05b43c042d42afe1591"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "509a10b2a74a2d4ef0b3142f3517abf8", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Correct the documentation about the process for upgrading standby servers with pg_upgrade", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "511e47dc46013326b22e07c8a8951bfbd928f014544ba05b43c042d42afe1591"}, "url": "/docs/compare/?release=9.5.8#9.5.8-0967edf8000461a9", "source_url": "/docs/release/9.5.8/#AEN129810"}]}, {"id": "9.6.4-623d4d312fd68551", "cves": [], "html": "<p>Fix concurrent locking of tuple update chains (Álvaro Herrera)</p>\n<p>If several sessions concurrently lock a tuple update chain with nonconflicting lock modes using an old snapshot, and they all succeed, it was possible for some of them to nonetheless fail (and conclude there is no live tuple version) due to a race condition. This had consequences such as foreign-key checks failing to see a tuple that definitely exists but is being updated concurrently.</p>", "text": "Fix concurrent locking of tuple update chains (Álvaro Herrera) If several sessions concurrently lock a tuple update chain with nonconflicting lock modes using an old snapshot, and they all succeed, it was possible for some of them to nonetheless fail (and conclude there is no live tuple version) due to a race condition. This had consequences such as foreign-key checks failing to see a tuple that definitely exists but is being updated concurrently.", "title": "Fix concurrent locking of tuple update chains", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "7ae5fa6f198c717aa339426c1ee38daa11f46f7512ee9286398bba82cf34efe9", "section_path": ["Changes"], "commit_groups": [["0d4604ad6", "2efbfb94b", "459c64d32", "8c348765f", "dfd091985"]], "identity_text": "Fix concurrent locking of tuple update chains (Álvaro Herrera) If several sessions concurrently lock a tuple update chain with nonconflicting lock modes using an old snapshot, and they all succeed, it was possible for some of them to nonetheless fail (and conclude there is no live tuple version) due to a race condition. This had consequences such as foreign-key checks failing to see a tuple that definitely exists but is being updated concurrently.", "commit_aliases": ["0d4604ad6", "2efbfb94b", "459c64d32", "8c348765f", "dfd091985"], "source_commits": ["8c348765f"], "source_entry_id": "9.6.4/changes/005", "db_id": "5021acaa49f542ee7a1757b451c26dd4", "patch_ids": ["96fd78ec6d36c45653dc486426a98b50"], "statement_hash": "7715c88ff833c4f995f3ebf65b02759a9b46b8c41fa56885649dd73cf2965907", "relations": [{"rule": 2, "type": "equivalent", "target": "26f8fce38455ae9b217177c8d0dc47a1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7715c88ff833c4f995f3ebf65b02759a9b46b8c41fa56885649dd73cf2965907"}}, {"rule": 2, "type": "equivalent", "target": "8226a3ad10843c3de2b89569870d5b73", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7715c88ff833c4f995f3ebf65b02759a9b46b8c41fa56885649dd73cf2965907"}}, {"rule": 2, "type": "equivalent", "target": "cc57bf2a68570429ea08bcb73f511f0d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7715c88ff833c4f995f3ebf65b02759a9b46b8c41fa56885649dd73cf2965907"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "cc57bf2a68570429ea08bcb73f511f0d", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix concurrent locking of tuple update chains", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7715c88ff833c4f995f3ebf65b02759a9b46b8c41fa56885649dd73cf2965907"}, "url": "/docs/compare/?release=9.5.8#9.5.8-623d4d312fd68551", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "26f8fce38455ae9b217177c8d0dc47a1", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix concurrent locking of tuple update chains", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7715c88ff833c4f995f3ebf65b02759a9b46b8c41fa56885649dd73cf2965907"}, "url": "/docs/compare/?release=9.4.13#9.4.13-623d4d312fd68551", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "8226a3ad10843c3de2b89569870d5b73", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix concurrent locking of tuple update chains", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7715c88ff833c4f995f3ebf65b02759a9b46b8c41fa56885649dd73cf2965907"}, "url": "/docs/compare/?release=9.3.18#9.3.18-623d4d312fd68551", "source_url": "/docs/release/9.3.18/#AEN115887"}]}, {"id": "9.6.4-906f548fa0b214bc", "cves": [], "html": "<p>Fix potential data corruption when freezing a tuple whose XMAX is a multixact with exactly one still-interesting member (Teodor Sigaev)</p>", "text": "Fix potential data corruption when freezing a tuple whose XMAX is a multixact with exactly one still-interesting member (Teodor Sigaev)", "title": "Fix potential data corruption when freezing a tuple whose XMAX is a multixact with exactly one still-interesting member", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "a17c19dd88f4c12bd1b190d0c3f44c733f6f6d7a6dbe0827323f308e31546aff", "section_path": ["Changes"], "commit_groups": [["31b8db8e6", "42f62e4c9", "b90e4ca3e", "f371cc9e9", "fb2d385e6"]], "identity_text": "Fix potential data corruption when freezing a tuple whose XMAX is a multixact with exactly one still-interesting member (Teodor Sigaev)", "commit_aliases": ["31b8db8e6", "42f62e4c9", "b90e4ca3e", "f371cc9e9", "fb2d385e6"], "source_commits": ["42f62e4c9"], "source_entry_id": "9.6.4/changes/006", "db_id": "3468fa6a3ba50966f59fc08c2e94add7", "patch_ids": ["8159c59d23582a5be7804e0da896a840"], "statement_hash": "ab694c3bb70fd6fde4eeb5967c2aae88de1df0f6d9ac2dd78243c1a738de097a", "relations": [{"rule": 2, "type": "equivalent", "target": "6474732a344a1a3c98e4d8c98d30ccdc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab694c3bb70fd6fde4eeb5967c2aae88de1df0f6d9ac2dd78243c1a738de097a"}}, {"rule": 2, "type": "equivalent", "target": "dd3dc6a49e24957cea1d5623a01d9d3a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab694c3bb70fd6fde4eeb5967c2aae88de1df0f6d9ac2dd78243c1a738de097a"}}, {"rule": 2, "type": "equivalent", "target": "edf521238b1e56374b823c0a408a8139", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab694c3bb70fd6fde4eeb5967c2aae88de1df0f6d9ac2dd78243c1a738de097a"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "edf521238b1e56374b823c0a408a8139", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix potential data corruption when freezing a tuple whose XMAX is a multixact with exactly one still-interesting member", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab694c3bb70fd6fde4eeb5967c2aae88de1df0f6d9ac2dd78243c1a738de097a"}, "url": "/docs/compare/?release=9.5.8#9.5.8-906f548fa0b214bc", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "dd3dc6a49e24957cea1d5623a01d9d3a", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix potential data corruption when freezing a tuple whose XMAX is a multixact with exactly one still-interesting member", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab694c3bb70fd6fde4eeb5967c2aae88de1df0f6d9ac2dd78243c1a738de097a"}, "url": "/docs/compare/?release=9.4.13#9.4.13-906f548fa0b214bc", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "6474732a344a1a3c98e4d8c98d30ccdc", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix potential data corruption when freezing a tuple whose XMAX is a multixact with exactly one still-interesting member", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab694c3bb70fd6fde4eeb5967c2aae88de1df0f6d9ac2dd78243c1a738de097a"}, "url": "/docs/compare/?release=9.3.18#9.3.18-906f548fa0b214bc", "source_url": "/docs/release/9.3.18/#AEN115887"}]}, {"id": "9.6.4-b4193156f01421a1", "cves": [], "html": "<p>Avoid integer overflow and ensuing crash when sorting more than one billion tuples in-memory (Sergey Koposov)</p>", "text": "Avoid integer overflow and ensuing crash when sorting more than one billion tuples in-memory (Sergey Koposov)", "title": "Avoid integer overflow and ensuing crash when sorting more than one billion tuples in-memory", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "541e80fad328d6dee1dd55991fabe2d08452bf118a12a8a4aeadbf16c0584b0f", "section_path": ["Changes"], "commit_groups": [["09c598898", "512f67c8d", "e439bbe99", "e7213fe2b"]], "identity_text": "Avoid integer overflow and ensuing crash when sorting more than one billion tuples in-memory (Sergey Koposov)", "commit_aliases": ["09c598898", "512f67c8d", "e439bbe99", "e7213fe2b"], "source_commits": ["09c598898"], "source_entry_id": "9.6.4/changes/007", "db_id": "8f2a8e25088893c45244d02df6d4dd5e", "patch_ids": ["7cc266f0440bc2eb93389b3c347bd928"], "statement_hash": "66733b6e883b70bf7c92d76432bcdb6b49f3b82d9d2c470fa5af34a84ac1f867", "relations": [{"rule": 2, "type": "equivalent", "target": "c313abe7f2c2b70205d0b9dd8b865cc4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "66733b6e883b70bf7c92d76432bcdb6b49f3b82d9d2c470fa5af34a84ac1f867"}}, {"rule": 2, "type": "equivalent", "target": "c79b5ef2db7e5f48b13859cb4c9543f3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "66733b6e883b70bf7c92d76432bcdb6b49f3b82d9d2c470fa5af34a84ac1f867"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "c79b5ef2db7e5f48b13859cb4c9543f3", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Avoid integer overflow and ensuing crash when sorting more than one billion tuples in-memory", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "66733b6e883b70bf7c92d76432bcdb6b49f3b82d9d2c470fa5af34a84ac1f867"}, "url": "/docs/compare/?release=9.5.8#9.5.8-b4193156f01421a1", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "c313abe7f2c2b70205d0b9dd8b865cc4", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Avoid integer overflow and ensuing crash when sorting more than one billion tuples in-memory", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "66733b6e883b70bf7c92d76432bcdb6b49f3b82d9d2c470fa5af34a84ac1f867"}, "url": "/docs/compare/?release=9.4.13#9.4.13-b4193156f01421a1", "source_url": "/docs/release/9.4.13/#AEN121463"}]}, {"id": "9.6.4-a4d599d0a7c2ef27", "cves": [], "html": "<p>On Windows, retry process creation if we fail to reserve the address range for our shared memory in the new process (Tom Lane, Amit Kapila)</p>\n<p>This is expected to fix infrequent child-process-launch failures that are probably due to interference from antivirus products.</p>", "text": "On Windows, retry process creation if we fail to reserve the address range for our shared memory in the new process (Tom Lane, Amit Kapila) This is expected to fix infrequent child-process-launch failures that are probably due to interference from antivirus products.", "title": "On Windows, retry process creation if we fail to reserve the address range for our shared memory in the new process", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "7f521d12c52e70afd8b490cc6aac828ff23a60dc1799a2f5920aa3c912aced32", "section_path": ["Changes"], "commit_groups": [["45e004fb4", "59892b120", "a4a590ee7", "afd1415a4", "bc0f76e7a", "c0077f738"]], "identity_text": "On Windows, retry process creation if we fail to reserve the address range for our shared memory in the new process (Tom Lane, Amit Kapila) This is expected to fix infrequent child-process-launch failures that are probably due to interference from antivirus products.", "commit_aliases": ["45e004fb4", "59892b120", "a4a590ee7", "afd1415a4", "bc0f76e7a", "c0077f738"], "source_commits": ["c0077f738"], "source_entry_id": "9.6.4/changes/008", "db_id": "6e4ce1f4ea2cf3f7543b8266c9528f74", "patch_ids": ["b74d93a86373714f7426593bffac644f"], "statement_hash": "d2139f207022c720ba8a40fe3f15d9d75de8244c43e8d5a66f48f9a2a377ac6d", "relations": [{"rule": 2, "type": "equivalent", "target": "1f54690bed7a1b61467c57f4ea6f33d6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2139f207022c720ba8a40fe3f15d9d75de8244c43e8d5a66f48f9a2a377ac6d"}}, {"rule": 2, "type": "equivalent", "target": "34e6cdf1912ffe330979dc21077c6288", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2139f207022c720ba8a40fe3f15d9d75de8244c43e8d5a66f48f9a2a377ac6d"}}, {"rule": 2, "type": "equivalent", "target": "a5446aca19df9fcf6d2f1d6ee8cecb2c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2139f207022c720ba8a40fe3f15d9d75de8244c43e8d5a66f48f9a2a377ac6d"}}, {"rule": 2, "type": "equivalent", "target": "faf48774cbb82fce5982d2b859f20fb1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2139f207022c720ba8a40fe3f15d9d75de8244c43e8d5a66f48f9a2a377ac6d"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "faf48774cbb82fce5982d2b859f20fb1", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "On Windows, retry process creation if we fail to reserve the address range for our shared memory in the new process", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2139f207022c720ba8a40fe3f15d9d75de8244c43e8d5a66f48f9a2a377ac6d"}, "url": "/docs/compare/?release=9.5.8#9.5.8-a4d599d0a7c2ef27", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "34e6cdf1912ffe330979dc21077c6288", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "On Windows, retry process creation if we fail to reserve the address range for our shared memory in the new process", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2139f207022c720ba8a40fe3f15d9d75de8244c43e8d5a66f48f9a2a377ac6d"}, "url": "/docs/compare/?release=9.4.13#9.4.13-a4d599d0a7c2ef27", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "1f54690bed7a1b61467c57f4ea6f33d6", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "On Windows, retry process creation if we fail to reserve the address range for our shared memory in the new process", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2139f207022c720ba8a40fe3f15d9d75de8244c43e8d5a66f48f9a2a377ac6d"}, "url": "/docs/compare/?release=9.3.18#9.3.18-a4d599d0a7c2ef27", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "a5446aca19df9fcf6d2f1d6ee8cecb2c", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "On Windows, retry process creation if we fail to reserve the address range for our shared memory in the new process", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d2139f207022c720ba8a40fe3f15d9d75de8244c43e8d5a66f48f9a2a377ac6d"}, "url": "/docs/compare/?release=9.2.22#9.2.22-a4d599d0a7c2ef27", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-220370b04f2fd449", "cves": [], "html": "<p>Fix low-probability corruption of shared predicate-lock hash table in Windows builds (Thomas Munro, Tom Lane)</p>", "text": "Fix low-probability corruption of shared predicate-lock hash table in Windows builds (Thomas Munro, Tom Lane)", "title": "Fix low-probability corruption of shared predicate-lock hash table in Windows builds", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "5a519671d888ec6701572c80c7ba2a4bdd3823334a0b1ef7c49c7e4c81d3b86a", "section_path": ["Changes"], "commit_groups": [["05a562d9c", "4ecee1192", "5146ca352", "51865a0a0", "8ad35c7fa", "e2c8100e6"]], "identity_text": "Fix low-probability corruption of shared predicate-lock hash table in Windows builds (Thomas Munro, Tom Lane)", "commit_aliases": ["05a562d9c", "4ecee1192", "5146ca352", "51865a0a0", "8ad35c7fa", "e2c8100e6"], "source_commits": ["51865a0a0"], "source_entry_id": "9.6.4/changes/009", "db_id": "eb123644d0d25507fd759fba8b23f35d", "patch_ids": ["2395a1f67af6590cad3cd2a5136011ae"], "statement_hash": "146d59d36752d7bcca300d69ea802fadeb6f6b03b524e3a56baca197728b9c89", "relations": [{"rule": 2, "type": "equivalent", "target": "61aff00b2cbd0d0a19f4de9c64161e33", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "146d59d36752d7bcca300d69ea802fadeb6f6b03b524e3a56baca197728b9c89"}}, {"rule": 2, "type": "equivalent", "target": "6239e85838c4defd9c242c9736aac6dc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "146d59d36752d7bcca300d69ea802fadeb6f6b03b524e3a56baca197728b9c89"}}, {"rule": 2, "type": "equivalent", "target": "c80803c6d4d1147a93d5b23d67970907", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "146d59d36752d7bcca300d69ea802fadeb6f6b03b524e3a56baca197728b9c89"}}, {"rule": 2, "type": "equivalent", "target": "ccc80b8375366a40f739144083dec4bb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "146d59d36752d7bcca300d69ea802fadeb6f6b03b524e3a56baca197728b9c89"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "c80803c6d4d1147a93d5b23d67970907", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix low-probability corruption of shared predicate-lock hash table in Windows builds", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "146d59d36752d7bcca300d69ea802fadeb6f6b03b524e3a56baca197728b9c89"}, "url": "/docs/compare/?release=9.5.8#9.5.8-220370b04f2fd449", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "6239e85838c4defd9c242c9736aac6dc", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix low-probability corruption of shared predicate-lock hash table in Windows builds", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "146d59d36752d7bcca300d69ea802fadeb6f6b03b524e3a56baca197728b9c89"}, "url": "/docs/compare/?release=9.4.13#9.4.13-220370b04f2fd449", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "ccc80b8375366a40f739144083dec4bb", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix low-probability corruption of shared predicate-lock hash table in Windows builds", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "146d59d36752d7bcca300d69ea802fadeb6f6b03b524e3a56baca197728b9c89"}, "url": "/docs/compare/?release=9.3.18#9.3.18-220370b04f2fd449", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "61aff00b2cbd0d0a19f4de9c64161e33", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix low-probability corruption of shared predicate-lock hash table in Windows builds", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "146d59d36752d7bcca300d69ea802fadeb6f6b03b524e3a56baca197728b9c89"}, "url": "/docs/compare/?release=9.2.22#9.2.22-220370b04f2fd449", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-6c90efdca8bb825a", "cves": [], "html": "<p>Avoid logging clean closure of an SSL connection as though it were a connection reset (Michael Paquier)</p>", "text": "Avoid logging clean closure of an SSL connection as though it were a connection reset (Michael Paquier)", "title": "Avoid logging clean closure of an SSL connection as though it were a connection reset", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "abac77478c64370510a7b1dcf0867089805238ca637bc0e31c6ac47a4ac3b7f0", "section_path": ["Changes"], "commit_groups": [["543e00bc1", "90630a6ad", "b93827c74", "f73382877", "fb1110085", "fb63a0aa3"]], "identity_text": "Avoid logging clean closure of an SSL connection as though it were a connection reset (Michael Paquier)", "commit_aliases": ["543e00bc1", "90630a6ad", "b93827c74", "f73382877", "fb1110085", "fb63a0aa3"], "source_commits": ["f73382877"], "source_entry_id": "9.6.4/changes/010", "db_id": "9f43dcd8e33a849f63af81136e8cffc4", "patch_ids": ["face2482352a41e5a4a5bcbd37e43ef3"], "statement_hash": "d246a67650b489515d0769bf3b9cfc3687bdf7c9a375177f21867e83ea52ae7e", "relations": [{"rule": 2, "type": "equivalent", "target": "4f1ca4a9b4544c5f9b0e201f593b00fb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d246a67650b489515d0769bf3b9cfc3687bdf7c9a375177f21867e83ea52ae7e"}}, {"rule": 2, "type": "equivalent", "target": "7890ed06f30afa11b324e730a77920d4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d246a67650b489515d0769bf3b9cfc3687bdf7c9a375177f21867e83ea52ae7e"}}, {"rule": 2, "type": "equivalent", "target": "796e639d993fe8aa9c00c2a6cb32a298", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d246a67650b489515d0769bf3b9cfc3687bdf7c9a375177f21867e83ea52ae7e"}}, {"rule": 2, "type": "equivalent", "target": "e26440dbe5fa41f21ec2cfb7ea515129", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d246a67650b489515d0769bf3b9cfc3687bdf7c9a375177f21867e83ea52ae7e"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "7890ed06f30afa11b324e730a77920d4", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Avoid logging clean closure of an SSL connection as though it were a connection reset", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d246a67650b489515d0769bf3b9cfc3687bdf7c9a375177f21867e83ea52ae7e"}, "url": "/docs/compare/?release=9.5.8#9.5.8-6c90efdca8bb825a", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "4f1ca4a9b4544c5f9b0e201f593b00fb", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Avoid logging clean closure of an SSL connection as though it were a connection reset", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d246a67650b489515d0769bf3b9cfc3687bdf7c9a375177f21867e83ea52ae7e"}, "url": "/docs/compare/?release=9.4.13#9.4.13-6c90efdca8bb825a", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "e26440dbe5fa41f21ec2cfb7ea515129", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Avoid logging clean closure of an SSL connection as though it were a connection reset", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d246a67650b489515d0769bf3b9cfc3687bdf7c9a375177f21867e83ea52ae7e"}, "url": "/docs/compare/?release=9.3.18#9.3.18-6c90efdca8bb825a", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "796e639d993fe8aa9c00c2a6cb32a298", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Avoid logging clean closure of an SSL connection as though it were a connection reset", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d246a67650b489515d0769bf3b9cfc3687bdf7c9a375177f21867e83ea52ae7e"}, "url": "/docs/compare/?release=9.2.22#9.2.22-6c90efdca8bb825a", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-960d1e4e9c83a5ac", "cves": [], "html": "<p>Prevent sending SSL session tickets to clients (Tom Lane)</p>\n<p>This fix prevents reconnection failures with ticket-aware client-side SSL code.</p>", "text": "Prevent sending SSL session tickets to clients (Tom Lane) This fix prevents reconnection failures with ticket-aware client-side SSL code.", "title": "Prevent sending SSL session tickets to clients", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "21ac1d5124c4ea3fc41770c74f9e99d0a2512690498191a7c8b755ecc3d0c6ab", "section_path": ["Changes"], "commit_groups": [["8d05db3d8", "97d3a0b09", "b798ea88a", "bebee333c", "c180d2eb7", "dda04b9dd"]], "identity_text": "Prevent sending SSL session tickets to clients (Tom Lane) This fix prevents reconnection failures with ticket-aware client-side SSL code.", "commit_aliases": ["8d05db3d8", "97d3a0b09", "b798ea88a", "bebee333c", "c180d2eb7", "dda04b9dd"], "source_commits": ["b798ea88a"], "source_entry_id": "9.6.4/changes/011", "db_id": "a327202592f6a57881437263d94073b8", "patch_ids": ["2a35efab13129ecf89de431c57e945cb"], "statement_hash": "c3ba606e5da2e161568d30ca0d3743dcd89b79aaa70d26f32a7e248a302af3c5", "relations": [{"rule": 2, "type": "equivalent", "target": "06ca50c6c2100c6be604facd02221004", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3ba606e5da2e161568d30ca0d3743dcd89b79aaa70d26f32a7e248a302af3c5"}}, {"rule": 2, "type": "equivalent", "target": "5417fe28a58f02892e6f851554b173dd", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3ba606e5da2e161568d30ca0d3743dcd89b79aaa70d26f32a7e248a302af3c5"}}, {"rule": 2, "type": "equivalent", "target": "57c80424a5c5a39644fe6b251c9bbd11", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3ba606e5da2e161568d30ca0d3743dcd89b79aaa70d26f32a7e248a302af3c5"}}, {"rule": 2, "type": "equivalent", "target": "78fa3aaa5d85ae9fdccb058afe139d92", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3ba606e5da2e161568d30ca0d3743dcd89b79aaa70d26f32a7e248a302af3c5"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "78fa3aaa5d85ae9fdccb058afe139d92", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Prevent sending SSL session tickets to clients", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3ba606e5da2e161568d30ca0d3743dcd89b79aaa70d26f32a7e248a302af3c5"}, "url": "/docs/compare/?release=9.5.8#9.5.8-960d1e4e9c83a5ac", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "5417fe28a58f02892e6f851554b173dd", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Prevent sending SSL session tickets to clients", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3ba606e5da2e161568d30ca0d3743dcd89b79aaa70d26f32a7e248a302af3c5"}, "url": "/docs/compare/?release=9.4.13#9.4.13-960d1e4e9c83a5ac", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "57c80424a5c5a39644fe6b251c9bbd11", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Prevent sending SSL session tickets to clients", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3ba606e5da2e161568d30ca0d3743dcd89b79aaa70d26f32a7e248a302af3c5"}, "url": "/docs/compare/?release=9.3.18#9.3.18-960d1e4e9c83a5ac", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "06ca50c6c2100c6be604facd02221004", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Prevent sending SSL session tickets to clients", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c3ba606e5da2e161568d30ca0d3743dcd89b79aaa70d26f32a7e248a302af3c5"}, "url": "/docs/compare/?release=9.2.22#9.2.22-960d1e4e9c83a5ac", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-0951c7ad5fce823e", "cves": [], "html": "<p>Fix code for setting <a href=\"/docs/9.6/runtime-config-connection.html#GUC-TCP-KEEPALIVES-IDLE\">tcp_keepalives_idle</a> on Solaris (Tom Lane)</p>", "text": "Fix code for setting tcp_keepalives_idle on Solaris (Tom Lane)", "title": "Fix code for setting tcp_keepalives_idle on Solaris", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "7b15d4e14c4a19150434cb5bc8d0d4741a9628d14f76aa78a60b6d2de0f5ae50", "section_path": ["Changes"], "commit_groups": [["43c67e32f", "5e7447132", "63f5db8ab", "99255d73c", "cc154d9a0", "e97b7372b"], ["55968ed89", "6ccab9242", "9ce7f3919", "c2cb606a2", "d16e96fb2", "f0256c774"]], "identity_text": "Fix code for setting guc-tcp-keepalives-idle on Solaris (Tom Lane)", "commit_aliases": ["43c67e32f", "55968ed89", "5e7447132", "63f5db8ab", "6ccab9242", "99255d73c", "9ce7f3919", "c2cb606a2", "cc154d9a0", "d16e96fb2", "e97b7372b", "f0256c774"], "source_commits": ["43c67e32f", "55968ed89"], "source_entry_id": "9.6.4/changes/012", "db_id": "3d12e09651fa92dc3d7691e748c23b13", "patch_ids": ["668ac43fd58a3912d996276f17afb49c", "fdb987a76f5fb17da6a11846e2833fab"], "statement_hash": "03b9947723b04bb6932ea30bfe8dd413ceee29eeaf5f25f5db97c4e93ae4285a", "relations": [{"rule": 2, "type": "equivalent", "target": "1c7bb3243d9e68418b27efa10792167f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03b9947723b04bb6932ea30bfe8dd413ceee29eeaf5f25f5db97c4e93ae4285a"}}, {"rule": 2, "type": "equivalent", "target": "ad20c605290795b78b75dfa2c7ca72c9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03b9947723b04bb6932ea30bfe8dd413ceee29eeaf5f25f5db97c4e93ae4285a"}}, {"rule": 2, "type": "equivalent", "target": "b1f9de21bc12b73cf6518cf2a56f48d1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03b9947723b04bb6932ea30bfe8dd413ceee29eeaf5f25f5db97c4e93ae4285a"}}, {"rule": 2, "type": "equivalent", "target": "edff4867a55a25f16f546d52b212e769", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03b9947723b04bb6932ea30bfe8dd413ceee29eeaf5f25f5db97c4e93ae4285a"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "1c7bb3243d9e68418b27efa10792167f", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix code for setting tcp_keepalives_idle on Solaris", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03b9947723b04bb6932ea30bfe8dd413ceee29eeaf5f25f5db97c4e93ae4285a"}, "url": "/docs/compare/?release=9.5.8#9.5.8-0951c7ad5fce823e", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "ad20c605290795b78b75dfa2c7ca72c9", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix code for setting tcp_keepalives_idle on Solaris", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03b9947723b04bb6932ea30bfe8dd413ceee29eeaf5f25f5db97c4e93ae4285a"}, "url": "/docs/compare/?release=9.4.13#9.4.13-0951c7ad5fce823e", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "b1f9de21bc12b73cf6518cf2a56f48d1", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix code for setting tcp_keepalives_idle on Solaris", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03b9947723b04bb6932ea30bfe8dd413ceee29eeaf5f25f5db97c4e93ae4285a"}, "url": "/docs/compare/?release=9.3.18#9.3.18-0951c7ad5fce823e", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "edff4867a55a25f16f546d52b212e769", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix code for setting tcp_keepalives_idle on Solaris", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "03b9947723b04bb6932ea30bfe8dd413ceee29eeaf5f25f5db97c4e93ae4285a"}, "url": "/docs/compare/?release=9.2.22#9.2.22-0951c7ad5fce823e", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-b966847e4a0e6e55", "cves": [], "html": "<p>Fix statistics collector to honor inquiry messages issued just after a postmaster shutdown and immediate restart (Tom Lane)</p>\n<p>Statistics inquiries issued within half a second of the previous postmaster shutdown were effectively ignored.</p>", "text": "Fix statistics collector to honor inquiry messages issued just after a postmaster shutdown and immediate restart (Tom Lane) Statistics inquiries issued within half a second of the previous postmaster shutdown were effectively ignored.", "title": "Fix statistics collector to honor inquiry messages issued just after a postmaster shutdown and immediate restart", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "4e168b2b27f8718655e7cfe7f821d25fb3d2a0a51778670b0a6a286e4a2646be", "section_path": ["Changes"], "commit_groups": [["439b6363d", "456bf261d", "5a6b95cdf", "ad1b5c842", "f6af9c749", "fc4da1fde"]], "identity_text": "Fix statistics collector to honor inquiry messages issued just after a postmaster shutdown and immediate restart (Tom Lane) Statistics inquiries issued within half a second of the previous postmaster shutdown were effectively ignored.", "commit_aliases": ["439b6363d", "456bf261d", "5a6b95cdf", "ad1b5c842", "f6af9c749", "fc4da1fde"], "source_commits": ["f6af9c749"], "source_entry_id": "9.6.4/changes/013", "db_id": "52169b7dd014d33786c85566c9719250", "patch_ids": ["6f195607863303b46b56c4d604788f16"], "statement_hash": "9a724c19bdc08f44a81e196f42b1ed6ab52256f9249bcd64373d65849332f3da", "relations": [{"rule": 2, "type": "equivalent", "target": "35d154df872964bdd172e06e7cc7b5e7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9a724c19bdc08f44a81e196f42b1ed6ab52256f9249bcd64373d65849332f3da"}}, {"rule": 2, "type": "equivalent", "target": "6ea6bdb3b1c0b91370098bb4050cdf5a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9a724c19bdc08f44a81e196f42b1ed6ab52256f9249bcd64373d65849332f3da"}}, {"rule": 2, "type": "equivalent", "target": "c7939f5f09e159955353f7b29c36efbb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9a724c19bdc08f44a81e196f42b1ed6ab52256f9249bcd64373d65849332f3da"}}, {"rule": 2, "type": "equivalent", "target": "e6cd54250e39c6ba75fa8dfed50a9202", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9a724c19bdc08f44a81e196f42b1ed6ab52256f9249bcd64373d65849332f3da"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "c7939f5f09e159955353f7b29c36efbb", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix statistics collector to honor inquiry messages issued just after a postmaster shutdown and immediate restart", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9a724c19bdc08f44a81e196f42b1ed6ab52256f9249bcd64373d65849332f3da"}, "url": "/docs/compare/?release=9.5.8#9.5.8-b966847e4a0e6e55", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "35d154df872964bdd172e06e7cc7b5e7", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix statistics collector to honor inquiry messages issued just after a postmaster shutdown and immediate restart", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9a724c19bdc08f44a81e196f42b1ed6ab52256f9249bcd64373d65849332f3da"}, "url": "/docs/compare/?release=9.4.13#9.4.13-b966847e4a0e6e55", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "e6cd54250e39c6ba75fa8dfed50a9202", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix statistics collector to honor inquiry messages issued just after a postmaster shutdown and immediate restart", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9a724c19bdc08f44a81e196f42b1ed6ab52256f9249bcd64373d65849332f3da"}, "url": "/docs/compare/?release=9.3.18#9.3.18-b966847e4a0e6e55", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "6ea6bdb3b1c0b91370098bb4050cdf5a", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix statistics collector to honor inquiry messages issued just after a postmaster shutdown and immediate restart", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9a724c19bdc08f44a81e196f42b1ed6ab52256f9249bcd64373d65849332f3da"}, "url": "/docs/compare/?release=9.2.22#9.2.22-b966847e4a0e6e55", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-302b12af8658e59f", "cves": [], "html": "<p>Ensure that the statistics collector's receive buffer size is at least 100KB (Tom Lane)</p>\n<p>This reduces the risk of dropped statistics data on older platforms whose default receive buffer size is less than that.</p>", "text": "Ensure that the statistics collector's receive buffer size is at least 100KB (Tom Lane) This reduces the risk of dropped statistics data on older platforms whose default receive buffer size is less than that.", "title": "Ensure that the statistics collector's receive buffer size is at least 100KB", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "9ae055c3a511149eb03ea0333f9d010abb95f19e3cfd2f5a597c7d84666864aa", "section_path": ["Changes"], "commit_groups": [["34782a348", "364100e0b", "4a3bb96ce", "54676c72c", "82f8c21e0", "8b0b6303e"]], "identity_text": "Ensure that the statistics collector's receive buffer size is at least 100KB (Tom Lane) This reduces the risk of dropped statistics data on older platforms whose default receive buffer size is less than that.", "commit_aliases": ["34782a348", "364100e0b", "4a3bb96ce", "54676c72c", "82f8c21e0", "8b0b6303e"], "source_commits": ["34782a348"], "source_entry_id": "9.6.4/changes/014", "db_id": "35b5f7b5058aa8d2a991d9b4a8b37c93", "patch_ids": ["40e517cfa613647c00d7fcb786753808"], "statement_hash": "ae98eb03d931632b6d6e716835257b5b32dac76f778e840398a512fcca98ca28", "relations": [{"rule": 2, "type": "equivalent", "target": "3c2dba8fca8015ec95edd7b7e1ef5a4e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae98eb03d931632b6d6e716835257b5b32dac76f778e840398a512fcca98ca28"}}, {"rule": 2, "type": "equivalent", "target": "45f8a1f14d7479817e647f93ea3147f0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae98eb03d931632b6d6e716835257b5b32dac76f778e840398a512fcca98ca28"}}, {"rule": 2, "type": "equivalent", "target": "8aec425eef081d0f371de4d506db4c6d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae98eb03d931632b6d6e716835257b5b32dac76f778e840398a512fcca98ca28"}}, {"rule": 2, "type": "equivalent", "target": "cebabf83bae7e2378ddea14ff545ac6f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae98eb03d931632b6d6e716835257b5b32dac76f778e840398a512fcca98ca28"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "45f8a1f14d7479817e647f93ea3147f0", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Ensure that the statistics collector's receive buffer size is at least 100KB", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae98eb03d931632b6d6e716835257b5b32dac76f778e840398a512fcca98ca28"}, "url": "/docs/compare/?release=9.5.8#9.5.8-302b12af8658e59f", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "8aec425eef081d0f371de4d506db4c6d", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Ensure that the statistics collector's receive buffer size is at least 100KB", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae98eb03d931632b6d6e716835257b5b32dac76f778e840398a512fcca98ca28"}, "url": "/docs/compare/?release=9.4.13#9.4.13-302b12af8658e59f", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "3c2dba8fca8015ec95edd7b7e1ef5a4e", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Ensure that the statistics collector's receive buffer size is at least 100KB", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae98eb03d931632b6d6e716835257b5b32dac76f778e840398a512fcca98ca28"}, "url": "/docs/compare/?release=9.3.18#9.3.18-302b12af8658e59f", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "cebabf83bae7e2378ddea14ff545ac6f", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Ensure that the statistics collector's receive buffer size is at least 100KB", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ae98eb03d931632b6d6e716835257b5b32dac76f778e840398a512fcca98ca28"}, "url": "/docs/compare/?release=9.2.22#9.2.22-302b12af8658e59f", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-3d6ffd76cb1bac3e", "cves": [], "html": "<p>Fix possible creation of an invalid WAL segment when a standby is promoted just after it processes an XLOG_SWITCH WAL record (Andres Freund)</p>", "text": "Fix possible creation of an invalid WAL segment when a standby is promoted just after it processes an XLOG_SWITCH WAL record (Andres Freund)", "title": "Fix possible creation of an invalid WAL segment when a standby is promoted just after it processes an XLOG_SWITCH WAL record", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "3a0067a6b20f36434d423fd791fd84e2f8b3d3eaa9e678cd2f41b9718192784d", "section_path": ["Changes"], "commit_groups": [["39e30cbc1", "511d803ca", "7775ebaf0", "81bf7b5b1", "823a51ed3", "fb886c153"]], "identity_text": "Fix possible creation of an invalid WAL segment when a standby is promoted just after it processes an XLOG_SWITCH WAL record (Andres Freund)", "commit_aliases": ["39e30cbc1", "511d803ca", "7775ebaf0", "81bf7b5b1", "823a51ed3", "fb886c153"], "source_commits": ["39e30cbc1"], "source_entry_id": "9.6.4/changes/015", "db_id": "2f2e0bd47f601d6acf0caa11807655ce", "patch_ids": ["421aa20d97248f7a7c601872632aa5ad"], "statement_hash": "ba014dc0e788386a8df4ba006edab727e81e02d48fe4daa3f57744df51695805", "relations": [{"rule": 2, "type": "equivalent", "target": "027472daca45d7d3ca1dda4accfbe514", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba014dc0e788386a8df4ba006edab727e81e02d48fe4daa3f57744df51695805"}}, {"rule": 2, "type": "equivalent", "target": "1ebe514120103dc5eb1fb4461713c100", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba014dc0e788386a8df4ba006edab727e81e02d48fe4daa3f57744df51695805"}}, {"rule": 2, "type": "equivalent", "target": "3343b117e454cf984aadbcbf1c224c1b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba014dc0e788386a8df4ba006edab727e81e02d48fe4daa3f57744df51695805"}}, {"rule": 2, "type": "equivalent", "target": "a167acf8e40e68b1306d951f121d3e0f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba014dc0e788386a8df4ba006edab727e81e02d48fe4daa3f57744df51695805"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "3343b117e454cf984aadbcbf1c224c1b", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix possible creation of an invalid WAL segment when a standby is promoted just after it processes an XLOG_SWITCH WAL record", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba014dc0e788386a8df4ba006edab727e81e02d48fe4daa3f57744df51695805"}, "url": "/docs/compare/?release=9.5.8#9.5.8-3d6ffd76cb1bac3e", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "1ebe514120103dc5eb1fb4461713c100", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix possible creation of an invalid WAL segment when a standby is promoted just after it processes an XLOG_SWITCH WAL record", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba014dc0e788386a8df4ba006edab727e81e02d48fe4daa3f57744df51695805"}, "url": "/docs/compare/?release=9.4.13#9.4.13-3d6ffd76cb1bac3e", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "027472daca45d7d3ca1dda4accfbe514", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix possible creation of an invalid WAL segment when a standby is promoted just after it processes an XLOG_SWITCH WAL record", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba014dc0e788386a8df4ba006edab727e81e02d48fe4daa3f57744df51695805"}, "url": "/docs/compare/?release=9.3.18#9.3.18-3d6ffd76cb1bac3e", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "a167acf8e40e68b1306d951f121d3e0f", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix possible creation of an invalid WAL segment when a standby is promoted just after it processes an XLOG_SWITCH WAL record", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ba014dc0e788386a8df4ba006edab727e81e02d48fe4daa3f57744df51695805"}, "url": "/docs/compare/?release=9.2.22#9.2.22-3d6ffd76cb1bac3e", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-df4755158cd676ed", "cves": [], "html": "<p>Fix <span>walsender</span> to exit promptly when client requests shutdown (Tom Lane)</p>", "text": "Fix walsender to exit promptly when client requests shutdown (Tom Lane)", "title": "Fix walsender to exit promptly when client requests shutdown", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "703c42134b4fbe7790d05e13eee8f8e2e56d9cca3441e87b074af602491c624a", "section_path": ["Changes"], "commit_groups": [["446914f6b", "5aa8db014", "e9d4aa594", "fca85f8ef"]], "identity_text": "Fix walsender to exit promptly when client requests shutdown (Tom Lane)", "commit_aliases": ["446914f6b", "5aa8db014", "e9d4aa594", "fca85f8ef"], "source_commits": ["e9d4aa594"], "source_entry_id": "9.6.4/changes/016", "db_id": "b4c262940ae6a047aa44b1ffd849c50c", "patch_ids": ["effcee447c250432a2fb7b3c4dba27e0"], "statement_hash": "7f8393494213a60a77074fc87c756e548bf7ca61c988d3753552f3f3a7dcf48d", "relations": [{"rule": 2, "type": "equivalent", "target": "e06757cdf0b4c4fc2feefbd345efbaf0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7f8393494213a60a77074fc87c756e548bf7ca61c988d3753552f3f3a7dcf48d"}}, {"rule": 2, "type": "equivalent", "target": "eeebdf3f87802a2e37f71e8656f2d240", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7f8393494213a60a77074fc87c756e548bf7ca61c988d3753552f3f3a7dcf48d"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "e06757cdf0b4c4fc2feefbd345efbaf0", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix walsender to exit promptly when client requests shutdown", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7f8393494213a60a77074fc87c756e548bf7ca61c988d3753552f3f3a7dcf48d"}, "url": "/docs/compare/?release=9.5.8#9.5.8-df4755158cd676ed", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "eeebdf3f87802a2e37f71e8656f2d240", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix walsender to exit promptly when client requests shutdown", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7f8393494213a60a77074fc87c756e548bf7ca61c988d3753552f3f3a7dcf48d"}, "url": "/docs/compare/?release=9.4.13#9.4.13-df4755158cd676ed", "source_url": "/docs/release/9.4.13/#AEN121463"}]}, {"id": "9.6.4-fddbd28d3de84467", "cves": [], "html": "<p>Fix <span>SIGHUP</span> and <span>SIGUSR1</span> handling in walsender processes (Petr Jelinek, Andres Freund)</p>", "text": "Fix SIGHUP and SIGUSR1 handling in walsender processes (Petr Jelinek, Andres Freund)", "title": "Fix SIGHUP and SIGUSR1 handling in walsender processes", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "980bcb8f78ecd8a583d11c4c4e6f8a95ea9f950d6992864611afe72fa3fa50a4", "section_path": ["Changes"], "commit_groups": [["133b1920c", "45d067d50", "55d7027d5", "641a60b02", "6e1dd2773", "b8bd32a51"], ["47fd420fb", "b3d5b6833", "e1319f64e", "f4e484dd0"]], "identity_text": "Fix SIGHUP and SIGUSR1 handling in walsender processes (Petr Jelinek, Andres Freund)", "commit_aliases": ["133b1920c", "45d067d50", "47fd420fb", "55d7027d5", "641a60b02", "6e1dd2773", "b3d5b6833", "b8bd32a51", "e1319f64e", "f4e484dd0"], "source_commits": ["b3d5b6833", "b8bd32a51"], "source_entry_id": "9.6.4/changes/017", "db_id": "3a37a29c34d6f5d73ccb334bdba07088", "patch_ids": ["889575634527a56d0b301382cee50367", "d3479e813b85e485501e6c7187e51e1d"], "statement_hash": "d54f1cf1421f9b2f8f6071ef527eaa84099cd41597a1402c579436e93f1855a1", "relations": [{"rule": 2, "type": "equivalent", "target": "56fbd01576e12b75269896592fa2c8c7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d54f1cf1421f9b2f8f6071ef527eaa84099cd41597a1402c579436e93f1855a1"}}, {"rule": 2, "type": "equivalent", "target": "e495da6486bd8be4e4c26d6e5086beee", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d54f1cf1421f9b2f8f6071ef527eaa84099cd41597a1402c579436e93f1855a1"}}, {"rule": 2, "type": "equivalent", "target": "ff38a637d151641073b6f2871680809f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d54f1cf1421f9b2f8f6071ef527eaa84099cd41597a1402c579436e93f1855a1"}}, {"rule": 2, "type": "equivalent", "target": "ff55a48b73c00e42d28e3b52fe55af78", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d54f1cf1421f9b2f8f6071ef527eaa84099cd41597a1402c579436e93f1855a1"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "ff55a48b73c00e42d28e3b52fe55af78", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix SIGHUP and SIGUSR1 handling in walsender processes", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d54f1cf1421f9b2f8f6071ef527eaa84099cd41597a1402c579436e93f1855a1"}, "url": "/docs/compare/?release=9.5.8#9.5.8-fddbd28d3de84467", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "56fbd01576e12b75269896592fa2c8c7", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix SIGHUP and SIGUSR1 handling in walsender processes", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d54f1cf1421f9b2f8f6071ef527eaa84099cd41597a1402c579436e93f1855a1"}, "url": "/docs/compare/?release=9.4.13#9.4.13-fddbd28d3de84467", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "e495da6486bd8be4e4c26d6e5086beee", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix SIGHUP and SIGUSR1 handling in walsender processes", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d54f1cf1421f9b2f8f6071ef527eaa84099cd41597a1402c579436e93f1855a1"}, "url": "/docs/compare/?release=9.3.18#9.3.18-fddbd28d3de84467", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "ff38a637d151641073b6f2871680809f", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix SIGHUP and SIGUSR1 handling in walsender processes", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d54f1cf1421f9b2f8f6071ef527eaa84099cd41597a1402c579436e93f1855a1"}, "url": "/docs/compare/?release=9.2.22#9.2.22-fddbd28d3de84467", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-32abc6a5120ae1c5", "cves": [], "html": "<p>Prevent walsender-triggered panics during shutdown checkpoints (Andres Freund, Michael Paquier)</p>", "text": "Prevent walsender-triggered panics during shutdown checkpoints (Andres Freund, Michael Paquier)", "title": "Prevent walsender-triggered panics during shutdown checkpoints", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "c2ce76ebc0da19a3cf23a6ba812b18d30a25ca71522c54813ba550681f528c24", "section_path": ["Changes"], "commit_groups": [["1cdc0ab9c", "50581f2e7", "862204aac", "c6c333436"]], "identity_text": "Prevent walsender-triggered panics during shutdown checkpoints (Andres Freund, Michael Paquier)", "commit_aliases": ["1cdc0ab9c", "50581f2e7", "862204aac", "c6c333436"], "source_commits": ["862204aac"], "source_entry_id": "9.6.4/changes/018", "db_id": "634c8d381b6e3f48b2f72cf06ca6263a", "patch_ids": ["327b3bfc49bbee1814b4d056879a56a4"], "statement_hash": "9ddb5d7e644130bd1b9e0dfccdb7af7a6670dc33b1f39dcc366c7a4167442ee8", "relations": [{"rule": 2, "type": "equivalent", "target": "17f194ee6ed4e5a40eccd7995c55c96e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ddb5d7e644130bd1b9e0dfccdb7af7a6670dc33b1f39dcc366c7a4167442ee8"}}, {"rule": 2, "type": "equivalent", "target": "deb92a2f6715b1015ae787db10ac0e6f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ddb5d7e644130bd1b9e0dfccdb7af7a6670dc33b1f39dcc366c7a4167442ee8"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "17f194ee6ed4e5a40eccd7995c55c96e", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Prevent walsender-triggered panics during shutdown checkpoints", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ddb5d7e644130bd1b9e0dfccdb7af7a6670dc33b1f39dcc366c7a4167442ee8"}, "url": "/docs/compare/?release=9.5.8#9.5.8-32abc6a5120ae1c5", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "deb92a2f6715b1015ae787db10ac0e6f", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Prevent walsender-triggered panics during shutdown checkpoints", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9ddb5d7e644130bd1b9e0dfccdb7af7a6670dc33b1f39dcc366c7a4167442ee8"}, "url": "/docs/compare/?release=9.4.13#9.4.13-32abc6a5120ae1c5", "source_url": "/docs/release/9.4.13/#AEN121463"}]}, {"id": "9.6.4-12f31b9181465561", "cves": [], "html": "<p>Fix unnecessarily slow restarts of <span>walreceiver</span> processes due to race condition in postmaster (Tom Lane)</p>", "text": "Fix unnecessarily slow restarts of walreceiver processes due to race condition in postmaster (Tom Lane)", "title": "Fix unnecessarily slow restarts of walreceiver processes due to race condition in postmaster", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "a35db3ab53f6e97d2b5677fb7aecf82c184bd5a4c4ed4e8576901af95e94a10f", "section_path": ["Changes"], "commit_groups": [["47fec424c", "a4d1ce095", "cb59949f6", "dc311b5bd", "e5d494d78", "e96adaacd"]], "identity_text": "Fix unnecessarily slow restarts of walreceiver processes due to race condition in postmaster (Tom Lane)", "commit_aliases": ["47fec424c", "a4d1ce095", "cb59949f6", "dc311b5bd", "e5d494d78", "e96adaacd"], "source_commits": ["a4d1ce095"], "source_entry_id": "9.6.4/changes/019", "db_id": "56bb12dabc419c87a27717fa34bb3be3", "patch_ids": ["8311b2122ee6742525858fbe6e18d904"], "statement_hash": "006bac9dacd1622bc6ddd16acc61ae5fae33eb710b4ea23f3bd2b6df434667b6", "relations": [{"rule": 2, "type": "equivalent", "target": "0cb3087fae06393bc7f76e6cbe7ded78", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "006bac9dacd1622bc6ddd16acc61ae5fae33eb710b4ea23f3bd2b6df434667b6"}}, {"rule": 2, "type": "equivalent", "target": "2c27a0f6cff6d52384428eb46e816ad6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "006bac9dacd1622bc6ddd16acc61ae5fae33eb710b4ea23f3bd2b6df434667b6"}}, {"rule": 2, "type": "equivalent", "target": "bc1b64b2ca3671e5b73d363e398be023", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "006bac9dacd1622bc6ddd16acc61ae5fae33eb710b4ea23f3bd2b6df434667b6"}}, {"rule": 2, "type": "equivalent", "target": "df6bb339b676af9421fec5b435f41df0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "006bac9dacd1622bc6ddd16acc61ae5fae33eb710b4ea23f3bd2b6df434667b6"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "0cb3087fae06393bc7f76e6cbe7ded78", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix unnecessarily slow restarts of walreceiver processes due to race condition in postmaster", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "006bac9dacd1622bc6ddd16acc61ae5fae33eb710b4ea23f3bd2b6df434667b6"}, "url": "/docs/compare/?release=9.5.8#9.5.8-12f31b9181465561", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "2c27a0f6cff6d52384428eb46e816ad6", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix unnecessarily slow restarts of walreceiver processes due to race condition in postmaster", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "006bac9dacd1622bc6ddd16acc61ae5fae33eb710b4ea23f3bd2b6df434667b6"}, "url": "/docs/compare/?release=9.4.13#9.4.13-12f31b9181465561", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "bc1b64b2ca3671e5b73d363e398be023", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix unnecessarily slow restarts of walreceiver processes due to race condition in postmaster", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "006bac9dacd1622bc6ddd16acc61ae5fae33eb710b4ea23f3bd2b6df434667b6"}, "url": "/docs/compare/?release=9.3.18#9.3.18-12f31b9181465561", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "df6bb339b676af9421fec5b435f41df0", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix unnecessarily slow restarts of walreceiver processes due to race condition in postmaster", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "006bac9dacd1622bc6ddd16acc61ae5fae33eb710b4ea23f3bd2b6df434667b6"}, "url": "/docs/compare/?release=9.2.22#9.2.22-12f31b9181465561", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-29c49e057b85fbe5", "cves": [], "html": "<p>Fix leakage of small subtransactions spilled to disk during logical decoding (Andres Freund)</p>\n<p>This resulted in temporary files consuming excessive disk space.</p>", "text": "Fix leakage of small subtransactions spilled to disk during logical decoding (Andres Freund) This resulted in temporary files consuming excessive disk space.", "title": "Fix leakage of small subtransactions spilled to disk during logical decoding", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "550a94b36e646d831b47e8618ed1fd5d3fe2029f920f4f306d408b44cea78353", "section_path": ["Changes"], "commit_groups": [["1ba1adf77", "3bdea167e", "810344436", "a27c566c7"]], "identity_text": "Fix leakage of small subtransactions spilled to disk during logical decoding (Andres Freund) This resulted in temporary files consuming excessive disk space.", "commit_aliases": ["1ba1adf77", "3bdea167e", "810344436", "a27c566c7"], "source_commits": ["810344436"], "source_entry_id": "9.6.4/changes/020", "db_id": "a6cfaf92275141eab37eda7b8429909b", "patch_ids": ["94057599efb1dbcc7f9fd36d3335e053"], "statement_hash": "2d56855e272cbf811c9187a501574da0e6a723b96bcef42c5aebfe63cf6f5b11", "relations": [{"rule": 2, "type": "equivalent", "target": "83b7a373448e5e2dbe493321301f4153", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2d56855e272cbf811c9187a501574da0e6a723b96bcef42c5aebfe63cf6f5b11"}}, {"rule": 2, "type": "equivalent", "target": "99766b865005e04787c4cac0bc8e398a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2d56855e272cbf811c9187a501574da0e6a723b96bcef42c5aebfe63cf6f5b11"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "99766b865005e04787c4cac0bc8e398a", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix leakage of small subtransactions spilled to disk during logical decoding", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2d56855e272cbf811c9187a501574da0e6a723b96bcef42c5aebfe63cf6f5b11"}, "url": "/docs/compare/?release=9.5.8#9.5.8-29c49e057b85fbe5", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "83b7a373448e5e2dbe493321301f4153", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix leakage of small subtransactions spilled to disk during logical decoding", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "2d56855e272cbf811c9187a501574da0e6a723b96bcef42c5aebfe63cf6f5b11"}, "url": "/docs/compare/?release=9.4.13#9.4.13-29c49e057b85fbe5", "source_url": "/docs/release/9.4.13/#AEN121463"}]}, {"id": "9.6.4-bcd97280e7abd633", "cves": [], "html": "<p>Reduce the work needed to build snapshots during creation of logical-decoding slots (Andres Freund, Petr Jelinek)</p>\n<p>The previous algorithm was infeasibly expensive on a server with a lot of open transactions.</p>", "text": "Reduce the work needed to build snapshots during creation of logical-decoding slots (Andres Freund, Petr Jelinek) The previous algorithm was infeasibly expensive on a server with a lot of open transactions.", "title": "Reduce the work needed to build snapshots during creation of logical-decoding slots", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "bec3705085599176727f2bfa076d6ec9a9b0e778b4fe39569ceb46de44d89f09", "section_path": ["Changes"], "commit_groups": [["2dca50b76", "524dbc143", "bd619fcfe", "fa9207c74"]], "identity_text": "Reduce the work needed to build snapshots during creation of logical-decoding slots (Andres Freund, Petr Jelinek) The previous algorithm was infeasibly expensive on a server with a lot of open transactions.", "commit_aliases": ["2dca50b76", "524dbc143", "bd619fcfe", "fa9207c74"], "source_commits": ["bd619fcfe"], "source_entry_id": "9.6.4/changes/021", "db_id": "b8a11c910d610dccc2bd1dc476d11176", "patch_ids": ["4031ff45c87ec6ee5472c4b0f3283490"], "statement_hash": "7e853ed9955167fd1d4fd2378e643bafe18c458682dc9565fea7e994e5ab4ae8", "relations": [{"rule": 2, "type": "equivalent", "target": "15b44a9b10ca7ce5cb5e957d44369fb4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e853ed9955167fd1d4fd2378e643bafe18c458682dc9565fea7e994e5ab4ae8"}}, {"rule": 2, "type": "equivalent", "target": "33384454e81715c22843b0616b92d18d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e853ed9955167fd1d4fd2378e643bafe18c458682dc9565fea7e994e5ab4ae8"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "33384454e81715c22843b0616b92d18d", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Reduce the work needed to build snapshots during creation of logical-decoding slots", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e853ed9955167fd1d4fd2378e643bafe18c458682dc9565fea7e994e5ab4ae8"}, "url": "/docs/compare/?release=9.5.8#9.5.8-bcd97280e7abd633", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "15b44a9b10ca7ce5cb5e957d44369fb4", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Reduce the work needed to build snapshots during creation of logical-decoding slots", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7e853ed9955167fd1d4fd2378e643bafe18c458682dc9565fea7e994e5ab4ae8"}, "url": "/docs/compare/?release=9.4.13#9.4.13-bcd97280e7abd633", "source_url": "/docs/release/9.4.13/#AEN121463"}]}, {"id": "9.6.4-48127babf690e007", "cves": [], "html": "<p>Fix race condition that could indefinitely delay creation of logical-decoding slots (Andres Freund, Petr Jelinek)</p>", "text": "Fix race condition that could indefinitely delay creation of logical-decoding slots (Andres Freund, Petr Jelinek)", "title": "Fix race condition that could indefinitely delay creation of logical-decoding slots", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "6f2923d0156404723962bd9a7026e302a961f2c88cebf887f8eea112e6ca51bc", "section_path": ["Changes"], "commit_groups": [["75784859c", "79abd23db", "955a684e0", "b64a68e36"]], "identity_text": "Fix race condition that could indefinitely delay creation of logical-decoding slots (Andres Freund, Petr Jelinek)", "commit_aliases": ["75784859c", "79abd23db", "955a684e0", "b64a68e36"], "source_commits": ["75784859c"], "source_entry_id": "9.6.4/changes/022", "db_id": "6c4da68e4e4f3dd2fb4c473173e089fa", "patch_ids": ["f965770d8244bb95e710794ee333e104"], "statement_hash": "fa71776f01ce72bd84b9da503f864b04e2789ba0380f754d691ffdf34c00b799", "relations": [{"rule": 2, "type": "equivalent", "target": "241594f43042d7fe2d5e726d2158c1ed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fa71776f01ce72bd84b9da503f864b04e2789ba0380f754d691ffdf34c00b799"}}, {"rule": 2, "type": "equivalent", "target": "fd678af83e000d78c66b5bea6d63ed7f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fa71776f01ce72bd84b9da503f864b04e2789ba0380f754d691ffdf34c00b799"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "fd678af83e000d78c66b5bea6d63ed7f", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix race condition that could indefinitely delay creation of logical-decoding slots", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fa71776f01ce72bd84b9da503f864b04e2789ba0380f754d691ffdf34c00b799"}, "url": "/docs/compare/?release=9.5.8#9.5.8-48127babf690e007", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "241594f43042d7fe2d5e726d2158c1ed", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix race condition that could indefinitely delay creation of logical-decoding slots", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "fa71776f01ce72bd84b9da503f864b04e2789ba0380f754d691ffdf34c00b799"}, "url": "/docs/compare/?release=9.4.13#9.4.13-48127babf690e007", "source_url": "/docs/release/9.4.13/#AEN121463"}]}, {"id": "9.6.4-e0e1f7e0e1f7a325", "cves": [], "html": "<p>Reduce overhead in processing syscache invalidation events (Tom Lane)</p>\n<p>This is particularly helpful for logical decoding, which triggers frequent cache invalidation.</p>", "text": "Reduce overhead in processing syscache invalidation events (Tom Lane) This is particularly helpful for logical decoding, which triggers frequent cache invalidation.", "title": "Reduce overhead in processing syscache invalidation events", "commits": [], "section": "Changes", "category": "performance", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "bc859d1fe23fdfd9fa189bba2fe11ed940243c77345c9f8e5a14b6798c49694e", "section_path": ["Changes"], "commit_groups": [["2df5d4655", "32900700f", "d0755dc32", "e7955ac64"], ["3569a9a73", "50ee1c746", "64417f8d3", "b7a98b14c"], ["8085a4f75", "8a7506e04", "ef7a6b3c9", "f7d0a31ce"]], "identity_text": "Reduce overhead in processing syscache invalidation events (Tom Lane) This is particularly helpful for logical decoding, which triggers frequent cache invalidation.", "commit_aliases": ["2df5d4655", "32900700f", "3569a9a73", "50ee1c746", "64417f8d3", "8085a4f75", "8a7506e04", "b7a98b14c", "d0755dc32", "e7955ac64", "ef7a6b3c9", "f7d0a31ce"], "source_commits": ["b7a98b14c", "d0755dc32", "f7d0a31ce"], "source_entry_id": "9.6.4/changes/023", "db_id": "cb6098913420bc02bb212c22159f5bee", "patch_ids": ["c82fa2d9dc7ec336ffcc643f59e0c553", "dfe9e7112660bcb6f8921f2b5f7b07a8", "e7556589209c71b39e9654196655309a"], "statement_hash": "e4e7d3dde1821162b5013245696c48bafbd1faa4fd805477573013ae89c09c45", "relations": [{"rule": 2, "type": "equivalent", "target": "bf99a386833723ff946300f5929aae22", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e4e7d3dde1821162b5013245696c48bafbd1faa4fd805477573013ae89c09c45"}}, {"rule": 2, "type": "equivalent", "target": "f27af57530d241c400aecae8d3be0cd0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e4e7d3dde1821162b5013245696c48bafbd1faa4fd805477573013ae89c09c45"}}], "version": "9.6.4", "category_label": "Performance", "also_in": [], "variants": [], "related_changes": [{"db_id": "f27af57530d241c400aecae8d3be0cd0", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Reduce overhead in processing syscache invalidation events", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e4e7d3dde1821162b5013245696c48bafbd1faa4fd805477573013ae89c09c45"}, "url": "/docs/compare/?release=9.5.8#9.5.8-e0e1f7e0e1f7a325", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "bf99a386833723ff946300f5929aae22", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Reduce overhead in processing syscache invalidation events", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e4e7d3dde1821162b5013245696c48bafbd1faa4fd805477573013ae89c09c45"}, "url": "/docs/compare/?release=9.4.13#9.4.13-e0e1f7e0e1f7a325", "source_url": "/docs/release/9.4.13/#AEN121463"}]}, {"id": "9.6.4-cfd01fa1eafe7290", "cves": [], "html": "<p>Remove incorrect heuristic used in some cases to estimate join selectivity based on the presence of foreign-key constraints (David Rowley)</p>\n<p>In some cases where a multi-column foreign key constraint existed but did not exactly match a query's join structure, the planner used an estimation heuristic that turns out not to work well at all. Revert such cases to the way they were estimated before 9.6.</p>", "text": "Remove incorrect heuristic used in some cases to estimate join selectivity based on the presence of foreign-key constraints (David Rowley) In some cases where a multi-column foreign key constraint existed but did not exactly match a query's join structure, the planner used an estimation heuristic that turns out not to work well at all. Revert such cases to the way they were estimated before 9.6.", "title": "Remove incorrect heuristic used in some cases to estimate join selectivity based on the presence of foreign-key constraints", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "e8fa1f3b49efb9c53f0d8bcf68bb9635486015cd1351742cc4b01f0aaef84893", "section_path": ["Changes"], "commit_groups": [["1f184426b", "d8e6b84bd"]], "identity_text": "Remove incorrect heuristic used in some cases to estimate join selectivity based on the presence of foreign-key constraints (David Rowley) In some cases where a multi-column foreign key constraint existed but did not exactly match a query's join structure, the planner used an estimation heuristic that turns out not to work well at all. Revert such cases to the way they were estimated before 9.6.", "commit_aliases": ["1f184426b", "d8e6b84bd"], "source_commits": ["1f184426b"], "source_entry_id": "9.6.4/changes/024", "db_id": "dbb92701e90210400d63f2871b87f4f5", "patch_ids": ["64562b53161bc7186a1d8b5f084a663e"], "statement_hash": "475d16d6942a6d35b745bebd64845e934aabd86069c9ad7208d42af3d1025800", "relations": [], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.6.4-6356b950ea1f7e4c", "cves": [], "html": "<p>Fix cases where an INSERT or UPDATE assigns to more than one element of a column that is of domain-over-array type (Tom Lane)</p>", "text": "Fix cases where an INSERT or UPDATE assigns to more than one element of a column that is of domain-over-array type (Tom Lane)", "title": "Fix cases where an INSERT or UPDATE assigns to more than one element of a column that is of domain-over-array type", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "aee4b8d67f25768a4e7d4d8b8556b4a398e066673246d86a0d528a8b95ddb05d", "section_path": ["Changes"], "commit_groups": [["123368061", "521fede16", "55204850a", "56076b88d", "a8358559e", "b1cb32fb6"], ["2346f1c10", "75670ec37", "a2320b337", "aea1a3f0e", "bc2d716ad", "ff2d53722"]], "identity_text": "Fix cases where an INSERT or UPDATE assigns to more than one element of a column that is of domain-over-array type (Tom Lane)", "commit_aliases": ["123368061", "2346f1c10", "521fede16", "55204850a", "56076b88d", "75670ec37", "a2320b337", "a8358559e", "aea1a3f0e", "b1cb32fb6", "bc2d716ad", "ff2d53722"], "source_commits": ["123368061", "ff2d53722"], "source_entry_id": "9.6.4/changes/025", "db_id": "581f18312c8db068f74644c8f9aaad95", "patch_ids": ["23fba0e7fe15bd0c9dfaf2fb77ceeb6d", "5fa0a0aa95b102e7d142e927dcc02915"], "statement_hash": "26e8ded4af49c5db7cd20cecd15c614166922479205a4cc5e3f03775d57e2e4c", "relations": [{"rule": 2, "type": "equivalent", "target": "2cdb0efa2e2249d0e3f9b9dd528ebb36", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26e8ded4af49c5db7cd20cecd15c614166922479205a4cc5e3f03775d57e2e4c"}}, {"rule": 2, "type": "equivalent", "target": "6751805191274189c14b5c574618acf6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26e8ded4af49c5db7cd20cecd15c614166922479205a4cc5e3f03775d57e2e4c"}}, {"rule": 2, "type": "equivalent", "target": "7fa38e8aef93079d71fc8df9e9eaec2b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26e8ded4af49c5db7cd20cecd15c614166922479205a4cc5e3f03775d57e2e4c"}}, {"rule": 2, "type": "equivalent", "target": "bec476c995bf0ae2d6c2bbd39a5ee4a6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26e8ded4af49c5db7cd20cecd15c614166922479205a4cc5e3f03775d57e2e4c"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "6751805191274189c14b5c574618acf6", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix cases where an INSERT or UPDATE assigns to more than one element of a column that is of domain-over-array type", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26e8ded4af49c5db7cd20cecd15c614166922479205a4cc5e3f03775d57e2e4c"}, "url": "/docs/compare/?release=9.5.8#9.5.8-6356b950ea1f7e4c", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "2cdb0efa2e2249d0e3f9b9dd528ebb36", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix cases where an INSERT or UPDATE assigns to more than one element of a column that is of domain-over-array type", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26e8ded4af49c5db7cd20cecd15c614166922479205a4cc5e3f03775d57e2e4c"}, "url": "/docs/compare/?release=9.4.13#9.4.13-6356b950ea1f7e4c", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "7fa38e8aef93079d71fc8df9e9eaec2b", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix cases where an INSERT or UPDATE assigns to more than one element of a column that is of domain-over-array type", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26e8ded4af49c5db7cd20cecd15c614166922479205a4cc5e3f03775d57e2e4c"}, "url": "/docs/compare/?release=9.3.18#9.3.18-6356b950ea1f7e4c", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "bec476c995bf0ae2d6c2bbd39a5ee4a6", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix cases where an INSERT or UPDATE assigns to more than one element of a column that is of domain-over-array type", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "26e8ded4af49c5db7cd20cecd15c614166922479205a4cc5e3f03775d57e2e4c"}, "url": "/docs/compare/?release=9.2.22#9.2.22-6356b950ea1f7e4c", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-609eb31554f807b0", "cves": [], "html": "<p>Allow window functions to be used in sub-SELECTs that are within the arguments of an aggregate function (Tom Lane)</p>", "text": "Allow window functions to be used in sub-SELECTs that are within the arguments of an aggregate function (Tom Lane)", "title": "Allow window functions to be used in sub-SELECTs that are within the arguments of an aggregate function", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "4913cad6ac1b86aa6d433abf113ec81e7c44318955cdfcc1e01f35bcca86265f", "section_path": ["Changes"], "commit_groups": [["3a7bd59c4", "66dee28b4", "9a2706572", "9c7dc8928", "dc777f9db"]], "identity_text": "Allow window functions to be used in sub-SELECTs that are within the arguments of an aggregate function (Tom Lane)", "commit_aliases": ["3a7bd59c4", "66dee28b4", "9a2706572", "9c7dc8928", "dc777f9db"], "source_commits": ["3a7bd59c4"], "source_entry_id": "9.6.4/changes/026", "db_id": "2fc123ead4411fe698a8ec30e526d0e9", "patch_ids": ["859aa53537b4edf2483cfbf1a7699948"], "statement_hash": "68fe528e37a30594701a8c54ad832868255b73f68501be033a8c3da603734348", "relations": [{"rule": 2, "type": "equivalent", "target": "4d955c084a20c2af0c43bc971277f818", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68fe528e37a30594701a8c54ad832868255b73f68501be033a8c3da603734348"}}, {"rule": 2, "type": "equivalent", "target": "a3cceca6f8762c038aaacfddecd8a2df", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68fe528e37a30594701a8c54ad832868255b73f68501be033a8c3da603734348"}}, {"rule": 2, "type": "equivalent", "target": "ef9c132dc08d64524af624312932f4aa", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68fe528e37a30594701a8c54ad832868255b73f68501be033a8c3da603734348"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "ef9c132dc08d64524af624312932f4aa", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Allow window functions to be used in sub-SELECTs that are within the arguments of an aggregate function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68fe528e37a30594701a8c54ad832868255b73f68501be033a8c3da603734348"}, "url": "/docs/compare/?release=9.5.8#9.5.8-609eb31554f807b0", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "4d955c084a20c2af0c43bc971277f818", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Allow window functions to be used in sub-SELECTs that are within the arguments of an aggregate function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68fe528e37a30594701a8c54ad832868255b73f68501be033a8c3da603734348"}, "url": "/docs/compare/?release=9.4.13#9.4.13-609eb31554f807b0", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "a3cceca6f8762c038aaacfddecd8a2df", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Allow window functions to be used in sub-SELECTs that are within the arguments of an aggregate function", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "68fe528e37a30594701a8c54ad832868255b73f68501be033a8c3da603734348"}, "url": "/docs/compare/?release=9.3.18#9.3.18-609eb31554f807b0", "source_url": "/docs/release/9.3.18/#AEN115887"}]}, {"id": "9.6.4-f93b274893f8937e", "cves": [], "html": "<p>Ensure that a view's CHECK OPTIONS clause is enforced properly when the underlying table is a foreign table (Etsuro Fujita)</p>\n<p>Previously, the update might get pushed entirely to the foreign server, but the need to verify the view conditions was missed if so.</p>", "text": "Ensure that a view's CHECK OPTIONS clause is enforced properly when the underlying table is a foreign table (Etsuro Fujita) Previously, the update might get pushed entirely to the foreign server, but the need to verify the view conditions was missed if so.", "title": "Ensure that a view's CHECK OPTIONS clause is enforced properly when the underlying table is a foreign table", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "c8bac5c58daa3741223bd327acc8b0da08274c4e72fc1b481f935241d35b3f03", "section_path": ["Changes"], "commit_groups": [["7086be6e3", "971faefc2"]], "identity_text": "Ensure that a view's CHECK OPTIONS clause is enforced properly when the underlying table is a foreign table (Etsuro Fujita) Previously, the update might get pushed entirely to the foreign server, but the need to verify the view conditions was missed if so.", "commit_aliases": ["7086be6e3", "971faefc2"], "source_commits": ["971faefc2"], "source_entry_id": "9.6.4/changes/027", "db_id": "accd01ca0010eb1c7a80eb600f2e260a", "patch_ids": ["1a54e37b75f8465259fcfa79d150801b"], "statement_hash": "7f1780df794f4882b7fbfaf08a58580ab46d61090e90ba8df252e56692638585", "relations": [], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.6.4-9ea1ecf497ecca28", "cves": [], "html": "<p>Move autogenerated array types out of the way during ALTER ... RENAME (Vik Fearing)</p>\n<p>Previously, we would rename a conflicting autogenerated array type out of the way during CREATE; this fix extends that behavior to renaming operations.</p>", "text": "Move autogenerated array types out of the way during ALTER ... RENAME (Vik Fearing) Previously, we would rename a conflicting autogenerated array type out of the way during CREATE; this fix extends that behavior to renaming operations.", "title": "Move autogenerated array types out of the way during ALTER ... RENAME", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "4b44b67e8821c3dc325e7bb663511cf130172237f8ad084fb7dbd30df9f03bae", "section_path": ["Changes"], "commit_groups": [["525780c62", "8f62b388b", "94aced8cd", "9ded51719", "acab87ece", "da9165686"]], "identity_text": "Move autogenerated array types out of the way during ALTER ... RENAME (Vik Fearing) Previously, we would rename a conflicting autogenerated array type out of the way during CREATE; this fix extends that behavior to renaming operations.", "commit_aliases": ["525780c62", "8f62b388b", "94aced8cd", "9ded51719", "acab87ece", "da9165686"], "source_commits": ["acab87ece"], "source_entry_id": "9.6.4/changes/028", "db_id": "35c9a1e915045e14f9285575fbf87fd4", "patch_ids": ["e68ed746d05be0c70fc6ae8544998422"], "statement_hash": "ab43bf4ca4eaf90ab313d6c97c1c22788eecbb002d3a00718cee13d901bdf790", "relations": [{"rule": 2, "type": "equivalent", "target": "01a3f42570323f11d8590ebbab6be905", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab43bf4ca4eaf90ab313d6c97c1c22788eecbb002d3a00718cee13d901bdf790"}}, {"rule": 2, "type": "equivalent", "target": "3542438a9e62964cff164ac34edfb00b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab43bf4ca4eaf90ab313d6c97c1c22788eecbb002d3a00718cee13d901bdf790"}}, {"rule": 2, "type": "equivalent", "target": "bdc3b303804932fa630f8a8d01e0e891", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab43bf4ca4eaf90ab313d6c97c1c22788eecbb002d3a00718cee13d901bdf790"}}, {"rule": 2, "type": "equivalent", "target": "e0b15344dd65537ca60f9d091cab55fb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab43bf4ca4eaf90ab313d6c97c1c22788eecbb002d3a00718cee13d901bdf790"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "3542438a9e62964cff164ac34edfb00b", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Move autogenerated array types out of the way during ALTER ... RENAME", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab43bf4ca4eaf90ab313d6c97c1c22788eecbb002d3a00718cee13d901bdf790"}, "url": "/docs/compare/?release=9.5.8#9.5.8-9ea1ecf497ecca28", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "e0b15344dd65537ca60f9d091cab55fb", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Move autogenerated array types out of the way during ALTER ... RENAME", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab43bf4ca4eaf90ab313d6c97c1c22788eecbb002d3a00718cee13d901bdf790"}, "url": "/docs/compare/?release=9.4.13#9.4.13-9ea1ecf497ecca28", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "01a3f42570323f11d8590ebbab6be905", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Move autogenerated array types out of the way during ALTER ... RENAME", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab43bf4ca4eaf90ab313d6c97c1c22788eecbb002d3a00718cee13d901bdf790"}, "url": "/docs/compare/?release=9.3.18#9.3.18-9ea1ecf497ecca28", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "bdc3b303804932fa630f8a8d01e0e891", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Move autogenerated array types out of the way during ALTER ... RENAME", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ab43bf4ca4eaf90ab313d6c97c1c22788eecbb002d3a00718cee13d901bdf790"}, "url": "/docs/compare/?release=9.2.22#9.2.22-9ea1ecf497ecca28", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-012ede290ea9a275", "cves": [], "html": "<p>Fix dangling pointer in ALTER TABLE when there is a comment on a constraint belonging to the table (David Rowley)</p>\n<p>Re-applying the comment to the reconstructed constraint could fail with a weird error message, or even crash.</p>", "text": "Fix dangling pointer in ALTER TABLE when there is a comment on a constraint belonging to the table (David Rowley) Re-applying the comment to the reconstructed constraint could fail with a weird error message, or even crash.", "title": "Fix dangling pointer in ALTER TABLE when there is a comment on a constraint belonging to the table", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "2e79346a51a6295ffde9824303d22955b09a8b89532a3229e5c6ce1590939cf4", "section_path": ["Changes"], "commit_groups": [["12590c5d3", "53a1aa9f9", "b35cce914"]], "identity_text": "Fix dangling pointer in ALTER TABLE when there is a comment on a constraint belonging to the table (David Rowley) Re-applying the comment to the reconstructed constraint could fail with a weird error message, or even crash.", "commit_aliases": ["12590c5d3", "53a1aa9f9", "b35cce914"], "source_commits": ["b35cce914"], "source_entry_id": "9.6.4/changes/029", "db_id": "ba15e5c268a1a357e0d9406a7af562f3", "patch_ids": ["c999c5f280db0d34a7f056a94e07e96a"], "statement_hash": "0f660e6f689cf33ccfac7e4cd3ba137664528add01185cbf4506735c4ef02c30", "relations": [{"rule": 2, "type": "equivalent", "target": "ceabcf8bf0b524d39b3800b2d902e81e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f660e6f689cf33ccfac7e4cd3ba137664528add01185cbf4506735c4ef02c30"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "ceabcf8bf0b524d39b3800b2d902e81e", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix dangling pointer in ALTER TABLE when there is a comment on a constraint belonging to the table", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "0f660e6f689cf33ccfac7e4cd3ba137664528add01185cbf4506735c4ef02c30"}, "url": "/docs/compare/?release=9.5.8#9.5.8-012ede290ea9a275", "source_url": "/docs/release/9.5.8/#AEN129810"}]}, {"id": "9.6.4-7de8e8d56e1109e9", "cves": [], "html": "<p>Ensure that ALTER USER ... SET accepts all the syntax variants that ALTER ROLE ... SET does (Peter Eisentraut)</p>", "text": "Ensure that ALTER USER ... SET accepts all the syntax variants that ALTER ROLE ... SET does (Peter Eisentraut)", "title": "Ensure that ALTER USER ... SET accepts all the syntax variants that ALTER ROLE ... SET does", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "e3f30d8cc03c40d3bdb405e55d6528d9671ec50eb022fa148605a2796db9310f", "section_path": ["Changes"], "commit_groups": [["22eb38caa", "b37448122", "b7d1bc820", "df04db041", "e0446d06e", "f2878a608"]], "identity_text": "Ensure that ALTER USER ... SET accepts all the syntax variants that ALTER ROLE ... SET does (Peter Eisentraut)", "commit_aliases": ["22eb38caa", "b37448122", "b7d1bc820", "df04db041", "e0446d06e", "f2878a608"], "source_commits": ["df04db041"], "source_entry_id": "9.6.4/changes/030", "db_id": "e0dfbecb7a9539c1d00387e2230fd26a", "patch_ids": ["78e2410971251e0e0805aa53dfe3b52d"], "statement_hash": "76e3636bc07ca0ae7a9a7e9caafece2b1209327c81fbb02c916a3a229d9dcb02", "relations": [{"rule": 2, "type": "equivalent", "target": "2e9124e378f62726adf44d3d5bfc1844", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "76e3636bc07ca0ae7a9a7e9caafece2b1209327c81fbb02c916a3a229d9dcb02"}}, {"rule": 2, "type": "equivalent", "target": "64cd1132715305e1328535ca3f78902f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "76e3636bc07ca0ae7a9a7e9caafece2b1209327c81fbb02c916a3a229d9dcb02"}}, {"rule": 2, "type": "equivalent", "target": "78533c68c579d16f73c607cdc14e8a1f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "76e3636bc07ca0ae7a9a7e9caafece2b1209327c81fbb02c916a3a229d9dcb02"}}, {"rule": 2, "type": "equivalent", "target": "d30198df80a7b55813806adb967331f7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "76e3636bc07ca0ae7a9a7e9caafece2b1209327c81fbb02c916a3a229d9dcb02"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "d30198df80a7b55813806adb967331f7", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Ensure that ALTER USER ... SET accepts all the syntax variants that ALTER ROLE ... SET does", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "76e3636bc07ca0ae7a9a7e9caafece2b1209327c81fbb02c916a3a229d9dcb02"}, "url": "/docs/compare/?release=9.5.8#9.5.8-7de8e8d56e1109e9", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "78533c68c579d16f73c607cdc14e8a1f", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Ensure that ALTER USER ... SET accepts all the syntax variants that ALTER ROLE ... SET does", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "76e3636bc07ca0ae7a9a7e9caafece2b1209327c81fbb02c916a3a229d9dcb02"}, "url": "/docs/compare/?release=9.4.13#9.4.13-7de8e8d56e1109e9", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "64cd1132715305e1328535ca3f78902f", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Ensure that ALTER USER ... SET accepts all the syntax variants that ALTER ROLE ... SET does", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "76e3636bc07ca0ae7a9a7e9caafece2b1209327c81fbb02c916a3a229d9dcb02"}, "url": "/docs/compare/?release=9.3.18#9.3.18-7de8e8d56e1109e9", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "2e9124e378f62726adf44d3d5bfc1844", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Ensure that ALTER USER ... SET accepts all the syntax variants that ALTER ROLE ... SET does", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "76e3636bc07ca0ae7a9a7e9caafece2b1209327c81fbb02c916a3a229d9dcb02"}, "url": "/docs/compare/?release=9.2.22#9.2.22-7de8e8d56e1109e9", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-dc1257655405f91c", "cves": [], "html": "<p>Allow a foreign table's CHECK constraints to be initially NOT VALID (Amit Langote)</p>\n<p>CREATE TABLE silently drops NOT VALID specifiers for CHECK constraints, reasoning that the table must be empty so the constraint can be validated immediately. But this is wrong for CREATE FOREIGN TABLE, where there's no reason to suppose that the underlying table is empty, and even if it is it's no business of ours to decide that the constraint can be treated as valid going forward. Skip this <span>\"optimization\"</span> for foreign tables.</p>", "text": "Allow a foreign table's CHECK constraints to be initially NOT VALID (Amit Langote) CREATE TABLE silently drops NOT VALID specifiers for CHECK constraints, reasoning that the table must be empty so the constraint can be validated immediately. But this is wrong for CREATE FOREIGN TABLE, where there's no reason to suppose that the underlying table is empty, and even if it is it's no business of ours to decide that the constraint can be treated as valid going forward. Skip this \"optimization\" for foreign tables.", "title": "Allow a foreign table's CHECK constraints to be initially NOT VALID", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "3388610aeb29080898739ca221c0d07d45340a6385ba88333ab87574f69f6c40", "section_path": ["Changes"], "commit_groups": [["1f220c390", "86705aa8c"]], "identity_text": "Allow a foreign table's CHECK constraints to be initially NOT VALID (Amit Langote) CREATE TABLE silently drops NOT VALID specifiers for CHECK constraints, reasoning that the table must be empty so the constraint can be validated immediately. But this is wrong for CREATE FOREIGN TABLE, where there's no reason to suppose that the underlying table is empty, and even if it is it's no business of ours to decide that the constraint can be treated as valid going forward. Skip this optimization for foreign tables.", "commit_aliases": ["1f220c390", "86705aa8c"], "source_commits": ["1f220c390"], "source_entry_id": "9.6.4/changes/031", "db_id": "76ddd4cbca270506e56630a5fecfbc20", "patch_ids": ["27e9487ff05f55de1d97fdc5a7321fc4"], "statement_hash": "18103f730c567df1685fe648e0f3432a580366ff51f3afb4efefb82dfa7acc33", "relations": [], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.6.4-bb0bb8398f6cb2d4", "cves": [], "html": "<p>Properly update dependency info when changing a datatype I/O function's argument or return type from opaque to the correct type (Heikki Linnakangas)</p>\n<p>CREATE TYPE updates I/O functions declared in this long-obsolete style, but it forgot to record a dependency on the type, allowing a subsequent DROP TYPE to leave broken function definitions behind.</p>", "text": "Properly update dependency info when changing a datatype I/O function's argument or return type from opaque to the correct type (Heikki Linnakangas) CREATE TYPE updates I/O functions declared in this long-obsolete style, but it forgot to record a dependency on the type, allowing a subsequent DROP TYPE to leave broken function definitions behind.", "title": "Properly update dependency info when changing a datatype I/O function's argument or return type from opaque to the correct type", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "1b171210b0ce5ad5827a5e2d7251fc9e27c918f65aa1b623d3e5a8a62627a3b7", "section_path": ["Changes"], "commit_groups": [["30681c830", "501e6f8b7", "6338b50b9", "a9a5eb32b", "ac93a78b0", "b47e2f7a9"]], "identity_text": "Properly update dependency info when changing a datatype I/O function's argument or return type from opaque to the correct type (Heikki Linnakangas) CREATE TYPE updates I/O functions declared in this long-obsolete style, but it forgot to record a dependency on the type, allowing a subsequent DROP TYPE to leave broken function definitions behind.", "commit_aliases": ["30681c830", "501e6f8b7", "6338b50b9", "a9a5eb32b", "ac93a78b0", "b47e2f7a9"], "source_commits": ["a9a5eb32b"], "source_entry_id": "9.6.4/changes/032", "db_id": "1c71739ec0bc22b2086096c2e708bf8d", "patch_ids": ["6c901075f7e1f0c139a839b714ad1d22"], "statement_hash": "e3fdc8ebbdbf730a329bf0a859fb389fd46d076d6cc0d55d600ecc892a552e95", "relations": [{"rule": 2, "type": "equivalent", "target": "4ea6d45d75e4f4cbecc3f43197c0e279", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e3fdc8ebbdbf730a329bf0a859fb389fd46d076d6cc0d55d600ecc892a552e95"}}, {"rule": 2, "type": "equivalent", "target": "ca6de75b0e0794384b1bddc37b7725d6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e3fdc8ebbdbf730a329bf0a859fb389fd46d076d6cc0d55d600ecc892a552e95"}}, {"rule": 2, "type": "equivalent", "target": "e2f1d6fdaec7559842c2385b6c1b3960", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e3fdc8ebbdbf730a329bf0a859fb389fd46d076d6cc0d55d600ecc892a552e95"}}, {"rule": 2, "type": "equivalent", "target": "fc3e91d166da9eace934c7ce332d1d1a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e3fdc8ebbdbf730a329bf0a859fb389fd46d076d6cc0d55d600ecc892a552e95"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "4ea6d45d75e4f4cbecc3f43197c0e279", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Properly update dependency info when changing a datatype I/O function's argument or return type from opaque to the correct type", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e3fdc8ebbdbf730a329bf0a859fb389fd46d076d6cc0d55d600ecc892a552e95"}, "url": "/docs/compare/?release=9.5.8#9.5.8-bb0bb8398f6cb2d4", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "fc3e91d166da9eace934c7ce332d1d1a", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Properly update dependency info when changing a datatype I/O function's argument or return type from opaque to the correct type", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e3fdc8ebbdbf730a329bf0a859fb389fd46d076d6cc0d55d600ecc892a552e95"}, "url": "/docs/compare/?release=9.4.13#9.4.13-bb0bb8398f6cb2d4", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "ca6de75b0e0794384b1bddc37b7725d6", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Properly update dependency info when changing a datatype I/O function's argument or return type from opaque to the correct type", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e3fdc8ebbdbf730a329bf0a859fb389fd46d076d6cc0d55d600ecc892a552e95"}, "url": "/docs/compare/?release=9.3.18#9.3.18-bb0bb8398f6cb2d4", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "e2f1d6fdaec7559842c2385b6c1b3960", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Properly update dependency info when changing a datatype I/O function's argument or return type from opaque to the correct type", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e3fdc8ebbdbf730a329bf0a859fb389fd46d076d6cc0d55d600ecc892a552e95"}, "url": "/docs/compare/?release=9.2.22#9.2.22-bb0bb8398f6cb2d4", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-379eb77a7a8c33d7", "cves": [], "html": "<p>Allow parallelism in the query plan when COPY copies from a query's result (Andres Freund)</p>", "text": "Allow parallelism in the query plan when COPY copies from a query's result (Andres Freund)", "title": "Allow parallelism in the query plan when COPY copies from a query's result", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "e3254b711ee4bd13646f5eece51872e4ce04db8ada212d0868827184a8bab70a", "section_path": ["Changes"], "commit_groups": [["34aebcf42", "8a7cd781e"]], "identity_text": "Allow parallelism in the query plan when COPY copies from a query's result (Andres Freund)", "commit_aliases": ["34aebcf42", "8a7cd781e"], "source_commits": ["8a7cd781e"], "source_entry_id": "9.6.4/changes/033", "db_id": "9f7626cfb981bc8f9f5874026365f017", "patch_ids": ["0b33c9b1d6516637c2f1283cedfeb569"], "statement_hash": "47bd6a27c4c3119124c9a66ebbdceedfbb48e59b876abeedf6d9b3d966403971", "relations": [], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.6.4-f0b1716452989b1f", "cves": [], "html": "<p>Reduce memory usage when ANALYZE processes a tsvector column (Heikki Linnakangas)</p>", "text": "Reduce memory usage when ANALYZE processes a tsvector column (Heikki Linnakangas)", "title": "Reduce memory usage when ANALYZE processes a tsvector column", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "c5fc3d30d111b31cb4ed00f68f67f0e663b5e1d4f38460e53e23ad1189e8fade", "section_path": ["Changes"], "commit_groups": [["11854dee0", "209970ded", "40ba61b44", "852902822", "bbeec3c74", "da11977de"]], "identity_text": "Reduce memory usage when ANALYZE processes a tsvector column (Heikki Linnakangas)", "commit_aliases": ["11854dee0", "209970ded", "40ba61b44", "852902822", "bbeec3c74", "da11977de"], "source_commits": ["bbeec3c74"], "source_entry_id": "9.6.4/changes/034", "db_id": "186cde4e1db0f0be25d5d5bf57d359a3", "patch_ids": ["36b05fa4a27b3a3c009f2918c70b311e"], "statement_hash": "365b3b807b5473e4ab75e1425dcf3b1ac225ca482d4cf17dcea8abb928e59285", "relations": [{"rule": 2, "type": "equivalent", "target": "311b3cc3e4fa5b500aa9deca70df0ad1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "365b3b807b5473e4ab75e1425dcf3b1ac225ca482d4cf17dcea8abb928e59285"}}, {"rule": 2, "type": "equivalent", "target": "56a90a69a533a8f1b101b1a4530193a8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "365b3b807b5473e4ab75e1425dcf3b1ac225ca482d4cf17dcea8abb928e59285"}}, {"rule": 2, "type": "equivalent", "target": "9286e2faff7d6b1fff883e2bd2b97a77", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "365b3b807b5473e4ab75e1425dcf3b1ac225ca482d4cf17dcea8abb928e59285"}}, {"rule": 2, "type": "equivalent", "target": "b5fdaa42caf9e6d138b07b5dc501401e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "365b3b807b5473e4ab75e1425dcf3b1ac225ca482d4cf17dcea8abb928e59285"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "b5fdaa42caf9e6d138b07b5dc501401e", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Reduce memory usage when ANALYZE processes a tsvector column", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "365b3b807b5473e4ab75e1425dcf3b1ac225ca482d4cf17dcea8abb928e59285"}, "url": "/docs/compare/?release=9.5.8#9.5.8-f0b1716452989b1f", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "311b3cc3e4fa5b500aa9deca70df0ad1", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Reduce memory usage when ANALYZE processes a tsvector column", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "365b3b807b5473e4ab75e1425dcf3b1ac225ca482d4cf17dcea8abb928e59285"}, "url": "/docs/compare/?release=9.4.13#9.4.13-f0b1716452989b1f", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "9286e2faff7d6b1fff883e2bd2b97a77", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Reduce memory usage when ANALYZE processes a tsvector column", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "365b3b807b5473e4ab75e1425dcf3b1ac225ca482d4cf17dcea8abb928e59285"}, "url": "/docs/compare/?release=9.3.18#9.3.18-f0b1716452989b1f", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "56a90a69a533a8f1b101b1a4530193a8", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Reduce memory usage when ANALYZE processes a tsvector column", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "365b3b807b5473e4ab75e1425dcf3b1ac225ca482d4cf17dcea8abb928e59285"}, "url": "/docs/compare/?release=9.2.22#9.2.22-f0b1716452989b1f", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-c2c27ee85f9d77fe", "cves": [], "html": "<p>Fix unnecessary precision loss and sloppy rounding when multiplying or dividing money values by integers or floats (Tom Lane)</p>", "text": "Fix unnecessary precision loss and sloppy rounding when multiplying or dividing money values by integers or floats (Tom Lane)", "title": "Fix unnecessary precision loss and sloppy rounding when multiplying or dividing money values by integers or floats", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "9ea3fb8cd3a93e33ffed92cba87e6420b777163d1765dac5810042a1810c8c87", "section_path": ["Changes"], "commit_groups": [["5032f704e", "798d2321e", "83f4e8f71", "b3c536bce", "c101d83a3", "d761fe218"]], "identity_text": "Fix unnecessary precision loss and sloppy rounding when multiplying or dividing money values by integers or floats (Tom Lane)", "commit_aliases": ["5032f704e", "798d2321e", "83f4e8f71", "b3c536bce", "c101d83a3", "d761fe218"], "source_commits": ["c101d83a3"], "source_entry_id": "9.6.4/changes/035", "db_id": "e18ad23e444eafe61e775b732271dcc6", "patch_ids": ["2d8a217a466d8d91cecdbf60b5fd9b43"], "statement_hash": "8366e04a8cbfa6fcab7fa6659f1c4a822f67b3552f11a185ff2bcc49708c0bc5", "relations": [{"rule": 2, "type": "equivalent", "target": "200144e3d3d62f9ce4f389e55d3f4745", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8366e04a8cbfa6fcab7fa6659f1c4a822f67b3552f11a185ff2bcc49708c0bc5"}}, {"rule": 2, "type": "equivalent", "target": "4b94c1478911b41eaef82286d2b45208", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8366e04a8cbfa6fcab7fa6659f1c4a822f67b3552f11a185ff2bcc49708c0bc5"}}, {"rule": 2, "type": "equivalent", "target": "c7eb7fb2b29170b05a637ca27c2a7539", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8366e04a8cbfa6fcab7fa6659f1c4a822f67b3552f11a185ff2bcc49708c0bc5"}}, {"rule": 2, "type": "equivalent", "target": "e7af3496a98b2881c3be33678b312c32", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8366e04a8cbfa6fcab7fa6659f1c4a822f67b3552f11a185ff2bcc49708c0bc5"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "4b94c1478911b41eaef82286d2b45208", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix unnecessary precision loss and sloppy rounding when multiplying or dividing money values by integers or floats", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8366e04a8cbfa6fcab7fa6659f1c4a822f67b3552f11a185ff2bcc49708c0bc5"}, "url": "/docs/compare/?release=9.5.8#9.5.8-c2c27ee85f9d77fe", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "200144e3d3d62f9ce4f389e55d3f4745", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix unnecessary precision loss and sloppy rounding when multiplying or dividing money values by integers or floats", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8366e04a8cbfa6fcab7fa6659f1c4a822f67b3552f11a185ff2bcc49708c0bc5"}, "url": "/docs/compare/?release=9.4.13#9.4.13-c2c27ee85f9d77fe", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "c7eb7fb2b29170b05a637ca27c2a7539", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix unnecessary precision loss and sloppy rounding when multiplying or dividing money values by integers or floats", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8366e04a8cbfa6fcab7fa6659f1c4a822f67b3552f11a185ff2bcc49708c0bc5"}, "url": "/docs/compare/?release=9.3.18#9.3.18-c2c27ee85f9d77fe", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "e7af3496a98b2881c3be33678b312c32", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix unnecessary precision loss and sloppy rounding when multiplying or dividing money values by integers or floats", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8366e04a8cbfa6fcab7fa6659f1c4a822f67b3552f11a185ff2bcc49708c0bc5"}, "url": "/docs/compare/?release=9.2.22#9.2.22-c2c27ee85f9d77fe", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-ed72309a22f097e7", "cves": [], "html": "<p>Tighten checks for whitespace in functions that parse identifiers, such as <code>regprocedurein()</code> (Tom Lane)</p>\n<p>Depending on the prevailing locale, these functions could misinterpret fragments of multibyte characters as whitespace.</p>", "text": "Tighten checks for whitespace in functions that parse identifiers, such as regprocedurein() (Tom Lane) Depending on the prevailing locale, these functions could misinterpret fragments of multibyte characters as whitespace.", "title": "Tighten checks for whitespace in functions that parse identifiers, such as regprocedurein()", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "01880c548587e8427b61b42f1bd2e644d1040e3eceb0f89a0c6c57c3368195c1", "section_path": ["Changes"], "commit_groups": [["2c5e3fab3", "8527132e5", "971a158e6", "9ae2661fe", "a047270d5", "a3043d363"]], "identity_text": "Tighten checks for whitespace in functions that parse identifiers, such as regprocedurein() (Tom Lane) Depending on the prevailing locale, these functions could misinterpret fragments of multibyte characters as whitespace.", "commit_aliases": ["2c5e3fab3", "8527132e5", "971a158e6", "9ae2661fe", "a047270d5", "a3043d363"], "source_commits": ["8527132e5"], "source_entry_id": "9.6.4/changes/036", "db_id": "51131f8d3f132e0ebe995be51a7e214b", "patch_ids": ["0044fa0cd3186f3d87434a8f20a07663"], "statement_hash": "33a525d2ff427c75198e734de5916d99da60fdf6f04405fd1a0236afacf40807", "relations": [{"rule": 2, "type": "equivalent", "target": "3c0a5921b737f2e58d32771afebaa81e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "33a525d2ff427c75198e734de5916d99da60fdf6f04405fd1a0236afacf40807"}}, {"rule": 2, "type": "equivalent", "target": "7dc7725bf5e33baf9a4661587b0e8778", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "33a525d2ff427c75198e734de5916d99da60fdf6f04405fd1a0236afacf40807"}}, {"rule": 2, "type": "equivalent", "target": "835321b9bb87e7c0b5749d5c3a0a71eb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "33a525d2ff427c75198e734de5916d99da60fdf6f04405fd1a0236afacf40807"}}, {"rule": 2, "type": "equivalent", "target": "9efb4404669223331c80f16eb8181e0e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "33a525d2ff427c75198e734de5916d99da60fdf6f04405fd1a0236afacf40807"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "7dc7725bf5e33baf9a4661587b0e8778", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Tighten checks for whitespace in functions that parse identifiers, such as regprocedurein()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "33a525d2ff427c75198e734de5916d99da60fdf6f04405fd1a0236afacf40807"}, "url": "/docs/compare/?release=9.5.8#9.5.8-ed72309a22f097e7", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "9efb4404669223331c80f16eb8181e0e", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Tighten checks for whitespace in functions that parse identifiers, such as regprocedurein()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "33a525d2ff427c75198e734de5916d99da60fdf6f04405fd1a0236afacf40807"}, "url": "/docs/compare/?release=9.4.13#9.4.13-ed72309a22f097e7", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "3c0a5921b737f2e58d32771afebaa81e", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Tighten checks for whitespace in functions that parse identifiers, such as regprocedurein()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "33a525d2ff427c75198e734de5916d99da60fdf6f04405fd1a0236afacf40807"}, "url": "/docs/compare/?release=9.3.18#9.3.18-ed72309a22f097e7", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "835321b9bb87e7c0b5749d5c3a0a71eb", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Tighten checks for whitespace in functions that parse identifiers, such as regprocedurein()", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "33a525d2ff427c75198e734de5916d99da60fdf6f04405fd1a0236afacf40807"}, "url": "/docs/compare/?release=9.2.22#9.2.22-ed72309a22f097e7", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-b4bd58a57b38860f", "cves": [], "html": "<p>Use relevant #define symbols from Perl while compiling <span>PL/Perl</span> (Ashutosh Sharma, Tom Lane)</p>\n<p>This avoids portability problems, typically manifesting as a <span>\"handshake\"</span> mismatch during library load, when working with recent Perl versions.</p>", "text": "Use relevant #define symbols from Perl while compiling PL/Perl (Ashutosh Sharma, Tom Lane) This avoids portability problems, typically manifesting as a \"handshake\" mismatch during library load, when working with recent Perl versions.", "title": "Use relevant #define symbols from Perl while compiling PL/Perl", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "14ae36077d20560b377d74c2cf9bf07abf20b52f78678ed3ca71c816a3b06132", "section_path": ["Changes"], "commit_groups": [["0d8f015e7", "1e58c503e", "3c163a7fc", "456c7dff2", "9cbdc6894", "df52739ce"], ["30a5c8bfb", "99eea89db", "b4b958251", "b92f17277", "bebe174bb", "d48180ec8"]], "identity_text": "Use relevant #define symbols from Perl while compiling PL/Perl (Ashutosh Sharma, Tom Lane) This avoids portability problems, typically manifesting as a handshake mismatch during library load, when working with recent Perl versions.", "commit_aliases": ["0d8f015e7", "1e58c503e", "30a5c8bfb", "3c163a7fc", "456c7dff2", "99eea89db", "9cbdc6894", "b4b958251", "b92f17277", "bebe174bb", "d48180ec8", "df52739ce"], "source_commits": ["1e58c503e", "30a5c8bfb"], "source_entry_id": "9.6.4/changes/037", "db_id": "305da47f50ed8f0ce3a821641c6f95b6", "patch_ids": ["3a3b2b637fc116d54e43267cbff8831e", "642fd6fb30e0bf40b080005c01dbcbcb"], "statement_hash": "8ffb54d766224c3c9334c048e9778b417e5a58e08157d45b8ccb288415adb02e", "relations": [{"rule": 2, "type": "equivalent", "target": "9d939394d3ef977b355d5067c31096da", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8ffb54d766224c3c9334c048e9778b417e5a58e08157d45b8ccb288415adb02e"}}, {"rule": 2, "type": "equivalent", "target": "c22a12a11473dfddf3f84f1ae9150cfb", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8ffb54d766224c3c9334c048e9778b417e5a58e08157d45b8ccb288415adb02e"}}, {"rule": 2, "type": "equivalent", "target": "c77f2092d00b5020f4fa8133a9904bef", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8ffb54d766224c3c9334c048e9778b417e5a58e08157d45b8ccb288415adb02e"}}, {"rule": 2, "type": "equivalent", "target": "e1497c1373601f3a52ad6e5179cebd31", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8ffb54d766224c3c9334c048e9778b417e5a58e08157d45b8ccb288415adb02e"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c77f2092d00b5020f4fa8133a9904bef", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Use relevant #define symbols from Perl while compiling PL/Perl", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8ffb54d766224c3c9334c048e9778b417e5a58e08157d45b8ccb288415adb02e"}, "url": "/docs/compare/?release=9.5.8#9.5.8-b4bd58a57b38860f", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "c22a12a11473dfddf3f84f1ae9150cfb", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Use relevant #define symbols from Perl while compiling PL/Perl", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8ffb54d766224c3c9334c048e9778b417e5a58e08157d45b8ccb288415adb02e"}, "url": "/docs/compare/?release=9.4.13#9.4.13-b4bd58a57b38860f", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "e1497c1373601f3a52ad6e5179cebd31", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Use relevant #define symbols from Perl while compiling PL/Perl", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8ffb54d766224c3c9334c048e9778b417e5a58e08157d45b8ccb288415adb02e"}, "url": "/docs/compare/?release=9.3.18#9.3.18-b4bd58a57b38860f", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "9d939394d3ef977b355d5067c31096da", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Use relevant #define symbols from Perl while compiling PL/Perl", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "8ffb54d766224c3c9334c048e9778b417e5a58e08157d45b8ccb288415adb02e"}, "url": "/docs/compare/?release=9.2.22#9.2.22-b4bd58a57b38860f", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-8f203e2ef1292d09", "cves": [], "html": "<p>In <span>libpq</span>, reset GSS/SASL and SSPI authentication state properly after a failed connection attempt (Michael Paquier)</p>\n<p>Failure to do this meant that when falling back from SSL to non-SSL connections, a GSS/SASL failure in the SSL attempt would always cause the non-SSL attempt to fail. SSPI did not fail, but it leaked memory.</p>", "text": "In libpq, reset GSS/SASL and SSPI authentication state properly after a failed connection attempt (Michael Paquier) Failure to do this meant that when falling back from SSL to non-SSL connections, a GSS/SASL failure in the SSL attempt would always cause the non-SSL attempt to fail. SSPI did not fail, but it leaked memory.", "title": "In libpq, reset GSS/SASL and SSPI authentication state properly after a failed connection attempt", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "a084e315f474cab212649dbd1d301034e8accf543ee0efcd2feb9ea2691a255e", "section_path": ["Changes"], "commit_groups": [["1fe1fc449", "739cb7f8b", "e6c33d594", "f2fa0c651", "f44c609ea"]], "identity_text": "In libpq, reset GSS/SASL and SSPI authentication state properly after a failed connection attempt (Michael Paquier) Failure to do this meant that when falling back from SSL to non-SSL connections, a GSS/SASL failure in the SSL attempt would always cause the non-SSL attempt to fail. SSPI did not fail, but it leaked memory.", "commit_aliases": ["1fe1fc449", "739cb7f8b", "e6c33d594", "f2fa0c651", "f44c609ea"], "source_commits": ["f44c609ea"], "source_entry_id": "9.6.4/changes/038", "db_id": "0456888e68ba9735aed31467beaa1606", "patch_ids": ["5b0a662cf429607716c22756bf78fd17"], "statement_hash": "ca8fd63d5e0f44a3bf05c82f0ef526c0be1eb2497b6175a6cfed79a615aad31d", "relations": [{"rule": 2, "type": "equivalent", "target": "0e0c8800fb2de2726071d288ab427a2a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ca8fd63d5e0f44a3bf05c82f0ef526c0be1eb2497b6175a6cfed79a615aad31d"}}, {"rule": 2, "type": "equivalent", "target": "4236ed294a48db58aaecec60f5bd28d3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ca8fd63d5e0f44a3bf05c82f0ef526c0be1eb2497b6175a6cfed79a615aad31d"}}, {"rule": 2, "type": "equivalent", "target": "bce8f77346d60ccbd6093c02df55203d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ca8fd63d5e0f44a3bf05c82f0ef526c0be1eb2497b6175a6cfed79a615aad31d"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "0e0c8800fb2de2726071d288ab427a2a", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "In libpq, reset GSS/SASL and SSPI authentication state properly after a failed connection attempt", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ca8fd63d5e0f44a3bf05c82f0ef526c0be1eb2497b6175a6cfed79a615aad31d"}, "url": "/docs/compare/?release=9.5.8#9.5.8-8f203e2ef1292d09", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "bce8f77346d60ccbd6093c02df55203d", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "In libpq, reset GSS/SASL and SSPI authentication state properly after a failed connection attempt", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ca8fd63d5e0f44a3bf05c82f0ef526c0be1eb2497b6175a6cfed79a615aad31d"}, "url": "/docs/compare/?release=9.4.13#9.4.13-8f203e2ef1292d09", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "4236ed294a48db58aaecec60f5bd28d3", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "In libpq, reset GSS/SASL and SSPI authentication state properly after a failed connection attempt", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "ca8fd63d5e0f44a3bf05c82f0ef526c0be1eb2497b6175a6cfed79a615aad31d"}, "url": "/docs/compare/?release=9.3.18#9.3.18-8f203e2ef1292d09", "source_url": "/docs/release/9.3.18/#AEN115887"}]}, {"id": "9.6.4-e30a7c141a0b9dba", "cves": [], "html": "<p>In <span>psql</span>, fix failure when COPY FROM STDIN is ended with a keyboard EOF signal and then another COPY FROM STDIN is attempted (Thomas Munro)</p>\n<p>This misbehavior was observed on BSD-derived platforms (including macOS), but not on most others.</p>", "text": "In psql, fix failure when COPY FROM STDIN is ended with a keyboard EOF signal and then another COPY FROM STDIN is attempted (Thomas Munro) This misbehavior was observed on BSD-derived platforms (including macOS), but not on most others.", "title": "In psql, fix failure when COPY FROM STDIN is ended with a keyboard EOF signal and then another COPY FROM STDIN is attempted", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "1b9eeab800e9aa4c751893f45cadc1cec0008b9663d4b42270ffbf16924bcbb2", "section_path": ["Changes"], "commit_groups": [["07477130e", "49dfbb53c", "6bc710f6d", "9485516ea", "bee9e8698", "ff0e30512"]], "identity_text": "In psql, fix failure when COPY FROM STDIN is ended with a keyboard EOF signal and then another COPY FROM STDIN is attempted (Thomas Munro) This misbehavior was observed on BSD-derived platforms (including macOS), but not on most others.", "commit_aliases": ["07477130e", "49dfbb53c", "6bc710f6d", "9485516ea", "bee9e8698", "ff0e30512"], "source_commits": ["bee9e8698"], "source_entry_id": "9.6.4/changes/039", "db_id": "97b6de864a42aee7da373e5fe0c118fd", "patch_ids": ["3b19455ea29ab8719801cfbd99969752"], "statement_hash": "e63d43415c19dc213f64879bb7ecdaf630d9c466c9416e88c9b29aa4d2645bdb", "relations": [{"rule": 2, "type": "equivalent", "target": "6004f396e99c733a1e660e68647024bc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e63d43415c19dc213f64879bb7ecdaf630d9c466c9416e88c9b29aa4d2645bdb"}}, {"rule": 2, "type": "equivalent", "target": "848a728f38402af058ade6e9b1bebe80", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e63d43415c19dc213f64879bb7ecdaf630d9c466c9416e88c9b29aa4d2645bdb"}}, {"rule": 2, "type": "equivalent", "target": "b68ddd9f7cc23e1e7f98a7342cfb1006", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e63d43415c19dc213f64879bb7ecdaf630d9c466c9416e88c9b29aa4d2645bdb"}}, {"rule": 2, "type": "equivalent", "target": "ef425a41068590fd5bab895976085ff8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e63d43415c19dc213f64879bb7ecdaf630d9c466c9416e88c9b29aa4d2645bdb"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "6004f396e99c733a1e660e68647024bc", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "In psql, fix failure when COPY FROM STDIN is ended with a keyboard EOF signal and then another COPY FROM STDIN is attempted", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e63d43415c19dc213f64879bb7ecdaf630d9c466c9416e88c9b29aa4d2645bdb"}, "url": "/docs/compare/?release=9.5.8#9.5.8-e30a7c141a0b9dba", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "ef425a41068590fd5bab895976085ff8", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "In psql, fix failure when COPY FROM STDIN is ended with a keyboard EOF signal and then another COPY FROM STDIN is attempted", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e63d43415c19dc213f64879bb7ecdaf630d9c466c9416e88c9b29aa4d2645bdb"}, "url": "/docs/compare/?release=9.4.13#9.4.13-e30a7c141a0b9dba", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "b68ddd9f7cc23e1e7f98a7342cfb1006", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "In psql, fix failure when COPY FROM STDIN is ended with a keyboard EOF signal and then another COPY FROM STDIN is attempted", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e63d43415c19dc213f64879bb7ecdaf630d9c466c9416e88c9b29aa4d2645bdb"}, "url": "/docs/compare/?release=9.3.18#9.3.18-e30a7c141a0b9dba", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "848a728f38402af058ade6e9b1bebe80", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "In psql, fix failure when COPY FROM STDIN is ended with a keyboard EOF signal and then another COPY FROM STDIN is attempted", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e63d43415c19dc213f64879bb7ecdaf630d9c466c9416e88c9b29aa4d2645bdb"}, "url": "/docs/compare/?release=9.2.22#9.2.22-e30a7c141a0b9dba", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-1b8d8b84c63fbf5b", "cves": [], "html": "<p>Fix <span>pg_dump</span> and <span>pg_restore</span> to emit REFRESH MATERIALIZED VIEW commands last (Tom Lane)</p>\n<p>This prevents errors during dump/restore when a materialized view refers to tables owned by a different user.</p>", "text": "Fix pg_dump and pg_restore to emit REFRESH MATERIALIZED VIEW commands last (Tom Lane) This prevents errors during dump/restore when a materialized view refers to tables owned by a different user.", "title": "Fix pg_dump and pg_restore to emit REFRESH MATERIALIZED VIEW commands last", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "875bb64b69e27d4769627cd6d824cc0ea22d22bd6cbf301ca94dc6a9360cb543", "section_path": ["Changes"], "commit_groups": [["035bb8222", "3d7632829", "3eb9a5e7c", "65048cf23", "b93217653"]], "identity_text": "Fix pg_dump and pg_restore to emit REFRESH MATERIALIZED VIEW commands last (Tom Lane) This prevents errors during dump/restore when a materialized view refers to tables owned by a different user.", "commit_aliases": ["035bb8222", "3d7632829", "3eb9a5e7c", "65048cf23", "b93217653"], "source_commits": ["3d7632829"], "source_entry_id": "9.6.4/changes/040", "db_id": "1099adc868f2fd81340f5ad0ff580c3e", "patch_ids": ["30fe8dfd5a078c773fb74f6e185f72af"], "statement_hash": "e445fe3229a0ba18c760210f9dc63a30424288f15b99e20efd6b0171ffd1d02a", "relations": [{"rule": 2, "type": "equivalent", "target": "0f3addd499cf349a5d6de089b899807d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e445fe3229a0ba18c760210f9dc63a30424288f15b99e20efd6b0171ffd1d02a"}}, {"rule": 2, "type": "equivalent", "target": "a5195efadb3588413ab4580829892e47", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e445fe3229a0ba18c760210f9dc63a30424288f15b99e20efd6b0171ffd1d02a"}}, {"rule": 2, "type": "equivalent", "target": "f3362d3ac0ab12a7af758d2723b8575f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e445fe3229a0ba18c760210f9dc63a30424288f15b99e20efd6b0171ffd1d02a"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "a5195efadb3588413ab4580829892e47", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix pg_dump and pg_restore to emit REFRESH MATERIALIZED VIEW commands last", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e445fe3229a0ba18c760210f9dc63a30424288f15b99e20efd6b0171ffd1d02a"}, "url": "/docs/compare/?release=9.5.8#9.5.8-1b8d8b84c63fbf5b", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "0f3addd499cf349a5d6de089b899807d", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix pg_dump and pg_restore to emit REFRESH MATERIALIZED VIEW commands last", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e445fe3229a0ba18c760210f9dc63a30424288f15b99e20efd6b0171ffd1d02a"}, "url": "/docs/compare/?release=9.4.13#9.4.13-1b8d8b84c63fbf5b", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "f3362d3ac0ab12a7af758d2723b8575f", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix pg_dump and pg_restore to emit REFRESH MATERIALIZED VIEW commands last", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e445fe3229a0ba18c760210f9dc63a30424288f15b99e20efd6b0171ffd1d02a"}, "url": "/docs/compare/?release=9.3.18#9.3.18-1b8d8b84c63fbf5b", "source_url": "/docs/release/9.3.18/#AEN115887"}]}, {"id": "9.6.4-56d060347db19993", "cves": [], "html": "<p>Improve <span>pg_dump</span>/<span>pg_restore</span>'s reporting of error conditions originating in <span>zlib</span> (Vladimir Kunschikov, Álvaro Herrera)</p>", "text": "Improve pg_dump/pg_restore's reporting of error conditions originating in zlib (Vladimir Kunschikov, Álvaro Herrera)", "title": "Improve pg_dump/pg_restore's reporting of error conditions originating in zlib", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "463c407f79bc6f694f824da7a9cbf5f17473bf9d4d1272eae0a6281303e0f651", "section_path": ["Changes"], "commit_groups": [["060393f2a", "330e68734", "4d57e8381", "f3142c027"], ["12f1e523a", "611840074", "69ad12b58", "9a3b5d3ad"]], "identity_text": "Improve pg_dump/pg_restore's reporting of error conditions originating in zlib (Vladimir Kunschikov, Álvaro Herrera)", "commit_aliases": ["060393f2a", "12f1e523a", "330e68734", "4d57e8381", "611840074", "69ad12b58", "9a3b5d3ad", "f3142c027"], "source_commits": ["060393f2a", "611840074"], "source_entry_id": "9.6.4/changes/041", "db_id": "86d8c7635ffee30605202b723c89cbf9", "patch_ids": ["5dad7b4e07858301d2eeb0cb7653fe17", "c9cc37dfa7dedd5cf1f9f033d6092222"], "statement_hash": "b2b7b4673385eaac5f73aa1e875e0dcd791b591111c7ba536075e6a40e708857", "relations": [{"rule": 2, "type": "equivalent", "target": "9d40dcf849197f9c4c220d20840f6fad", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2b7b4673385eaac5f73aa1e875e0dcd791b591111c7ba536075e6a40e708857"}}, {"rule": 2, "type": "equivalent", "target": "c0c492a913bfa6f850b9e8aa69ad6891", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2b7b4673385eaac5f73aa1e875e0dcd791b591111c7ba536075e6a40e708857"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c0c492a913bfa6f850b9e8aa69ad6891", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Improve pg_dump/pg_restore's reporting of error conditions originating in zlib", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2b7b4673385eaac5f73aa1e875e0dcd791b591111c7ba536075e6a40e708857"}, "url": "/docs/compare/?release=9.5.8#9.5.8-56d060347db19993", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "9d40dcf849197f9c4c220d20840f6fad", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Improve pg_dump/pg_restore's reporting of error conditions originating in zlib", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b2b7b4673385eaac5f73aa1e875e0dcd791b591111c7ba536075e6a40e708857"}, "url": "/docs/compare/?release=9.4.13#9.4.13-56d060347db19993", "source_url": "/docs/release/9.4.13/#AEN121463"}]}, {"id": "9.6.4-fb68502fb6d76924", "cves": [], "html": "<p>Fix <span>pg_dump</span> with the --clean option to drop event triggers as expected (Tom Lane)</p>\n<p>It also now correctly assigns ownership of event triggers; before, they were restored as being owned by the superuser running the restore script.</p>", "text": "Fix pg_dump with the --clean option to drop event triggers as expected (Tom Lane) It also now correctly assigns ownership of event triggers; before, they were restored as being owned by the superuser running the restore script.", "title": "Fix pg_dump with the --clean option to drop event triggers as expected", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "f0e8e980ea8146f12c218b92fb33435bc19fd73d85da9afda938bfc187c29dbe", "section_path": ["Changes"], "commit_groups": [["502ead3d6", "68a22bc69", "7debd9f79", "82ebda7ff", "93f039b49"]], "identity_text": "Fix pg_dump with the --clean option to drop event triggers as expected (Tom Lane) It also now correctly assigns ownership of event triggers; before, they were restored as being owned by the superuser running the restore script.", "commit_aliases": ["502ead3d6", "68a22bc69", "7debd9f79", "82ebda7ff", "93f039b49"], "source_commits": ["82ebda7ff"], "source_entry_id": "9.6.4/changes/042", "db_id": "97c42efa76ac8fe42886299078852fce", "patch_ids": ["6c8eb99ab0fce70118eb73ac50090091"], "statement_hash": "a61ddcf60161a2d001ef8322d164a9ce79247dd970745dc7dc6e1bb4e810f2ff", "relations": [{"rule": 2, "type": "equivalent", "target": "68fc53e5832525f0fc13e98ded49aff3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a61ddcf60161a2d001ef8322d164a9ce79247dd970745dc7dc6e1bb4e810f2ff"}}, {"rule": 2, "type": "equivalent", "target": "757afa6498006786ef942aadca896b7c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a61ddcf60161a2d001ef8322d164a9ce79247dd970745dc7dc6e1bb4e810f2ff"}}, {"rule": 2, "type": "equivalent", "target": "8d0ccb7e11a250148fe2060c4cb25b8b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a61ddcf60161a2d001ef8322d164a9ce79247dd970745dc7dc6e1bb4e810f2ff"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "757afa6498006786ef942aadca896b7c", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix pg_dump with the --clean option to drop event triggers as expected", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a61ddcf60161a2d001ef8322d164a9ce79247dd970745dc7dc6e1bb4e810f2ff"}, "url": "/docs/compare/?release=9.5.8#9.5.8-fb68502fb6d76924", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "68fc53e5832525f0fc13e98ded49aff3", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix pg_dump with the --clean option to drop event triggers as expected", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a61ddcf60161a2d001ef8322d164a9ce79247dd970745dc7dc6e1bb4e810f2ff"}, "url": "/docs/compare/?release=9.4.13#9.4.13-fb68502fb6d76924", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "8d0ccb7e11a250148fe2060c4cb25b8b", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix pg_dump with the --clean option to drop event triggers as expected", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a61ddcf60161a2d001ef8322d164a9ce79247dd970745dc7dc6e1bb4e810f2ff"}, "url": "/docs/compare/?release=9.3.18#9.3.18-fb68502fb6d76924", "source_url": "/docs/release/9.3.18/#AEN115887"}]}, {"id": "9.6.4-224b06213fdec42d", "cves": [], "html": "<p>Fix <span>pg_dump</span> with the --clean option to not fail when the public schema doesn't exist (Stephen Frost)</p>", "text": "Fix pg_dump with the --clean option to not fail when the public schema doesn't exist (Stephen Frost)", "title": "Fix pg_dump with the --clean option to not fail when the public schema doesn't exist", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "2ccd9390da0a8f80b0afa8ef61ad0ad3ac62b0ba1fc82e694af3115d73c0cfdf", "section_path": ["Changes"], "commit_groups": [["4500edc7e", "a2de017b3"]], "identity_text": "Fix pg_dump with the --clean option to not fail when the public schema doesn't exist (Stephen Frost)", "commit_aliases": ["4500edc7e", "a2de017b3"], "source_commits": ["a2de017b3"], "source_entry_id": "9.6.4/changes/043", "db_id": "1e37237081857ffa9c38a77c259a4ab5", "patch_ids": ["9a673a705d8e4e552cbb854e309563e3"], "statement_hash": "a2496db44a18ea77046e590de0696cd4743a2f3845cff3c2dbec7a331bb63175", "relations": [], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": []}, {"id": "9.6.4-29cc8627054a64f5", "cves": [], "html": "<p>Fix <span>pg_dump</span> to not emit invalid SQL for an empty operator class (Daniel Gustafsson)</p>", "text": "Fix pg_dump to not emit invalid SQL for an empty operator class (Daniel Gustafsson)", "title": "Fix pg_dump to not emit invalid SQL for an empty operator class", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "f5ad6eebaf96f31e58f96e49b42471beb7078553d65280eafb496bcb5467f773", "section_path": ["Changes"], "commit_groups": [["0461b66e3", "1cfc9dc75", "41c4eb5ec", "5886c7d58", "a561254e4", "f62e1eff5"]], "identity_text": "Fix pg_dump to not emit invalid SQL for an empty operator class (Daniel Gustafsson)", "commit_aliases": ["0461b66e3", "1cfc9dc75", "41c4eb5ec", "5886c7d58", "a561254e4", "f62e1eff5"], "source_commits": ["5886c7d58"], "source_entry_id": "9.6.4/changes/044", "db_id": "c29c869ad06caa372ac1b5711b9554d1", "patch_ids": ["8b2fa89b416305a76de85c89fa9df638"], "statement_hash": "7de335b3642bf82226d51ea151046738e5a2e1ee3b0e1ec54d6e083213dc5518", "relations": [{"rule": 2, "type": "equivalent", "target": "070697fb947119da494553bda2f124c7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7de335b3642bf82226d51ea151046738e5a2e1ee3b0e1ec54d6e083213dc5518"}}, {"rule": 2, "type": "equivalent", "target": "840b295f4eeb4c935d37f6c1a782f8cc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7de335b3642bf82226d51ea151046738e5a2e1ee3b0e1ec54d6e083213dc5518"}}, {"rule": 2, "type": "equivalent", "target": "86c3940da42bf99013987523bdf3df4a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7de335b3642bf82226d51ea151046738e5a2e1ee3b0e1ec54d6e083213dc5518"}}, {"rule": 2, "type": "equivalent", "target": "e0228a65ed5fca34bd88526c45df6259", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7de335b3642bf82226d51ea151046738e5a2e1ee3b0e1ec54d6e083213dc5518"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "e0228a65ed5fca34bd88526c45df6259", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix pg_dump to not emit invalid SQL for an empty operator class", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7de335b3642bf82226d51ea151046738e5a2e1ee3b0e1ec54d6e083213dc5518"}, "url": "/docs/compare/?release=9.5.8#9.5.8-29cc8627054a64f5", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "070697fb947119da494553bda2f124c7", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix pg_dump to not emit invalid SQL for an empty operator class", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7de335b3642bf82226d51ea151046738e5a2e1ee3b0e1ec54d6e083213dc5518"}, "url": "/docs/compare/?release=9.4.13#9.4.13-29cc8627054a64f5", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "840b295f4eeb4c935d37f6c1a782f8cc", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix pg_dump to not emit invalid SQL for an empty operator class", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7de335b3642bf82226d51ea151046738e5a2e1ee3b0e1ec54d6e083213dc5518"}, "url": "/docs/compare/?release=9.3.18#9.3.18-29cc8627054a64f5", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "86c3940da42bf99013987523bdf3df4a", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix pg_dump to not emit invalid SQL for an empty operator class", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "7de335b3642bf82226d51ea151046738e5a2e1ee3b0e1ec54d6e083213dc5518"}, "url": "/docs/compare/?release=9.2.22#9.2.22-29cc8627054a64f5", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-4e1bd30780ce43cf", "cves": [], "html": "<p>Fix <span>pg_dump</span> output to stdout on Windows (Kuntal Ghosh)</p>\n<p>A compressed plain-text dump written to stdout would contain corrupt data due to failure to put the file descriptor into binary mode.</p>", "text": "Fix pg_dump output to stdout on Windows (Kuntal Ghosh) A compressed plain-text dump written to stdout would contain corrupt data due to failure to put the file descriptor into binary mode.", "title": "Fix pg_dump output to stdout on Windows", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "e20d6b9b8eef49653218c507006232bc76dd49d693dfc8a753c19aab88a6bed8", "section_path": ["Changes"], "commit_groups": [["2943c04f7", "3ef40dcec", "4fc274dd8", "bd61d5a19", "c10cbf77a", "d063f972d"]], "identity_text": "Fix pg_dump output to stdout on Windows (Kuntal Ghosh) A compressed plain-text dump written to stdout would contain corrupt data due to failure to put the file descriptor into binary mode.", "commit_aliases": ["2943c04f7", "3ef40dcec", "4fc274dd8", "bd61d5a19", "c10cbf77a", "d063f972d"], "source_commits": ["3ef40dcec"], "source_entry_id": "9.6.4/changes/045", "db_id": "b852a6409848994688858c75c3f50002", "patch_ids": ["93b818b1b400637fddb151bf0c5fc04d"], "statement_hash": "111dfbac0a7cce000d1f37b9a65b7a13f5aa5031add8144bf1fc6cc6f2a8b7d9", "relations": [{"rule": 2, "type": "equivalent", "target": "1abe0946f2900b04706de5182f471b42", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "111dfbac0a7cce000d1f37b9a65b7a13f5aa5031add8144bf1fc6cc6f2a8b7d9"}}, {"rule": 2, "type": "equivalent", "target": "6b7b01759bbaa4b8b22a137cfd58d1e7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "111dfbac0a7cce000d1f37b9a65b7a13f5aa5031add8144bf1fc6cc6f2a8b7d9"}}, {"rule": 2, "type": "equivalent", "target": "a47aefe46f376f522844b44b005ddbf3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "111dfbac0a7cce000d1f37b9a65b7a13f5aa5031add8144bf1fc6cc6f2a8b7d9"}}, {"rule": 2, "type": "equivalent", "target": "e5bf0664cfdd70643c866d5227375b63", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "111dfbac0a7cce000d1f37b9a65b7a13f5aa5031add8144bf1fc6cc6f2a8b7d9"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "e5bf0664cfdd70643c866d5227375b63", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix pg_dump output to stdout on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "111dfbac0a7cce000d1f37b9a65b7a13f5aa5031add8144bf1fc6cc6f2a8b7d9"}, "url": "/docs/compare/?release=9.5.8#9.5.8-4e1bd30780ce43cf", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "6b7b01759bbaa4b8b22a137cfd58d1e7", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix pg_dump output to stdout on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "111dfbac0a7cce000d1f37b9a65b7a13f5aa5031add8144bf1fc6cc6f2a8b7d9"}, "url": "/docs/compare/?release=9.4.13#9.4.13-4e1bd30780ce43cf", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "1abe0946f2900b04706de5182f471b42", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix pg_dump output to stdout on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "111dfbac0a7cce000d1f37b9a65b7a13f5aa5031add8144bf1fc6cc6f2a8b7d9"}, "url": "/docs/compare/?release=9.3.18#9.3.18-4e1bd30780ce43cf", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "a47aefe46f376f522844b44b005ddbf3", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix pg_dump output to stdout on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "111dfbac0a7cce000d1f37b9a65b7a13f5aa5031add8144bf1fc6cc6f2a8b7d9"}, "url": "/docs/compare/?release=9.2.22#9.2.22-4e1bd30780ce43cf", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-3d0ad6a09aa83a05", "cves": [], "html": "<p>Fix <code>pg_get_ruledef()</code> to print correct output for the ON SELECT rule of a view whose columns have been renamed (Tom Lane)</p>\n<p>In some corner cases, <span>pg_dump</span> relies on <code>pg_get_ruledef()</code> to dump views, so that this error could result in dump/reload failures.</p>", "text": "Fix pg_get_ruledef() to print correct output for the ON SELECT rule of a view whose columns have been renamed (Tom Lane) In some corner cases, pg_dump relies on pg_get_ruledef() to dump views, so that this error could result in dump/reload failures.", "title": "Fix pg_get_ruledef() to print correct output for the ON SELECT rule of a view whose columns have been renamed", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "8eadc187b02f0158eeb12e8ea59f594117488ef51b98a5eb5dfe1d993a5f39d1", "section_path": ["Changes"], "commit_groups": [["3a07ba128", "b4af9e3f3", "b6d640047", "d9874fde8", "f0f255a34", "f579580be"]], "identity_text": "Fix pg_get_ruledef() to print correct output for the ON SELECT rule of a view whose columns have been renamed (Tom Lane) In some corner cases, pg_dump relies on pg_get_ruledef() to dump views, so that this error could result in dump/reload failures.", "commit_aliases": ["3a07ba128", "b4af9e3f3", "b6d640047", "d9874fde8", "f0f255a34", "f579580be"], "source_commits": ["3a07ba128"], "source_entry_id": "9.6.4/changes/046", "db_id": "379c63a4fbb4dcdaffaa11bbc7213eca", "patch_ids": ["922c0001ec872e71ecb122433a64963c"], "statement_hash": "deecfeb804338f704500141f633f4aec3463888f5113fef22d14390c82c3a0e0", "relations": [{"rule": 2, "type": "equivalent", "target": "ad3786d2a2b785ec36e6295358ad1500", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "deecfeb804338f704500141f633f4aec3463888f5113fef22d14390c82c3a0e0"}}, {"rule": 2, "type": "equivalent", "target": "e7a4d12b68f9153446325e58a125f61b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "deecfeb804338f704500141f633f4aec3463888f5113fef22d14390c82c3a0e0"}}, {"rule": 2, "type": "equivalent", "target": "f2edaf5cc2e703873f5b089f4871f5c0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "deecfeb804338f704500141f633f4aec3463888f5113fef22d14390c82c3a0e0"}}, {"rule": 2, "type": "equivalent", "target": "fc89b5ce5ebfa7e39fc68278673e0a30", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "deecfeb804338f704500141f633f4aec3463888f5113fef22d14390c82c3a0e0"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "ad3786d2a2b785ec36e6295358ad1500", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix pg_get_ruledef() to print correct output for the ON SELECT rule of a view whose columns have been renamed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "deecfeb804338f704500141f633f4aec3463888f5113fef22d14390c82c3a0e0"}, "url": "/docs/compare/?release=9.5.8#9.5.8-3d0ad6a09aa83a05", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "e7a4d12b68f9153446325e58a125f61b", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix pg_get_ruledef() to print correct output for the ON SELECT rule of a view whose columns have been renamed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "deecfeb804338f704500141f633f4aec3463888f5113fef22d14390c82c3a0e0"}, "url": "/docs/compare/?release=9.4.13#9.4.13-3d0ad6a09aa83a05", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "f2edaf5cc2e703873f5b089f4871f5c0", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix pg_get_ruledef() to print correct output for the ON SELECT rule of a view whose columns have been renamed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "deecfeb804338f704500141f633f4aec3463888f5113fef22d14390c82c3a0e0"}, "url": "/docs/compare/?release=9.3.18#9.3.18-3d0ad6a09aa83a05", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "fc89b5ce5ebfa7e39fc68278673e0a30", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix pg_get_ruledef() to print correct output for the ON SELECT rule of a view whose columns have been renamed", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "deecfeb804338f704500141f633f4aec3463888f5113fef22d14390c82c3a0e0"}, "url": "/docs/compare/?release=9.2.22#9.2.22-3d0ad6a09aa83a05", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-9ccf5b44d1e86340", "cves": [], "html": "<p>Fix dumping of outer joins with empty constraints, such as the result of a NATURAL LEFT JOIN with no common columns (Tom Lane)</p>", "text": "Fix dumping of outer joins with empty constraints, such as the result of a NATURAL LEFT JOIN with no common columns (Tom Lane)", "title": "Fix dumping of outer joins with empty constraints, such as the result of a NATURAL LEFT JOIN with no common columns", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "bc8175ffcd01659bfc2a4f559776bb8845e422b515a5aa9c534999eeeeff480a", "section_path": ["Changes"], "commit_groups": [["41ada8377", "6ab4a1136", "c2bbec9f2", "e947838ae", "eb145fdfe"]], "identity_text": "Fix dumping of outer joins with empty constraints, such as the result of a NATURAL LEFT JOIN with no common columns (Tom Lane)", "commit_aliases": ["41ada8377", "6ab4a1136", "c2bbec9f2", "e947838ae", "eb145fdfe"], "source_commits": ["41ada8377"], "source_entry_id": "9.6.4/changes/047", "db_id": "009dd9aee9e8f4a8eaf5789721b4de32", "patch_ids": ["14983e2e182035444b6bb012c6c15388"], "statement_hash": "4e605ae017996bb370faaed79da333a8e2c72b4d5e7d2f7da17764f86033c4d7", "relations": [{"rule": 2, "type": "equivalent", "target": "7960ba5ff54198dd96a1ae7ea9a99a6b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e605ae017996bb370faaed79da333a8e2c72b4d5e7d2f7da17764f86033c4d7"}}, {"rule": 2, "type": "equivalent", "target": "c3c158c1c2ccacd3d3e4c2c9a1d67c99", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e605ae017996bb370faaed79da333a8e2c72b4d5e7d2f7da17764f86033c4d7"}}, {"rule": 2, "type": "equivalent", "target": "eaa0478fcabd4701e6093674de12517a", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e605ae017996bb370faaed79da333a8e2c72b4d5e7d2f7da17764f86033c4d7"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "7960ba5ff54198dd96a1ae7ea9a99a6b", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix dumping of outer joins with empty constraints, such as the result of a NATURAL LEFT JOIN with no common columns", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e605ae017996bb370faaed79da333a8e2c72b4d5e7d2f7da17764f86033c4d7"}, "url": "/docs/compare/?release=9.5.8#9.5.8-9ccf5b44d1e86340", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "c3c158c1c2ccacd3d3e4c2c9a1d67c99", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix dumping of outer joins with empty constraints, such as the result of a NATURAL LEFT JOIN with no common columns", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e605ae017996bb370faaed79da333a8e2c72b4d5e7d2f7da17764f86033c4d7"}, "url": "/docs/compare/?release=9.4.13#9.4.13-9ccf5b44d1e86340", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "eaa0478fcabd4701e6093674de12517a", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix dumping of outer joins with empty constraints, such as the result of a NATURAL LEFT JOIN with no common columns", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4e605ae017996bb370faaed79da333a8e2c72b4d5e7d2f7da17764f86033c4d7"}, "url": "/docs/compare/?release=9.3.18#9.3.18-9ccf5b44d1e86340", "source_url": "/docs/release/9.3.18/#AEN115887"}]}, {"id": "9.6.4-38bd0805c6731767", "cves": [], "html": "<p>Fix dumping of function expressions in the FROM clause in cases where the expression does not deparse into something that looks like a function call (Tom Lane)</p>", "text": "Fix dumping of function expressions in the FROM clause in cases where the expression does not deparse into something that looks like a function call (Tom Lane)", "title": "Fix dumping of function expressions in the FROM clause in cases where the expression does not deparse into something that looks like a function call", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "f3b2c2df878ed6613b19e6e57d96492a2f5c9d5ac704757033f6f2f2a254759c", "section_path": ["Changes"], "commit_groups": [["0ecc407d9", "26d867875", "3b0c2dbed", "3fbebd781", "a3ca72ae9", "bccfb1776"]], "identity_text": "Fix dumping of function expressions in the FROM clause in cases where the expression does not deparse into something that looks like a function call (Tom Lane)", "commit_aliases": ["0ecc407d9", "26d867875", "3b0c2dbed", "3fbebd781", "a3ca72ae9", "bccfb1776"], "source_commits": ["3b0c2dbed"], "source_entry_id": "9.6.4/changes/048", "db_id": "a365a08bf964ae0b5d013c3af4a2b944", "patch_ids": ["33dc925f9f8d2f8c2cf5f0fa3ce693f8"], "statement_hash": "514d845021b6bb0da9cd37acb09aa6168f6a17568b4501fe630c77b40aba9cb6", "relations": [{"rule": 2, "type": "equivalent", "target": "18b23ab20491f4af49f50eb180188cc8", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514d845021b6bb0da9cd37acb09aa6168f6a17568b4501fe630c77b40aba9cb6"}}, {"rule": 2, "type": "equivalent", "target": "27c42f004a817bb395e89624d4c8565b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514d845021b6bb0da9cd37acb09aa6168f6a17568b4501fe630c77b40aba9cb6"}}, {"rule": 2, "type": "equivalent", "target": "5d279250db704303c3619d09775e014d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514d845021b6bb0da9cd37acb09aa6168f6a17568b4501fe630c77b40aba9cb6"}}, {"rule": 2, "type": "equivalent", "target": "b4620d508b6c65d987d28869d58a5933", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514d845021b6bb0da9cd37acb09aa6168f6a17568b4501fe630c77b40aba9cb6"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "18b23ab20491f4af49f50eb180188cc8", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix dumping of function expressions in the FROM clause in cases where the expression does not deparse into something that looks like a function call", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514d845021b6bb0da9cd37acb09aa6168f6a17568b4501fe630c77b40aba9cb6"}, "url": "/docs/compare/?release=9.5.8#9.5.8-38bd0805c6731767", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "b4620d508b6c65d987d28869d58a5933", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix dumping of function expressions in the FROM clause in cases where the expression does not deparse into something that looks like a function call", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514d845021b6bb0da9cd37acb09aa6168f6a17568b4501fe630c77b40aba9cb6"}, "url": "/docs/compare/?release=9.4.13#9.4.13-38bd0805c6731767", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "27c42f004a817bb395e89624d4c8565b", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix dumping of function expressions in the FROM clause in cases where the expression does not deparse into something that looks like a function call", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514d845021b6bb0da9cd37acb09aa6168f6a17568b4501fe630c77b40aba9cb6"}, "url": "/docs/compare/?release=9.3.18#9.3.18-38bd0805c6731767", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "5d279250db704303c3619d09775e014d", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix dumping of function expressions in the FROM clause in cases where the expression does not deparse into something that looks like a function call", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "514d845021b6bb0da9cd37acb09aa6168f6a17568b4501fe630c77b40aba9cb6"}, "url": "/docs/compare/?release=9.2.22#9.2.22-38bd0805c6731767", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-5b0c5ebf116312d0", "cves": [], "html": "<p>Fix <span>pg_basebackup</span> output to stdout on Windows (Haribabu Kommi)</p>\n<p>A backup written to stdout would contain corrupt data due to failure to put the file descriptor into binary mode.</p>", "text": "Fix pg_basebackup output to stdout on Windows (Haribabu Kommi) A backup written to stdout would contain corrupt data due to failure to put the file descriptor into binary mode.", "title": "Fix pg_basebackup output to stdout on Windows", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "f6a76e56d938889de0296e7168f25bd6662d641d386d3f9c2511bf50ed9dbf2a", "section_path": ["Changes"], "commit_groups": [["240299806", "4b994a96c", "8046465c2", "cedd25ae8", "f20d58a6f", "f3633689f"]], "identity_text": "Fix pg_basebackup output to stdout on Windows (Haribabu Kommi) A backup written to stdout would contain corrupt data due to failure to put the file descriptor into binary mode.", "commit_aliases": ["240299806", "4b994a96c", "8046465c2", "cedd25ae8", "f20d58a6f", "f3633689f"], "source_commits": ["cedd25ae8"], "source_entry_id": "9.6.4/changes/049", "db_id": "89dda01ba3a5a13f897a1a2eeedc22c3", "patch_ids": ["e0eda00344e2804279cabd6b22f9128f"], "statement_hash": "a286d052154c786c12f9b5a6cf0098abf3c0ae0510a93fdee6d012c92518b029", "relations": [{"rule": 2, "type": "equivalent", "target": "02eb1abc2b9a20b762b97b41818a87d7", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a286d052154c786c12f9b5a6cf0098abf3c0ae0510a93fdee6d012c92518b029"}}, {"rule": 2, "type": "equivalent", "target": "0fb0d233c8ad9c02e201adbd5a151955", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a286d052154c786c12f9b5a6cf0098abf3c0ae0510a93fdee6d012c92518b029"}}, {"rule": 2, "type": "equivalent", "target": "b8cb17a32cde2cf63f99f0b6568d654f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a286d052154c786c12f9b5a6cf0098abf3c0ae0510a93fdee6d012c92518b029"}}, {"rule": 2, "type": "equivalent", "target": "d4936f7a2cda683f2cdaf1bd900d931c", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a286d052154c786c12f9b5a6cf0098abf3c0ae0510a93fdee6d012c92518b029"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "d4936f7a2cda683f2cdaf1bd900d931c", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix pg_basebackup output to stdout on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a286d052154c786c12f9b5a6cf0098abf3c0ae0510a93fdee6d012c92518b029"}, "url": "/docs/compare/?release=9.5.8#9.5.8-5b0c5ebf116312d0", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "b8cb17a32cde2cf63f99f0b6568d654f", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix pg_basebackup output to stdout on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a286d052154c786c12f9b5a6cf0098abf3c0ae0510a93fdee6d012c92518b029"}, "url": "/docs/compare/?release=9.4.13#9.4.13-5b0c5ebf116312d0", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "02eb1abc2b9a20b762b97b41818a87d7", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix pg_basebackup output to stdout on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a286d052154c786c12f9b5a6cf0098abf3c0ae0510a93fdee6d012c92518b029"}, "url": "/docs/compare/?release=9.3.18#9.3.18-5b0c5ebf116312d0", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "0fb0d233c8ad9c02e201adbd5a151955", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix pg_basebackup output to stdout on Windows", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "a286d052154c786c12f9b5a6cf0098abf3c0ae0510a93fdee6d012c92518b029"}, "url": "/docs/compare/?release=9.2.22#9.2.22-5b0c5ebf116312d0", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-a7c8b632a6d73019", "cves": [], "html": "<p>Fix <span>pg_rewind</span> to correctly handle files exceeding 2GB (Kuntal Ghosh, Michael Paquier)</p>\n<p>Ordinarily such files won't appear in <span>PostgreSQL</span> data directories, but they could be present in some cases.</p>", "text": "Fix pg_rewind to correctly handle files exceeding 2GB (Kuntal Ghosh, Michael Paquier) Ordinarily such files won't appear in PostgreSQL data directories, but they could be present in some cases.", "title": "Fix pg_rewind to correctly handle files exceeding 2GB", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "3c38775ba9a42d1b66a4ac6fe82f59e16501fcaeead1f00279c61e6928c86580", "section_path": ["Changes"], "commit_groups": [["73fbf3d3d", "a46fe6e8b", "ed367be64"]], "identity_text": "Fix pg_rewind to correctly handle files exceeding 2GB (Kuntal Ghosh, Michael Paquier) Ordinarily such files won't appear in PostgreSQL data directories, but they could be present in some cases.", "commit_aliases": ["73fbf3d3d", "a46fe6e8b", "ed367be64"], "source_commits": ["73fbf3d3d"], "source_entry_id": "9.6.4/changes/050", "db_id": "220299b9e1cc63fcdcb2f1a62394e134", "patch_ids": ["3d03f148c7cf9377472793fbeff6b4bd"], "statement_hash": "35cdc8405ed68518a45691a28e3aafac5311d964aca3d9c7bdf358021f499984", "relations": [{"rule": 2, "type": "equivalent", "target": "611aac862e1cbacc1a4106e3f9dfd21b", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "35cdc8405ed68518a45691a28e3aafac5311d964aca3d9c7bdf358021f499984"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "611aac862e1cbacc1a4106e3f9dfd21b", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix pg_rewind to correctly handle files exceeding 2GB", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "35cdc8405ed68518a45691a28e3aafac5311d964aca3d9c7bdf358021f499984"}, "url": "/docs/compare/?release=9.5.8#9.5.8-a7c8b632a6d73019", "source_url": "/docs/release/9.5.8/#AEN129810"}]}, {"id": "9.6.4-a58670208c3e49a9", "cves": [], "html": "<p>Fix <span>pg_upgrade</span> to ensure that the ending WAL record does not have <a href=\"/docs/9.6/runtime-config-wal.html#GUC-WAL-LEVEL\">wal_level</a> = minimum (Bruce Momjian)</p>\n<p>This condition could prevent upgraded standby servers from reconnecting.</p>", "text": "Fix pg_upgrade to ensure that the ending WAL record does not have wal_level = minimum (Bruce Momjian) This condition could prevent upgraded standby servers from reconnecting.", "title": "Fix pg_upgrade to ensure that the ending WAL record does not have wal_level = minimum", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "442b3e983d0057f74dfd865ebeaeebc8253a94b6b0e0a6e9abc3ef5fd9c73076", "section_path": ["Changes"], "commit_groups": [["0efdbd323", "5c890645d", "65beccae5", "a0e854881", "b710248dd", "f4f867bda"]], "identity_text": "Fix pg_upgrade to ensure that the ending WAL record does not have guc-wal-level = minimum (Bruce Momjian) This condition could prevent upgraded standby servers from reconnecting.", "commit_aliases": ["0efdbd323", "5c890645d", "65beccae5", "a0e854881", "b710248dd", "f4f867bda"], "source_commits": ["0efdbd323"], "source_entry_id": "9.6.4/changes/051", "db_id": "ed0d7539c7cc60379dde8603ba837426", "patch_ids": ["29abe5865f248f1dd4b66003e2e49a33"], "statement_hash": "c939478b340113005a516c99e5cc921f83bdac881bef19fa965653f828e0acdb", "relations": [{"rule": 2, "type": "equivalent", "target": "5fffffcb249499b6b89e60eb86efe93f", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c939478b340113005a516c99e5cc921f83bdac881bef19fa965653f828e0acdb"}}, {"rule": 2, "type": "equivalent", "target": "70779e891888cb9fd45c465d792baee9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c939478b340113005a516c99e5cc921f83bdac881bef19fa965653f828e0acdb"}}, {"rule": 2, "type": "equivalent", "target": "9ae680ee51cfb93f20beb90598dc48c1", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c939478b340113005a516c99e5cc921f83bdac881bef19fa965653f828e0acdb"}}, {"rule": 2, "type": "equivalent", "target": "cc2cb7fef069b9f35fc77bf5ea661129", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c939478b340113005a516c99e5cc921f83bdac881bef19fa965653f828e0acdb"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "cc2cb7fef069b9f35fc77bf5ea661129", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix pg_upgrade to ensure that the ending WAL record does not have wal_level = minimum", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c939478b340113005a516c99e5cc921f83bdac881bef19fa965653f828e0acdb"}, "url": "/docs/compare/?release=9.5.8#9.5.8-a58670208c3e49a9", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "5fffffcb249499b6b89e60eb86efe93f", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Fix pg_upgrade to ensure that the ending WAL record does not have wal_level = minimum", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c939478b340113005a516c99e5cc921f83bdac881bef19fa965653f828e0acdb"}, "url": "/docs/compare/?release=9.4.13#9.4.13-a58670208c3e49a9", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "70779e891888cb9fd45c465d792baee9", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Fix pg_upgrade to ensure that the ending WAL record does not have wal_level = minimum", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c939478b340113005a516c99e5cc921f83bdac881bef19fa965653f828e0acdb"}, "url": "/docs/compare/?release=9.3.18#9.3.18-a58670208c3e49a9", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "9ae680ee51cfb93f20beb90598dc48c1", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Fix pg_upgrade to ensure that the ending WAL record does not have wal_level = minimum", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c939478b340113005a516c99e5cc921f83bdac881bef19fa965653f828e0acdb"}, "url": "/docs/compare/?release=9.2.22#9.2.22-a58670208c3e49a9", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-eba1e8dbe49cbbc3", "cves": [], "html": "<p>Fix <span>pg_xlogdump</span>'s computation of WAL record length (Andres Freund)</p>", "text": "Fix pg_xlogdump's computation of WAL record length (Andres Freund)", "title": "Fix pg_xlogdump's computation of WAL record length", "commits": [], "section": "Changes", "category": "bugfix", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "6ef126252566f7ccd902f0e2f0f6a0495c67139d6bb7838dd2924a06e677367a", "section_path": ["Changes"], "commit_groups": [["25653c171", "c25ed2006", "d3ca4b4b4"]], "identity_text": "Fix pg_xlogdump's computation of WAL record length (Andres Freund)", "commit_aliases": ["25653c171", "c25ed2006", "d3ca4b4b4"], "source_commits": ["d3ca4b4b4"], "source_entry_id": "9.6.4/changes/052", "db_id": "b291bdd517c7cf81f97f2bdb6d43484c", "patch_ids": ["df2da976def64785188d886ba24915ef"], "statement_hash": "9f1c3d77ca9ae42d10b949eaf78f3b209761b8733caeb535b24c76aefd9e0996", "relations": [{"rule": 2, "type": "equivalent", "target": "e5c6dce769c0d772b9a73e27653eeded", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9f1c3d77ca9ae42d10b949eaf78f3b209761b8733caeb535b24c76aefd9e0996"}}], "version": "9.6.4", "category_label": "Bug fixes", "also_in": [], "variants": [], "related_changes": [{"db_id": "e5c6dce769c0d772b9a73e27653eeded", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Fix pg_xlogdump's computation of WAL record length", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "9f1c3d77ca9ae42d10b949eaf78f3b209761b8733caeb535b24c76aefd9e0996"}, "url": "/docs/compare/?release=9.5.8#9.5.8-eba1e8dbe49cbbc3", "source_url": "/docs/release/9.5.8/#AEN129810"}]}, {"id": "9.6.4-3bcc43495aefc2ae", "cves": [], "html": "<p>In postgres_fdw, re-establish connections to remote servers after ALTER SERVER or ALTER USER MAPPING commands (Kyotaro Horiguchi)</p>\n<p>This ensures that option changes affecting connection parameters will be applied promptly.</p>", "text": "In postgres_fdw, re-establish connections to remote servers after ALTER SERVER or ALTER USER MAPPING commands (Kyotaro Horiguchi) This ensures that option changes affecting connection parameters will be applied promptly.", "title": "In postgres_fdw, re-establish connections to remote servers after ALTER SERVER or ALTER USER MAPPING commands", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "42bf1468d2163140a0edb6036a7c6d99cf16ef0b906243be09fe6a86ebeca157", "section_path": ["Changes"], "commit_groups": [["0d503dd1f", "6d9de660d", "88f48b57f", "90877d28e", "a648fc70a"], ["69711415e", "72318eaed", "8bf58c0d9", "cb2b1cac0", "d86a2b7b5"]], "identity_text": "In postgres_fdw, re-establish connections to remote servers after ALTER SERVER or ALTER USER MAPPING commands (Kyotaro Horiguchi) This ensures that option changes affecting connection parameters will be applied promptly.", "commit_aliases": ["0d503dd1f", "69711415e", "6d9de660d", "72318eaed", "88f48b57f", "8bf58c0d9", "90877d28e", "a648fc70a", "cb2b1cac0", "d86a2b7b5"], "source_commits": ["0d503dd1f", "d86a2b7b5"], "source_entry_id": "9.6.4/changes/053", "db_id": "0577b3aa5522ea1e273982f5ddacc2a1", "patch_ids": ["28acb7b8b7d378196ee42daf55835726", "d4da6fefc3b34588cf2c57450e410cc1"], "statement_hash": "47f1c82dad6d198721a70669663bf9d431186ff73b99825a0a76f76a66b6fb3d", "relations": [{"rule": 2, "type": "equivalent", "target": "8f622e5b02ead97c90bde2fcc254e6c6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47f1c82dad6d198721a70669663bf9d431186ff73b99825a0a76f76a66b6fb3d"}}, {"rule": 2, "type": "equivalent", "target": "94250a16e17dfa2eb9ed8f99cfda6c17", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47f1c82dad6d198721a70669663bf9d431186ff73b99825a0a76f76a66b6fb3d"}}, {"rule": 2, "type": "equivalent", "target": "b29b29297c8df354d55917285ee410c4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47f1c82dad6d198721a70669663bf9d431186ff73b99825a0a76f76a66b6fb3d"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "8f622e5b02ead97c90bde2fcc254e6c6", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "In postgres_fdw, re-establish connections to remote servers after ALTER SERVER or ALTER USER MAPPING commands", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47f1c82dad6d198721a70669663bf9d431186ff73b99825a0a76f76a66b6fb3d"}, "url": "/docs/compare/?release=9.5.8#9.5.8-3bcc43495aefc2ae", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "94250a16e17dfa2eb9ed8f99cfda6c17", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "In postgres_fdw, re-establish connections to remote servers after ALTER SERVER or ALTER USER MAPPING commands", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47f1c82dad6d198721a70669663bf9d431186ff73b99825a0a76f76a66b6fb3d"}, "url": "/docs/compare/?release=9.4.13#9.4.13-3bcc43495aefc2ae", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "b29b29297c8df354d55917285ee410c4", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "In postgres_fdw, re-establish connections to remote servers after ALTER SERVER or ALTER USER MAPPING commands", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "47f1c82dad6d198721a70669663bf9d431186ff73b99825a0a76f76a66b6fb3d"}, "url": "/docs/compare/?release=9.3.18#9.3.18-3bcc43495aefc2ae", "source_url": "/docs/release/9.3.18/#AEN115887"}]}, {"id": "9.6.4-7b0f9da84b2f0e90", "cves": [], "html": "<p>In postgres_fdw, allow cancellation of remote transaction control commands (Robert Haas, Rafia Sabih)</p>\n<p>This change allows us to quickly escape a wait for an unresponsive remote server in many more cases than previously.</p>", "text": "In postgres_fdw, allow cancellation of remote transaction control commands (Robert Haas, Rafia Sabih) This change allows us to quickly escape a wait for an unresponsive remote server in many more cases than previously.", "title": "In postgres_fdw, allow cancellation of remote transaction control commands", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "e4d2b4111711c9be0949ad922ee5a82617f1ed354ebc2ee3be4055828c0d5832", "section_path": ["Changes"], "commit_groups": [["ae9bfc5d6", "b7665f079", "c02c450cf", "fc267a0c3", "fd849956c"]], "identity_text": "In postgres_fdw, allow cancellation of remote transaction control commands (Robert Haas, Rafia Sabih) This change allows us to quickly escape a wait for an unresponsive remote server in many more cases than previously.", "commit_aliases": ["ae9bfc5d6", "b7665f079", "c02c450cf", "fc267a0c3", "fd849956c"], "source_commits": ["fd849956c"], "source_entry_id": "9.6.4/changes/054", "db_id": "b843661c6ce7490ed5abd624d1949ecc", "patch_ids": ["0eeb23b538d048480847bea5b8a99fba"], "statement_hash": "c8e40e4272e8e67fe7ef5d4b07a1c030ba259ad7d5aecba3ee6742bb4b9fdf02", "relations": [{"rule": 2, "type": "equivalent", "target": "68cac93c846a20baf38128bd29308781", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8e40e4272e8e67fe7ef5d4b07a1c030ba259ad7d5aecba3ee6742bb4b9fdf02"}}, {"rule": 2, "type": "equivalent", "target": "b15160e72ef4a8a96223642acaf1f71e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8e40e4272e8e67fe7ef5d4b07a1c030ba259ad7d5aecba3ee6742bb4b9fdf02"}}, {"rule": 2, "type": "equivalent", "target": "f9d5f9fb37faff9c5e79adfbf0b454b9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8e40e4272e8e67fe7ef5d4b07a1c030ba259ad7d5aecba3ee6742bb4b9fdf02"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "68cac93c846a20baf38128bd29308781", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "In postgres_fdw, allow cancellation of remote transaction control commands", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8e40e4272e8e67fe7ef5d4b07a1c030ba259ad7d5aecba3ee6742bb4b9fdf02"}, "url": "/docs/compare/?release=9.5.8#9.5.8-7b0f9da84b2f0e90", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "f9d5f9fb37faff9c5e79adfbf0b454b9", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "In postgres_fdw, allow cancellation of remote transaction control commands", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8e40e4272e8e67fe7ef5d4b07a1c030ba259ad7d5aecba3ee6742bb4b9fdf02"}, "url": "/docs/compare/?release=9.4.13#9.4.13-7b0f9da84b2f0e90", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "b15160e72ef4a8a96223642acaf1f71e", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "In postgres_fdw, allow cancellation of remote transaction control commands", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "c8e40e4272e8e67fe7ef5d4b07a1c030ba259ad7d5aecba3ee6742bb4b9fdf02"}, "url": "/docs/compare/?release=9.3.18#9.3.18-7b0f9da84b2f0e90", "source_url": "/docs/release/9.3.18/#AEN115887"}]}, {"id": "9.6.4-2a7419cc68145fa3", "cves": [], "html": "<p>Increase MAX_SYSCACHE_CALLBACKS to provide more room for extensions (Tom Lane)</p>", "text": "Increase MAX_SYSCACHE_CALLBACKS to provide more room for extensions (Tom Lane)", "title": "Increase MAX_SYSCACHE_CALLBACKS to provide more room for extensions", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "58e6c643f71170c45c2aabc27487543e909ff4eaff1074aba6c3d4486cb9bf5d", "section_path": ["Changes"], "commit_groups": [["128e133cc", "596a7c8df", "5c633f76b", "6f2fe2468"]], "identity_text": "Increase MAX_SYSCACHE_CALLBACKS to provide more room for extensions (Tom Lane)", "commit_aliases": ["128e133cc", "596a7c8df", "5c633f76b", "6f2fe2468"], "source_commits": ["128e133cc"], "source_entry_id": "9.6.4/changes/055", "db_id": "a0f8011dc1c5eca10f49457e5e21c529", "patch_ids": ["eabefab63fe2c4aa668e2a927dead637"], "statement_hash": "b96bdf342989742e20675cb1885dce5ebd95fccc08c6b6f6c17369965fdfe59e", "relations": [{"rule": 2, "type": "equivalent", "target": "4a4ebed6881c0a5f0c87e713f60c380d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b96bdf342989742e20675cb1885dce5ebd95fccc08c6b6f6c17369965fdfe59e"}}, {"rule": 2, "type": "equivalent", "target": "73822ea00152785455842a53ce614cc2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b96bdf342989742e20675cb1885dce5ebd95fccc08c6b6f6c17369965fdfe59e"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "4a4ebed6881c0a5f0c87e713f60c380d", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Increase MAX_SYSCACHE_CALLBACKS to provide more room for extensions", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b96bdf342989742e20675cb1885dce5ebd95fccc08c6b6f6c17369965fdfe59e"}, "url": "/docs/compare/?release=9.5.8#9.5.8-2a7419cc68145fa3", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "73822ea00152785455842a53ce614cc2", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Increase MAX_SYSCACHE_CALLBACKS to provide more room for extensions", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "b96bdf342989742e20675cb1885dce5ebd95fccc08c6b6f6c17369965fdfe59e"}, "url": "/docs/compare/?release=9.4.13#9.4.13-2a7419cc68145fa3", "source_url": "/docs/release/9.4.13/#AEN121463"}]}, {"id": "9.6.4-4d02ba4a980a9a02", "cves": [], "html": "<p>Always use -fPIC, not -fpic, when building shared libraries with gcc (Tom Lane)</p>\n<p>This supports larger extension libraries on platforms where it makes a difference.</p>", "text": "Always use -fPIC, not -fpic, when building shared libraries with gcc (Tom Lane) This supports larger extension libraries on platforms where it makes a difference.", "title": "Always use -fPIC, not -fpic, when building shared libraries with gcc", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "f7a5326f3f1e0beca66505e8e9d389b9f3a9fb678bad3721d7ed026a78ee98a5", "section_path": ["Changes"], "commit_groups": [["68938ab8e", "894ce0e97", "8d9b4fe01", "a378b9bc2", "cee7238de", "e9a3c047a"]], "identity_text": "Always use -fPIC, not -fpic, when building shared libraries with gcc (Tom Lane) This supports larger extension libraries on platforms where it makes a difference.", "commit_aliases": ["68938ab8e", "894ce0e97", "8d9b4fe01", "a378b9bc2", "cee7238de", "e9a3c047a"], "source_commits": ["8d9b4fe01"], "source_entry_id": "9.6.4/changes/056", "db_id": "88836e2b0a18775d156de14ee0ec0b35", "patch_ids": ["4ff7793202042e3f9216122d21959583"], "statement_hash": "4d1126f9dcefe9dbbdaaa697b8efdbaf4769c29b2b78282fc8b5f6348e9c6fbf", "relations": [{"rule": 2, "type": "equivalent", "target": "09be3ad89f8721a50b41d56c4f7a06ab", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d1126f9dcefe9dbbdaaa697b8efdbaf4769c29b2b78282fc8b5f6348e9c6fbf"}}, {"rule": 2, "type": "equivalent", "target": "283f393e01a328dd5c4a3b42e8f2fe97", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d1126f9dcefe9dbbdaaa697b8efdbaf4769c29b2b78282fc8b5f6348e9c6fbf"}}, {"rule": 2, "type": "equivalent", "target": "4dc83f6692ada3a0722e84b153a661f6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d1126f9dcefe9dbbdaaa697b8efdbaf4769c29b2b78282fc8b5f6348e9c6fbf"}}, {"rule": 2, "type": "equivalent", "target": "7f021a07a0f5f6e98690d6b7807ca400", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d1126f9dcefe9dbbdaaa697b8efdbaf4769c29b2b78282fc8b5f6348e9c6fbf"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "4dc83f6692ada3a0722e84b153a661f6", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "Always use -fPIC, not -fpic, when building shared libraries with gcc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d1126f9dcefe9dbbdaaa697b8efdbaf4769c29b2b78282fc8b5f6348e9c6fbf"}, "url": "/docs/compare/?release=9.5.8#9.5.8-4d02ba4a980a9a02", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "7f021a07a0f5f6e98690d6b7807ca400", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "Always use -fPIC, not -fpic, when building shared libraries with gcc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d1126f9dcefe9dbbdaaa697b8efdbaf4769c29b2b78282fc8b5f6348e9c6fbf"}, "url": "/docs/compare/?release=9.4.13#9.4.13-4d02ba4a980a9a02", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "283f393e01a328dd5c4a3b42e8f2fe97", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "Always use -fPIC, not -fpic, when building shared libraries with gcc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d1126f9dcefe9dbbdaaa697b8efdbaf4769c29b2b78282fc8b5f6348e9c6fbf"}, "url": "/docs/compare/?release=9.3.18#9.3.18-4d02ba4a980a9a02", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "09be3ad89f8721a50b41d56c4f7a06ab", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "Always use -fPIC, not -fpic, when building shared libraries with gcc", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "4d1126f9dcefe9dbbdaaa697b8efdbaf4769c29b2b78282fc8b5f6348e9c6fbf"}, "url": "/docs/compare/?release=9.2.22#9.2.22-4d02ba4a980a9a02", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-afd80eccc04bca8e", "cves": [], "html": "<p>In MSVC builds, handle the case where the <span>openssl</span> library is not within a VC subdirectory (Andrew Dunstan)</p>", "text": "In MSVC builds, handle the case where the openssl library is not within a VC subdirectory (Andrew Dunstan)", "title": "In MSVC builds, handle the case where the openssl library is not within a VC subdirectory", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "a79bd947f2a8f2e4f1ef093f1bb7c8fefcf09678fdaf4a9376c57f43b2a99899", "section_path": ["Changes"], "commit_groups": [["0fde390f6", "307fc49d5", "545dc4d21", "614350a3a", "b64ff9c5a", "fe39a086d"], ["2e02136fe", "6da999635", "b2482ab83", "da30fa603", "ec504aff7", "f964a7c5a"]], "identity_text": "In MSVC builds, handle the case where the openssl library is not within a VC subdirectory (Andrew Dunstan)", "commit_aliases": ["0fde390f6", "2e02136fe", "307fc49d5", "545dc4d21", "614350a3a", "6da999635", "b2482ab83", "b64ff9c5a", "da30fa603", "ec504aff7", "f964a7c5a", "fe39a086d"], "source_commits": ["b64ff9c5a", "ec504aff7"], "source_entry_id": "9.6.4/changes/057", "db_id": "5ba5c3c618b18840b6e7ea4b065e8eff", "patch_ids": ["69ca4112afe2ba6074a97471fdaf14f0", "a6aba0d99f5ca99dd81c6c0c59870891"], "statement_hash": "829536b9e1207eaea1aa6d43b85a8d8d1203c2f68ea907fb959d536c744d5143", "relations": [{"rule": 2, "type": "equivalent", "target": "2ffe419c5f7176f78b624e77d8ed0445", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "829536b9e1207eaea1aa6d43b85a8d8d1203c2f68ea907fb959d536c744d5143"}}, {"rule": 2, "type": "equivalent", "target": "4987cc700fdf507f6d116cb8c00a95f2", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "829536b9e1207eaea1aa6d43b85a8d8d1203c2f68ea907fb959d536c744d5143"}}, {"rule": 2, "type": "equivalent", "target": "b1e8c52cd265fcb98d29ef30f720c81d", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "829536b9e1207eaea1aa6d43b85a8d8d1203c2f68ea907fb959d536c744d5143"}}, {"rule": 2, "type": "equivalent", "target": "e2a259345722af9b05ae29fa2570b75e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "829536b9e1207eaea1aa6d43b85a8d8d1203c2f68ea907fb959d536c744d5143"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "2ffe419c5f7176f78b624e77d8ed0445", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "In MSVC builds, handle the case where the openssl library is not within a VC subdirectory", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "829536b9e1207eaea1aa6d43b85a8d8d1203c2f68ea907fb959d536c744d5143"}, "url": "/docs/compare/?release=9.5.8#9.5.8-afd80eccc04bca8e", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "b1e8c52cd265fcb98d29ef30f720c81d", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "In MSVC builds, handle the case where the openssl library is not within a VC subdirectory", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "829536b9e1207eaea1aa6d43b85a8d8d1203c2f68ea907fb959d536c744d5143"}, "url": "/docs/compare/?release=9.4.13#9.4.13-afd80eccc04bca8e", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "e2a259345722af9b05ae29fa2570b75e", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "In MSVC builds, handle the case where the openssl library is not within a VC subdirectory", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "829536b9e1207eaea1aa6d43b85a8d8d1203c2f68ea907fb959d536c744d5143"}, "url": "/docs/compare/?release=9.3.18#9.3.18-afd80eccc04bca8e", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "4987cc700fdf507f6d116cb8c00a95f2", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "In MSVC builds, handle the case where the openssl library is not within a VC subdirectory", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "829536b9e1207eaea1aa6d43b85a8d8d1203c2f68ea907fb959d536c744d5143"}, "url": "/docs/compare/?release=9.2.22#9.2.22-afd80eccc04bca8e", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-4b35675edeee64c2", "cves": [], "html": "<p>In MSVC builds, add proper include path for <span>libxml2</span> header files (Andrew Dunstan)</p>\n<p>This fixes a former need to move things around in standard Windows installations of <span>libxml2</span>.</p>", "text": "In MSVC builds, add proper include path for libxml2 header files (Andrew Dunstan) This fixes a former need to move things around in standard Windows installations of libxml2.", "title": "In MSVC builds, add proper include path for libxml2 header files", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "bd6cfbc7aad7d34cf37574fda546a0745a48f363f11a839f4e538cbb5b8c98bf", "section_path": ["Changes"], "commit_groups": [["2c7d2114b", "614f83c12", "616dd9978", "69ce3ead1", "8ec82ee6a", "b757e01f6"]], "identity_text": "In MSVC builds, add proper include path for libxml2 header files (Andrew Dunstan) This fixes a former need to move things around in standard Windows installations of libxml2.", "commit_aliases": ["2c7d2114b", "614f83c12", "616dd9978", "69ce3ead1", "8ec82ee6a", "b757e01f6"], "source_commits": ["69ce3ead1"], "source_entry_id": "9.6.4/changes/058", "db_id": "8461d768f61b233b5f9b20907c2a131a", "patch_ids": ["dfcb841675832a8675e7460a2d66c9c4"], "statement_hash": "e49ed0bfe8704825a620f2bcb44dd827a5eef57c3287c696e45f75ec61938840", "relations": [{"rule": 2, "type": "equivalent", "target": "02e85494d7f70ee9aec00724e9cea8e9", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e49ed0bfe8704825a620f2bcb44dd827a5eef57c3287c696e45f75ec61938840"}}, {"rule": 2, "type": "equivalent", "target": "5a23348b20eaec0a5ee2ec9cf24180ca", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e49ed0bfe8704825a620f2bcb44dd827a5eef57c3287c696e45f75ec61938840"}}, {"rule": 2, "type": "equivalent", "target": "69a1c1ee3e2fd1046eb41dae764406d3", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e49ed0bfe8704825a620f2bcb44dd827a5eef57c3287c696e45f75ec61938840"}}, {"rule": 2, "type": "equivalent", "target": "cf9983c3fe174fb913939e9666d03f02", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e49ed0bfe8704825a620f2bcb44dd827a5eef57c3287c696e45f75ec61938840"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "69a1c1ee3e2fd1046eb41dae764406d3", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "In MSVC builds, add proper include path for libxml2 header files", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e49ed0bfe8704825a620f2bcb44dd827a5eef57c3287c696e45f75ec61938840"}, "url": "/docs/compare/?release=9.5.8#9.5.8-4b35675edeee64c2", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "cf9983c3fe174fb913939e9666d03f02", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "In MSVC builds, add proper include path for libxml2 header files", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e49ed0bfe8704825a620f2bcb44dd827a5eef57c3287c696e45f75ec61938840"}, "url": "/docs/compare/?release=9.4.13#9.4.13-4b35675edeee64c2", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "5a23348b20eaec0a5ee2ec9cf24180ca", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "In MSVC builds, add proper include path for libxml2 header files", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e49ed0bfe8704825a620f2bcb44dd827a5eef57c3287c696e45f75ec61938840"}, "url": "/docs/compare/?release=9.3.18#9.3.18-4b35675edeee64c2", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "02e85494d7f70ee9aec00724e9cea8e9", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "In MSVC builds, add proper include path for libxml2 header files", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "e49ed0bfe8704825a620f2bcb44dd827a5eef57c3287c696e45f75ec61938840"}, "url": "/docs/compare/?release=9.2.22#9.2.22-4b35675edeee64c2", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-84e9778c4e1c5ac9", "cves": [], "html": "<p>In MSVC builds, recognize a Tcl library that is named tcl86.lib (Noah Misch)</p>", "text": "In MSVC builds, recognize a Tcl library that is named tcl86.lib (Noah Misch)", "title": "In MSVC builds, recognize a Tcl library that is named tcl86.lib", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "a27428de62f919a3fd88669a17270f81df9384df19e1f607912e3a19dc95b935", "section_path": ["Changes"], "commit_groups": [["0328bd1ef", "4885e5c88", "71ad8000d", "9842c1b55", "bcc2c3b45", "bef96e57e"]], "identity_text": "In MSVC builds, recognize a Tcl library that is named tcl86.lib (Noah Misch)", "commit_aliases": ["0328bd1ef", "4885e5c88", "71ad8000d", "9842c1b55", "bcc2c3b45", "bef96e57e"], "source_commits": ["bcc2c3b45"], "source_entry_id": "9.6.4/changes/059", "db_id": "3f75c573c809644f4849abb7e6e49a14", "patch_ids": ["83df8fb355c2f09981c3c7f3a24cbb0c"], "statement_hash": "3e9444c9c8bf49af68d89b8883507380c88b2b428202c8575e8196a31db9c1be", "relations": [{"rule": 2, "type": "equivalent", "target": "09853f1b92e62eeb03a0337b392cd00e", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3e9444c9c8bf49af68d89b8883507380c88b2b428202c8575e8196a31db9c1be"}}, {"rule": 2, "type": "equivalent", "target": "8426debdeb9bf3af83fe18cea868f692", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3e9444c9c8bf49af68d89b8883507380c88b2b428202c8575e8196a31db9c1be"}}, {"rule": 2, "type": "equivalent", "target": "c6c010717f86305f92265081e43c02b4", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3e9444c9c8bf49af68d89b8883507380c88b2b428202c8575e8196a31db9c1be"}}, {"rule": 2, "type": "equivalent", "target": "d64aeca94e20b7f5038e441bcca2f806", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3e9444c9c8bf49af68d89b8883507380c88b2b428202c8575e8196a31db9c1be"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "09853f1b92e62eeb03a0337b392cd00e", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "In MSVC builds, recognize a Tcl library that is named tcl86.lib", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3e9444c9c8bf49af68d89b8883507380c88b2b428202c8575e8196a31db9c1be"}, "url": "/docs/compare/?release=9.5.8#9.5.8-84e9778c4e1c5ac9", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "d64aeca94e20b7f5038e441bcca2f806", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "In MSVC builds, recognize a Tcl library that is named tcl86.lib", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3e9444c9c8bf49af68d89b8883507380c88b2b428202c8575e8196a31db9c1be"}, "url": "/docs/compare/?release=9.4.13#9.4.13-84e9778c4e1c5ac9", "source_url": "/docs/release/9.4.13/#AEN121463"}, {"db_id": "8426debdeb9bf3af83fe18cea868f692", "kind": "equivalent", "version": "9.3.18", "label": "9.3.18", "title": "In MSVC builds, recognize a Tcl library that is named tcl86.lib", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3e9444c9c8bf49af68d89b8883507380c88b2b428202c8575e8196a31db9c1be"}, "url": "/docs/compare/?release=9.3.18#9.3.18-84e9778c4e1c5ac9", "source_url": "/docs/release/9.3.18/#AEN115887"}, {"db_id": "c6c010717f86305f92265081e43c02b4", "kind": "equivalent", "version": "9.2.22", "label": "9.2.22", "title": "In MSVC builds, recognize a Tcl library that is named tcl86.lib", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "3e9444c9c8bf49af68d89b8883507380c88b2b428202c8575e8196a31db9c1be"}, "url": "/docs/compare/?release=9.2.22#9.2.22-84e9778c4e1c5ac9", "source_url": "/docs/release/9.2.22/#AEN110949"}]}, {"id": "9.6.4-8fa1dc7da8de1f13", "cves": [], "html": "<p>In MSVC builds, honor PROVE_FLAGS settings on vcregress.pl's command line (Andrew Dunstan)</p>", "text": "In MSVC builds, honor PROVE_FLAGS settings on vcregress.pl's command line (Andrew Dunstan)", "title": "In MSVC builds, honor PROVE_FLAGS settings on vcregress.pl's command line", "commits": [], "section": "Changes", "category": "improvement", "source_url": "/docs/release/9.6.4/#AEN135178", "source_hash": "8292c356a7232ab2eccb44a1554adb120c45de9f0a0cdafbeec15534eb60c038", "section_path": ["Changes"], "commit_groups": [["054a897c4", "56b6ef893", "cb701af78", "d39d968f5"], ["11aa362c8", "3c017a545", "6b2a0b475", "93b7d9731"], ["7eb4124da", "9c3f502b4", "b4a1d69ed", "fd2487e49"]], "identity_text": "In MSVC builds, honor PROVE_FLAGS settings on vcregress.pl's command line (Andrew Dunstan)", "commit_aliases": ["054a897c4", "11aa362c8", "3c017a545", "56b6ef893", "6b2a0b475", "7eb4124da", "93b7d9731", "9c3f502b4", "b4a1d69ed", "cb701af78", "d39d968f5", "fd2487e49"], "source_commits": ["3c017a545", "b4a1d69ed", "cb701af78"], "source_entry_id": "9.6.4/changes/060", "db_id": "66e949672976314ec915b5ad58863818", "patch_ids": ["181a44c1fe59d77ef2b0d00c882566aa", "c58a289d08ed299ced79095b19c1b2bd", "d0f00ee553fd5dc23d41d569fc036faf"], "statement_hash": "d254c693e5272e812c9a281ed3a68cca6e08515eeff2ec0e43d6e4ed73d1a65e", "relations": [{"rule": 2, "type": "equivalent", "target": "9c3f871e92aceebaa87e0c7a7bc68cd0", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d254c693e5272e812c9a281ed3a68cca6e08515eeff2ec0e43d6e4ed73d1a65e"}}, {"rule": 2, "type": "equivalent", "target": "c5c84a0a90686f81e6145299e2aa0aa6", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d254c693e5272e812c9a281ed3a68cca6e08515eeff2ec0e43d6e4ed73d1a65e"}}], "version": "9.6.4", "category_label": "Improvements", "also_in": [], "variants": [], "related_changes": [{"db_id": "c5c84a0a90686f81e6145299e2aa0aa6", "kind": "equivalent", "version": "9.5.8", "label": "9.5.8", "title": "In MSVC builds, honor PROVE_FLAGS settings on vcregress.pl's command line", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d254c693e5272e812c9a281ed3a68cca6e08515eeff2ec0e43d6e4ed73d1a65e"}, "url": "/docs/compare/?release=9.5.8#9.5.8-8fa1dc7da8de1f13", "source_url": "/docs/release/9.5.8/#AEN129810"}, {"db_id": "9c3f871e92aceebaa87e0c7a7bc68cd0", "kind": "equivalent", "version": "9.4.13", "label": "9.4.13", "title": "In MSVC builds, honor PROVE_FLAGS settings on vcregress.pl's command line", "evidence": {"same_day": true, "patch_ids": [], "statement_hash": "d254c693e5272e812c9a281ed3a68cca6e08515eeff2ec0e43d6e4ed73d1a65e"}, "url": "/docs/compare/?release=9.4.13#9.4.13-8fa1dc7da8de1f13", "source_url": "/docs/release/9.4.13/#AEN121463"}]}]}], "stats": [{"key": "all", "label": "All changes", "count": 60}, {"key": "feature", "label": "Features", "count": 0}, {"key": "bugfix", "label": "Bug fixes", "count": 30}, {"key": "security", "label": "Security", "count": 3}, {"key": "performance", "label": "Performance", "count": 1}, {"key": "compatibility", "label": "Compatibility", "count": 0}, {"key": "improvement", "label": "Improvements", "count": 26}], "total": 60, "release_count": 1, "cross_major": false, "cve_count": 4, "cves": [{"id": "CVE-2017-7547", "url": "https://www.postgresql.org/support/security/CVE-2017-7547/", "fixed": {"9.2": "9.2.22", "9.3": "9.3.18", "9.4": "9.4.13", "9.5": "9.5.8", "9.6": "9.6.4"}, "score": 8.5, "title": "Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options", "vector": "AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H", "affected": {"9.2": "9.2", "9.3": "9.3", "9.4": "9.4", "9.5": "9.5", "9.6": "9.6"}, "component": "core server", "published": {"9.2": "2017-08-10", "9.3": "2017-08-10", "9.4": "2017-08-10", "9.5": "2017-08-10", "9.6": "2017-08-10"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2017-08-10", "fixed_version": "9.6.4"}, {"id": "CVE-2017-7486", "url": "https://www.postgresql.org/support/security/CVE-2017-7486/", "fixed": {"9.2": "9.2.21", "9.3": "9.3.17", "9.4": "9.4.12", "9.5": "9.5.7", "9.6": "9.6.3"}, "score": 8.5, "title": "Further restrict visibility of pg_user_mappings.umoptions, to protect passwords stored as user mapping options", "vector": "AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H", "affected": {"9.2": "9.2", "9.3": "9.3", "9.4": "9.4", "9.5": "9.5", "9.6": "9.6"}, "component": "core server", "published": {"9.2": "2017-05-11", "9.3": "2017-05-11", "9.4": "2017-05-11", "9.5": "2017-05-11", "9.6": "2017-05-11"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2017-05-11", "fixed_version": "9.6.3"}, {"id": "CVE-2017-7546", "url": "https://www.postgresql.org/support/security/CVE-2017-7546/", "fixed": {"9.2": "9.2.22", "9.3": "9.3.18", "9.4": "9.4.13", "9.5": "9.5.8", "9.6": "9.6.4"}, "score": 8.1, "title": "Disallow empty passwords in all password-based authentication methods", "vector": "AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H", "affected": {"9.2": "9.2", "9.3": "9.3", "9.4": "9.4", "9.5": "9.5", "9.6": "9.6"}, "component": "core server", "published": {"9.2": "2017-08-10", "9.3": "2017-08-10", "9.4": "2017-08-10", "9.5": "2017-08-10", "9.6": "2017-08-10"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2017-08-10", "fixed_version": "9.6.4"}, {"id": "CVE-2017-7548", "url": "https://www.postgresql.org/support/security/CVE-2017-7548/", "fixed": {"9.4": "9.4.13", "9.5": "9.5.8", "9.6": "9.6.4"}, "score": 3.1, "title": "Make lo_put() check for UPDATE privilege on the target large object", "vector": "AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N", "affected": {"9.4": "9.4", "9.5": "9.5", "9.6": "9.6"}, "component": "core server", "published": {"9.4": "2017-11-09", "9.5": "2017-11-09", "9.6": "2017-11-09"}, "introduced": {}, "cvss_version": "3.0", "description_en": "", "first_published": "2017-11-09", "fixed_version": "9.6.4"}], "cve_available": true, "remaining_cves": [], "security_regressions": [], "warnings": [], "candidate_count": 60, "already_in_source_count": 0, "duplicate_count": 0, "excluded_count": 0, "exclusions": [], "source_as_of": "2026-09-26", "security_as_of": "2026-09-26"}