{"already_in_source_count":0,"candidate_count":193,"cross_major":false,"cve_available":true,"cve_count":0,"cves":[],"duplicate_count":0,"excluded_count":0,"exclusions":[],"from_release":null,"groups":[{"age_days":3931,"build":"9.5.0","changes_count":181,"compatibility_count":12,"content_hash":"140e8a86cdc616ecc079ca2a95b30b1d63f210a5ac2104a049f7e95cbcba337e","date":"2016-01-07","date_text":"2016-01-07","doc_git":"","doc_loaded_at":"2026-09-26T02:56:44.718140","entries":[{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["c6b3c93"],"commit_groups":[["c6b3c93"]],"commits":[],"cves":[],"db_id":"09456502b7d24637be33e011033216a5","html":"\u003cp\u003e调整\u003ca href=\"/docs/9.5/sql-syntax.html#SQL-PRECEDENCE\" title=\"4.1.6. 操作符优先级\"\u003e操作符优先级\u003c/a\u003e以符合 \u003cacronym\u003eSQL\u003c/acronym\u003e 标准（Tom Lane）\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e\u0026lt;=\u003c/code\u003e、\u003ccode\u003e\u0026gt;=\u003c/code\u003e 和 \u003ccode\u003e\u0026lt;\u0026gt;\u003c/code\u003e 的优先级已降低到与 \u003ccode\u003e\u0026lt;\u003c/code\u003e、\u003ccode\u003e\u0026gt;\u003c/code\u003e 和 \u003ccode\u003e=\u003c/code\u003e 相同。\u003ccode\u003eIS\u003c/code\u003e 测试（例如 \u003cem\u003e\u003ccode\u003ex\u003c/code\u003e\u003c/em\u003e \u003ccode\u003eIS NULL\u003c/code\u003e）的优先级已降低到恰好位于这六个比较操作符之下。此外，以 \u003ccode\u003eNOT\u003c/code\u003e 开头的多关键字操作符现在具有其基础操作符的优先级（例如 \u003ccode\u003eNOT BETWEEN\u003c/code\u003e 现在与 \u003ccode\u003eBETWEEN\u003c/code\u003e 优先级相同），而以前它们的优先级并不一致：对左操作数表现得像 \u003ccode\u003eNOT\u003c/code\u003e，对右操作数表现得像其基础操作符。新的配置参数\u003ca href=\"/docs/9.5/runtime-config-compatible.html#GUC-OPERATOR-PRECEDENCE-WARNING\"\u003eoperator_precedence_warning\u003c/a\u003e可以启用，以就在这些优先级变更导致不同解析选择的查询发出警告。\u003c/p\u003e","id":"9.5.0-ce5b9061744b1e9f","identity_text":"Adjust operator precedence to match the SQL standard (Tom Lane) The precedence of \u003c=, \u003e= and \u003c\u003e has been reduced to match that of \u003c, \u003e and =. The precedence of IS tests (e.g., x IS NULL) has been reduced to be just below these six comparison operators. Also, multi-keyword operators beginning with NOT now have the precedence of their base operator (for example, NOT BETWEEN now has the same precedence as BETWEEN) whereas before they had inconsistent precedence, behaving like NOT with respect to their left operand but like their base operator with respect to their right operand. The new configuration parameter guc-operator-precedence-warning can be enabled to warn about queries in which these precedence changes result in different parsing choices.","part":"migration","patch_ids":["4f1d8eaa85eb9996cb6419ca802d12da"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["c6b3c93"],"source_entry_id":"9.5.0/migration/001","source_hash":"f87ae3386988251ba6f5a70284088c60bbb94244d242e3436eeb8b957b721361","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"4454a1937683d56177191e2081241380762685d525956342a59a8893470c8c77","text":"调整操作符优先级以符合 SQL 标准（Tom Lane） \u003c=、\u003e= 和 \u003c\u003e 的优先级已降低到与 \u003c、\u003e 和 = 相同。IS 测试（例如 x IS NULL）的优先级已降低到恰好位于这六个比较操作符之下。此外，以 NOT 开头的多关键字操作符现在具有其基础操作符的优先级（例如 NOT BETWEEN 现在与 BETWEEN 优先级相同），而以前它们的优先级并不一致：对左操作数表现得像 NOT，对右操作数表现得像其基础操作符。新的配置参数operator_precedence_warning可以启用，以就在这些优先级变更导致不同解析选择的查询发出警告。","title":"调整操作符优先级以符合 SQL 标准","variants":[],"version":"9.5.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["0badb06"],"commit_groups":[["0badb06"]],"commits":[],"cves":[],"db_id":"f76a6aa690d0c54ecde945f7684765a5","html":"\u003cp\u003e把\u003ca href=\"/docs/9.5/app-pg-ctl.html\" title=\"pg_ctl\"\u003e\u003cspan\u003e\u003cspan\u003epg_ctl\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e的默认关闭模式从 \u003ccode\u003esmart\u003c/code\u003e 改为 \u003ccode\u003efast\u003c/code\u003e（Bruce Momjian）\u003c/p\u003e\n\u003cp\u003e这意味着默认行为将是强制取消现有的数据库会话，而不是简单地等待它们退出。\u003c/p\u003e","id":"9.5.0-715c8b65af337a76","identity_text":"Change app-pg-ctl 's default shutdown mode from smart to fast (Bruce Momjian) This means the default behavior will be to forcibly cancel existing database sessions, not simply wait for them to exit.","part":"migration","patch_ids":["d4c48015af1ecb5f3e967053a45afbb6"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["0badb06"],"source_entry_id":"9.5.0/migration/002","source_hash":"1e63dd781478d9fbf641859b38c05969d31beed300211a7dd0c9fc716a93d8c2","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"046ab2f5e8c63575089f137a3385f83e28d012ad3d490112ce0dee7b221b87cf","text":"把pg_ctl的默认关闭模式从 smart 改为 fast（Bruce Momjian） 这意味着默认行为将是强制取消现有的数据库会话，而不是简单地等待它们退出。","title":"把pg_ctl的默认关闭模式从 smart 改为 fast","variants":[],"version":"9.5.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["1345cc6"],"commit_groups":[["1345cc6"]],"commits":[],"cves":[],"db_id":"3f0f5b73f4421a0fe1692fdf4dedd1d3","html":"\u003cp\u003e在 \u003cspan\u003ePL/pgSQL\u003c/span\u003e 赋值中使用赋值转换行为进行数据类型转换，而不是经由文本往返转换（Tom Lane）\u003c/p\u003e\n\u003cp\u003e此变更使布尔值到字符串的转换产生 \u003ccode\u003etrue\u003c/code\u003e 或 \u003ccode\u003efalse\u003c/code\u003e，而不是 \u003ccode\u003et\u003c/code\u003e 或 \u003ccode\u003ef\u003c/code\u003e。其他类型转换可能在比以前更多的情况下成功；例如，把数值 \u003ccode\u003e3.9\u003c/code\u003e 赋给整数变量现在会赋值 4，而不是失败。如果没有为特定的源类型和目标类型定义赋值级转换，\u003cspan\u003ePL/pgSQL\u003c/span\u003e 将回退到旧的 I/O 转换行为。\u003c/p\u003e","id":"9.5.0-84db91e7afc45d2b","identity_text":"Use assignment cast behavior for data type conversions in PL/pgSQL assignments, rather than converting to and from text (Tom Lane) This change causes conversions of Booleans to strings to produce true or false, not t or f. Other type conversions may succeed in more cases than before; for example, assigning a numeric value 3.9 to an integer variable will now assign 4 rather than failing. If no assignment-grade cast is defined for the particular source and destination types, PL/pgSQL will fall back to its old I/O conversion behavior.","part":"migration","patch_ids":["c8c98faf502965329aa996051cdf8ab9"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["1345cc6"],"source_entry_id":"9.5.0/migration/003","source_hash":"96278c3d360d4ca41140894521f7e339e923957b782ef6dfc0421f914c68e6df","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"c25ba8f7e9814d5f13146770808e7a37a31237b186205b6091a5ec8532817590","text":"在 PL/pgSQL 赋值中使用赋值转换行为进行数据类型转换，而不是经由文本往返转换（Tom Lane） 此变更使布尔值到字符串的转换产生 true 或 false，而不是 t 或 f。其他类型转换可能在比以前更多的情况下成功；例如，把数值 3.9 赋给整数变量现在会赋值 4，而不是失败。如果没有为特定的源类型和目标类型定义赋值级转换，PL/pgSQL 将回退到旧的 I/O 转换行为。","title":"在 PL/pgSQL 赋值中使用赋值转换行为进行数据类型转换，而不是经由文本往返转换","variants":[],"version":"9.5.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["11a020e"],"commit_groups":[["11a020e"]],"commits":[],"cves":[],"db_id":"776ca8c2ff7a46147225cef0dc21fbd9","html":"\u003cp\u003e允许\u003ca href=\"/docs/9.5/libpq.html#LIBPQ-CONNECT-OPTIONS\"\u003e服务器命令行选项\u003c/a\u003e中的字符用反斜杠转义（Andres Freund）\u003c/p\u003e\n\u003cp\u003e以前，选项字符串中的空格总是分隔选项，因此无法在选项值中包含空格。现在要在选项值中包含反斜杠，需要写成 \u003ccode\u003e\\\\\u003c/code\u003e。\u003c/p\u003e","id":"9.5.0-4849e354a78a80f8","identity_text":"Allow characters in server command-line options to be escaped with a backslash (Andres Freund) Formerly, spaces in the options string always separated options, so there was no way to include a space in an option value. Including a backslash in an option value now requires writing \\\\.","part":"migration","patch_ids":["114db17ee51740f9c66a6a9140e0ed4d"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["11a020e"],"source_entry_id":"9.5.0/migration/004","source_hash":"d8e18a3e6c1a7b18669d6dbe9fc3ee699a95ea3a2fa2c9c284030e27868118bd","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"76426c3225363af3fa6fd204e521006544075db8eaf0a01d7d4d51aa66147efa","text":"允许服务器命令行选项中的字符用反斜杠转义（Andres Freund） 以前，选项字符串中的空格总是分隔选项，因此无法在选项值中包含空格。现在要在选项值中包含反斜杠，需要写成 \\\\。","title":"允许服务器命令行选项中的字符用反斜杠转义","variants":[],"version":"9.5.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["9a08841"],"commit_groups":[["9a08841"]],"commits":[],"cves":[],"db_id":"19e7ecb2ef7caa740440640f683f07eb","html":"\u003cp\u003e把 GSSAPI 的 \u003ca href=\"/docs/9.5/auth-methods.html#GSSAPI-AUTH\" title=\"19.3.3. GSSAPI 认证\"\u003e\u003ccode\u003einclude_realm\u003c/code\u003e\u003c/a\u003e 参数默认值改为 1，因此默认情况下不会从 \u003cacronym\u003eGSS\u003c/acronym\u003e 或 \u003cacronym\u003eSSPI\u003c/acronym\u003e 主体名中移除领域（realm）（Stephen Frost）\u003c/p\u003e","id":"9.5.0-464ac09513906494","identity_text":"Change the default value of the GSSAPI include_realm parameter to 1, so that by default the realm is not removed from a GSS or SSPI principal name (Stephen Frost)","part":"migration","patch_ids":["1ebcd89154c1ba20aa11883162d283ff"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["9a08841"],"source_entry_id":"9.5.0/migration/005","source_hash":"9b1e090358e6144e64fc55b77f05840c097066f98270337e04cbf80fd2f9e1b9","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"7d91eb8a45894b7063f283184d2da9ac94a82477f8b4d6988a015e1fee63348a","text":"把 GSSAPI 的 include_realm 参数默认值改为 1，因此默认情况下不会从 GSS 或 SSPI 主体名中移除领域（realm）（Stephen Frost）","title":"把 GSSAPI 的 include_realm 参数默认值改为 1，因此默认情况下不会从 GSS 或 SSPI 主体名中移除领域（realm）","variants":[],"version":"9.5.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["88e9823","a0f5954","d661532"],"commit_groups":[["88e9823"],["a0f5954"],["d661532"]],"commits":[],"cves":[],"db_id":"09ab299c9ccead03aaadbf12e90c4212","html":"\u003cp\u003e用\u003ca href=\"/docs/9.5/runtime-config-wal.html#GUC-MIN-WAL-SIZE\"\u003emin_wal_size\u003c/a\u003e和\u003ca href=\"/docs/9.5/runtime-config-wal.html#GUC-MAX-WAL-SIZE\"\u003emax_wal_size\u003c/a\u003e替换配置参数 \u003ccode\u003echeckpoint_segments\u003c/code\u003e（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e如果你以前调整过 \u003ccode\u003echeckpoint_segments\u003c/code\u003e，以下公式可给出近似等效的设置：\u003c/p\u003e\n\u003cpre\u003emax_wal_size = (3 * checkpoint_segments) * 16MB\n\u003c/pre\u003e\n\u003cp\u003e注意，\u003ccode\u003emax_wal_size\u003c/code\u003e 的默认设置比过去 \u003ccode\u003echeckpoint_segments\u003c/code\u003e 的默认值高得多，因此可能不再需要调整它。\u003c/p\u003e","id":"9.5.0-0ec85082572d2200","identity_text":"Replace configuration parameter checkpoint_segments with guc-min-wal-size and guc-max-wal-size (Heikki Linnakangas) If you previously adjusted checkpoint_segments, the following formula will give you an approximately equivalent setting: max_wal_size = (3 * checkpoint_segments) * 16MB Note that the default setting for max_wal_size is much higher than the default checkpoint_segments used to be, so adjusting it might no longer be necessary.","part":"migration","patch_ids":["60b4762e329f5e5a9d7bd36e6fd0a13d","7646ec0c998b683cc95fd97d60b7ffc3","e3c1ef11510c56acfc6b7b7b927b2c46"],"related_changes":[{"db_id":"cfe2d54b837f493c7330f27602a3409a","evidence":{"patch_ids":["60b4762e329f5e5a9d7bd36e6fd0a13d","7646ec0c998b683cc95fd97d60b7ffc3","e3c1ef11510c56acfc6b7b7b927b2c46"],"same_day":true},"kind":"related","label":"9.5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","title":"用min_wal_size和max_wal_size替换配置参数 checkpoint_segments","url":"/docs/compare/?release=9.5.0#9.5.0-42a4f1960250cc53","version":"9.5.0"}],"relations":[{"evidence":{"patch_ids":["60b4762e329f5e5a9d7bd36e6fd0a13d","7646ec0c998b683cc95fd97d60b7ffc3","e3c1ef11510c56acfc6b7b7b927b2c46"],"same_day":true},"rule":2,"target":"cfe2d54b837f493c7330f27602a3409a","type":"related"}],"section":"兼容性","section_path":["兼容性"],"source_commits":["88e9823","a0f5954","d661532"],"source_entry_id":"9.5.0/migration/006","source_hash":"56e28247953078840617e71d848ce15b5e3695a182d2fadda352b299abaab63f","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"d58246238e3cc54023d86858aa0bb04c08524a806c62762d36915b825ddbf235","text":"用min_wal_size和max_wal_size替换配置参数 checkpoint_segments（Heikki Linnakangas） 如果你以前调整过 checkpoint_segments，以下公式可给出近似等效的设置： max_wal_size = (3 * checkpoint_segments) * 16MB 注意，max_wal_size 的默认设置比过去 checkpoint_segments 的默认值高得多，因此可能不再需要调整它。","title":"用min_wal_size和max_wal_size替换配置参数 checkpoint_segments","variants":[],"version":"9.5.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["df8b7bc"],"commit_groups":[["df8b7bc"]],"commits":[],"cves":[],"db_id":"260fb6519ea0f5464e6f94dcdd651428","html":"\u003cp\u003e通过新的环境变量 \u003ca href=\"/docs/9.5/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT\" title=\"17.4.4. Linux 内存过量分配\"\u003e\u003ccode\u003ePG_OOM_ADJUST_FILE\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT\" title=\"17.4.4. Linux 内存过量分配\"\u003e\u003ccode\u003ePG_OOM_ADJUST_VALUE\u003c/code\u003e\u003c/a\u003e 控制 Linux 的 \u003cacronym\u003eOOM\u003c/acronym\u003e killer，而不是编译时选项 \u003ccode\u003eLINUX_OOM_SCORE_ADJ\u003c/code\u003e 和 \u003ccode\u003eLINUX_OOM_ADJ\u003c/code\u003e（Gurjeet Singh）\u003c/p\u003e","id":"9.5.0-c170006c26ba1019","identity_text":"Control the Linux OOM killer via new environment variables PG_OOM_ADJUST_FILE and PG_OOM_ADJUST_VALUE, instead of compile-time options LINUX_OOM_SCORE_ADJ and LINUX_OOM_ADJ (Gurjeet Singh)","part":"migration","patch_ids":["d8696174d21379a269115612e5080290"],"related_changes":[{"db_id":"73ad64aa1defa46be42938c644658d56","evidence":{"patch_ids":["d8696174d21379a269115612e5080290"],"same_day":true},"kind":"related","label":"9.5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","title":"通过新的环境变量 PG_OOM_ADJUST_FILE 和 PG_OOM_ADJUST_VALUE 控制 Linux 的 OOM killer","url":"/docs/compare/?release=9.5.0#9.5.0-c54d1481221c4216","version":"9.5.0"}],"relations":[{"evidence":{"patch_ids":["d8696174d21379a269115612e5080290"],"same_day":true},"rule":2,"target":"73ad64aa1defa46be42938c644658d56","type":"related"}],"section":"兼容性","section_path":["兼容性"],"source_commits":["df8b7bc"],"source_entry_id":"9.5.0/migration/007","source_hash":"82bea520b72a6a9945dd1e581aca8f06261f6b2378612d80ba0105374c20f480","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"f9dd8418824afa3e7db612d971543ad659beecf0e39aaeda80b5acfdb00f0449","text":"通过新的环境变量 PG_OOM_ADJUST_FILE 和 PG_OOM_ADJUST_VALUE 控制 Linux 的 OOM killer，而不是编译时选项 LINUX_OOM_SCORE_ADJ 和 LINUX_OOM_ADJ（Gurjeet Singh）","title":"通过新的环境变量 PG_OOM_ADJUST_FILE 和 PG_OOM_ADJUST_VALUE 控制 Linux 的 OOM killer，而不是编译时选项 LINUX_OOM_SCORE_ADJ 和 LINUX_OOM_ADJ","variants":[],"version":"9.5.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["6087d95","b06f1f2"],"commit_groups":[["6087d95"],["b06f1f2"]],"commits":[],"cves":[],"db_id":"e25cec82951cf4b70aef3ebd2c095f56","html":"\u003cp\u003e停用服务器配置参数 \u003ccode\u003essl_renegotiation_limit\u003c/code\u003e，它在以前的版本中已被弃用（Andres Freund）\u003c/p\u003e\n\u003cp\u003e虽然 SSL 重协商在理论上是个好主意，但它引发的 bug 之多，使它在实践中被认为弊大于利，而且相关标准的未来版本将移除它。因此我们已从 \u003cspan\u003ePostgreSQL\u003c/span\u003e 中移除了对它的支持。\u003ccode\u003essl_renegotiation_limit\u003c/code\u003e 参数仍然存在，但只能设置为零（禁用）。它也不再被写入文档。\u003c/p\u003e","id":"9.5.0-3d508096b3c66b26","identity_text":"Decommission server configuration parameter ssl_renegotiation_limit, which was deprecated in earlier releases (Andres Freund) While SSL renegotiation is a good idea in theory, it has caused enough bugs to be considered a net negative in practice, and it is due to be removed from future versions of the relevant standards. We have therefore removed support for it from PostgreSQL. The ssl_renegotiation_limit parameter still exists, but cannot be set to anything but zero (disabled). It's not documented anymore, either.","part":"migration","patch_ids":["0c0eea55255118e4c429f66e18c21f15","f7e716de7b0838e9704b0d698cf18efe"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["6087d95","b06f1f2"],"source_entry_id":"9.5.0/migration/008","source_hash":"2f781b280d6e2b66f37671545a41dbb4bb1a247cfaaebedb0bbcd17e89c66552","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"3ab05ddce4d6a3615ecb18aaf2b90cbfbc3b3f89df8d0f2f81e8288e01985ac9","text":"停用服务器配置参数 ssl_renegotiation_limit，它在以前的版本中已被弃用（Andres Freund） 虽然 SSL 重协商在理论上是个好主意，但它引发的 bug 之多，使它在实践中被认为弊大于利，而且相关标准的未来版本将移除它。因此我们已从 PostgreSQL 中移除了对它的支持。ssl_renegotiation_limit 参数仍然存在，但只能设置为零（禁用）。它也不再被写入文档。","title":"停用服务器配置参数 ssl_renegotiation_limit，它在以前的版本中已被弃用","variants":[],"version":"9.5.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["525a489"],"commit_groups":[["525a489"]],"commits":[],"cves":[],"db_id":"7da567654dad6fbeda07620fe5bac702","html":"\u003cp\u003e移除服务器配置参数 \u003ccode\u003eautocommit\u003c/code\u003e，它此前已被弃用且不起作用（Tom Lane）\u003c/p\u003e","id":"9.5.0-0d4a596273f55bff","identity_text":"Remove server configuration parameter autocommit, which was already deprecated and non-operational (Tom Lane)","part":"migration","patch_ids":["999d48d2bc3986369b257e6cd5b980a5"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["525a489"],"source_entry_id":"9.5.0/migration/009","source_hash":"79d1413bda8b42274a48c2cbdf0ece0ca918481db4b575bff8dc6abef1de7500","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"f9c1ff32b4fb371adadfca49fd0403e385d200266f055d1377b675c0b938e418","text":"移除服务器配置参数 autocommit，它此前已被弃用且不起作用（Tom Lane）","title":"移除服务器配置参数 autocommit，它此前已被弃用且不起作用","variants":[],"version":"9.5.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["bb8582a"],"commit_groups":[["bb8582a"]],"commits":[],"cves":[],"db_id":"2705c4b0ddb88a1879fb4d65db1c261b","html":"\u003cp\u003e移除 \u003ca href=\"/docs/9.5/catalog-pg-authid.html\" title=\"49.8. pg_authid\"\u003e\u003ccode\u003epg_authid\u003c/code\u003e\u003c/a\u003e 系统目录的 \u003ccode\u003erolcatupdate\u003c/code\u003e 字段，因为它毫无用处（Adam Brightwell）\u003c/p\u003e","id":"9.5.0-5de0e6484f828687","identity_text":"Remove the pg_authid catalog's rolcatupdate field, as it had no usefulness (Adam Brightwell)","part":"migration","patch_ids":["012095007b361df4fc3e62a681f44f58"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["bb8582a"],"source_entry_id":"9.5.0/migration/010","source_hash":"063e3118fe816e790e3eb305037a4e80db38df97a018282af947dfa44ae49275","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"167eb7b086c99e3617333744abf17bed8388b37c8f420c058099bc7d7176f1c2","text":"移除 pg_authid 系统目录的 rolcatupdate 字段，因为它毫无用处（Adam Brightwell）","title":"移除 pg_authid 系统目录的 rolcatupdate 字段，因为它毫无用处","variants":[],"version":"9.5.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["28c3667"],"commit_groups":[["28c3667"]],"commits":[],"cves":[],"db_id":"227fabfee256554b748cada70648a59f","html":"\u003cp\u003e当没有有效值时，\u003ca href=\"/docs/9.5/monitoring-stats.html#PG-STAT-REPLICATION-VIEW\" title=\"表 27.4. pg_stat_replication 视图\"\u003e\u003ccode\u003epg_stat_replication\u003c/code\u003e\u003c/a\u003e 系统视图的 \u003ccode\u003esent\u003c/code\u003e 字段现在为 NULL 而不是零（Magnus Hagander）\u003c/p\u003e","id":"9.5.0-7a34e938600c6d62","identity_text":"The pg_stat_replication system view's sent field is now NULL, not zero, when it has no valid value (Magnus Hagander)","part":"migration","patch_ids":["3df80ea3b3f5c0679ab8ef7275c32ff4"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["28c3667"],"source_entry_id":"9.5.0/migration/011","source_hash":"aa35cd30ed042420938d788def0760e6d9a0410373ad3a0939e635cfb60d9e61","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"fed3a454e46ac4e72f7d1891a1ec1b6d416d5e3e1bef9f9183c09002e70849b2","text":"当没有有效值时，pg_stat_replication 系统视图的 sent 字段现在为 NULL 而不是零（Magnus Hagander）","title":"当没有有效值时，pg_stat_replication 系统视图的 sent 字段现在为 NULL 而不是零","variants":[],"version":"9.5.0"},{"also_in":[],"category":"compatibility","category_label":"Compatibility","commit_aliases":["89ddd29"],"commit_groups":[["89ddd29"]],"commits":[],"cves":[],"db_id":"484d20590dbfac132f421ccc354d8a74","html":"\u003cp\u003e允许 \u003ccode\u003ejson\u003c/code\u003e 和 \u003ccode\u003ejsonb\u003c/code\u003e 数组提取操作符接受负数下标，它们从 JSON 数组末尾开始计数（Peter Geoghegan、Andrew Dunstan）\u003c/p\u003e\n\u003cp\u003e以前，这些操作符对负数下标返回 \u003ccode\u003eNULL\u003c/code\u003e。\u003c/p\u003e","id":"9.5.0-deaa199ecd51ce64","identity_text":"Allow json and jsonb array extraction operators to accept negative subscripts, which count from the end of JSON arrays (Peter Geoghegan, Andrew Dunstan) Previously, these operators returned NULL for negative subscripts.","part":"migration","patch_ids":["4b5888f1b867d338adba8ab278d63ca3"],"related_changes":[],"relations":[],"section":"兼容性","section_path":["兼容性"],"source_commits":["89ddd29"],"source_entry_id":"9.5.0/migration/012","source_hash":"fc0700b67f5d96634b69f3822d1fa475778258d21cf3eb8b256fc60daeae91cd","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","statement_hash":"cb9c6f67151e8484e9e4651c39671a13d0a159b206732f74a0fdbe1dc352c3a9","text":"允许 json 和 jsonb 数组提取操作符接受负数下标，它们从 JSON 数组末尾开始计数（Peter Geoghegan、Andrew Dunstan） 以前，这些操作符对负数下标返回 NULL。","title":"允许 json 和 jsonb 数组提取操作符接受负数下标，它们从 JSON 数组末尾开始计数","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3b6db1f","7516f52","b0b7be6"],"commit_groups":[["3b6db1f"],["7516f52"],["b0b7be6"]],"commits":[],"cves":[],"db_id":"61b932eb0ca243618ca88858b0c22415","html":"\u003cp\u003e添加\u003ca href=\"/docs/9.5/brin.html\" title=\"第 62 章 BRIN 索引\"\u003e块范围索引\u003c/a\u003e（\u003cacronym\u003eBRIN\u003c/acronym\u003e）（Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e\u003cacronym\u003eBRIN\u003c/acronym\u003e 索引只为堆块范围存储摘要数据（如最小值和最大值）。因此它们非常紧凑且更新成本低；但如果数据是自然聚簇的，它们仍能显著加速搜索。\u003c/p\u003e","id":"9.5.0-7aaa1c1dc91d1296","identity_text":"Add Block Range Indexes (BRIN) (Álvaro Herrera) BRIN indexes store only summary data (such as minimum and maximum values) for ranges of heap blocks. They are therefore very compact and cheap to update; but if the data is naturally clustered, they can still provide substantial speedup of searches.","part":"changes","patch_ids":["409348e161bf2bf75161a96690e81f1c","59df5103ed7970fe3a71204244b2660a","6686a53149bd06d67cf986ee4e0d766f"],"related_changes":[],"relations":[],"section":"服务器 / 索引","section_path":["服务器","索引"],"source_commits":["3b6db1f","7516f52","b0b7be6"],"source_entry_id":"9.5.0/changes/001","source_hash":"79f99eb475123bead35dfd18d69e0b399ec99d49e2b6133340bf045328d41f56","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.2","statement_hash":"b242d053ef1d3d3d21874881f4e1b4e486df41e3628351eda758a6562b797114","text":"添加块范围索引（BRIN）（Álvaro Herrera） BRIN 索引只为堆块范围存储摘要数据（如最小值和最大值）。因此它们非常紧凑且更新成本低；但如果数据是自然聚簇的，它们仍能显著加速搜索。","title":"添加块范围索引（BRIN）","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["35fcb1b"],"commit_groups":[["35fcb1b"]],"commits":[],"cves":[],"db_id":"e00f276bee28b9d1f2eb1aa907d98be9","html":"\u003cp\u003e允许查询使用 \u003ca href=\"/docs/9.5/gist.html\" title=\"第 59 章 GiST 索引\"\u003eGiST\u003c/a\u003e 索引对边界框索引的对象（多边形、圆）执行精确的距离过滤（Alexander Korotkov、Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e以前，要利用此类索引，必须使用子查询选取大量按边界框距离排序的行，然后再用更精确的距离计算对结果进一步过滤。\u003c/p\u003e","id":"9.5.0-6c1b223aa632b406","identity_text":"Allow queries to perform accurate distance filtering of bounding-box-indexed objects (polygons, circles) using GiST indexes (Alexander Korotkov, Heikki Linnakangas) Previously, to exploit such an index a subquery had to be used to select a large number of rows ordered by bounding-box distance, and the result then had to be filtered further with a more accurate distance calculation.","part":"changes","patch_ids":["c23da46c6c4f74313cd462c9fca109d4"],"related_changes":[],"relations":[],"section":"服务器 / 索引","section_path":["服务器","索引"],"source_commits":["35fcb1b"],"source_entry_id":"9.5.0/changes/002","source_hash":"6dc98cb99e472b3d75e35aa73e8338aafee7c40c87320aa37a17c26e1679d939","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.2","statement_hash":"0eb743004e6c7781b20e3b79173c5d42341047df53645f0317f4ea69b7712907","text":"允许查询使用 GiST 索引对边界框索引的对象（多边形、圆）执行精确的距离过滤（Alexander Korotkov、Heikki Linnakangas） 以前，要利用此类索引，必须使用子查询选取大量按边界框距离排序的行，然后再用更精确的距离计算对结果进一步过滤。","title":"允许查询使用 GiST 索引对边界框索引的对象（多边形、圆）执行精确的距离过滤","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0633a60","3a20b0e","d04c8ed","e09b483"],"commit_groups":[["0633a60"],["3a20b0e"],["d04c8ed"],["e09b483"]],"commits":[],"cves":[],"db_id":"5436479695de4902eccbccb4027e72ad","html":"\u003cp\u003e允许 \u003ca href=\"/docs/9.5/gist.html\" title=\"第 59 章 GiST 索引\"\u003eGiST\u003c/a\u003e 索引执行仅索引扫描（Anastasia Lubennikova、Heikki Linnakangas、Andreas Karlsson）\u003c/p\u003e","id":"9.5.0-0c44a10ed44b325b","identity_text":"Allow GiST indexes to perform index-only scans (Anastasia Lubennikova, Heikki Linnakangas, Andreas Karlsson)","part":"changes","patch_ids":["061da7f214b64ba4c49b68cda3ac7a06","129259c361fc08965355e98bd6fc286a","8f0f0ddcf5583bc189a3b621fb96cef0","d7c7fe930de958b70f487336af71e193"],"related_changes":[],"relations":[],"section":"服务器 / 索引","section_path":["服务器","索引"],"source_commits":["0633a60","3a20b0e","d04c8ed","e09b483"],"source_entry_id":"9.5.0/changes/003","source_hash":"93d2bcf53419242f403fdd065d86dc5bc9018de0360c2a7a43b6b5adb1d3cf7a","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.2","statement_hash":"593d5106b58664dbc8ad22608789fe85997d6388e039062cc7c42155c90140e4","text":"允许 GiST 索引执行仅索引扫描（Anastasia Lubennikova、Heikki Linnakangas、Andreas Karlsson）","title":"允许 GiST 索引执行仅索引扫描","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":[],"commit_groups":[],"commits":[],"cves":[],"db_id":"bd79c62f5bdcfb75b2df336a14a6484f","html":"\u003cp\u003e添加配置参数\u003ca href=\"/docs/9.5/runtime-config-client.html#GUC-GIN-PENDING-LIST-LIMIT\"\u003egin_pending_list_limit\u003c/a\u003e来控制 \u003cacronym\u003eGIN\u003c/acronym\u003e 待处理列表的大小（Fujii Masao）\u003c/p\u003e\n\u003cp\u003e该值也可以按索引设置为索引存储参数。以前，待处理列表的大小由\u003ca href=\"/docs/9.5/runtime-config-resource.html#GUC-WORK-MEM\"\u003ework_mem\u003c/a\u003e控制，这很不方便，因为 \u003ccode\u003ework_mem\u003c/code\u003e 的合适值对此用途往往太大了。\u003c/p\u003e","id":"9.5.0-0d1dce56c0d008bb","identity_text":"Add configuration parameter guc-gin-pending-list-limit to control the size of GIN pending lists (Fujii Masao) This value can also be set on a per-index basis as an index storage parameter. Previously the pending-list size was controlled by guc-work-mem , which was awkward because appropriate values for work_mem are often much too large for this purpose.","part":"changes","patch_ids":[],"related_changes":[],"relations":[],"section":"服务器 / 索引","section_path":["服务器","索引"],"source_commits":[],"source_entry_id":"9.5.0/changes/004","source_hash":"48310745c56aa1c290b4fa29bc971e68a7aa2c45ca3dc3bf3b6145c368f65972","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.2","statement_hash":"862baf158224c00441907d94486d9bd87bbbd7e20962bd36d38d7afa92a5d27b","text":"添加配置参数gin_pending_list_limit来控制 GIN 待处理列表的大小（Fujii Masao） 该值也可以按索引设置为索引存储参数。以前，待处理列表的大小由work_mem控制，这很不方便，因为 work_mem 的合适值对此用途往往太大了。","title":"添加配置参数gin_pending_list_limit来控制 GIN 待处理列表的大小","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["84aa8ba"],"commit_groups":[["84aa8ba"]],"commits":[],"cves":[],"db_id":"1b58f556c0159f26b6ae2af8bd14abe2","html":"\u003cp\u003e在创建\u003ca href=\"/docs/9.5/indexes-types.html\" title=\"11.2. 索引类型\"\u003e哈希\u003c/a\u003e索引期间发出警告，因为它们不是崩溃安全的（Bruce Momjian）\u003c/p\u003e","id":"9.5.0-b3b689e04a7a5e4d","identity_text":"Issue a warning during the creation of hash indexes because they are not crash-safe (Bruce Momjian)","part":"changes","patch_ids":["7f1ead641f6df51f7feb3946d313f7e6"],"related_changes":[],"relations":[],"section":"服务器 / 索引","section_path":["服务器","索引"],"source_commits":["84aa8ba"],"source_entry_id":"9.5.0/changes/005","source_hash":"25727798f27ccf3afb17278589c387a8aca3b859623148865a23d9236f66e1c1","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.2","statement_hash":"8f47daead5289fa681c6c257021b027922685be91e2909acc97b7525059b489e","text":"在创建哈希索引期间发出警告，因为它们不是崩溃安全的（Bruce Momjian）","title":"在创建哈希索引期间发出警告，因为它们不是崩溃安全的","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["4ea51cd","78efd5c","e246b3d"],"commit_groups":[["4ea51cd"],["78efd5c"],["e246b3d"]],"commits":[],"cves":[],"db_id":"4c32dcec088ab1446afff84a31058590","html":"\u003cp\u003e通过\u003cspan\u003e“\u003cspan\u003e缩写\u003c/span\u003e”\u003c/span\u003e键提高 \u003ccode\u003evarchar\u003c/code\u003e、\u003ccode\u003etext\u003c/code\u003e 和 \u003ccode\u003enumeric\u003c/code\u003e 字段的排序速度（Peter Geoghegan、Andrew Gierth、Robert Haas）\u003c/p\u003e","id":"9.5.0-bc8ffc1908e9cb57","identity_text":"Improve the speed of sorting of varchar, text, and numeric fields via abbreviated keys (Peter Geoghegan, Andrew Gierth, Robert Haas)","part":"changes","patch_ids":["15114a5231ac59a475bb14c7e3d2adf7","47d580fce607d7d28057d34b58002b71","eafe1c67febfe078507297e4c7c1f860"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["4ea51cd","78efd5c","e246b3d"],"source_entry_id":"9.5.0/changes/006","source_hash":"08d790d62e34d6af3a10d52707aeb2c6c7cd9a440581393ca474e3d3b6e835e9","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"ed0c1566c3f8ecb8bf146977f4d2e4127fc26893b9afdf6d04bc44ece5909380","text":"通过“缩写”键提高 varchar、text 和 numeric 字段的排序速度（Peter Geoghegan、Andrew Gierth、Robert Haas）","title":"通过“缩写”键提高 varchar、text 和 numeric 字段的排序速度","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["5ea86e6"],"commit_groups":[["5ea86e6"]],"commits":[],"cves":[],"db_id":"d93f1bc64e99ba88ca9333d923b19f43","html":"\u003cp\u003e扩展允许由内联的、非 \u003cacronym\u003eSQL\u003c/acronym\u003e 可调用的比较函数执行排序的基础设施，使其覆盖 \u003ccode\u003eCREATE INDEX\u003c/code\u003e、\u003ccode\u003eREINDEX\u003c/code\u003e 和 \u003ccode\u003eCLUSTER\u003c/code\u003e（Peter Geoghegan）\u003c/p\u003e","id":"9.5.0-6eea83d519bd1caa","identity_text":"Extend the infrastructure that allows sorting to be performed by inlined, non-SQL-callable comparison functions to cover CREATE INDEX, REINDEX, and CLUSTER (Peter Geoghegan)","part":"changes","patch_ids":["f73d727d6217c0058da30b9d8fcab174"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["5ea86e6"],"source_entry_id":"9.5.0/changes/007","source_hash":"5608331c0223445f99fc99c03911fb39e1e5e0e9ed32344fd0c4ef37a580fb03","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"ef968f39dfab8259c46f2c0a5e700c5d16cd779e346423343abffb7d426addcc","text":"扩展允许由内联的、非 SQL 可调用的比较函数执行排序的基础设施，使其覆盖 CREATE INDEX、REINDEX 和 CLUSTER（Peter Geoghegan）","title":"扩展允许由内联的、非 SQL 可调用的比较函数执行排序的基础设施，使其覆盖 CREATE INDEX、REINDEX 和 CLUSTER","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["30d7ae3","45f6240","8cce08f"],"commit_groups":[["30d7ae3"],["45f6240"],["8cce08f"]],"commits":[],"cves":[],"db_id":"1845465bea21a58ff76581628c372d6e","html":"\u003cp\u003e改进哈希连接的性能（Tomas Vondra、Robert Haas）\u003c/p\u003e","id":"9.5.0-b6243a689d430f40","identity_text":"Improve performance of hash joins (Tomas Vondra, Robert Haas)","part":"changes","patch_ids":["2d1e336595ee510dd7bb935e41152468","7ffa30a5895e9161e0f5d4798632f769","e10bd03fcab600fb4c143c1c4f40b201"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["30d7ae3","45f6240","8cce08f"],"source_entry_id":"9.5.0/changes/008","source_hash":"c58e154d814856647e6f03597b8b881c8e47ff6d4173844dd687b0ef2d750c13","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"25afd8a51c4f242c20ac8b76b790953121225fdcd038570aac9d798e08df35b8","text":"改进哈希连接的性能（Tomas Vondra、Robert Haas）","title":"改进哈希连接的性能","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["5d7962c","d72731a"],"commit_groups":[["5d7962c"],["d72731a"]],"commits":[],"cves":[],"db_id":"0ea3ad655a4d38d58dbbf9be72d7df82","html":"\u003cp\u003e改进共享缓冲区替换的并发性（Robert Haas、Amit Kapila、Andres Freund）\u003c/p\u003e","id":"9.5.0-a1c6eeea0f1a3f5f","identity_text":"Improve concurrency of shared buffer replacement (Robert Haas, Amit Kapila, Andres Freund)","part":"changes","patch_ids":["9204ad2e4dcc557b1e4a4864b7c144d3","94803eb385b5d84965f6edd062462a7f"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["5d7962c","d72731a"],"source_entry_id":"9.5.0/changes/009","source_hash":"cd897cc55017dbb49516b08cfd000c6a7a6685d3e09e1c32b6f97351fcb0e592","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"c3118df535e21d2b4e26500a573a820c438c2a6c2ff4829f0a2b8a605713a80b","text":"改进共享缓冲区替换的并发性（Robert Haas、Amit Kapila、Andres Freund）","title":"改进共享缓冲区替换的并发性","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["2ed5b87f"],"commit_groups":[["2ed5b87f"]],"commits":[],"cves":[],"db_id":"f883ea2df27a49eb0eb07cf49ed0d7f1","html":"\u003cp\u003e减少索引扫描期间的页锁和引脚数量（Kevin Grittner）\u003c/p\u003e\n\u003cp\u003e其主要好处是让索引清理较少被阻塞。\u003c/p\u003e","id":"9.5.0-2eeadfb65fa576df","identity_text":"Reduce the number of page locks and pins during index scans (Kevin Grittner) The primary benefit of this is to allow index vacuums to be blocked less often.","part":"changes","patch_ids":["c6b7f57e09c2f00fa4f93b3faa2033bb"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["2ed5b87f"],"source_entry_id":"9.5.0/changes/010","source_hash":"4d86a8dcd03456ffeaa18354e5ed3bbdbbd6d296033ea2c044ea2c7b5aa6d231","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"ac765ba1fac8d2e00ffb32fd45217bb141e793f5118bf0435a8d8afcdbda7312","text":"减少索引扫描期间的页锁和引脚数量（Kevin Grittner） 其主要好处是让索引清理较少被阻塞。","title":"减少索引扫描期间的页锁和引脚数量","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["2d115e4","4b4b680"],"commit_groups":[["2d115e4"],["4b4b680"]],"commits":[],"cves":[],"db_id":"5845a1f4aae80e32a8d575381d129821","html":"\u003cp\u003e使按后端的缓冲区引脚跟踪更省内存（Andres Freund）\u003c/p\u003e","id":"9.5.0-a32d4bed6a7ab735","identity_text":"Make per-backend tracking of buffer pins more memory-efficient (Andres Freund)","part":"changes","patch_ids":["30552bcdd2c7477ebe730c6931f20beb","6f989c10384d10dfaabe4c874bc965e1"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["2d115e4","4b4b680"],"source_entry_id":"9.5.0/changes/011","source_hash":"c0cf28da9f28a67f6b7769942252ebb5892a72510b8bc7e7d0945871acabb406","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"c7e5fe0bd7976b9c4253d7fb0db918706d596a24fcf6c9bbd942a6e927fc460e","text":"使按后端的缓冲区引脚跟踪更省内存（Andres Freund）","title":"使按后端的缓冲区引脚跟踪更省内存","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["ab5194e"],"commit_groups":[["ab5194e"]],"commits":[],"cves":[],"db_id":"75a32ad623e144a4bbba22b547e9057a","html":"\u003cp\u003e改进锁的可伸缩性（Andres Freund）\u003c/p\u003e\n\u003cp\u003e这尤其解决了在多 \u003cacronym\u003eCPU\u003c/acronym\u003e 插槽系统上运行时的可伸缩性问题。\u003c/p\u003e","id":"9.5.0-f4d07e21c0a0b0ac","identity_text":"Improve lock scalability (Andres Freund) This particularly addresses scalability problems when running on systems with multiple CPU sockets.","part":"changes","patch_ids":["34af986d7bb34421beb3f6449f97e2be"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["ab5194e"],"source_entry_id":"9.5.0/changes/012","source_hash":"a2caae329b323bac5c99b3e5ae530510b76db24d55409fb5abd029a01d36b919","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"8cce4bfa85501055656427f774cab39a0358306398f8b42f23ea7d0204350b77","text":"改进锁的可伸缩性（Andres Freund） 这尤其解决了在多 CPU 插槽系统上运行时的可伸缩性问题。","title":"改进锁的可伸缩性","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["f15821e"],"commit_groups":[["f15821e"]],"commits":[],"cves":[],"db_id":"4aeed9af62ca2b64dcfc52a844cbdbc0","html":"\u003cp\u003e允许优化器移除对左连接子查询的不必要引用（David Rowley）\u003c/p\u003e","id":"9.5.0-207c30cf08814e89","identity_text":"Allow the optimizer to remove unnecessary references to left-joined subqueries (David Rowley)","part":"changes","patch_ids":["a32c39e5ea8e28de27cc62d4feaa2343"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["f15821e"],"source_entry_id":"9.5.0/changes/013","source_hash":"2fea479a45b7be7d769c9aa67520cb313f5275fabdc2a666d776a14a5617cac7","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"a83cc6e5acec6dddb8c7418be8ace6d4be56ba86069365b06f28e4d8cabc8637","text":"允许优化器移除对左连接子查询的不必要引用（David Rowley）","title":"允许优化器移除对左连接子查询的不必要引用","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["d222585"],"commit_groups":[["d222585"]],"commits":[],"cves":[],"db_id":"31571c04051fc5e9b86bb4419f9e9296","html":"\u003cp\u003e在合适的情况下，允许把查询限制下推到带\u003ca href=\"/docs/9.5/tutorial-window.html\" title=\"3.5. 窗口函数\"\u003e窗口函数\u003c/a\u003e的子查询中（David Rowley）\u003c/p\u003e","id":"9.5.0-16c29fac83bc8709","identity_text":"Allow pushdown of query restrictions into subqueries with window functions, where appropriate (David Rowley)","part":"changes","patch_ids":["b48721830dc7e8f7363999c7c6512644"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["d222585"],"source_entry_id":"9.5.0/changes/014","source_hash":"ea8b110918da00050e43b5e425bbe11209cedd32ead4e65260d2a9eddf95517d","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"15a7c7f16ce79de8aaecda9af616f78951490bf56bfc36a5f3a4d8ae5812c571","text":"在合适的情况下，允许把查询限制下推到带窗口函数的子查询中（David Rowley）","title":"在合适的情况下，允许把查询限制下推到带窗口函数的子查询中","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["dcbf594"],"commit_groups":[["dcbf594"]],"commits":[],"cves":[],"db_id":"233959bb4266d2c22da453f23f84eb2c","html":"\u003cp\u003e如果非防泄漏函数不接收任何视图输出列，则允许把它下推到安全屏障视图中（Dean Rasheed）\u003c/p\u003e","id":"9.5.0-18ba2591d01d83e8","identity_text":"Allow a non-leakproof function to be pushed down into a security barrier view if the function does not receive any view output columns (Dean Rasheed)","part":"changes","patch_ids":["aa5b40f52f4a2230285062d4db47dc31"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["dcbf594"],"source_entry_id":"9.5.0/changes/015","source_hash":"67a10a9f920848af1ece61a65c7752dbca8f96e7f2747488bcf5437140ad3503","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"e3b3d74e05a4d3a22fe00c8ab0e66baaafc8138ecaaba3ebda5436b1f5bd6587","text":"如果非防泄漏函数不接收任何视图输出列，则允许把它下推到安全屏障视图中（Dean Rasheed）","title":"如果非防泄漏函数不接收任何视图输出列，则允许把它下推到安全屏障视图中","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["45d256c"],"commit_groups":[["45d256c"]],"commits":[],"cves":[],"db_id":"64b80c8cf351927087b049c0750890c8","html":"\u003cp\u003e当 \u003ccode\u003eWHERE\u003c/code\u003e 中出现匹配的函数调用时，让规划器使用从布尔返回函数表达式索引获得的统计信息（Tom Lane）\u003c/p\u003e","id":"9.5.0-f26b6997875cadb0","identity_text":"Teach the planner to use statistics obtained from an expression index on a boolean-returning function, when a matching function call appears in WHERE (Tom Lane)","part":"changes","patch_ids":["b8b4e52a1169a8ecb61ba5cecf5a5dbc"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["45d256c"],"source_entry_id":"9.5.0/changes/016","source_hash":"257912613f38feb70a793162fbcde687accfd4046f951eb9a391d982ed0eeec2","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"4231c6230f765d75f76485f63edf7ad833a409ba1e155b027cb4c35fcb2640d1","text":"当 WHERE 中出现匹配的函数调用时，让规划器使用从布尔返回函数表达式索引获得的统计信息（Tom Lane）","title":"当 WHERE 中出现匹配的函数调用时，让规划器使用从布尔返回函数表达式索引获得的统计信息","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["cfb2024"],"commit_groups":[["cfb2024"]],"commits":[],"cves":[],"db_id":"7936ed631a2d3c8f2ed91f75953b6d3a","html":"\u003cp\u003e即使列的数据类型缺少相等函数，也让 \u003ccode\u003eANALYZE\u003c/code\u003e 计算基本统计信息（空值比例和平均列宽）（Oleksandr Shulgin）\u003c/p\u003e","id":"9.5.0-cae40cdcaed7c077","identity_text":"Make ANALYZE compute basic statistics (null fraction and average column width) even for columns whose data type lacks an equality function (Oleksandr Shulgin)","part":"changes","patch_ids":["40fc6a7d6f3eb13b4db01dcbc7dd1005"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["cfb2024"],"source_entry_id":"9.5.0/changes/017","source_hash":"af40d1886f42f8b80cc75c996bd5d4a84e42f6af3bc0a5b030ef47a72da8aeba","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"1d03f45896c3fea71486562b899f34306a30c722f92efdbd941cf18ec5ecd8f3","text":"即使列的数据类型缺少相等函数，也让 ANALYZE 计算基本统计信息（空值比例和平均列宽）（Oleksandr Shulgin）","title":"即使列的数据类型缺少相等函数，也让 ANALYZE 计算基本统计信息（空值比例和平均列宽）","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["025c024","3dc2d62","5028f22"],"commit_groups":[["025c024"],["3dc2d62"],["5028f22"]],"commits":[],"cves":[],"db_id":"a36decdc418e0679b6675dda80aad1c3","html":"\u003cp\u003e加速 \u003cacronym\u003eCRC\u003c/acronym\u003e（循环冗余校验）计算并切换到 CRC-32C（Abhijit Menon-Sen、Heikki Linnakangas）\u003c/p\u003e","id":"9.5.0-49b3051d4ca5f9bc","identity_text":"Speed up CRC (cyclic redundancy check) computations and switch to CRC-32C (Abhijit Menon-Sen, Heikki Linnakangas)","part":"changes","patch_ids":["0bc647ce19e0126123eae70cc3506767","0dd548ed7e5f879f75c4c5b9bcc354cc","7d2485cebcd6131e199d50d6cebc42e2"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["025c024","3dc2d62","5028f22"],"source_entry_id":"9.5.0/changes/018","source_hash":"88cfbfe3a6a7d83fe29013b29a6f2704c0941c38147f85c230168e7218261d88","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"72dff919231807053de727ede4a5c20f2fc674a20078f67de95609dd8c825e88","text":"加速 CRC（循环冗余校验）计算并切换到 CRC-32C（Abhijit Menon-Sen、Heikki Linnakangas）","title":"加速 CRC（循环冗余校验）计算并切换到 CRC-32C","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["779fdcd","f5ae3ba"],"commit_groups":[["779fdcd"],["f5ae3ba"]],"commits":[],"cves":[],"db_id":"ef392a440ccccb964b87dd9f84a08025","html":"\u003cp\u003e改进位图索引扫描的性能（Teodor Sigaev、Tom Lane）\u003c/p\u003e","id":"9.5.0-54c7856c2222b61b","identity_text":"Improve bitmap index scan performance (Teodor Sigaev, Tom Lane)","part":"changes","patch_ids":["047da880087c1bb16965dd54c33ad6ce","7d8039c0ba1bfd52d70ebbc07ce9ff50"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["779fdcd","f5ae3ba"],"source_entry_id":"9.5.0/changes/019","source_hash":"a97eaf7d2060b7c8c1ce3ed0a75f4052a838b191dc1e556bdfc400452821b53e","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"f04bb3b2e6e1cf66f10467e1e5860aaa8f9e506ec5a3cd044ddc3af21fc3a4d6","text":"改进位图索引扫描的性能（Teodor Sigaev、Tom Lane）","title":"改进位图索引扫描的性能","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["9f03ca9"],"commit_groups":[["9f03ca9"]],"commits":[],"cves":[],"db_id":"3f830cdd7e2ad4b0d6f00dcd81166e22","html":"\u003cp\u003e通过避免不必要的内存复制加速 \u003ccode\u003eCREATE INDEX\u003c/code\u003e（Robert Haas）\u003c/p\u003e","id":"9.5.0-d6dcc06d20a78efa","identity_text":"Speed up CREATE INDEX by avoiding unnecessary memory copies (Robert Haas)","part":"changes","patch_ids":["82dc8dbcb03ca78d8270ded620e4fbae"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["9f03ca9"],"source_entry_id":"9.5.0/changes/020","source_hash":"50e7a7cc02354776175561a54addef872c88ea0cc928767962d659f31ecce12b","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"07ea74a30133e8afb31c51003f0e4df14a82a474471bf7844393948c330fbb6a","text":"通过避免不必要的内存复制加速 CREATE INDEX（Robert Haas）","title":"通过避免不必要的内存复制加速 CREATE INDEX","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["3acc10c9"],"commit_groups":[["3acc10c9"]],"commits":[],"cves":[],"db_id":"ad4bfd3db0ae1a6fc8af5969417d23c9","html":"\u003cp\u003e增加缓冲区映射的分区数（Amit Kapila、Andres Freund、Robert Haas）\u003c/p\u003e\n\u003cp\u003e这提高了高并发负载下的性能。\u003c/p\u003e","id":"9.5.0-b566eb17d779ef1d","identity_text":"Increase the number of buffer mapping partitions (Amit Kapila, Andres Freund, Robert Haas) This improves performance for highly concurrent workloads.","part":"changes","patch_ids":["d74305ba3826b04f48fd77728822059e"],"related_changes":[],"relations":[],"section":"服务器 / 一般性能","section_path":["服务器","一般性能"],"source_commits":["3acc10c9"],"source_entry_id":"9.5.0/changes/021","source_hash":"085671386dabf52d6e0d50470f3eb7fcd2fb16bfa3055b8e7b6eed6a90869f1f","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.3","statement_hash":"ff7973859a8f4b2bb6ab1687d0c3b38ea039d389a31ec2fc508fc1571d0c6a79","text":"增加缓冲区映射的分区数（Amit Kapila、Andres Freund、Robert Haas） 这提高了高并发负载下的性能。","title":"增加缓冲区映射的分区数","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["4ff695b1"],"commit_groups":[["4ff695b1"]],"commits":[],"cves":[],"db_id":"86920274b032288cc24b45f887c7b347","html":"\u003cp\u003e通过新的 \u003ccode\u003elog_autovacuum_min_duration\u003c/code\u003e 存储参数添加按表的自动清理日志控制（Michael Paquier）\u003c/p\u003e","id":"9.5.0-54b7494c08857e80","identity_text":"Add per-table autovacuum logging control via new log_autovacuum_min_duration storage parameter (Michael Paquier)","part":"changes","patch_ids":["4adcc42c499e6b5e8494239100f75eb6"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["4ff695b1"],"source_entry_id":"9.5.0/changes/022","source_hash":"2abebfb008de4f8f39d2214b19db5a61ace1428ef0e1b8b61b9eba1289872cd3","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.4","statement_hash":"fe975c867817587dc7c504496afea6fd82055ec55261843057a4060fe1d5c961","text":"通过新的 log_autovacuum_min_duration 存储参数添加按表的自动清理日志控制（Michael Paquier）","title":"通过新的 log_autovacuum_min_duration 存储参数添加按表的自动清理日志控制","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["51adcaa"],"commit_groups":[["51adcaa"]],"commits":[],"cves":[],"db_id":"ba268fbfb678b77084f6ff3846f5c6fa","html":"\u003cp\u003e添加新的配置参数\u003ca href=\"/docs/9.5/runtime-config-logging.html#GUC-CLUSTER-NAME\"\u003ecluster_name\u003c/a\u003e（Thomas Munro）\u003c/p\u003e\n\u003cp\u003e这个字符串通常在 \u003ca href=\"/docs/9.5/runtime-config.html#CONFIG-SETTING-CONFIGURATION-FILE\" title=\"18.1.2. 通过配置文件影响参数\"\u003e\u003ccode\u003epostgresql.conf\u003c/code\u003e\u003c/a\u003e 中设置，让客户端能够识别集群。该名称还会出现在所有服务器进程的进程标题中，便于识别属于同一集群的进程。\u003c/p\u003e","id":"9.5.0-2b7d4c599fd83cdf","identity_text":"Add new configuration parameter guc-cluster-name (Thomas Munro) This string, typically set in postgresql.conf, allows clients to identify the cluster. This name also appears in the process title of all server processes, allowing for easier identification of processes belonging to the same cluster.","part":"changes","patch_ids":["b92862b55fefc9024b75949610e2c172"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["51adcaa"],"source_entry_id":"9.5.0/changes/023","source_hash":"332f4ace35d20f7baa0d2dc78f6e311fc0231582083ddd644573d5fb5278c014","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.4","statement_hash":"39dc3f476f7b5517a1950bbb6eb63f751c32af973df6712b223b095c22acc6ad","text":"添加新的配置参数cluster_name（Thomas Munro） 这个字符串通常在 postgresql.conf 中设置，让客户端能够识别集群。该名称还会出现在所有服务器进程的进程标题中，便于识别属于同一集群的进程。","title":"添加新的配置参数cluster_name","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["fe550b2"],"commit_groups":[["fe550b2"]],"commits":[],"cves":[],"db_id":"ee24b60403635caf0465b11ef0693e59","html":"\u003cp\u003e防止非超级用户在连接启动时更改\u003ca href=\"/docs/9.5/runtime-config-logging.html#GUC-LOG-DISCONNECTIONS\"\u003elog_disconnections\u003c/a\u003e（Fujii Masao）\u003c/p\u003e","id":"9.5.0-3ae85e64e1dea51d","identity_text":"Prevent non-superusers from changing guc-log-disconnections on connection startup (Fujii Masao)","part":"changes","patch_ids":["e63528d8f3123e1fb4df9e2ea954d765"],"related_changes":[],"relations":[],"section":"服务器 / 监控","section_path":["服务器","监控"],"source_commits":["fe550b2"],"source_entry_id":"9.5.0/changes/024","source_hash":"6a39c0e0448c3b65cb9bab68d016940aadd8af448c0d6276bdce082332b3d6be","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.4","statement_hash":"27c5b5e0bf38d5347fc5457c0c13291a51e755ae5f00e63d02360a5fae610866","text":"防止非超级用户在连接启动时更改log_disconnections（Fujii Masao）","title":"防止非超级用户在连接启动时更改log_disconnections","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["acd08d7"],"commit_groups":[["acd08d7"]],"commits":[],"cves":[],"db_id":"abf53921ead1d7aa50dab167fc5a3ea0","html":"\u003cp\u003e检查 \u003cacronym\u003eSSL\u003c/acronym\u003e 服务器证书中的\u003ca href=\"/docs/9.5/libpq-ssl.html\" title=\"31.18. SSL 支持\"\u003e\u003cspan\u003e“\u003cspan\u003e使用者可选名称（Subject Alternative Names）\u003c/span\u003e”\u003c/span\u003e\u003c/a\u003e（如果存在）（Alexey Klyukin）\u003c/p\u003e\n\u003cp\u003e当它们存在时，这将取代对证书\u003cspan\u003e“\u003cspan\u003e通用名称（Common Name）\u003c/span\u003e”\u003c/span\u003e的检查。\u003c/p\u003e","id":"9.5.0-6986236008533c7c","identity_text":"Check Subject Alternative Names in SSL server certificates, if present (Alexey Klyukin) When they are present, this replaces checks against the certificate's Common Name.","part":"changes","patch_ids":["c634d9e56ccad24dbe8040e3b8c4aebc"],"related_changes":[],"relations":[],"section":"服务器 / SSL","section_path":["服务器","SSL"],"source_commits":["acd08d7"],"source_entry_id":"9.5.0/changes/025","source_hash":"6709b6bb9280df0af5591c5fe907bc3af2398f6263052b35e3d3335017f0baf5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.5","statement_hash":"74649e000f29bfecc271cf300810b139bf66b170294025dd84dff2c9771264ec","text":"检查 SSL 服务器证书中的“使用者可选名称（Subject Alternative Names）”（如果存在）（Alexey Klyukin） 当它们存在时，这将取代对证书“通用名称（Common Name）”的检查。","title":"检查 SSL 服务器证书中的“使用者可选名称（Subject Alternative Names）”（如果存在）","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["9029f4b"],"commit_groups":[["9029f4b"]],"commits":[],"cves":[],"db_id":"b05583cdcb028e01461a53c2ccc579f1","html":"\u003cp\u003e添加系统视图 \u003ca href=\"/docs/9.5/monitoring-stats.html#PG-STAT-SSL-VIEW\" title=\"表 27.5. pg_stat_ssl 视图\"\u003e\u003ccode\u003epg_stat_ssl\u003c/code\u003e\u003c/a\u003e，用于报告 \u003cacronym\u003eSSL\u003c/acronym\u003e 连接信息（Magnus Hagander）\u003c/p\u003e","id":"9.5.0-ac49bfcfb39a8606","identity_text":"Add system view pg_stat_ssl to report SSL connection information (Magnus Hagander)","part":"changes","patch_ids":["9744b7bf6dc615fc4273a035a76ff9c7"],"related_changes":[],"relations":[],"section":"服务器 / SSL","section_path":["服务器","SSL"],"source_commits":["9029f4b"],"source_entry_id":"9.5.0/changes/026","source_hash":"e0d7c27dd45f33038ce71104004c06d32503a82fae0ad681ba6a050090a0d8e7","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.5","statement_hash":"a15bd0e192b8cc0d417bc57d266799a8aa412bf433566b447b3746e385bd92c0","text":"添加系统视图 pg_stat_ssl，用于报告 SSL 连接信息（Magnus Hagander）","title":"添加系统视图 pg_stat_ssl，用于报告 SSL 连接信息","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["91fa7b4"],"commit_groups":[["91fa7b4"]],"commits":[],"cves":[],"db_id":"26c21aef57345c8ea8783f0dfcc795f1","html":"\u003cp\u003e添加以与实现无关的方式返回 \u003cacronym\u003eSSL\u003c/acronym\u003e 信息的 \u003cspan\u003elibpq\u003c/span\u003e 函数（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e虽然 \u003ca href=\"/docs/9.5/libpq-status.html#LIBPQ-PQGETSSL\"\u003e\u003ccode\u003ePQgetssl()\u003c/code\u003e\u003c/a\u003e 仍可用于调用 \u003cspan\u003eOpenSSL\u003c/span\u003e 函数，但它现在被视为已弃用，因为未来版本的 \u003cspan\u003elibpq\u003c/span\u003e 可能支持其他 \u003cacronym\u003eSSL\u003c/acronym\u003e 实现。在可能的情况下，请使用新函数 \u003ca href=\"/docs/9.5/libpq-status.html#LIBPQ-PQSSLATTRIBUTE\"\u003e\u003ccode\u003ePQsslAttribute()\u003c/code\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/libpq-status.html#LIBPQ-PQSSLATTRIBUTENAMES\"\u003e\u003ccode\u003ePQsslAttributeNames()\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/libpq-status.html#LIBPQ-PQSSLINUSE\"\u003e\u003ccode\u003ePQsslInUse()\u003c/code\u003e\u003c/a\u003e，以与 \u003cacronym\u003eSSL\u003c/acronym\u003e 实现无关的方式获取 \u003cacronym\u003eSSL\u003c/acronym\u003e 信息。\u003c/p\u003e","id":"9.5.0-5b95b18da3de8319","identity_text":"Add libpq functions to return SSL information in an implementation-independent way (Heikki Linnakangas) While PQgetssl() can still be used to call OpenSSL functions, it is now considered deprecated because future versions of libpq might support other SSL implementations. When possible, use the new functions PQsslAttribute(), PQsslAttributeNames(), and PQsslInUse() to obtain SSL information in an SSL-implementation-independent way.","part":"changes","patch_ids":["4a217c98ae3b2519511dab86e794fb93"],"related_changes":[],"relations":[],"section":"服务器 / SSL","section_path":["服务器","SSL"],"source_commits":["91fa7b4"],"source_entry_id":"9.5.0/changes/027","source_hash":"c587fca4fe6a53a0e5de68c3c116e7b2491c928d269d08f3331acb990ed80895","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.5","statement_hash":"97cf699b05d44c2fb6dc90691a384d6eb1d1aa9fffca4278b3d5036ff86340cf","text":"添加以与实现无关的方式返回 SSL 信息的 libpq 函数（Heikki Linnakangas） 虽然 PQgetssl() 仍可用于调用 OpenSSL 函数，但它现在被视为已弃用，因为未来版本的 libpq 可能支持其他 SSL 实现。在可能的情况下，请使用新函数 PQsslAttribute()、PQsslAttributeNames() 和 PQsslInUse()，以与 SSL 实现无关的方式获取 SSL 信息。","title":"添加以与实现无关的方式返回 SSL 信息的 libpq 函数","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["8a0d34e4"],"commit_groups":[["8a0d34e4"]],"commits":[],"cves":[],"db_id":"8ec1d792b344e024ae22c1ec2b4eeb08","html":"\u003cp\u003e使 \u003cspan\u003elibpq\u003c/span\u003e 遵循任何 \u003cspan\u003eOpenSSL\u003c/span\u003e 线程回调（Jan Urbanski）\u003c/p\u003e\n\u003cp\u003e以前它们会被覆盖。\u003c/p\u003e","id":"9.5.0-6273c563fdd8e330","identity_text":"Make libpq honor any OpenSSL thread callbacks (Jan Urbanski) Previously they were overwritten.","part":"changes","patch_ids":["89779d2b8bb8182cb01dbccf43fbe2ce"],"related_changes":[],"relations":[],"section":"服务器 / SSL","section_path":["服务器","SSL"],"source_commits":["8a0d34e4"],"source_entry_id":"9.5.0/changes/028","source_hash":"fc98b8bc5d6cff74d9f822aaeb289535e0358d0adc3905d27900eeedaa72add8","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.5","statement_hash":"7bfe9c16c91eafda3ce10b4d1cccb06069b12dd4cdb8bf4742a0a86623331093","text":"使 libpq 遵循任何 OpenSSL 线程回调（Jan Urbanski） 以前它们会被覆盖。","title":"使 libpq 遵循任何 OpenSSL 线程回调","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["88e9823","a0f5954","d661532"],"commit_groups":[["88e9823"],["a0f5954"],["d661532"]],"commits":[],"cves":[],"db_id":"cfe2d54b837f493c7330f27602a3409a","html":"\u003cp\u003e用\u003ca href=\"/docs/9.5/runtime-config-wal.html#GUC-MIN-WAL-SIZE\"\u003emin_wal_size\u003c/a\u003e和\u003ca href=\"/docs/9.5/runtime-config-wal.html#GUC-MAX-WAL-SIZE\"\u003emax_wal_size\u003c/a\u003e替换配置参数 \u003ccode\u003echeckpoint_segments\u003c/code\u003e（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e此变更允许分配大量 \u003cacronym\u003eWAL\u003c/acronym\u003e 文件，而在不再需要之后不必保留它们。因此 \u003ccode\u003emax_wal_size\u003c/code\u003e 的默认值被设置为 \u003ccode\u003e1GB\u003c/code\u003e，比过去 \u003ccode\u003echeckpoint_segments\u003c/code\u003e 的默认值大得多。另请注意，备库会执行重做点以尝试把 WAL 空间消耗限制在 \u003ccode\u003emax_wal_size\u003c/code\u003e 以内；以前它们完全不理会 \u003ccode\u003echeckpoint_segments\u003c/code\u003e。\u003c/p\u003e","id":"9.5.0-42a4f1960250cc53","identity_text":"Replace configuration parameter checkpoint_segments with guc-min-wal-size and guc-max-wal-size (Heikki Linnakangas) This change allows the allocation of a large number of WAL files without keeping them after they are no longer needed. Therefore the default for max_wal_size has been set to 1GB, much larger than the old default for checkpoint_segments. Also note that standby servers perform restartpoints to try to limit their WAL space consumption to max_wal_size; previously they did not pay any attention to checkpoint_segments.","part":"changes","patch_ids":["60b4762e329f5e5a9d7bd36e6fd0a13d","7646ec0c998b683cc95fd97d60b7ffc3","e3c1ef11510c56acfc6b7b7b927b2c46"],"related_changes":[{"db_id":"09ab299c9ccead03aaadbf12e90c4212","evidence":{"patch_ids":["60b4762e329f5e5a9d7bd36e6fd0a13d","7646ec0c998b683cc95fd97d60b7ffc3","e3c1ef11510c56acfc6b7b7b927b2c46"],"same_day":true},"kind":"related","label":"9.5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","title":"用min_wal_size和max_wal_size替换配置参数 checkpoint_segments","url":"/docs/compare/?release=9.5.0#9.5.0-0ec85082572d2200","version":"9.5.0"}],"relations":[{"evidence":{"patch_ids":["60b4762e329f5e5a9d7bd36e6fd0a13d","7646ec0c998b683cc95fd97d60b7ffc3","e3c1ef11510c56acfc6b7b7b927b2c46"],"same_day":true},"rule":2,"target":"09ab299c9ccead03aaadbf12e90c4212","type":"related"}],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["88e9823","a0f5954","d661532"],"source_entry_id":"9.5.0/changes/029","source_hash":"71079b5f56a765fab59a4fe7c515e46e35f094ab9c8a6c2b744301e3d4ade471","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","statement_hash":"77bac215e17a867a4f0ab2d1441e6ad70e4550277e60ffb8a28073ec901b2f62","text":"用min_wal_size和max_wal_size替换配置参数 checkpoint_segments（Heikki Linnakangas） 此变更允许分配大量 WAL 文件，而在不再需要之后不必保留它们。因此 max_wal_size 的默认值被设置为 1GB，比过去 checkpoint_segments 的默认值大得多。另请注意，备库会执行重做点以尝试把 WAL 空间消耗限制在 max_wal_size 以内；以前它们完全不理会 checkpoint_segments。","title":"用min_wal_size和max_wal_size替换配置参数 checkpoint_segments","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["df8b7bc"],"commit_groups":[["df8b7bc"]],"commits":[],"cves":[],"db_id":"73ad64aa1defa46be42938c644658d56","html":"\u003cp\u003e通过新的环境变量 \u003ca href=\"/docs/9.5/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT\" title=\"17.4.4. Linux 内存过量分配\"\u003e\u003ccode\u003ePG_OOM_ADJUST_FILE\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/kernel-resources.html#LINUX-MEMORY-OVERCOMMIT\" title=\"17.4.4. Linux 内存过量分配\"\u003e\u003ccode\u003ePG_OOM_ADJUST_VALUE\u003c/code\u003e\u003c/a\u003e 控制 Linux 的 \u003cacronym\u003eOOM\u003c/acronym\u003e killer（Gurjeet Singh）\u003c/p\u003e\n\u003cp\u003e以前的 \u003cacronym\u003eOOM\u003c/acronym\u003e 控制基础设施涉及编译时选项 \u003ccode\u003eLINUX_OOM_SCORE_ADJ\u003c/code\u003e 和 \u003ccode\u003eLINUX_OOM_ADJ\u003c/code\u003e，它们不再受支持。新的行为在所有构建中都可用。\u003c/p\u003e","id":"9.5.0-c54d1481221c4216","identity_text":"Control the Linux OOM killer via new environment variables PG_OOM_ADJUST_FILE and PG_OOM_ADJUST_VALUE (Gurjeet Singh) The previous OOM control infrastructure involved compile-time options LINUX_OOM_SCORE_ADJ and LINUX_OOM_ADJ, which are no longer supported. The new behavior is available in all builds.","part":"changes","patch_ids":["d8696174d21379a269115612e5080290"],"related_changes":[{"db_id":"260fb6519ea0f5464e6f94dcdd651428","evidence":{"patch_ids":["d8696174d21379a269115612e5080290"],"same_day":true},"kind":"related","label":"9.5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.4","title":"通过新的环境变量 PG_OOM_ADJUST_FILE 和 PG_OOM_ADJUST_VALUE 控制 Linux 的 OOM killer，而不是编译时选项 LINUX_OOM_SCORE_ADJ 和 LINUX_OOM_ADJ","url":"/docs/compare/?release=9.5.0#9.5.0-c170006c26ba1019","version":"9.5.0"}],"relations":[{"evidence":{"patch_ids":["d8696174d21379a269115612e5080290"],"same_day":true},"rule":2,"target":"260fb6519ea0f5464e6f94dcdd651428","type":"related"}],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["df8b7bc"],"source_entry_id":"9.5.0/changes/030","source_hash":"6cdd4acd328964c286a54ae1c814012f97a616af71e28828876d012bd0811d7f","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","statement_hash":"9f931acb714dfe465dfce91cbdfe7608d22ae8210fd5e0bc5e7c858d3467446f","text":"通过新的环境变量 PG_OOM_ADJUST_FILE 和 PG_OOM_ADJUST_VALUE 控制 Linux 的 OOM killer（Gurjeet Singh） 以前的 OOM 控制基础设施涉及编译时选项 LINUX_OOM_SCORE_ADJ 和 LINUX_OOM_ADJ，它们不再受支持。新的行为在所有构建中都可用。","title":"通过新的环境变量 PG_OOM_ADJUST_FILE 和 PG_OOM_ADJUST_VALUE 控制 Linux 的 OOM killer","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["73c986a"],"commit_groups":[["73c986a"]],"commits":[],"cves":[],"db_id":"47e2a7d4a848f12710d13982e3695a0b","html":"\u003cp\u003e当配置参数\u003ca href=\"/docs/9.5/runtime-config-replication.html#GUC-TRACK-COMMIT-TIMESTAMP\"\u003etrack_commit_timestamp\u003c/a\u003e启用时，允许记录事务提交时间戳（Álvaro Herrera、Petr Jelínek）\u003c/p\u003e\n\u003cp\u003e时间戳信息可以通过函数 \u003ca href=\"/docs/9.5/functions-info.html#FUNCTIONS-COMMIT-TIMESTAMP\" title=\"表 9.65. 已提交事务信息\"\u003e\u003ccode\u003epg_xact_commit_timestamp()\u003c/code\u003e\u003c/a\u003e 和 \u003ccode\u003epg_last_committed_xact()\u003c/code\u003e 访问。\u003c/p\u003e","id":"9.5.0-9013ee5ad33fc584","identity_text":"Allow recording of transaction commit time stamps when configuration parameter guc-track-commit-timestamp is enabled (Álvaro Herrera, Petr Jelínek) Time stamp information can be accessed using functions pg_xact_commit_timestamp() and pg_last_committed_xact().","part":"changes","patch_ids":["e167d78c907867b835a0946f91abe36a"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["73c986a"],"source_entry_id":"9.5.0/changes/031","source_hash":"3b6180f1a57a430e7aaa271e87c8defd169c21a1a99683fd907123bf7af53ab7","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","statement_hash":"59fd15e447642cbc48450901fce4cdfba2b732269d1b161ca3d51fa10cd573ee","text":"当配置参数track_commit_timestamp启用时，允许记录事务提交时间戳（Álvaro Herrera、Petr Jelínek） 时间戳信息可以通过函数 pg_xact_commit_timestamp() 和 pg_last_committed_xact() 访问。","title":"当配置参数track_commit_timestamp启用时，允许记录事务提交时间戳","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["584e35d"],"commit_groups":[["584e35d"]],"commits":[],"cves":[],"db_id":"c250644d75598135a98f02c4a22a2530","html":"\u003cp\u003e允许通过 \u003ccode\u003eALTER ROLE SET\u003c/code\u003e 设置\u003ca href=\"/docs/9.5/runtime-config-client.html#GUC-LOCAL-PRELOAD-LIBRARIES\"\u003elocal_preload_libraries\u003c/a\u003e（Peter Eisentraut、Kyotaro Horiguchi）\u003c/p\u003e","id":"9.5.0-74f7ec36fd2556c5","identity_text":"Allow guc-local-preload-libraries to be set by ALTER ROLE SET (Peter Eisentraut, Kyotaro Horiguchi)","part":"changes","patch_ids":["4c5723462176b6325fe5b1039699a774"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["584e35d"],"source_entry_id":"9.5.0/changes/032","source_hash":"e931efac7c9d3709f8feb5cde2ba7a6a05123ff87c4679bd24f3836200b2879c","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","statement_hash":"505014f46f95cbd3eba5b1b1bdf56743f2e734d338d8e9e8cdae9fad19e29510","text":"允许通过 ALTER ROLE SET 设置local_preload_libraries（Peter Eisentraut、Kyotaro Horiguchi）","title":"允许通过 ALTER ROLE SET 设置local_preload_libraries","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a75fb9b"],"commit_groups":[["a75fb9b"]],"commits":[],"cves":[],"db_id":"7f2f3fb46c783644078a3be74c894014","html":"\u003cp\u003e允许\u003ca href=\"/docs/9.5/maintenance.html#AUTOVACUUM\" title=\"23.1.6. 自动清理守护进程\"\u003e自动清理工作进程\u003c/a\u003e在运行期间响应配置参数更改（Michael Paquier）\u003c/p\u003e","id":"9.5.0-d36ec56762f92852","identity_text":"Allow autovacuum workers to respond to configuration parameter changes during a run (Michael Paquier)","part":"changes","patch_ids":["2d19d0a1429c5c6d0412545b6c2c07e2"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["a75fb9b"],"source_entry_id":"9.5.0/changes/033","source_hash":"df290d291ea3c708ae89e9c4d6646289d39bdb7fc0cd4d320c0d6fb52c81af23","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","statement_hash":"8b039809a9eafa442fc23a93d82d0bc1a96c1a9a2745571e51fca517471b006f","text":"允许自动清理工作进程在运行期间响应配置参数更改（Michael Paquier）","title":"允许自动清理工作进程在运行期间响应配置参数更改","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3bdcf6a"],"commit_groups":[["3bdcf6a"]],"commits":[],"cves":[],"db_id":"09152d7f782490e24e8337d77023857d","html":"\u003cp\u003e把配置参数\u003ca href=\"/docs/9.5/runtime-config-preset.html#GUC-DEBUG-ASSERTIONS\"\u003edebug_assertions\u003c/a\u003e设为只读（Andres Freund）\u003c/p\u003e\n\u003cp\u003e这意味着，如果在编译时启用了断言，就无法再关闭它们，从而允许更高效的代码优化。此变更还移除了 \u003ca href=\"/docs/9.5/app-postgres.html#APP-POSTGRES-OPTIONS\" title=\"选项\"\u003epostgres\u003c/a\u003e 的 \u003ccode\u003e-A\u003c/code\u003e 选项。\u003c/p\u003e","id":"9.5.0-46730184452ade72","identity_text":"Make configuration parameter guc-debug-assertions read-only (Andres Freund) This means that assertions can no longer be turned off if they were enabled at compile time, allowing for more efficient code optimization. This change also removes the postgres -A option.","part":"changes","patch_ids":["d663aecbd4495bee8089617a0c6aa156"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["3bdcf6a"],"source_entry_id":"9.5.0/changes/034","source_hash":"877e8da5e4c4a3db61fc8ddcee45dd4ae179e270861b411c785cf01bf4b1e87e","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","statement_hash":"48c4d6910c90e28231d98972591cd801b13d5acec52f49bdd15cc66d1dfc22ba","text":"把配置参数debug_assertions设为只读（Andres Freund） 这意味着，如果在编译时启用了断言，就无法再关闭它们，从而允许更高效的代码优化。此变更还移除了 postgres 的 -A 选项。","title":"把配置参数debug_assertions设为只读","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["7feaccc"],"commit_groups":[["7feaccc"]],"commits":[],"cves":[],"db_id":"3977e7a29e9bfd6bf2029df637507dbb","html":"\u003cp\u003e允许在不生效的系统上设置\u003ca href=\"/docs/9.5/runtime-config-resource.html#GUC-EFFECTIVE-IO-CONCURRENCY\"\u003eeffective_io_concurrency\u003c/a\u003e（Peter Eisentraut）\u003c/p\u003e","id":"9.5.0-79e9b04f45c851eb","identity_text":"Allow setting guc-effective-io-concurrency on systems where it has no effect (Peter Eisentraut)","part":"changes","patch_ids":["9f23e4040c2772eedadfbae4ec24b8b4"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["7feaccc"],"source_entry_id":"9.5.0/changes/035","source_hash":"63b578c8986a5a4c789589229a8f66c01127b17ea6db77013ebbc9aabdc916ee","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","statement_hash":"4ff62176a37c36e84bc911683c99d8461f129751ccfc814695aa459c3ada674b","text":"允许在不生效的系统上设置effective_io_concurrency（Peter Eisentraut）","title":"允许在不生效的系统上设置effective_io_concurrency","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["62d16c7","a97e0c3"],"commit_groups":[["62d16c7"],["a97e0c3"]],"commits":[],"cves":[],"db_id":"651044555a27be488be01cc9dfec3515","html":"\u003cp\u003e添加系统视图 \u003ca href=\"/docs/9.5/view-pg-file-settings.html\" title=\"49.60. pg_file_settings\"\u003e\u003ccode\u003epg_file_settings\u003c/code\u003e\u003c/a\u003e，用于显示服务器配置文件的内容（Sawada Masahiko）\u003c/p\u003e","id":"9.5.0-796bd68866d9702d","identity_text":"Add system view pg_file_settings to show the contents of the server's configuration files (Sawada Masahiko)","part":"changes","patch_ids":["405d48ef00f2fca07f28ead3993a2a42","7cde427c0582c1353c8481190fb1f31a"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["62d16c7","a97e0c3"],"source_entry_id":"9.5.0/changes/036","source_hash":"7b5fdcf85235f65da0143b270c80031df24a44c6221e84861d81a6510b0bc937","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","statement_hash":"da582390299a7cddf81712753159a500f4b9cfa80ee0fae9be4b4e4aecc00016","text":"添加系统视图 pg_file_settings，用于显示服务器配置文件的内容（Sawada Masahiko）","title":"添加系统视图 pg_file_settings，用于显示服务器配置文件的内容","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a486e35"],"commit_groups":[["a486e35"]],"commits":[],"cves":[],"db_id":"79d0e271740eb53116f7b0ccb9aa4ddd","html":"\u003cp\u003e向系统视图 \u003ca href=\"/docs/9.5/view-pg-settings.html\" title=\"49.73. pg_settings\"\u003e\u003ccode\u003epg_settings\u003c/code\u003e\u003c/a\u003e 添加 \u003ccode\u003epending_restart\u003c/code\u003e，用于指示已做出更改但在数据库重启之前不会生效（Peter Eisentraut）\u003c/p\u003e","id":"9.5.0-b786a46bf4768e43","identity_text":"Add pending_restart to the system view pg_settings to indicate a change has been made but will not take effect until a database restart (Peter Eisentraut)","part":"changes","patch_ids":["e542c33a6d3d3b753f2ffc8a551997d3"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["a486e35"],"source_entry_id":"9.5.0/changes/037","source_hash":"16744cb38db6fead64a73550c1c7d4e15c03322327a4dadccadb58c4dc10c23e","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","statement_hash":"fafacf5105d886bf34070ff113fec67e25137e06a22467aea14f05ea0b147f93","text":"向系统视图 pg_settings 添加 pending_restart，用于指示已做出更改但在数据库重启之前不会生效（Peter Eisentraut）","title":"向系统视图 pg_settings 添加 pending_restart，用于指示已做出更改但在数据库重启之前不会生效","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["bd3b7a9"],"commit_groups":[["bd3b7a9"]],"commits":[],"cves":[],"db_id":"f85176e40119b88362ea6c12bc628705","html":"\u003cp\u003e允许用 \u003ccode\u003eALTER SYSTEM RESET\u003c/code\u003e 重置 \u003ca href=\"/docs/9.5/sql-altersystem.html\" title=\"ALTER SYSTEM\"\u003e\u003ccode\u003eALTER SYSTEM\u003c/code\u003e\u003c/a\u003e 的值（Vik Fearing）\u003c/p\u003e\n\u003cp\u003e此命令会从 \u003ccode\u003epostgresql.auto.conf\u003c/code\u003e 中移除指定的设置。\u003c/p\u003e","id":"9.5.0-092610b54915edb5","identity_text":"Allow ALTER SYSTEM values to be reset with ALTER SYSTEM RESET (Vik Fearing) This command removes the specified setting from postgresql.auto.conf.","part":"changes","patch_ids":["26c17f47838df6c24aa1f9718b89e95d"],"related_changes":[],"relations":[],"section":"服务器 / 服务器配置","section_path":["服务器","服务器配置"],"source_commits":["bd3b7a9"],"source_entry_id":"9.5.0/changes/038","source_hash":"655906367eeafaae6c1c791f20708a31f8395540be3770855ebb73484040952a","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.3.6","statement_hash":"d82e84284eb4142f4c5ae423598fcfa17a28702155cec3e03443070798335cab","text":"允许用 ALTER SYSTEM RESET 重置 ALTER SYSTEM 的值（Vik Fearing） 此命令会从 postgresql.auto.conf 中移除指定的设置。","title":"允许用 ALTER SYSTEM RESET 重置 ALTER SYSTEM 的值","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5aa2350"],"commit_groups":[["5aa2350"]],"commits":[],"cves":[],"db_id":"6d17d6257f9cc73c52321b82e3534493","html":"\u003cp\u003e创建跟踪\u003ca href=\"/docs/9.5/replication-origins.html\" title=\"第 47 章 复制进度跟踪\"\u003e复制进度\u003c/a\u003e的机制，包括在逻辑复制期间识别单条变更来源的方法（Andres Freund）\u003c/p\u003e\n\u003cp\u003e这在实现复制解决方案时很有帮助。\u003c/p\u003e","id":"9.5.0-d4a6878db59f6103","identity_text":"Create mechanisms for tracking the progress of replication, including methods for identifying the origin of individual changes during logical replication (Andres Freund) This is helpful when implementing replication solutions.","part":"changes","patch_ids":["6fb670c2ba27e389c57f3b5c18e02481"],"related_changes":[],"relations":[],"section":"复制与恢复","section_path":["复制与恢复"],"source_commits":["5aa2350"],"source_entry_id":"9.5.0/changes/039","source_hash":"6329b606caca3448ab8d1ed23de96e1514c3c1b4885edb1feb2acdc1322cd79b","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.4","statement_hash":"39e9d0df0336857b498775f3321cb41a9d8ef483c0b3a244715eaa3b11f99e07","text":"创建跟踪复制进度的机制，包括在逻辑复制期间识别单条变更来源的方法（Andres Freund） 这在实现复制解决方案时很有帮助。","title":"创建跟踪复制进度的机制，包括在逻辑复制期间识别单条变更来源的方法","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6e8af37","bd7c348"],"commit_groups":[["6e8af37"],["bd7c348"]],"commits":[],"cves":[],"db_id":"864d515e21696e566eec2efd2b014fd1","html":"\u003cp\u003e重做多事务提交日志的截断逻辑，使其正确记录 WAL（Andres Freund）\u003c/p\u003e\n\u003cp\u003e这使事情变得明显更简单、更健壮。\u003c/p\u003e","id":"9.5.0-3c7abb698f17882a","identity_text":"Rework truncation of the multixact commit log to be properly WAL-logged (Andres Freund) This makes things substantially simpler and more robust.","part":"changes","patch_ids":["270448c43c72d8a97a99d20914b9c7cb","7fc0ca6a1aedf2861da914bd5cb125d2"],"related_changes":[],"relations":[],"section":"复制与恢复","section_path":["复制与恢复"],"source_commits":["6e8af37","bd7c348"],"source_entry_id":"9.5.0/changes/040","source_hash":"9eee24a74c1cb73a1ec3a17e71df9799314bd74de2153d5ab22b20675e8d2420","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.4","statement_hash":"1514a04f968aac8df001041d426e42cf7cea4fc71baafa58e2305d7bbb6da660","text":"重做多事务提交日志的截断逻辑，使其正确记录 WAL（Andres Freund） 这使事情变得明显更简单、更健壮。","title":"重做多事务提交日志的截断逻辑，使其正确记录 WAL","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["51c11a7","aedccb1","b8e33a8"],"commit_groups":[["51c11a7"],["aedccb1"],["b8e33a8"]],"commits":[],"cves":[],"db_id":"30c95171f6e1f722deac0b3681461a35","html":"\u003cp\u003e添加 \u003ca href=\"/docs/9.5/recovery-config.html\" title=\"第 26 章 恢复配置\"\u003e\u003ccode\u003erecovery.conf\u003c/code\u003e\u003c/a\u003e 参数 \u003ca href=\"/docs/9.5/recovery-target-settings.html#RECOVERY-TARGET-ACTION\"\u003e\u003ccode\u003erecovery_target_action\u003c/code\u003e\u003c/a\u003e 来控制恢复之后的动作（Petr Jelínek）\u003c/p\u003e\n\u003cp\u003e它取代了旧的参数 \u003ccode\u003epause_at_recovery_target\u003c/code\u003e。\u003c/p\u003e","id":"9.5.0-97c9728a159adf37","identity_text":"Add recovery.conf parameter recovery_target_action to control post-recovery activity (Petr Jelínek) This replaces the old parameter pause_at_recovery_target.","part":"changes","patch_ids":["302008525912e1342c4929e73d0a4d75","6935b51e9e97a9e036cd0bf844355913","b75072b5bcc043d12fdefb2036a1bce9"],"related_changes":[],"relations":[],"section":"复制与恢复","section_path":["复制与恢复"],"source_commits":["51c11a7","aedccb1","b8e33a8"],"source_entry_id":"9.5.0/changes/041","source_hash":"8c35349a2adfa461e72a4511843ed021620684b1c7a881eaa62c67a81c5b5017","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.4","statement_hash":"a6943068d2a9d293b9c63b370b8db78f80987c3e1749550f108403732a580b7b","text":"添加 recovery.conf 参数 recovery_target_action 来控制恢复之后的动作（Petr Jelínek） 它取代了旧的参数 pause_at_recovery_target。","title":"添加 recovery.conf 参数 recovery_target_action 来控制恢复之后的动作","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ffd3774"],"commit_groups":[["ffd3774"]],"commits":[],"cves":[],"db_id":"01de60a4980b953a81f3cf422115f290","html":"\u003cp\u003e为\u003ca href=\"/docs/9.5/runtime-config-wal.html#GUC-ARCHIVE-MODE\"\u003earchive_mode\u003c/a\u003e添加新值 \u003ccode\u003ealways\u003c/code\u003e，允许备库始终归档收到的 \u003cacronym\u003eWAL\u003c/acronym\u003e 文件（Fujii Masao）\u003c/p\u003e","id":"9.5.0-0eaf4a2d03891d83","identity_text":"Add new guc-archive-mode value always to allow standbys to always archive received WAL files (Fujii Masao)","part":"changes","patch_ids":["685b504689a26857850380bd3e6d9951"],"related_changes":[],"relations":[],"section":"复制与恢复","section_path":["复制与恢复"],"source_commits":["ffd3774"],"source_entry_id":"9.5.0/changes/042","source_hash":"806ae02dafcda1bac3ae2be181f5efba05988de4c123f914394b2ef6d389f95e","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.4","statement_hash":"fa177d7609c755ddf9505e4299f9ed78194b459f9e0809c9bd618c1457d08272","text":"为archive_mode添加新值 always，允许备库始终归档收到的 WAL 文件（Fujii Masao）","title":"为archive_mode添加新值 always，允许备库始终归档收到的 WAL 文件","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5d2b45e"],"commit_groups":[["5d2b45e"]],"commits":[],"cves":[],"db_id":"7734e2d7f1e813d689fe49d19192e0b3","html":"\u003cp\u003e添加配置参数\u003ca href=\"/docs/9.5/runtime-config-replication.html#GUC-WAL-RETRIEVE-RETRY-INTERVAL\"\u003ewal_retrieve_retry_interval\u003c/a\u003e，控制在失败后重试读取 \u003cacronym\u003eWAL\u003c/acronym\u003e 的间隔（Alexey Vasiliev、Michael Paquier）\u003c/p\u003e\n\u003cp\u003e这对温备库特别有用。\u003c/p\u003e","id":"9.5.0-2552443a93ab785f","identity_text":"Add configuration parameter guc-wal-retrieve-retry-interval to control WAL read retry after failure (Alexey Vasiliev, Michael Paquier) This is particularly helpful for warm standbys.","part":"changes","patch_ids":["fc590e5733daaeb18a93d2555c7d6c24"],"related_changes":[],"relations":[],"section":"复制与恢复","section_path":["复制与恢复"],"source_commits":["5d2b45e"],"source_entry_id":"9.5.0/changes/043","source_hash":"8cbc05b0a62bfbe145a584eedeb2a1acc921ed35a2b5d535fe6b13e18f4fdf61","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.4","statement_hash":"60bd3d5a8090d4957995b08470464926a665258881940e14c9e0e3a994b2bb0e","text":"添加配置参数wal_retrieve_retry_interval，控制在失败后重试读取 WAL 的间隔（Alexey Vasiliev、Michael Paquier） 这对温备库特别有用。","title":"添加配置参数wal_retrieve_retry_interval，控制在失败后重试读取 WAL 的间隔","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["57aa5b2"],"commit_groups":[["57aa5b2"]],"commits":[],"cves":[],"db_id":"c26bf44d832909614463ea4aef25b34f","html":"\u003cp\u003e允许压缩存储在 \u003cacronym\u003eWAL\u003c/acronym\u003e 中的全页映像（Rahila Syed、Michael Paquier）\u003c/p\u003e\n\u003cp\u003e此特性可减少 WAL 量，代价是 WAL 记录和 WAL 重放消耗更多 CPU 时间。它由新的配置参数\u003ca href=\"/docs/9.5/runtime-config-wal.html#GUC-WAL-COMPRESSION\"\u003ewal_compression\u003c/a\u003e控制，目前默认关闭。\u003c/p\u003e","id":"9.5.0-4a52f1d364e8b193","identity_text":"Allow compression of full-page images stored in WAL (Rahila Syed, Michael Paquier) This feature reduces WAL volume, at the cost of more CPU time spent on WAL logging and WAL replay. It is controlled by a new configuration parameter guc-wal-compression , which currently is off by default.","part":"changes","patch_ids":["c1c20ba3f7797e312e6fadaf4ba98c94"],"related_changes":[],"relations":[],"section":"复制与恢复","section_path":["复制与恢复"],"source_commits":["57aa5b2"],"source_entry_id":"9.5.0/changes/044","source_hash":"dbb1a913f047c596daadcf9eaaff3ae34a9b55ac63b6dbbd59a09c6ee9a27434","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.4","statement_hash":"abbc8efac6ff86491366039eda94481699cf2bc44a916d22cf46a6b0fb590e02","text":"允许压缩存储在 WAL 中的全页映像（Rahila Syed、Michael Paquier） 此特性可减少 WAL 量，代价是 WAL 记录和 WAL 重放消耗更多 CPU 时间。它由新的配置参数wal_compression控制，目前默认关闭。","title":"允许压缩存储在 WAL 中的全页映像","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["de76884"],"commit_groups":[["de76884"]],"commits":[],"cves":[],"db_id":"9e5aa45430043586d052c25d1a9c8bb5","html":"\u003cp\u003e在备库提升期间为 \u003cacronym\u003eWAL\u003c/acronym\u003e 文件加上 \u003ccode\u003e.partial\u003c/code\u003e 后缀后归档（Heikki Linnakangas）\u003c/p\u003e","id":"9.5.0-986807ac621d092b","identity_text":"Archive WAL files with suffix .partial during standby promotion (Heikki Linnakangas)","part":"changes","patch_ids":["15a76c42dc478712231166749ed0467b"],"related_changes":[],"relations":[],"section":"复制与恢复","section_path":["复制与恢复"],"source_commits":["de76884"],"source_entry_id":"9.5.0/changes/045","source_hash":"adfcf4452612b1217c7aae384dbf405b06369b76c33bd496f479f980c9ccebd5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.4","statement_hash":"e05f2d26a03e33a48b81fa7f57b3f14cb9f6013933bf64acd0ff72205f845268","text":"在备库提升期间为 WAL 文件加上 .partial 后缀后归档（Heikki Linnakangas）","title":"在备库提升期间为 WAL 文件加上 .partial 后缀后归档","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["4ad2a54"],"commit_groups":[["4ad2a54"]],"commits":[],"cves":[],"db_id":"3ba92f4ca1f0a7a03d7873c13e184a82","html":"\u003cp\u003e添加配置参数\u003ca href=\"/docs/9.5/runtime-config-logging.html#GUC-LOG-REPLICATION-COMMANDS\"\u003elog_replication_commands\u003c/a\u003e来记录复制命令（Fujii Masao）\u003c/p\u003e\n\u003cp\u003e默认情况下，复制命令（例如 \u003ca href=\"/docs/9.5/protocol-replication.html\" title=\"50.3. 流复制协议\"\u003e\u003ccode\u003eIDENTIFY_SYSTEM\u003c/code\u003e\u003c/a\u003e）不会被记录，即使\u003ca href=\"/docs/9.5/runtime-config-logging.html#GUC-LOG-STATEMENT\"\u003elog_statement\u003c/a\u003e被设置为 \u003ccode\u003eall\u003c/code\u003e。\u003c/p\u003e","id":"9.5.0-39f06a78c80c9378","identity_text":"Add configuration parameter guc-log-replication-commands to log replication commands (Fujii Masao) By default, replication commands, e.g., IDENTIFY_SYSTEM, are not logged, even when guc-log-statement is set to all.","part":"changes","patch_ids":["cdaf0fb2015e4c5f8dd99e8ad5c31e48"],"related_changes":[],"relations":[],"section":"复制与恢复","section_path":["复制与恢复"],"source_commits":["4ad2a54"],"source_entry_id":"9.5.0/changes/046","source_hash":"465da553a69ea7eee8fd7675da57960d4a3b931020805f882b19bd756f2e303b","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.4","statement_hash":"07ad6f9e295ecdae59d322fc82aa89e52207ef2ea22e519bd93b0f46f17bc3b7","text":"添加配置参数log_replication_commands来记录复制命令（Fujii Masao） 默认情况下，复制命令（例如 IDENTIFY_SYSTEM）不会被记录，即使log_statement被设置为 all。","title":"添加配置参数log_replication_commands来记录复制命令","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d811c03"],"commit_groups":[["d811c03"]],"commits":[],"cves":[],"db_id":"b196034a6d7276aed00b3a1809943534","html":"\u003cp\u003e在 \u003ca href=\"/docs/9.5/view-pg-replication-slots.html\" title=\"49.69. pg_replication_slots\"\u003e\u003ccode\u003epg_replication_slots\u003c/code\u003e\u003c/a\u003e 中报告持有复制槽的进程（Craig Ringer）\u003c/p\u003e\n\u003cp\u003e新增的输出列为 \u003ccode\u003eactive_pid\u003c/code\u003e。\u003c/p\u003e","id":"9.5.0-5f38a7cea73d0213","identity_text":"Report the processes holding replication slots in pg_replication_slots (Craig Ringer) The new output column is active_pid.","part":"changes","patch_ids":["9f37b31af81f71afe83776f310431aac"],"related_changes":[],"relations":[],"section":"复制与恢复","section_path":["复制与恢复"],"source_commits":["d811c03"],"source_entry_id":"9.5.0/changes/047","source_hash":"7f71723648b1f2b0f5555d15e2d88f64035223e935a0e41fdff144fad81fa880","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.4","statement_hash":"7fbc1794225850da2a435c711f041d6c28c291ece2e3cf3e54698fbe906bb116","text":"在 pg_replication_slots 中报告持有复制槽的进程（Craig Ringer） 新增的输出列为 active_pid。","title":"在 pg_replication_slots 中报告持有复制槽的进程","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["b3fc672"],"commit_groups":[["b3fc672"]],"commits":[],"cves":[],"db_id":"7b16f5e6c75cf5937484fa8fe5a68b44","html":"\u003cp\u003e允许 \u003ccode\u003erecovery.conf\u003c/code\u003e 的 \u003ca href=\"/docs/9.5/standby-settings.html#PRIMARY-CONNINFO\"\u003e\u003ccode\u003eprimary_conninfo\u003c/code\u003e\u003c/a\u003e 设置使用连接 \u003cacronym\u003eURI\u003c/acronym\u003e（例如 \u003ccode\u003epostgres://\u003c/code\u003e）（Alexander Shulgin）\u003c/p\u003e","id":"9.5.0-fd2e4218e6a41edd","identity_text":"Allow recovery.conf's primary_conninfo setting to use connection URIs, e.g., postgres:// (Alexander Shulgin)","part":"changes","patch_ids":["2e03fdcfef7ff975dda5d43395515433"],"related_changes":[],"relations":[],"section":"复制与恢复","section_path":["复制与恢复"],"source_commits":["b3fc672"],"source_entry_id":"9.5.0/changes/048","source_hash":"4bcc3088befa607f55691f5d65c25e324bc3c6fcde3bd25039063926d2cc2d1e","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.4","statement_hash":"8449cdb1ad6db578c3376fa9b2e3c153ad582c435870dd2cfe024567b697cf24","text":"允许 recovery.conf 的 primary_conninfo 设置使用连接 URI（例如 postgres://）（Alexander Shulgin）","title":"允许 recovery.conf 的 primary_conninfo 设置使用连接 URI（例如 postgres://）","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["168d580","2c8f483"],"commit_groups":[["168d580"],["2c8f483"]],"commits":[],"cves":[],"db_id":"cf0d34b0bd8f94532f9733a7bb5727ac","html":"\u003cp\u003e允许把会产生约束冲突的 \u003ca href=\"/docs/9.5/sql-insert.html#SQL-ON-CONFLICT\" title=\"ON CONFLICT 子句\"\u003e\u003ccode\u003eINSERT\u003c/code\u003e\u003c/a\u003e 转换为 \u003ccode\u003eUPDATE\u003c/code\u003e 或忽略（Peter Geoghegan、Heikki Linnakangas、Andres Freund）\u003c/p\u003e\n\u003cp\u003e语法为 \u003ccode\u003eINSERT ... ON CONFLICT DO NOTHING/UPDATE\u003c/code\u003e。这是流行的 \u003ccode\u003eUPSERT\u003c/code\u003e 命令的 Postgres 实现。\u003c/p\u003e","id":"9.5.0-a15215fd0155b5a7","identity_text":"Allow INSERTs that would generate constraint conflicts to be turned into UPDATEs or ignored (Peter Geoghegan, Heikki Linnakangas, Andres Freund) The syntax is INSERT ... ON CONFLICT DO NOTHING/UPDATE. This is the Postgres implementation of the popular UPSERT command.","part":"changes","patch_ids":["235c1f00bedfe9ad2079c2538cd874d4","3997c5d5599e56ff730198c9db0d59b0"],"related_changes":[{"db_id":"893f5feb787cf9238d07135c4c110d4c","evidence":{"ambiguous_patch_ids":["235c1f00bedfe9ad2079c2538cd874d4","3997c5d5599e56ff730198c9db0d59b0"],"patch_ids":["235c1f00bedfe9ad2079c2538cd874d4","3997c5d5599e56ff730198c9db0d59b0"],"same_day":true},"kind":"related","label":"9.5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","title":"外部表现在可以参与 INSERT ... ON CONFLICT DO NOTHING 查询","url":"/docs/compare/?release=9.5.0#9.5.0-41594b963e578f2b","version":"9.5.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["235c1f00bedfe9ad2079c2538cd874d4","3997c5d5599e56ff730198c9db0d59b0"],"patch_ids":["235c1f00bedfe9ad2079c2538cd874d4","3997c5d5599e56ff730198c9db0d59b0"],"same_day":true},"rule":2,"target":"893f5feb787cf9238d07135c4c110d4c","type":"related"}],"section":"查询","section_path":["查询"],"source_commits":["168d580","2c8f483"],"source_entry_id":"9.5.0/changes/049","source_hash":"08db70a53db29638c78cdcb7e4cf66146f50e2b89c53acf64f69dc11bcb0e019","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.5","statement_hash":"a3095f814c0730f31df9d8a2b2c83ef47d4891086b123ae5b4ce2a43800f24b3","text":"允许把会产生约束冲突的 INSERT 转换为 UPDATE 或忽略（Peter Geoghegan、Heikki Linnakangas、Andres Freund） 语法为 INSERT ... ON CONFLICT DO NOTHING/UPDATE。这是流行的 UPSERT 命令的 Postgres 实现。","title":"允许把会产生约束冲突的 INSERT 转换为 UPDATE 或忽略","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["f3d3118"],"commit_groups":[["f3d3118"]],"commits":[],"cves":[],"db_id":"2ead5229744075c4632791bc460497fa","html":"\u003cp\u003e添加 \u003ccode\u003eGROUP BY\u003c/code\u003e 分析特性 \u003ca href=\"/docs/9.5/queries-table-expressions.html#QUERIES-GROUPING-SETS\" title=\"7.2.4. GROUPING SETS、CUBE和ROLLUP\"\u003e\u003ccode\u003eGROUPING SETS\u003c/code\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/queries-table-expressions.html#QUERIES-GROUPING-SETS\" title=\"7.2.4. GROUPING SETS、CUBE和ROLLUP\"\u003e\u003ccode\u003eCUBE\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/queries-table-expressions.html#QUERIES-GROUPING-SETS\" title=\"7.2.4. GROUPING SETS、CUBE和ROLLUP\"\u003e\u003ccode\u003eROLLUP\u003c/code\u003e\u003c/a\u003e（Andrew Gierth、Atri Sharma）\u003c/p\u003e","id":"9.5.0-6dd9371a1533bc31","identity_text":"Add GROUP BY analysis features GROUPING SETS, CUBE and ROLLUP (Andrew Gierth, Atri Sharma)","part":"changes","patch_ids":["842dee994a2dbbc556fc9fc415c95f35"],"related_changes":[],"relations":[],"section":"查询","section_path":["查询"],"source_commits":["f3d3118"],"source_entry_id":"9.5.0/changes/050","source_hash":"6877d8946fb5e3048a4eee629f17210bbe1b740eb05d271e3413e77d5a77225e","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.5","statement_hash":"a3632184e71712f77d1094c308a88e69e8b47f196205aa376fe3437c5d0ae76e","text":"添加 GROUP BY 分析特性 GROUPING SETS、CUBE 和 ROLLUP（Andrew Gierth、Atri Sharma）","title":"添加 GROUP BY 分析特性 GROUPING SETS、CUBE 和 ROLLUP","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["8f889b1"],"commit_groups":[["8f889b1"]],"commits":[],"cves":[],"db_id":"522364fbfe4a26d5ad49c6b8ffd59962","html":"\u003cp\u003e允许在 \u003ca href=\"/docs/9.5/sql-update.html\" title=\"UPDATE\"\u003e\u003ccode\u003eUPDATE\u003c/code\u003e\u003c/a\u003e 中用单个子 SELECT 的结果设置多个目标列（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这通过语法 \u003ccode\u003eUPDATE tab SET (col1, col2, ...) = (SELECT ...)\u003c/code\u003e 完成。\u003c/p\u003e","id":"9.5.0-6ec78005fd4835b4","identity_text":"Allow setting multiple target columns in an UPDATE from the result of a single sub-SELECT (Tom Lane) This is accomplished using the syntax UPDATE tab SET (col1, col2, ...) = (SELECT ...).","part":"changes","patch_ids":["e4741702a5304a8574542827f19a742c"],"related_changes":[],"relations":[],"section":"查询","section_path":["查询"],"source_commits":["8f889b1"],"source_entry_id":"9.5.0/changes/051","source_hash":"d83e8e4b0be394e5bee92988ea166a88d3c40e14d31f82551b4e5824551c2645","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.5","statement_hash":"cf9b4ea09e1dd7400ff2d6cc39e872a244032b7b8eae9714eda7e87de7f7ee07","text":"允许在 UPDATE 中用单个子 SELECT 的结果设置多个目标列（Tom Lane） 这通过语法 UPDATE tab SET (col1, col2, ...) = (SELECT ...) 完成。","title":"允许在 UPDATE 中用单个子 SELECT 的结果设置多个目标列","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["df630b0"],"commit_groups":[["df630b0"]],"commits":[],"cves":[],"db_id":"560394b2b8059b25265eaafc9975c88c","html":"\u003cp\u003e为 \u003ca href=\"/docs/9.5/sql-select.html\" title=\"SELECT\"\u003e\u003ccode\u003eSELECT\u003c/code\u003e\u003c/a\u003e 添加选项 \u003ccode\u003eSKIP LOCKED\u003c/code\u003e，用于跳过已锁定的行（Thomas Munro）\u003c/p\u003e\n\u003cp\u003e与 \u003ccode\u003eNOWAIT\u003c/code\u003e 不同，它不会对已锁定的行抛出错误。\u003c/p\u003e","id":"9.5.0-2e3dcfac3351b2bf","identity_text":"Add SELECT option SKIP LOCKED to skip locked rows (Thomas Munro) This does not throw an error for locked rows like NOWAIT does.","part":"changes","patch_ids":["b97b24703061d13875d70f28ceed2a8f"],"related_changes":[],"relations":[],"section":"查询","section_path":["查询"],"source_commits":["df630b0"],"source_entry_id":"9.5.0/changes/052","source_hash":"15623c3689bfe0ea6f2b13e4682facafbd126601709a1b085ac91d5a535d67e0","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.5","statement_hash":"2c28abfd6bce2145d5745bc5d74bcf24cdbfbea4fb382567a4d55645faef6354","text":"为 SELECT 添加选项 SKIP LOCKED，用于跳过已锁定的行（Thomas Munro） 与 NOWAIT 不同，它不会对已锁定的行抛出错误。","title":"为 SELECT 添加选项 SKIP LOCKED，用于跳过已锁定的行","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["f6d208d"],"commit_groups":[["f6d208d"]],"commits":[],"cves":[],"db_id":"fdd9b53b97775de21b11e98ee953f73e","html":"\u003cp\u003e为 \u003ca href=\"/docs/9.5/sql-select.html\" title=\"SELECT\"\u003e\u003ccode\u003eSELECT\u003c/code\u003e\u003c/a\u003e 添加选项 \u003ccode\u003eTABLESAMPLE\u003c/code\u003e，用于返回表的子集（Petr Jelínek）\u003c/p\u003e\n\u003cp\u003e此特性支持 SQL 标准的表采样方法。此外，还为\u003ca href=\"/docs/9.5/tablesample-method.html\" title=\"第 55 章 编写一种表采样方法\"\u003e用户自定义表采样方法\u003c/a\u003e提供了机制。\u003c/p\u003e","id":"9.5.0-0439113d76f826d1","identity_text":"Add SELECT option TABLESAMPLE to return a subset of a table (Petr Jelínek) This feature supports the SQL-standard table sampling methods. In addition, there are provisions for user-defined table sampling methods.","part":"changes","patch_ids":["6468461e45621f5340359e12bff20d0b"],"related_changes":[],"relations":[],"section":"查询","section_path":["查询"],"source_commits":["f6d208d"],"source_entry_id":"9.5.0/changes/053","source_hash":"ffd3e2d7c579bebe950c5172af1874207fd7cbba0ac7e86b2a5588cecb19098a","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.5","statement_hash":"f041e7a54a90193f4f2c0900b77ca98cfb2f62edd33e421ba311c06779ecbcaa","text":"为 SELECT 添加选项 TABLESAMPLE，用于返回表的子集（Petr Jelínek） 此特性支持 SQL 标准的表采样方法。此外，还为用户自定义表采样方法提供了机制。","title":"为 SELECT 添加选项 TABLESAMPLE，用于返回表的子集","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["e529cd4"],"commit_groups":[["e529cd4"]],"commits":[],"cves":[],"db_id":"1385c3e30aec8e5a8b17d2faccf9101a","html":"\u003cp\u003e为拼错的列名建议可能的匹配（Peter Geoghegan、Robert Haas）\u003c/p\u003e","id":"9.5.0-039427c9efbde9cd","identity_text":"Suggest possible matches for mistyped column names (Peter Geoghegan, Robert Haas)","part":"changes","patch_ids":["6638d4e01c601df03e885f3b6a90b99b"],"related_changes":[],"relations":[],"section":"查询","section_path":["查询"],"source_commits":["e529cd4"],"source_entry_id":"9.5.0/changes/054","source_hash":"2b7c028f2eb23c374949c311e93172c1fb87b92f4a7a811fa5f7f240efec4650","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.5","statement_hash":"cb192e2c7524aff5fe5070e97ea658a6fb8e58b892ce3f3040fe11f9f461a6e2","text":"为拼错的列名建议可能的匹配（Peter Geoghegan、Robert Haas）","title":"为拼错的列名建议可能的匹配","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["20af53d"],"commit_groups":[["20af53d"]],"commits":[],"cves":[],"db_id":"0c79288d090ca6b5cb13afca675af27b","html":"\u003cp\u003e在 \u003ca href=\"/docs/9.5/sql-explain.html\" title=\"EXPLAIN\"\u003e\u003ccode\u003eEXPLAIN\u003c/code\u003e\u003c/a\u003e 输出中添加有关排序的更多细节（Marius Timmer、Lukas Kreft、Arne Scheffer）\u003c/p\u003e\n\u003cp\u003e细节包括 \u003ccode\u003eCOLLATE\u003c/code\u003e、\u003ccode\u003eDESC\u003c/code\u003e、\u003ccode\u003eUSING\u003c/code\u003e 以及 \u003ccode\u003eNULLS FIRST\u003c/code\u003e/\u003ccode\u003eLAST\u003c/code\u003e。\u003c/p\u003e","id":"9.5.0-2841859e8cfef1dc","identity_text":"Add more details about sort ordering in EXPLAIN output (Marius Timmer, Lukas Kreft, Arne Scheffer) Details include COLLATE, DESC, USING, and NULLS FIRST/LAST.","part":"changes","patch_ids":["afd90a3ac50b6d8655e42a537c0f2875"],"related_changes":[],"relations":[],"section":"工具命令","section_path":["工具命令"],"source_commits":["20af53d"],"source_entry_id":"9.5.0/changes/055","source_hash":"2c1afcc09d31ee89a9022f04a337385c0621891a54eeeb1522bad30ecc3f59f5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.6","statement_hash":"2d7b1dbfc9da1fcb9455c359130fef4aa4e988986974d0d12f037485ecaf5e17","text":"在 EXPLAIN 输出中添加有关排序的更多细节（Marius Timmer、Lukas Kreft、Arne Scheffer） 细节包括 COLLATE、DESC、USING 以及 NULLS FIRST/LAST。","title":"在 EXPLAIN 输出中添加有关排序的更多细节","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["35192f0"],"commit_groups":[["35192f0"]],"commits":[],"cves":[],"db_id":"2549efb5ea1fac2417983ed58e566ab4","html":"\u003cp\u003e使 \u003ca href=\"/docs/9.5/sql-vacuum.html\" title=\"VACUUM\"\u003e\u003ccode\u003eVACUUM\u003c/code\u003e\u003c/a\u003e 记录因引脚（pin）而跳过的页数（Jim Nasby）\u003c/p\u003e","id":"9.5.0-24549f4c62788540","identity_text":"Make VACUUM log the number of pages skipped due to pins (Jim Nasby)","part":"changes","patch_ids":["2fdfa9ba41a4b7a0b0bb2adcff38d7ce"],"related_changes":[],"relations":[],"section":"工具命令","section_path":["工具命令"],"source_commits":["35192f0"],"source_entry_id":"9.5.0/changes/056","source_hash":"a07264cd07b80f93cdb98c49c6accc155d298df1121f8dab74e7a9bdbf757c9d","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.6","statement_hash":"19248f05977036bd5c056def044d8c15b9bf8bad574f7ed7c49501b77218fa1c","text":"使 VACUUM 记录因引脚（pin）而跳过的页数（Jim Nasby）","title":"使 VACUUM 记录因引脚（pin）而跳过的页数","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d42358e"],"commit_groups":[["d42358e"]],"commits":[],"cves":[],"db_id":"3705dc98d6f8e1e6c2307503f6cd8b03","html":"\u003cp\u003e使 \u003ca href=\"/docs/9.5/sql-truncate.html\" title=\"TRUNCATE\"\u003e\u003ccode\u003eTRUNCATE\u003c/code\u003e\u003c/a\u003e 正确更新 \u003ccode\u003epg_stat\u003c/code\u003e* 元组计数器（Alexander Shulgin）\u003c/p\u003e","id":"9.5.0-0e648704d753b425","identity_text":"Make TRUNCATE properly update the pg_stat* tuple counters (Alexander Shulgin)","part":"changes","patch_ids":["68f4c6f52462d21b85662d2c5ec09d6f"],"related_changes":[],"relations":[],"section":"工具命令","section_path":["工具命令"],"source_commits":["d42358e"],"source_entry_id":"9.5.0/changes/057","source_hash":"e3996880a197c849814245e5fad560d4d24bae1f8b30be3ed8b4d08a4a4701b8","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.6","statement_hash":"5c5eaacbe228e04ed332a487bfa961efc8b6a54a8b2b3860dc274cf0392989c7","text":"使 TRUNCATE 正确更新 pg_stat* 元组计数器（Alexander Shulgin）","title":"使 TRUNCATE 正确更新 pg_stat* 元组计数器","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["fe263d1"],"commit_groups":[["fe263d1"]],"commits":[],"cves":[],"db_id":"f7cb15af56f473dec96a65f554a80059","html":"\u003cp\u003e允许 \u003ccode\u003eREINDEX\u003c/code\u003e 使用 \u003ccode\u003eSCHEMA\u003c/code\u003e 选项对整个模式重新索引（Sawada Masahiko）\u003c/p\u003e","id":"9.5.0-94dadc561a675829","identity_text":"Allow REINDEX to reindex an entire schema using the SCHEMA option (Sawada Masahiko)","part":"changes","patch_ids":["ea429fcd316f840e2412369ff2cc56be"],"related_changes":[],"relations":[],"section":"工具命令 / REINDEX","section_path":["工具命令","REINDEX"],"source_commits":["fe263d1"],"source_entry_id":"9.5.0/changes/058","source_hash":"d4f0ae9696dcf7c678e610ee005d340bb299ac64db521309d02fa5d3e163b905","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.6.3","statement_hash":"1f9b714296414d501f93eb0d8a0be730750dbea84d41ed4db3ef7e309aa0b9e3","text":"允许 REINDEX 使用 SCHEMA 选项对整个模式重新索引（Sawada Masahiko）","title":"允许 REINDEX 使用 SCHEMA 选项对整个模式重新索引","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ecd222e"],"commit_groups":[["ecd222e"]],"commits":[],"cves":[],"db_id":"8793477ed1d363bc9d2c4b23b5a1fd45","html":"\u003cp\u003e为 \u003ccode\u003eREINDEX\u003c/code\u003e 添加 \u003ccode\u003eVERBOSE\u003c/code\u003e 选项（Sawada Masahiko）\u003c/p\u003e","id":"9.5.0-4d378571a35e07ed","identity_text":"Add VERBOSE option to REINDEX (Sawada Masahiko)","part":"changes","patch_ids":["4ba6d6a75e8f368f442f6e59a11cb175"],"related_changes":[],"relations":[],"section":"工具命令 / REINDEX","section_path":["工具命令","REINDEX"],"source_commits":["ecd222e"],"source_entry_id":"9.5.0/changes/059","source_hash":"ac30e6a1a433b78441a24ee5c67647d1f9ca3dc2a1755c923c6ab42245367706","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.6.3","statement_hash":"26b4d7403cd360c2483df241a5677cc2f63d6dcc6ac88f90b4c8e72ee870969f","text":"为 REINDEX 添加 VERBOSE 选项（Sawada Masahiko）","title":"为 REINDEX 添加 VERBOSE 选项","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ae4e688"],"commit_groups":[["ae4e688"]],"commits":[],"cves":[],"db_id":"f403918f728cdd3bcd0eda34a3746d5f","html":"\u003cp\u003e防止 \u003ccode\u003eREINDEX DATABASE\u003c/code\u003e 和 \u003ccode\u003eSCHEMA\u003c/code\u003e 输出对象名称，除非使用 \u003ccode\u003eVERBOSE\u003c/code\u003e（Simon Riggs）\u003c/p\u003e","id":"9.5.0-c4195715aeea1f5a","identity_text":"Prevent REINDEX DATABASE and SCHEMA from outputting object names, unless VERBOSE is used (Simon Riggs)","part":"changes","patch_ids":["68ab5751fb36897f1f5ade52102c6a0f"],"related_changes":[],"relations":[],"section":"工具命令 / REINDEX","section_path":["工具命令","REINDEX"],"source_commits":["ae4e688"],"source_entry_id":"9.5.0/changes/060","source_hash":"57dea67b5069688ac270ac88dbe92633eea9e679177090e0a06f0a4fe7567966","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.6.3","statement_hash":"de0cb5e4d59591503141505b773d48d356dde2f3e50dccda3c38be61adee1f9f","text":"防止 REINDEX DATABASE 和 SCHEMA 输出对象名称，除非使用 VERBOSE（Simon Riggs）","title":"防止 REINDEX DATABASE 和 SCHEMA 输出对象名称，除非使用 VERBOSE","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["17d436d"],"commit_groups":[["17d436d"]],"commits":[],"cves":[],"db_id":"2f21c1cd290f3b59e388cb90a34fc582","html":"\u003cp\u003e从 \u003ccode\u003eREINDEX\u003c/code\u003e 中移除过时的 \u003ccode\u003eFORCE\u003c/code\u003e 选项（Fujii Masao）\u003c/p\u003e","id":"9.5.0-6aa1717ad2cd8192","identity_text":"Remove obsolete FORCE option from REINDEX (Fujii Masao)","part":"changes","patch_ids":["1c9dc6c845459ddb176606c23a0fe78f"],"related_changes":[],"relations":[],"section":"工具命令 / REINDEX","section_path":["工具命令","REINDEX"],"source_commits":["17d436d"],"source_entry_id":"9.5.0/changes/061","source_hash":"81aea366d0324663a9c6272931ab1c38200e4d295ff504bc5d36a4308de8d368","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.6.3","statement_hash":"87c4757c6a6c2ac04167f5540011d84f7a0a6b4a65bc547a16d3724e2649287e","text":"从 REINDEX 中移除过时的 FORCE 选项（Fujii Masao）","title":"从 REINDEX 中移除过时的 FORCE 选项","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["491c029"],"commit_groups":[["491c029"]],"commits":[],"cves":[],"db_id":"e9641850c2499d325ef69cf8afddca9f","html":"\u003cp\u003e添加\u003ca href=\"/docs/9.5/ddl-rowsecurity.html\" title=\"5.7. 行安全性策略\"\u003e行级安全性控制\u003c/a\u003e（Craig Ringer、KaiGai Kohei、Adam Brightwell、Dean Rasheed、Stephen Frost）\u003c/p\u003e\n\u003cp\u003e此特性允许逐行控制哪些用户可以添加、修改甚至看到表中的行。它由新命令 \u003ca href=\"/docs/9.5/sql-createpolicy.html\" title=\"CREATE POLICY\"\u003e\u003ccode\u003eCREATE\u003c/code\u003e\u003c/a\u003e/\u003ca href=\"/docs/9.5/sql-alterpolicy.html\" title=\"ALTER POLICY\"\u003e\u003ccode\u003eALTER\u003c/code\u003e\u003c/a\u003e/\u003ca href=\"/docs/9.5/sql-droppolicy.html\" title=\"DROP POLICY\"\u003e\u003ccode\u003eDROP POLICY\u003c/code\u003e\u003c/a\u003e 以及 \u003ca href=\"/docs/9.5/sql-altertable.html\" title=\"ALTER TABLE\"\u003e\u003ccode\u003eALTER TABLE ... ENABLE/DISABLE ROW SECURITY\u003c/code\u003e\u003c/a\u003e 控制。\u003c/p\u003e","id":"9.5.0-d1768741a6fd12ee","identity_text":"Add row-level security control (Craig Ringer, KaiGai Kohei, Adam Brightwell, Dean Rasheed, Stephen Frost) This feature allows row-by-row control over which users can add, modify, or even see rows in a table. This is controlled by new commands CREATE/ALTER/DROP POLICY and ALTER TABLE ... ENABLE/DISABLE ROW SECURITY.","part":"changes","patch_ids":["b6955ca5a933cc367022f6c301f7da19"],"related_changes":[],"relations":[],"section":"对象操作","section_path":["对象操作"],"source_commits":["491c029"],"source_entry_id":"9.5.0/changes/062","source_hash":"c5e688c9815444e7eec229530f5cff822be98a9d3810bc7633cfb990235fc812","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7","statement_hash":"ffc32a8aede7437dfda14d1ea8969a889460bc20a513093ac6cb02fedc3b8eb2","text":"添加行级安全性控制（Craig Ringer、KaiGai Kohei、Adam Brightwell、Dean Rasheed、Stephen Frost） 此特性允许逐行控制哪些用户可以添加、修改甚至看到表中的行。它由新命令 CREATE/ALTER/DROP POLICY 以及 ALTER TABLE ... ENABLE/DISABLE ROW SECURITY 控制。","title":"添加行级安全性控制","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["f41872d"],"commit_groups":[["f41872d"]],"commits":[],"cves":[],"db_id":"4cc3187ae55e799387bf226a96a7e9fc","html":"\u003cp\u003e允许在创建表之后用 \u003ca href=\"/docs/9.5/sql-altertable.html\" title=\"ALTER TABLE\"\u003e\u003ccode\u003eALTER TABLE ... SET LOGGED / UNLOGGED\u003c/code\u003e\u003c/a\u003e 更改其 \u003cacronym\u003eWAL\u003c/acronym\u003e 记录状态（Fabrízio de Royes Mello）\u003c/p\u003e","id":"9.5.0-08d9e85620fb551b","identity_text":"Allow changing of the WAL logging status of a table after creation with ALTER TABLE ... SET LOGGED / UNLOGGED (Fabrízio de Royes Mello)","part":"changes","patch_ids":["739dcbfba1ac92895b479c74ed953a32"],"related_changes":[],"relations":[],"section":"对象操作","section_path":["对象操作"],"source_commits":["f41872d"],"source_entry_id":"9.5.0/changes/063","source_hash":"6fae7539206ba50d357b65192a1e006810ae83fd5ed34d7c2ac945a9a2603e7a","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7","statement_hash":"15cb29f08b73d443acdc3bb40f674cee3bef1b593da4f345cd499f01b24aa7af","text":"允许在创建表之后用 ALTER TABLE ... SET LOGGED / UNLOGGED 更改其 WAL 记录状态（Fabrízio de Royes Mello）","title":"允许在创建表之后用 ALTER TABLE ... SET LOGGED / UNLOGGED 更改其 WAL 记录状态","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0076f26","08309aa","e39b6f9"],"commit_groups":[["0076f26"],["08309aa"],["e39b6f9"]],"commits":[],"cves":[],"db_id":"9cdba3bc340132d6641da0ee89738207","html":"\u003cp\u003e为 \u003ca href=\"/docs/9.5/sql-createtableas.html\" title=\"CREATE TABLE AS\"\u003e\u003ccode\u003eCREATE TABLE AS\u003c/code\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/sql-createindex.html\" title=\"CREATE INDEX\"\u003e\u003ccode\u003eCREATE INDEX\u003c/code\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/sql-createsequence.html\" title=\"CREATE SEQUENCE\"\u003e\u003ccode\u003eCREATE SEQUENCE\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/sql-creatematerializedview.html\" title=\"CREATE MATERIALIZED VIEW\"\u003e\u003ccode\u003eCREATE MATERIALIZED VIEW\u003c/code\u003e\u003c/a\u003e 添加 \u003ccode\u003eIF NOT EXISTS\u003c/code\u003e 子句（Fabrízio de Royes Mello）\u003c/p\u003e","id":"9.5.0-3478c23bbc40a05b","identity_text":"Add IF NOT EXISTS clause to CREATE TABLE AS, CREATE INDEX, CREATE SEQUENCE, and CREATE MATERIALIZED VIEW (Fabrízio de Royes Mello)","part":"changes","patch_ids":["7ef3dc5a03f66ee27f1d9b7ee7853dff","a36a63916c02aec96e1014b7eab4a202","e86c42295a083b1097e12a317ca64bf6"],"related_changes":[],"relations":[],"section":"对象操作","section_path":["对象操作"],"source_commits":["0076f26","08309aa","e39b6f9"],"source_entry_id":"9.5.0/changes/064","source_hash":"b92da16c8bb60c48d6822d7a7402bac67f124d3fd23f8058ae23d725ef7fb54f","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7","statement_hash":"005395a65b02026937c618a71ad1ecfcd7f2859b52a279809eab682891a38fbe","text":"为 CREATE TABLE AS、CREATE INDEX、CREATE SEQUENCE 和 CREATE MATERIALIZED VIEW 添加 IF NOT EXISTS 子句（Fabrízio de Royes Mello）","title":"为 CREATE TABLE AS、CREATE INDEX、CREATE SEQUENCE 和 CREATE MATERIALIZED VIEW 添加 IF NOT EXISTS 子句","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1d8198b"],"commit_groups":[["1d8198b"]],"commits":[],"cves":[],"db_id":"8ac98b2d95826d5790e87fe4e7c59567","html":"\u003cp\u003e为 \u003ca href=\"/docs/9.5/sql-altertable.html\" title=\"ALTER TABLE\"\u003e\u003ccode\u003eALTER TABLE ... RENAME CONSTRAINT\u003c/code\u003e\u003c/a\u003e 添加对 \u003ccode\u003eIF EXISTS\u003c/code\u003e 的支持（Bruce Momjian）\u003c/p\u003e","id":"9.5.0-3a3a6023de16602c","identity_text":"Add support for IF EXISTS to ALTER TABLE ... RENAME CONSTRAINT (Bruce Momjian)","part":"changes","patch_ids":["0efbe2665334a15d2c3a46fc9f89d642"],"related_changes":[],"relations":[],"section":"对象操作","section_path":["对象操作"],"source_commits":["1d8198b"],"source_entry_id":"9.5.0/changes/065","source_hash":"c2977bdfd683e457844b99dc242aa9329a2e50d28083674afd7c6a6692628a31","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7","statement_hash":"29a2ce623c755ed6b2e4210db353eb1649a630e324fda404111f8544696aabd3","text":"为 ALTER TABLE ... RENAME CONSTRAINT 添加对 IF EXISTS 的支持（Bruce Momjian）","title":"为 ALTER TABLE ... RENAME CONSTRAINT 添加对 IF EXISTS 的支持","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["31eae60"],"commit_groups":[["31eae60"]],"commits":[],"cves":[],"db_id":"a4f88ee2f8db632aa5a57a5b558402f6","html":"\u003cp\u003e允许一些 DDL 命令接受 \u003ccode\u003eCURRENT_USER\u003c/code\u003e 或 \u003ccode\u003eSESSION_USER\u003c/code\u003e（即当前用户或会话用户）来代替特定的用户名（Kyotaro Horiguchi、Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"/docs/9.5/sql-alteruser.html\" title=\"ALTER USER\"\u003e\u003cspan\u003eALTER USER\u003c/span\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/sql-altergroup.html\" title=\"ALTER GROUP\"\u003e\u003cspan\u003eALTER GROUP\u003c/span\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/sql-alterrole.html\" title=\"ALTER ROLE\"\u003e\u003cspan\u003eALTER ROLE\u003c/span\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/sql-grant.html\" title=\"GRANT\"\u003e\u003cspan\u003eGRANT\u003c/span\u003e\u003c/a\u003e以及 \u003ccode\u003eALTER \u003cem\u003e\u003ccode\u003eobject\u003c/code\u003e\u003c/em\u003e OWNER TO\u003c/code\u003e 命令现在支持此特性。\u003c/p\u003e","id":"9.5.0-b1b66dea42ec58f3","identity_text":"Allow some DDL commands to accept CURRENT_USER or SESSION_USER, meaning the current user or session user, in place of a specific user name (Kyotaro Horiguchi, Álvaro Herrera) This feature is now supported in SQL-ALTERUSER , SQL-ALTERGROUP , SQL-ALTERROLE , SQL-GRANT , and ALTER object OWNER TO commands.","part":"changes","patch_ids":["d0d5d40dcd3c949f6ae979eafd6e6734"],"related_changes":[],"relations":[],"section":"对象操作","section_path":["对象操作"],"source_commits":["31eae60"],"source_entry_id":"9.5.0/changes/066","source_hash":"b11a00aa198258a1bb6800a2e7422b57ae67496e7d5c87cd0387caea89ea771b","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7","statement_hash":"1b8fc2c839b49cf61302d3c9bc9d86a53e26f5025e0b002a807686637bdb8a79","text":"允许一些 DDL 命令接受 CURRENT_USER 或 SESSION_USER（即当前用户或会话用户）来代替特定的用户名（Kyotaro Horiguchi、Álvaro Herrera） ALTER USER、ALTER GROUP、ALTER ROLE、GRANT以及 ALTER object OWNER TO 命令现在支持此特性。","title":"允许一些 DDL 命令接受 CURRENT_USER 或 SESSION_USER（即当前用户或会话用户）来代替特定的用户名","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["7eca575"],"commit_groups":[["7eca575"]],"commits":[],"cves":[],"db_id":"65a4cb2d096e0a22ad14f4a6e8a33df7","html":"\u003cp\u003e支持对\u003ca href=\"/docs/9.5/sql-createdomain.html\" title=\"CREATE DOMAIN\"\u003e域约束\u003c/a\u003e的注释（Álvaro Herrera）\u003c/p\u003e","id":"9.5.0-869d1de27d53d88c","identity_text":"Support comments on domain constraints (Álvaro Herrera)","part":"changes","patch_ids":["7ba4ad2d0439465b836f91fc1a8d370b"],"related_changes":[],"relations":[],"section":"对象操作","section_path":["对象操作"],"source_commits":["7eca575"],"source_entry_id":"9.5.0/changes/067","source_hash":"398d5bc398474fe21f02246eb538c2c97c94b27f515131f13b7b1060ba51287d","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7","statement_hash":"431800fba40815588a0679f7a3d4b39e9d7cf4ad016c6fb78f2e5a89e91116e1","text":"支持对域约束的注释（Álvaro Herrera）","title":"支持对域约束的注释","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0ef0396"],"commit_groups":[["0ef0396"]],"commits":[],"cves":[],"db_id":"63c0a0e57c41166375300264ea06242c","html":"\u003cp\u003e降低一些创建/更改触发器和外键命令的锁定级别（Simon Riggs、Andreas Karlsson）\u003c/p\u003e","id":"9.5.0-b26b2992ece17d47","identity_text":"Reduce lock levels of some create and alter trigger and foreign key commands (Simon Riggs, Andreas Karlsson)","part":"changes","patch_ids":["f5def199c09879e19eb473f99aba8b80"],"related_changes":[],"relations":[],"section":"对象操作","section_path":["对象操作"],"source_commits":["0ef0396"],"source_entry_id":"9.5.0/changes/068","source_hash":"8023b14001977383649d63df51d15b5314d406a33bede9639a965646b229e439","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7","statement_hash":"99e1e2484e8b86e69c60d86fa24c80450c4540cccbb5bf2c5efd8d01297ad1d3","text":"降低一些创建/更改触发器和外键命令的锁定级别（Simon Riggs、Andreas Karlsson）","title":"降低一些创建/更改触发器和外键命令的锁定级别","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["fa26424"],"commit_groups":[["fa26424"]],"commits":[],"cves":[],"db_id":"d554b7aa47a0e63688dbf09c29db3db7","html":"\u003cp\u003e允许对目标表具有 \u003ccode\u003eINSERT\u003c/code\u003e 权限的用户执行 \u003ca href=\"/docs/9.5/sql-lock.html\" title=\"LOCK\"\u003e\u003ccode\u003eLOCK TABLE ... ROW EXCLUSIVE MODE\u003c/code\u003e\u003c/a\u003e（Stephen Frost）\u003c/p\u003e\n\u003cp\u003e以前此命令要求 \u003ccode\u003eUPDATE\u003c/code\u003e、\u003ccode\u003eDELETE\u003c/code\u003e 或 \u003ccode\u003eTRUNCATE\u003c/code\u003e 权限。\u003c/p\u003e","id":"9.5.0-aa2a590f636d06cc","identity_text":"Allow LOCK TABLE ... ROW EXCLUSIVE MODE for those with INSERT privileges on the target table (Stephen Frost) Previously this command required UPDATE, DELETE, or TRUNCATE privileges.","part":"changes","patch_ids":["69d5a57d3a9d94823587fe2db1c34c2a"],"related_changes":[],"relations":[],"section":"对象操作","section_path":["对象操作"],"source_commits":["fa26424"],"source_entry_id":"9.5.0/changes/069","source_hash":"9f8b8cae2eedd1ed2e9ad8ea5ec5dbeb4d7813e0ef32d503f772d4529f0f5ae2","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7","statement_hash":"0a85bbb94be23cc6234cc6cae0bed89c9e2dcad5c25a5dc4a452d1aea5f4e253","text":"允许对目标表具有 INSERT 权限的用户执行 LOCK TABLE ... ROW EXCLUSIVE MODE（Stephen Frost） 以前此命令要求 UPDATE、DELETE 或 TRUNCATE 权限。","title":"允许对目标表具有 INSERT 权限的用户执行 LOCK TABLE ... ROW EXCLUSIVE MODE","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["e5f455f"],"commit_groups":[["e5f455f"]],"commits":[],"cves":[],"db_id":"9213120fcb94758ca55f8af0ac9746df","html":"\u003cp\u003e按名称顺序应用表和域的 \u003ccode\u003eCHECK\u003c/code\u003e 约束（Tom Lane）\u003c/p\u003e\n\u003cp\u003e以前的顺序是不确定的。\u003c/p\u003e","id":"9.5.0-aaa78c429f00818e","identity_text":"Apply table and domain CHECK constraints in order by name (Tom Lane) The previous ordering was indeterminate.","part":"changes","patch_ids":["28970e157c93332f648f3fe413bbc5d2"],"related_changes":[],"relations":[],"section":"对象操作","section_path":["对象操作"],"source_commits":["e5f455f"],"source_entry_id":"9.5.0/changes/070","source_hash":"d363e9aec0b53c042ce33f68d8cd30e4e74b338d77a1f905946abf84abbcf7e7","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7","statement_hash":"de1121f32e1c318d910ee7d12d34d402e31ef6e1c62d2e4c6395210871de14d7","text":"按名称顺序应用表和域的 CHECK 约束（Tom Lane） 以前的顺序是不确定的。","title":"按名称顺序应用表和域的 CHECK 约束","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["15c82ef","fbb1d7d"],"commit_groups":[["15c82ef"],["fbb1d7d"]],"commits":[],"cves":[],"db_id":"f09c91fb1185ba135542b5185f995086","html":"\u003cp\u003e允许 \u003ca href=\"/docs/9.5/sql-createdatabase.html\" title=\"CREATE DATABASE\"\u003e\u003ccode\u003eCREATE\u003c/code\u003e\u003c/a\u003e/\u003ca href=\"/docs/9.5/sql-alterdatabase.html\" title=\"ALTER DATABASE\"\u003e\u003ccode\u003eALTER DATABASE\u003c/code\u003e\u003c/a\u003e 操纵 \u003ccode\u003edatistemplate\u003c/code\u003e 和 \u003ccode\u003edatallowconn\u003c/code\u003e（Vik Fearing）\u003c/p\u003e\n\u003cp\u003e这样无需手动修改 \u003ca href=\"/docs/9.5/catalog-pg-database.html\" title=\"49.15. pg_database\"\u003e\u003ccode\u003epg_database\u003c/code\u003e\u003c/a\u003e 系统目录即可更改这些按数据库的设置。\u003c/p\u003e","id":"9.5.0-e877865aa511fb12","identity_text":"Allow CREATE/ALTER DATABASE to manipulate datistemplate and datallowconn (Vik Fearing) This allows these per-database settings to be changed without manually modifying the pg_database system catalog.","part":"changes","patch_ids":["8b4623510eebfb56076f739bc0442aca","bfcf1fc09ef4b2586bb58dab11117568"],"related_changes":[],"relations":[],"section":"对象操作","section_path":["对象操作"],"source_commits":["15c82ef","fbb1d7d"],"source_entry_id":"9.5.0/changes/071","source_hash":"256804330795f28726dad9eae3f672e12b0c1cf79e9103b5f40019fc2b4c5c7c","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7","statement_hash":"5797bffe3209c4f5a4dfb947b1b7a2f6c32c05ad2e3aa585d863a4e1df1f770b","text":"允许 CREATE/ALTER DATABASE 操纵 datistemplate 和 datallowconn（Vik Fearing） 这样无需手动修改 pg_database 系统目录即可更改这些按数据库的设置。","title":"允许 CREATE/ALTER DATABASE 操纵 datistemplate 和 datallowconn","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["59efda3"],"commit_groups":[["59efda3"]],"commits":[],"cves":[],"db_id":"9f8e2af3460d1109110303b6560ffa03","html":"\u003cp\u003e添加对\u003ca href=\"/docs/9.5/sql-importforeignschema.html\" title=\"IMPORT FOREIGN SCHEMA\"\u003e\u003cspan\u003eIMPORT FOREIGN SCHEMA\u003c/span\u003e\u003c/a\u003e的支持（Ronan Dunklau、Michael Paquier、Tom Lane）\u003c/p\u003e\n\u003cp\u003e此命令允许自动创建与远程服务器上现有表结构匹配的本地外部表。\u003c/p\u003e","id":"9.5.0-50d28c973fc166e5","identity_text":"Add support for SQL-IMPORTFOREIGNSCHEMA (Ronan Dunklau, Michael Paquier, Tom Lane) This command allows automatic creation of local foreign tables that match the structure of existing tables on a remote server.","part":"changes","patch_ids":["6d46883fdd99480a6bc4998ba38b617c"],"related_changes":[],"relations":[],"section":"对象操作 / 外部表","section_path":["对象操作","外部表"],"source_commits":["59efda3"],"source_entry_id":"9.5.0/changes/072","source_hash":"05639b3b91fa565da47ba390a571bbcb7a89ecd36834047937431841937b376c","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7.3","statement_hash":"2c40830551976902708a4c9c72c26e4bf22bb85a328d96adfc7e7c8cee930227","text":"添加对IMPORT FOREIGN SCHEMA的支持（Ronan Dunklau、Michael Paquier、Tom Lane） 此命令允许自动创建与远程服务器上现有表结构匹配的本地外部表。","title":"添加对IMPORT FOREIGN SCHEMA的支持","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["fc2ac1f"],"commit_groups":[["fc2ac1f"]],"commits":[],"cves":[],"db_id":"c3b25292cf6bf2eb7e19d5276c7fa148","html":"\u003cp\u003e允许在外部表上放置 \u003ccode\u003eCHECK\u003c/code\u003e 约束（Shigeru Hanada、Etsuro Fujita）\u003c/p\u003e\n\u003cp\u003e此类约束被假定在远程服务器上执行，本地并不执行。但在查询优化（例如\u003ca href=\"/docs/9.5/ddl-partitioning.html#DDL-PARTITIONING-CONSTRAINT-EXCLUSION\" title=\"5.10.4. 分区和约束排除\"\u003e约束排除\u003c/a\u003e）中假定它们成立。\u003c/p\u003e","id":"9.5.0-ca73bf6fc07e2962","identity_text":"Allow CHECK constraints to be placed on foreign tables (Shigeru Hanada, Etsuro Fujita) Such constraints are assumed to be enforced on the remote server, and are not enforced locally. However, they are assumed to hold for purposes of query optimization, such as constraint exclusion.","part":"changes","patch_ids":["84d651b9d82b8fb561e2e517163c4cdb"],"related_changes":[],"relations":[],"section":"对象操作 / 外部表","section_path":["对象操作","外部表"],"source_commits":["fc2ac1f"],"source_entry_id":"9.5.0/changes/073","source_hash":"973c63e9a79a4732526d49a32b70d90403daec7a7dc8ffaebe8b81f437c837e4","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7.3","statement_hash":"6b1841b1b9b2bdfe2df4662a9bdcacc28390a62de25ddf72c0d563412e734894","text":"允许在外部表上放置 CHECK 约束（Shigeru Hanada、Etsuro Fujita） 此类约束被假定在远程服务器上执行，本地并不执行。但在查询优化（例如约束排除）中假定它们成立。","title":"允许在外部表上放置 CHECK 约束","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["cb1ca4d"],"commit_groups":[["cb1ca4d"]],"commits":[],"cves":[],"db_id":"8bac4f958146e9af0e1cd72971c13610","html":"\u003cp\u003e允许外部表参与继承（Shigeru Hanada、Etsuro Fujita）\u003c/p\u003e\n\u003cp\u003e为使其自然工作，现在允许外部表带有标记为 NOT VALID 的检查约束，并允许设置存储和 \u003ccode\u003eOID\u003c/code\u003e 特性，尽管这些操作对外部表实际上是空操作。\u003c/p\u003e","id":"9.5.0-e686ba471689800f","identity_text":"Allow foreign tables to participate in inheritance (Shigeru Hanada, Etsuro Fujita) To let this work naturally, foreign tables are now allowed to have check constraints marked as not valid, and to set storage and OID characteristics, even though these operations are effectively no-ops for a foreign table.","part":"changes","patch_ids":["3859316800073a485dfd2006fb932748"],"related_changes":[],"relations":[],"section":"对象操作 / 外部表","section_path":["对象操作","外部表"],"source_commits":["cb1ca4d"],"source_entry_id":"9.5.0/changes/074","source_hash":"b75fab6888c27ace6cf3b97e3c172b32a2198d5c78944904c55f828e9e7a4587","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7.3","statement_hash":"a41b1e2790b7010287da07cd366c621fb41a9ff7586aed16ecd196668fef5e17","text":"允许外部表参与继承（Shigeru Hanada、Etsuro Fujita） 为使其自然工作，现在允许外部表带有标记为 NOT VALID 的检查约束，并允许设置存储和 OID 特性，尽管这些操作对外部表实际上是空操作。","title":"允许外部表参与继承","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1a8a4e5","e7cb7ee"],"commit_groups":[["1a8a4e5"],["e7cb7ee"]],"commits":[],"cves":[],"db_id":"ae1c885a81ba7eb50335823a36e355bd","html":"\u003cp\u003e允许外部数据包装器和自定义扫描实现连接下推（KaiGai Kohei）\u003c/p\u003e","id":"9.5.0-79275d90c28c3f5c","identity_text":"Allow foreign data wrappers and custom scans to implement join pushdown (KaiGai Kohei)","part":"changes","patch_ids":["64617be1d88ce0f9f661e4113e14081a","9b5c7fd937c23980dde98b7340486e1a"],"related_changes":[],"relations":[],"section":"对象操作 / 外部表","section_path":["对象操作","外部表"],"source_commits":["1a8a4e5","e7cb7ee"],"source_entry_id":"9.5.0/changes/075","source_hash":"ab08d71a7f508cf4c4172952495a733b318ea5f6a31fc81345cf216bf44111c6","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7.3","statement_hash":"ea1c795e802bc1f390596fbcf6a4f9b203df582158d813ec81dcfcca71485eb0","text":"允许外部数据包装器和自定义扫描实现连接下推（KaiGai Kohei）","title":"允许外部数据包装器和自定义扫描实现连接下推","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["b488c58"],"commit_groups":[["b488c58"]],"commits":[],"cves":[],"db_id":"118b6916e559349a73fb94cc943c3846","html":"\u003cp\u003e只要安装了 \u003ccode\u003eddl_command_end\u003c/code\u003e 事件触发器，就会捕获 \u003cacronym\u003eDDL\u003c/acronym\u003e 活动的细节供其检查（Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e这些信息可以通过集合返回函数 \u003ca href=\"/docs/9.5/functions-event-triggers.html#PG-EVENT-TRIGGER-DDL-COMMAND-END-FUNCTIONS\" title=\"9.28.1. 在命令结束处捕捉更改\"\u003e\u003ccode\u003epg_event_trigger_ddl_commands()\u003c/code\u003e\u003c/a\u003e 获取；如果该函数提供的细节不够，也可以通过检查 C 数据结构获取。\u003c/p\u003e","id":"9.5.0-588de96c4d1f809d","identity_text":"Whenever a ddl_command_end event trigger is installed, capture details of DDL activity for it to inspect (Álvaro Herrera) This information is available through a set-returning function pg_event_trigger_ddl_commands(), or by inspection of C data structures if that function doesn't provide enough detail.","part":"changes","patch_ids":["46f9393d01bb41f4e161623363832062"],"related_changes":[],"relations":[],"section":"对象操作 / 事件触发器","section_path":["对象操作","事件触发器"],"source_commits":["b488c58"],"source_entry_id":"9.5.0/changes/076","source_hash":"03faef7c14662e66a682bc8cb4ce9e68a5fb928f529ee0327e3bfaacf6d838c3","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7.4","statement_hash":"94c8a2f27d9bf227062eb087680ab4689069d213c8aa2442be2b8b375e0bb7ed","text":"只要安装了 ddl_command_end 事件触发器，就会捕获 DDL 活动的细节供其检查（Álvaro Herrera） 这些信息可以通过集合返回函数 pg_event_trigger_ddl_commands() 获取；如果该函数提供的细节不够，也可以通过检查 C 数据结构获取。","title":"只要安装了 ddl_command_end 事件触发器，就会捕获 DDL 活动的细节供其检查","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["618c943"],"commit_groups":[["618c943"]],"commits":[],"cves":[],"db_id":"d50f24d5b0d5b7bc651ad528fb46702b","html":"\u003cp\u003e允许对由 \u003ca href=\"/docs/9.5/sql-altertable.html\" title=\"ALTER TABLE\"\u003e\u003ccode\u003eALTER TABLE\u003c/code\u003e\u003c/a\u003e 引起的表重写设置事件触发器（Dimitri Fontaine）\u003c/p\u003e","id":"9.5.0-96f28df906163841","identity_text":"Allow event triggers on table rewrites caused by ALTER TABLE (Dimitri Fontaine)","part":"changes","patch_ids":["c803fcc883f3418c6613628ed83f9858"],"related_changes":[],"relations":[],"section":"对象操作 / 事件触发器","section_path":["对象操作","事件触发器"],"source_commits":["618c943"],"source_entry_id":"9.5.0/changes/077","source_hash":"2d14263f63ce1b15c3cb62da811fd442c94404dceb698c3b34fa46dd0be9b9e0","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7.4","statement_hash":"316ca2c31b8ae1a59b347f204b8c7bd0020102a07771430c7c31313c2d7d9c3e","text":"允许对由 ALTER TABLE 引起的表重写设置事件触发器（Dimitri Fontaine）","title":"允许对由 ALTER TABLE 引起的表重写设置事件触发器","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["296f3a6"],"commit_groups":[["296f3a6"]],"commits":[],"cves":[],"db_id":"a8ed96e977f1703961eb6c182b283ab2","html":"\u003cp\u003e为数据库级的 \u003ca href=\"/docs/9.5/sql-comment.html\" title=\"COMMENT\"\u003e\u003ccode\u003eCOMMENT\u003c/code\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/sql-security-label.html\" title=\"SECURITY LABEL\"\u003e\u003ccode\u003eSECURITY LABEL\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/sql-grant.html\" title=\"GRANT\"\u003e\u003ccode\u003eGRANT\u003c/code\u003e\u003c/a\u003e/\u003ca href=\"/docs/9.5/sql-revoke.html\" title=\"REVOKE\"\u003e\u003ccode\u003eREVOKE\u003c/code\u003e\u003c/a\u003e 添加事件触发器支持（Álvaro Herrera）\u003c/p\u003e","id":"9.5.0-1f9e65f524475aed","identity_text":"Add event trigger support for database-level COMMENT, SECURITY LABEL, and GRANT/REVOKE (Álvaro Herrera)","part":"changes","patch_ids":["de0b8f22da35fbd5a7ed3d3926f1012a"],"related_changes":[],"relations":[],"section":"对象操作 / 事件触发器","section_path":["对象操作","事件触发器"],"source_commits":["296f3a6"],"source_entry_id":"9.5.0/changes/078","source_hash":"e0b91578cccd80ad7bd34a9b3bf95c537accbc5607a6dde2ca041777a673b1bc","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7.4","statement_hash":"1f7da9df2a6bf0b2e7013ef6abd1d8b76fd7615c67007c71ad38f6496423f3d1","text":"为数据库级的 COMMENT、SECURITY LABEL 和 GRANT/REVOKE 添加事件触发器支持（Álvaro Herrera）","title":"为数据库级的 COMMENT、SECURITY LABEL 和 GRANT/REVOKE 添加事件触发器支持","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["72dd233","e9a077c"],"commit_groups":[["72dd233"],["e9a077c"]],"commits":[],"cves":[],"db_id":"b9dae0889e642cc159b6761a44360ae0","html":"\u003cp\u003e向 \u003ca href=\"/docs/9.5/functions-event-triggers.html#PG-EVENT-TRIGGER-SQL-DROP-FUNCTIONS\" title=\"9.28.2. 处理被 DDL 命令删除的对象\"\u003e\u003ccode\u003epg_event_trigger_dropped_objects\u003c/code\u003e\u003c/a\u003e 的输出添加列（Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e这使删除操作的处理更简单。\u003c/p\u003e","id":"9.5.0-23580196028cbb73","identity_text":"Add columns to the output of pg_event_trigger_dropped_objects (Álvaro Herrera) This allows simpler processing of delete operations.","part":"changes","patch_ids":["56341f602d371aedb8f428b974ec2df4","826fb6d16def63f43f8f3d983a88fb13"],"related_changes":[],"relations":[],"section":"对象操作 / 事件触发器","section_path":["对象操作","事件触发器"],"source_commits":["72dd233","e9a077c"],"source_entry_id":"9.5.0/changes/079","source_hash":"8f15cc0feed41960175fbbb8b536c335b61b1ffc6b6675cc78a1e992c2e9e81d","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.7.4","statement_hash":"f4e5371f203731d38d2a95b944fa11d11f565c84ea266c72c37773fbaf11fb0d","text":"向 pg_event_trigger_dropped_objects 的输出添加列（Álvaro Herrera） 这使删除操作的处理更简单。","title":"向 pg_event_trigger_dropped_objects 的输出添加列","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["57b1085"],"commit_groups":[["57b1085"]],"commits":[],"cves":[],"db_id":"27b9ce45d6d08472d8eff11808a54043","html":"\u003cp\u003e允许 \u003ca href=\"/docs/9.5/datatype-xml.html\" title=\"8.13. XML类型\"\u003e\u003ccode\u003exml\u003c/code\u003e\u003c/a\u003e 数据类型接受空或全空白的内容值（Peter Eisentraut）\u003c/p\u003e\n\u003cp\u003e这是 \u003cacronym\u003eSQL\u003c/acronym\u003e/\u003cacronym\u003eXML\u003c/acronym\u003e 规范的要求。\u003c/p\u003e","id":"9.5.0-a959299311129a89","identity_text":"Allow the xml data type to accept empty or all-whitespace content values (Peter Eisentraut) This is required by the SQL/XML specification.","part":"changes","patch_ids":["0916d00ef19b13a99506da0d82e34a79"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["57b1085"],"source_entry_id":"9.5.0/changes/080","source_hash":"0a2e3f8422757a22f27785cf9dfe6e1a6cf8131d7a0c5a6c081ea38e1c43e900","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8","statement_hash":"6aaddfeac327ee4202da7ca5634d12f12efc99151fec26decd8e70d2be510255","text":"允许 xml 数据类型接受空或全空白的内容值（Peter Eisentraut） 这是 SQL/XML 规范的要求。","title":"允许 xml 数据类型接受空或全空白的内容值","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6f04368"],"commit_groups":[["6f04368"]],"commits":[],"cves":[],"db_id":"e7c767317d6e4dd352edf33d7662f3dc","html":"\u003cp\u003e允许 \u003ca href=\"/docs/9.5/datatype-net-types.html#DATATYPE-MACADDR\" title=\"8.9.4. macaddr\"\u003e\u003ccode\u003emacaddr\u003c/code\u003e\u003c/a\u003e 使用 \u003ccode\u003exxxx-xxxx-xxxx\u003c/code\u003e 格式输入（Herwin Weststrate）\u003c/p\u003e","id":"9.5.0-0a908b3481161ac5","identity_text":"Allow macaddr input using the format xxxx-xxxx-xxxx (Herwin Weststrate)","part":"changes","patch_ids":["5865740164923b3c579443da567b8938"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["6f04368"],"source_entry_id":"9.5.0/changes/081","source_hash":"0375837fb8b0ca291eb4d90e4ee357b53f02e2633d422737029a6cec50a6deb0","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8","statement_hash":"40121b6d52ab353c0ce3227e86ad5c55f78c4e08cf19d1a37edbdde80e91efc4","text":"允许 macaddr 使用 xxxx-xxxx-xxxx 格式输入（Herwin Weststrate）","title":"允许 macaddr 使用 xxxx-xxxx-xxxx 格式输入","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["417f924"],"commit_groups":[["417f924"]],"commits":[],"cves":[],"db_id":"78d12132633bc3306445cf23cb1dbd3b","html":"\u003cp\u003e禁止对 \u003ca href=\"/docs/9.5/datatype-datetime.html#DATATYPE-INTERVAL-INPUT\" title=\"8.5.4. 间隔输入\"\u003e\u003ccode\u003einterval\u003c/code\u003e\u003c/a\u003e 同时指定精度和字段说明的非 SQL 标准语法（Bruce Momjian）\u003c/p\u003e\n\u003cp\u003e按照标准，此类类型说明应写成例如 \u003ccode\u003eINTERVAL MINUTE TO SECOND(2)\u003c/code\u003e。\u003cspan\u003ePostgreSQL\u003c/span\u003e 以前允许写成 \u003ccode\u003eINTERVAL(2) MINUTE TO SECOND\u003c/code\u003e，但现在必须按标准方式书写。\u003c/p\u003e","id":"9.5.0-5cd7ce5591ed9a9e","identity_text":"Disallow non-SQL-standard syntax for interval with both precision and field specifications (Bruce Momjian) Per the standard, such type specifications should be written as, for example, INTERVAL MINUTE TO SECOND(2). PostgreSQL formerly allowed this to be written as INTERVAL(2) MINUTE TO SECOND, but it must now be written in the standard way.","part":"changes","patch_ids":["3781fc03846b029fc69d92a124074989"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["417f924"],"source_entry_id":"9.5.0/changes/082","source_hash":"f655ae91bd259d3e492a5050caa29092b3326b417a9b7393164f578e5f8f0a83","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8","statement_hash":"ca2c41e709744a97342842619325f955618004ff8f55f86f3e0099040f0b4214","text":"禁止对 interval 同时指定精度和字段说明的非 SQL 标准语法（Bruce Momjian） 按照标准，此类类型说明应写成例如 INTERVAL MINUTE TO SECOND(2)。PostgreSQL 以前允许写成 INTERVAL(2) MINUTE TO SECOND，但现在必须按标准方式书写。","title":"禁止对 interval 同时指定精度和字段说明的非 SQL 标准语法","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["89840d7"],"commit_groups":[["89840d7"]],"commits":[],"cves":[],"db_id":"9ea5b92e6fb71a0d329602d0ad9e4f6d","html":"\u003cp\u003e为 \u003ca href=\"/docs/9.5/datatype-net-types.html#DATATYPE-INET\" title=\"8.9.1. inet\"\u003e\u003ccode\u003einet\u003c/code\u003e\u003c/a\u003e/\u003ca href=\"/docs/9.5/datatype-net-types.html#DATATYPE-CIDR\" title=\"8.9.2. cidr\"\u003e\u003ccode\u003ecidr\u003c/code\u003e\u003c/a\u003e 操作符添加选择率估计器，并改进文本检索函数的估计器（Emre Hasegeli、Tom Lane）\u003c/p\u003e","id":"9.5.0-04669b4158b5978b","identity_text":"Add selectivity estimators for inet/cidr operators and improve estimators for text search functions (Emre Hasegeli, Tom Lane)","part":"changes","patch_ids":["270ff53337b0f5f19deac1cc2cc8493c"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["89840d7"],"source_entry_id":"9.5.0/changes/083","source_hash":"4b3b70d99220339f35e53d8dc53e590d3f48c48accf012543616c61d69b9ea70","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8","statement_hash":"b7d489cc7fb6451aa6e482e59205abb645ad5d755a5b2b29b47c312a08dd2350","text":"为 inet/cidr 操作符添加选择率估计器，并改进文本检索函数的估计器（Emre Hasegeli、Tom Lane）","title":"为 inet/cidr 操作符添加选择率估计器，并改进文本检索函数的估计器","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0c90f67","cb9fa80"],"commit_groups":[["0c90f67"],["cb9fa80"]],"commits":[],"cves":[],"db_id":"1164b18e4222017d461664691ab41f8c","html":"\u003cp\u003e添加数据类型 \u003ca href=\"/docs/9.5/datatype-oid.html#DATATYPE-OID-TABLE\" title=\"表 8.24. 对象标识符类型\"\u003e\u003ccode\u003eregrole\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/datatype-oid.html#DATATYPE-OID-TABLE\" title=\"表 8.24. 对象标识符类型\"\u003e\u003ccode\u003eregnamespace\u003c/code\u003e\u003c/a\u003e，以简化角色或命名空间 \u003ccode\u003eOID\u003c/code\u003e 的输入与美化打印（Kyotaro Horiguchi）\u003c/p\u003e","id":"9.5.0-09049fab6acc480a","identity_text":"Add data types regrole and regnamespace to simplify entering and pretty-printing the OID of a role or namespace (Kyotaro Horiguchi)","part":"changes","patch_ids":["249170c95c4b564aff608c139e18b4b0","7eec2cd8a3fc8d9a30a813a156c3c0ec"],"related_changes":[],"relations":[],"section":"数据类型","section_path":["数据类型"],"source_commits":["0c90f67","cb9fa80"],"source_entry_id":"9.5.0/changes/084","source_hash":"a6c799945f95da7db97278d8cc85d7b7fafabdb3a523835b2929963092765cc8","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8","statement_hash":"eb4bdd11486e84ab14e64a5666b1e121a3f0808e33b3c648c4b73764fe893497","text":"添加数据类型 regrole 和 regnamespace，以简化角色或命名空间 OID 的输入与美化打印（Kyotaro Horiguchi）","title":"添加数据类型 regrole 和 regnamespace，以简化角色或命名空间 OID 的输入与美化打印","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["37def42","c694701"],"commit_groups":[["37def42"],["c694701"]],"commits":[],"cves":[],"db_id":"99b0bf0cd863766d3b9ff65320c58489","html":"\u003cp\u003e添加 \u003ccode\u003ejsonb\u003c/code\u003e 函数 \u003ca href=\"/docs/9.5/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE\" title=\"表 9.43. JSON 处理函数\"\u003e\u003ccode\u003ejsonb_set()\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE\" title=\"表 9.43. JSON 处理函数\"\u003e\u003ccode\u003ejsonb_pretty()\u003c/code\u003e\u003c/a\u003e（Dmitry Dolgov、Andrew Dunstan、Petr Jelínek）\u003c/p\u003e","id":"9.5.0-7b691370de82eef9","identity_text":"Add jsonb functions jsonb_set() and jsonb_pretty() (Dmitry Dolgov, Andrew Dunstan, Petr Jelínek)","part":"changes","patch_ids":["6263550f1f38438bab6969851d3f48f0","d57d997e3edeee6ec5ecb80fdfd7dbe9"],"related_changes":[{"db_id":"ae396fcc31bbed1d58145bb081d01aad","evidence":{"ambiguous_patch_ids":["6263550f1f38438bab6969851d3f48f0"],"patch_ids":["6263550f1f38438bab6969851d3f48f0"],"same_day":true},"kind":"related","label":"9.5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8.3","title":"添加 jsonb 的 || 操作符","url":"/docs/compare/?release=9.5.0#9.5.0-fe95b154d27a2b41","version":"9.5.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["6263550f1f38438bab6969851d3f48f0"],"patch_ids":["6263550f1f38438bab6969851d3f48f0"],"same_day":true},"rule":2,"target":"ae396fcc31bbed1d58145bb081d01aad","type":"related"}],"section":"数据类型 / JSON","section_path":["数据类型","JSON"],"source_commits":["37def42","c694701"],"source_entry_id":"9.5.0/changes/085","source_hash":"ba93c73f51d2d4f1c87f62c080d510fcda4ab77a637085aecd430e49a2731936","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8.3","statement_hash":"610845128b4e1c3962279a038cf3aea4769bb26004e92556510fde229f0fd876","text":"添加 jsonb 函数 jsonb_set() 和 jsonb_pretty()（Dmitry Dolgov、Andrew Dunstan、Petr Jelínek）","title":"添加 jsonb 函数 jsonb_set() 和 jsonb_pretty()","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["7e354ab"],"commit_groups":[["7e354ab"]],"commits":[],"cves":[],"db_id":"a79d99af2d8d864992fd84b10e66472a","html":"\u003cp\u003e添加 \u003ccode\u003ejsonb\u003c/code\u003e 生成函数 \u003ca href=\"/docs/9.5/functions-json.html#FUNCTIONS-JSON-CREATION-TABLE\" title=\"表 9.42. JSON 创建函数\"\u003e\u003ccode\u003eto_jsonb()\u003c/code\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/functions-json.html#FUNCTIONS-JSON-CREATION-TABLE\" title=\"表 9.42. JSON 创建函数\"\u003e\u003ccode\u003ejsonb_object()\u003c/code\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/functions-json.html#FUNCTIONS-JSON-CREATION-TABLE\" title=\"表 9.42. JSON 创建函数\"\u003e\u003ccode\u003ejsonb_build_object()\u003c/code\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/functions-json.html#FUNCTIONS-JSON-CREATION-TABLE\" title=\"表 9.42. JSON 创建函数\"\u003e\u003ccode\u003ejsonb_build_array()\u003c/code\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE\" title=\"表 9.49. 通用聚合函数\"\u003e\u003ccode\u003ejsonb_agg()\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE\" title=\"表 9.49. 通用聚合函数\"\u003e\u003ccode\u003ejsonb_object_agg()\u003c/code\u003e\u003c/a\u003e（Andrew Dunstan）\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003ejson\u003c/code\u003e 类型此前已有等效函数。\u003c/p\u003e","id":"9.5.0-5b8d0e6e32b21419","identity_text":"Add jsonb generator functions to_jsonb(), jsonb_object(), jsonb_build_object(), jsonb_build_array(), jsonb_agg(), and jsonb_object_agg() (Andrew Dunstan) Equivalent functions already existed for type json.","part":"changes","patch_ids":["c94e407573a1cc6a3986537fbc952f73"],"related_changes":[],"relations":[],"section":"数据类型 / JSON","section_path":["数据类型","JSON"],"source_commits":["7e354ab"],"source_entry_id":"9.5.0/changes/086","source_hash":"67d838bdac48c35e9463c641559749d8e5cd03249d3dbabc8458d8eee3613805","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8.3","statement_hash":"b24a1740dd95f7cbda9afb34b3d89f75161c795bad80ec6a0cfdb449bc06e2dc","text":"添加 jsonb 生成函数 to_jsonb()、jsonb_object()、jsonb_build_object()、jsonb_build_array()、jsonb_agg() 和 jsonb_object_agg()（Andrew Dunstan） json 类型此前已有等效函数。","title":"添加 jsonb 生成函数 to_jsonb()、jsonb_object()、jsonb_build_object()、jsonb_build_array()、jsonb_agg() 和 jsonb_object_agg()","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["b67f1ce"],"commit_groups":[["b67f1ce"]],"commits":[],"cves":[],"db_id":"dd206ff0113ca0053d2dc2384cfd23b8","html":"\u003cp\u003e降低 \u003ca href=\"/docs/9.5/datatype-json.html\" title=\"8.14. JSON 类型\"\u003e\u003ccode\u003ejson\u003c/code\u003e\u003c/a\u003e 与 \u003ca href=\"/docs/9.5/datatype-json.html\" title=\"8.14. JSON 类型\"\u003e\u003ccode\u003ejsonb\u003c/code\u003e\u003c/a\u003e 之间相互转换的转换要求（Tom Lane）\u003c/p\u003e","id":"9.5.0-fe73275cdc3cbec9","identity_text":"Reduce casting requirements to/from json and jsonb (Tom Lane)","part":"changes","patch_ids":["9e33a9c3dd46c0d5392e4e6cbd4ed82c"],"related_changes":[],"relations":[],"section":"数据类型 / JSON","section_path":["数据类型","JSON"],"source_commits":["b67f1ce"],"source_entry_id":"9.5.0/changes/087","source_hash":"fb37e0d9f12f36d308cf97ee1e0f906036db0e4f7c35bde182b805048b7bd53d","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8.3","statement_hash":"9851b8cb238855c3e73d35e051125c487c194c92982f7a3191a1072539b995c4","text":"降低 json 与 jsonb 之间相互转换的转换要求（Tom Lane）","title":"降低 json 与 jsonb 之间相互转换的转换要求","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["908e234"],"commit_groups":[["908e234"]],"commits":[],"cves":[],"db_id":"3f60f60a436a91303382d7c3c2c7fc3c","html":"\u003cp\u003e允许从 \u003ccode\u003ejsonb\u003c/code\u003e 文档中\u003ca href=\"/docs/9.5/functions-json.html#FUNCTIONS-JSONB-OP-TABLE\" title=\"表 9.41. 附加的 jsonb 操作符\"\u003e减去\u003c/a\u003e\u003ccode\u003etext\u003c/code\u003e、\u003ccode\u003etext\u003c/code\u003e 数组和 \u003ccode\u003einteger\u003c/code\u003e 值（Dmitry Dolgov、Andrew Dunstan）\u003c/p\u003e","id":"9.5.0-c59f7f5aa90dc9ae","identity_text":"Allow text, text array, and integer values to be subtracted from jsonb documents (Dmitry Dolgov, Andrew Dunstan)","part":"changes","patch_ids":["a4cc92cf0d4287e8a1b70beb956f1c0b"],"related_changes":[],"relations":[],"section":"数据类型 / JSON","section_path":["数据类型","JSON"],"source_commits":["908e234"],"source_entry_id":"9.5.0/changes/088","source_hash":"7f65d4dace340ec0e57b8558f83d838cde13486108f42055edc94974b4cf44e7","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8.3","statement_hash":"933a553666268e15cf05ee06f179d2c7a90bb8b937c159ed9d6f6d5fa8426d56","text":"允许从 jsonb 文档中减去text、text 数组和 integer 值（Dmitry Dolgov、Andrew Dunstan）","title":"允许从 jsonb 文档中减去text、text 数组和 integer 值","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["c694701"],"commit_groups":[["c694701"]],"commits":[],"cves":[],"db_id":"ae396fcc31bbed1d58145bb081d01aad","html":"\u003cp\u003e添加 \u003ccode\u003ejsonb\u003c/code\u003e 的 \u003ca href=\"/docs/9.5/functions-json.html#FUNCTIONS-JSONB-OP-TABLE\" title=\"表 9.41. 附加的 jsonb 操作符\"\u003e\u003ccode\u003e||\u003c/code\u003e\u003c/a\u003e 操作符（Dmitry Dolgov、Andrew Dunstan）\u003c/p\u003e","id":"9.5.0-fe95b154d27a2b41","identity_text":"Add jsonb || operator (Dmitry Dolgov, Andrew Dunstan)","part":"changes","patch_ids":["6263550f1f38438bab6969851d3f48f0"],"related_changes":[{"db_id":"99b0bf0cd863766d3b9ff65320c58489","evidence":{"ambiguous_patch_ids":["6263550f1f38438bab6969851d3f48f0"],"patch_ids":["6263550f1f38438bab6969851d3f48f0"],"same_day":true},"kind":"related","label":"9.5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8.3","title":"添加 jsonb 函数 jsonb_set() 和 jsonb_pretty()","url":"/docs/compare/?release=9.5.0#9.5.0-7b691370de82eef9","version":"9.5.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["6263550f1f38438bab6969851d3f48f0"],"patch_ids":["6263550f1f38438bab6969851d3f48f0"],"same_day":true},"rule":2,"target":"99b0bf0cd863766d3b9ff65320c58489","type":"related"}],"section":"数据类型 / JSON","section_path":["数据类型","JSON"],"source_commits":["c694701"],"source_entry_id":"9.5.0/changes/089","source_hash":"485db685d460fd65886cbbadb531bc62dc7ba7c0d7b928e184e0c9780ce26ebd","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8.3","statement_hash":"38dfb4281d18b3ac3a11ff235715dd2be793837095ecd74b249a239a75e6ec60","text":"添加 jsonb 的 || 操作符（Dmitry Dolgov、Andrew Dunstan）","title":"添加 jsonb 的 || 操作符","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["237a882"],"commit_groups":[["237a882"]],"commits":[],"cves":[],"db_id":"1dcb072b62a1716e104947c39502a434","html":"\u003cp\u003e添加 \u003ca href=\"/docs/9.5/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE\" title=\"表 9.43. JSON 处理函数\"\u003e\u003ccode\u003ejson_strip_nulls()\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/functions-json.html#FUNCTIONS-JSON-PROCESSING-TABLE\" title=\"表 9.43. JSON 处理函数\"\u003e\u003ccode\u003ejsonb_strip_nulls()\u003c/code\u003e\u003c/a\u003e 函数，用于从文档中移除 JSON 空值（Andrew Dunstan）\u003c/p\u003e","id":"9.5.0-2121b35c30a8120d","identity_text":"Add json_strip_nulls() and jsonb_strip_nulls() functions to remove JSON null values from documents (Andrew Dunstan)","part":"changes","patch_ids":["2a4ede4d26138895097f934a31d3c018"],"related_changes":[],"relations":[],"section":"数据类型 / JSON","section_path":["数据类型","JSON"],"source_commits":["237a882"],"source_entry_id":"9.5.0/changes/090","source_hash":"3d9647ce823fc07c8a84357077e29d28b90bd22734abe1dcad4908951e82ba04","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.8.3","statement_hash":"1e0599a0d6bba4779474b97aa648e287fc107f6101ba02197d7614e24a9bc5fc","text":"添加 json_strip_nulls() 和 jsonb_strip_nulls() 函数，用于从文档中移除 JSON 空值（Andrew Dunstan）","title":"添加 json_strip_nulls() 和 jsonb_strip_nulls() 函数，用于从文档中移除 JSON 空值","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1871c89"],"commit_groups":[["1871c89"]],"commits":[],"cves":[],"db_id":"b3044ceb86fbc4597139ca3b44aae178","html":"\u003cp\u003e为 \u003ccode\u003enumeric\u003c/code\u003e 值添加 \u003ca href=\"/docs/9.5/functions-srf.html\" title=\"9.24. 集合返回函数\"\u003e\u003ccode\u003egenerate_series()\u003c/code\u003e\u003c/a\u003e（Plato Malugin）\u003c/p\u003e","id":"9.5.0-66a4d7d35a0c4341","identity_text":"Add generate_series() for numeric values (Plato Malugin)","part":"changes","patch_ids":["5871b6d28c640e30e21a8c84feda7eaf"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["1871c89"],"source_entry_id":"9.5.0/changes/091","source_hash":"1c1960383d0c61ade3247a50d3c4e728037d129596badc9fe50966e4a3223a47","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9","statement_hash":"b5618167bcc4214f9bb4a92a5d060abe8dea341fa687954f10e7038ed932fdf1","text":"为 numeric 值添加 generate_series()（Plato Malugin）","title":"为 numeric 值添加 generate_series()","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["bac2739"],"commit_groups":[["bac2739"]],"commits":[],"cves":[],"db_id":"46f51a97878bd359dcfd8eb0e644c7d2","html":"\u003cp\u003e允许 \u003ca href=\"/docs/9.5/functions-aggregate.html#FUNCTIONS-AGGREGATE-TABLE\" title=\"表 9.49. 通用聚合函数\"\u003e\u003ccode\u003earray_agg()\u003c/code\u003e\u003c/a\u003e 和 \u003ccode\u003eARRAY()\u003c/code\u003e 接受数组作为输入（Ali Akbar、Tom Lane）\u003c/p\u003e","id":"9.5.0-816aa432077aa8ed","identity_text":"Allow array_agg() and ARRAY() to take arrays as inputs (Ali Akbar, Tom Lane)","part":"changes","patch_ids":["4f3acc22f42d2b216971c6c2354994e2"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["bac2739"],"source_entry_id":"9.5.0/changes/092","source_hash":"9af409d2a46d4d548f0cc53092d78c4cc8dd7dc0b5d2de426c386cd2404e838d","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9","statement_hash":"60d91cd68356095c34c8763b120dd0195a2c319ca0d9a8139e5246d4852f4556","text":"允许 array_agg() 和 ARRAY() 接受数组作为输入（Ali Akbar、Tom Lane）","title":"允许 array_agg() 和 ARRAY() 接受数组作为输入","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["13dbc7a","97690ea"],"commit_groups":[["13dbc7a"],["97690ea"]],"commits":[],"cves":[],"db_id":"7eabf84d407ec8cabd89bd56cb0c703e","html":"\u003cp\u003e添加函数 \u003ca href=\"/docs/9.5/functions-array.html#ARRAY-FUNCTIONS-TABLE\" title=\"表 9.46. 数组函数\"\u003e\u003ccode\u003earray_position()\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/functions-array.html#ARRAY-FUNCTIONS-TABLE\" title=\"表 9.46. 数组函数\"\u003e\u003ccode\u003earray_positions()\u003c/code\u003e\u003c/a\u003e，用于返回数组值的下标（Pavel Stehule）\u003c/p\u003e","id":"9.5.0-5f70f2160de4bd47","identity_text":"Add functions array_position() and array_positions() to return subscripts of array values (Pavel Stehule)","part":"changes","patch_ids":["30e289e7f48adce9693aead3d05a8adb","351249fe2c4a3f322800889245cf612a"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["13dbc7a","97690ea"],"source_entry_id":"9.5.0/changes/093","source_hash":"e72d25ce4cf9803cbfaf43da6cdbc05fc2c7472b3353ae5d7c050dc6d66999a9","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9","statement_hash":"5f133f073d442cf4898257cd2465efb4e5e9301604405cf10df225fc6469f68a","text":"添加函数 array_position() 和 array_positions()，用于返回数组值的下标（Pavel Stehule）","title":"添加函数 array_position() 和 array_positions()，用于返回数组值的下标","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["4520ba6"],"commit_groups":[["4520ba6"]],"commits":[],"cves":[],"db_id":"cbee540e05401a6e1bcfc77ef0c2fbaf","html":"\u003cp\u003e添加 \u003ccode\u003epoint\u003c/code\u003e 到 \u003ccode\u003epolygon\u003c/code\u003e 的距离操作符 \u003ca href=\"/docs/9.5/functions-geometry.html#FUNCTIONS-GEOMETRY-OP-TABLE\" title=\"表 9.31. 几何操作符\"\u003e\u0026lt;-\u0026gt;\u003c/a\u003e（Alexander Korotkov）\u003c/p\u003e","id":"9.5.0-cb3a1ec9d137f2f7","identity_text":"Add a point-to-polygon distance operator \u003c-\u003e (Alexander Korotkov)","part":"changes","patch_ids":["720c71dc1e738df15b8132e0fee965b1"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["4520ba6"],"source_entry_id":"9.5.0/changes/094","source_hash":"624e00faa46ea38244547a974e743021ff55df677f631669057138a530a226cd","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9","statement_hash":"9cec4266f8b26a3593c6742382e332ef1af676b5f0a81481deeae32ff53725c8","text":"添加 point 到 polygon 的距离操作符 \u003c-\u003e（Alexander Korotkov）","title":"添加 point 到 polygon 的距离操作符 \u003c-\u003e","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["8167a38"],"commit_groups":[["8167a38"]],"commits":[],"cves":[],"db_id":"3c473219df64e1b136d99e8a2de50320","html":"\u003cp\u003e允许在 \u003ca href=\"/docs/9.5/functions-matching.html#FUNCTIONS-SIMILARTO-REGEXP\" title=\"9.7.2. SIMILAR TO正则表达式\"\u003e\u003ccode\u003eSIMILAR TO\u003c/code\u003e\u003c/a\u003e 和 \u003ca href=\"/docs/9.5/functions-string.html#FUNCTIONS-STRING-SQL\" title=\"表 9.6. SQL字符串函数和操作符\"\u003e\u003ccode\u003eSUBSTRING\u003c/code\u003e\u003c/a\u003e 中使用多字节字符作为转义符（Jeff Davis）\u003c/p\u003e\n\u003cp\u003e以前只允许单字节字符作为转义符。\u003c/p\u003e","id":"9.5.0-a9cb30e60cf18b4f","identity_text":"Allow multibyte characters as escapes in SIMILAR TO and SUBSTRING (Jeff Davis) Previously, only a single-byte character was allowed as an escape.","part":"changes","patch_ids":["593bfd74b90631efb99be0dbd1e1380a"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["8167a38"],"source_entry_id":"9.5.0/changes/095","source_hash":"7c833d9ec107d169e7d78cbd9e13c1667025d6bfbcc8bcff4499cadeeb028e1e","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9","statement_hash":"0b5b91c1485f8986c34525658885daaa13d31ab150e647deb55192c30f9c8f1f","text":"允许在 SIMILAR TO 和 SUBSTRING 中使用多字节字符作为转义符（Jeff Davis） 以前只允许单字节字符作为转义符。","title":"允许在 SIMILAR TO 和 SUBSTRING 中使用多字节字符作为转义符","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["e80252d"],"commit_groups":[["e80252d"]],"commits":[],"cves":[],"db_id":"8716ada8598d2704dc633113fa325655","html":"\u003cp\u003e添加 \u003ca href=\"/docs/9.5/functions-math.html#FUNCTIONS-MATH-FUNC-TABLE\" title=\"表 9.3. 数学函数\"\u003e\u003ccode\u003ewidth_bucket()\u003c/code\u003e\u003c/a\u003e 的一个变体，支持任何可排序的数据类型和非均匀的桶宽（Petr Jelínek）\u003c/p\u003e","id":"9.5.0-b9e7f371f3b7ca1a","identity_text":"Add a width_bucket() variant that supports any sortable data type and non-uniform bucket widths (Petr Jelínek)","part":"changes","patch_ids":["de26e11e752ff7f98dcf8bb7555f008a"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["e80252d"],"source_entry_id":"9.5.0/changes/096","source_hash":"91bc7f15cc0597ee506526f30cde11273890afa072e0c535e81fc8a65c973ff9","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9","statement_hash":"ae01d7751c3f4eee2097d620aebd34e8f7bb54b9dbc4a1a1b1727495af8afccb","text":"添加 width_bucket() 的一个变体，支持任何可排序的数据类型和非均匀的桶宽（Petr Jelínek）","title":"添加 width_bucket() 的一个变体，支持任何可排序的数据类型和非均匀的桶宽","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["cb2acb1"],"commit_groups":[["cb2acb1"]],"commits":[],"cves":[],"db_id":"a7c98d6834c540d38a55683aafa75bd6","html":"\u003cp\u003e为 \u003ca href=\"/docs/9.5/functions-admin.html#FUNCTIONS-ADMIN-GENFILE-TABLE\" title=\"表 9.76. 通用文件访问函数\"\u003e\u003ccode\u003epg_read_file()\u003c/code\u003e\u003c/a\u003e 及相关函数添加可选的 \u003cem\u003e\u003ccode\u003emissing_ok\u003c/code\u003e\u003c/em\u003e 参数（Michael Paquier、Heikki Linnakangas）\u003c/p\u003e","id":"9.5.0-06d011091c59e7ae","identity_text":"Add an optional missing_ok argument to pg_read_file() and related functions (Michael Paquier, Heikki Linnakangas)","part":"changes","patch_ids":["4c7abec6d473edf1450e0117fe53cfae"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["cb2acb1"],"source_entry_id":"9.5.0/changes/097","source_hash":"975184f4f88d4fecccc182624e3978e102ff31648e25291802e5e7de630b6c95","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9","statement_hash":"cf96eb1247779a194509382111774f3800daf8fb75295def4169e1789980a794","text":"为 pg_read_file() 及相关函数添加可选的 missing_ok 参数（Michael Paquier、Heikki Linnakangas）","title":"为 pg_read_file() 及相关函数添加可选的 missing_ok 参数","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["865f14a"],"commit_groups":[["865f14a"]],"commits":[],"cves":[],"db_id":"2f3f6bd46abf8b078c4804f9ce289cf3","html":"\u003cp\u003e允许在函数调用中用 \u003ca href=\"/docs/9.5/sql-syntax-calling-funcs.html\" title=\"4.3. 调用函数\"\u003e\u003ccode\u003e=\u0026gt;\u003c/code\u003e\u003c/a\u003e 指定命名参数（Pavel Stehule）\u003c/p\u003e\n\u003cp\u003e以前只能使用 \u003ccode\u003e:=\u003c/code\u003e。这要求移除 \u003ccode\u003e=\u0026gt;\u003c/code\u003e 作为用户定义操作符的可能。自 PostgreSQL 9.0 起，创建用户定义的 \u003ccode\u003e=\u0026gt;\u003c/code\u003e 操作符就一直发出警告。\u003c/p\u003e","id":"9.5.0-5b87f4333264d2b7","identity_text":"Allow =\u003e to specify named parameters in function calls (Pavel Stehule) Previously only := could be used. This requires removing the possibility for =\u003e to be a user-defined operator. Creation of user-defined =\u003e operators has been issuing warnings since PostgreSQL 9.0.","part":"changes","patch_ids":["fe540d74e663193fb2b986d467e40024"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["865f14a"],"source_entry_id":"9.5.0/changes/098","source_hash":"c045e0d523bfc231ad06f6ae009919194d52dedd99b300224a8376d9afea0b21","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9","statement_hash":"ecf55dbd4cb1cfab1ac10e28fe0b3b5a2a0966605de23b99a62823cd28a57a80","text":"允许在函数调用中用 =\u003e 指定命名参数（Pavel Stehule） 以前只能使用 :=。这要求移除 =\u003e 作为用户定义操作符的可能。自 PostgreSQL 9.0 起，创建用户定义的 =\u003e 操作符就一直发出警告。","title":"允许在函数调用中用 =\u003e 指定命名参数","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["06bf0dd"],"commit_groups":[["06bf0dd"]],"commits":[],"cves":[],"db_id":"21c4bf0e9a87dfc7ed4156693a05f7b0","html":"\u003cp\u003e为使用 PostgreSQL 提供的舍入函数的平台添加符合 \u003cacronym\u003ePOSIX\u003c/acronym\u003e 的舍入（Pedro Gimeno Fortea）\u003c/p\u003e","id":"9.5.0-7e22f87a5c9312fa","identity_text":"Add POSIX-compliant rounding for platforms that use PostgreSQL-supplied rounding functions (Pedro Gimeno Fortea)","part":"changes","patch_ids":["48857ab2c928904fd3cbddbf12c01c9c"],"related_changes":[],"relations":[],"section":"函数","section_path":["函数"],"source_commits":["06bf0dd"],"source_entry_id":"9.5.0/changes/099","source_hash":"25e8205535c8e0723fffc4dd75e3e4aa713f8dd3249939bc5bd705f37bd74f82","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9","statement_hash":"97cc0925a939051926bcb9f362665d1368e90fb656d8aa2f940fc58736ac9a0c","text":"为使用 PostgreSQL 提供的舍入函数的平台添加符合 POSIX 的舍入（Pedro Gimeno Fortea）","title":"为使用 PostgreSQL 提供的舍入函数的平台添加符合 POSIX 的舍入","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a676201","d7ee82e"],"commit_groups":[["a676201"],["d7ee82e"]],"commits":[],"cves":[],"db_id":"77084972a9ff4a488e4f9fd65d0a45e4","html":"\u003cp\u003e添加函数 \u003ca href=\"/docs/9.5/functions-info.html#FUNCTIONS-INFO-OBJECT-TABLE\" title=\"表 9.61. 对象信息和寻址函数\"\u003e\u003ccode\u003epg_get_object_address()\u003c/code\u003e\u003c/a\u003e（返回唯一标识对象的 \u003ccode\u003eOID\u003c/code\u003e）和函数 \u003ca href=\"/docs/9.5/functions-info.html#FUNCTIONS-INFO-OBJECT-TABLE\" title=\"表 9.61. 对象信息和寻址函数\"\u003e\u003ccode\u003epg_identify_object_as_address()\u003c/code\u003e\u003c/a\u003e（基于 \u003ccode\u003eOID\u003c/code\u003e 返回对象信息）（Álvaro Herrera）\u003c/p\u003e","id":"9.5.0-f4e6126cccb0efc5","identity_text":"Add function pg_get_object_address() to return OIDs that uniquely identify an object, and function pg_identify_object_as_address() to return object information based on OIDs (Álvaro Herrera)","part":"changes","patch_ids":["22d9e11d9cf84defad8010b54319ce62","8c4f426c8d2a1f7a7ca4d41a4b9a7e35"],"related_changes":[],"relations":[],"section":"函数 / 系统信息函数和视图","section_path":["函数","系统信息函数和视图"],"source_commits":["a676201","d7ee82e"],"source_entry_id":"9.5.0/changes/100","source_hash":"0b6e4e31b443a000455e4b0cd02622ed24f286743e02ed33abb87f4771446599","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9.3","statement_hash":"facebc1276c820192f197ba055729be3a0df7a6d4cef95f24cbcde0336cb1e20","text":"添加函数 pg_get_object_address()（返回唯一标识对象的 OID）和函数 pg_identify_object_as_address()（基于 OID 返回对象信息）（Álvaro Herrera）","title":"添加函数 pg_get_object_address()（返回唯一标识对象的 OID）和函数 pg_identify_object_as_address()（基于 OID 返回对象信息）","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["bf03889"],"commit_groups":[["bf03889"]],"commits":[],"cves":[],"db_id":"1b5052c646a7d704d759d5593c04fbbc","html":"\u003cp\u003e放宽在 \u003ca href=\"/docs/9.5/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW\" title=\"表 27.3. pg_stat_activity 视图\"\u003e\u003ccode\u003epg_stat_activity\u003c/code\u003e\u003c/a\u003e 中查看查询、执行 \u003ca href=\"/docs/9.5/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE\" title=\"表 9.67. 服务器信号函数\"\u003e\u003ccode\u003epg_cancel_backend()\u003c/code\u003e\u003c/a\u003e 和执行 \u003ca href=\"/docs/9.5/functions-admin.html#FUNCTIONS-ADMIN-SIGNAL-TABLE\" title=\"表 9.67. 服务器信号函数\"\u003e\u003ccode\u003epg_terminate_backend()\u003c/code\u003e\u003c/a\u003e 的安全检查（Stephen Frost）\u003c/p\u003e\n\u003cp\u003e以前，只有拥有目标会话的那个特定角色才能执行这些操作；现在，是该角色的成员即可。\u003c/p\u003e","id":"9.5.0-ba511c93656f1810","identity_text":"Loosen security checks for viewing queries in pg_stat_activity, executing pg_cancel_backend(), and executing pg_terminate_backend() (Stephen Frost) Previously, only the specific role owning the target session could perform these operations; now membership in that role is sufficient.","part":"changes","patch_ids":["91138b084a4cf530cafa922c1ea4a737"],"related_changes":[],"relations":[],"section":"函数 / 系统信息函数和视图","section_path":["函数","系统信息函数和视图"],"source_commits":["bf03889"],"source_entry_id":"9.5.0/changes/101","source_hash":"8a2cbce6b19ad96f10f130ea8bcb739f0332847bd540e17a8cddc6da389061cf","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9.3","statement_hash":"eec5017ef948b9344aeb897058ba990e7368dea781cff2975d68a1666f5dd723","text":"放宽在 pg_stat_activity 中查看查询、执行 pg_cancel_backend() 和执行 pg_terminate_backend() 的安全检查（Stephen Frost） 以前，只有拥有目标会话的那个特定角色才能执行这些操作；现在，是该角色的成员即可。","title":"放宽在 pg_stat_activity 中查看查询、执行 pg_cancel_backend() 和执行 pg_terminate_backend() 的安全检查","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["2fb7a75"],"commit_groups":[["2fb7a75"]],"commits":[],"cves":[],"db_id":"2237fe392a0ee774a96bf86d74c35a46","html":"\u003cp\u003e添加 \u003ca href=\"/docs/9.5/monitoring-stats.html#MONITORING-STATS-FUNCS-TABLE\" title=\"表 27.16. 附加统计函数\"\u003e\u003ccode\u003epg_stat_get_snapshot_timestamp()\u003c/code\u003e\u003c/a\u003e，用于输出统计快照的时间戳（Matt Kelly）\u003c/p\u003e\n\u003cp\u003e它表示快照文件最后一次写入文件系统的时间。\u003c/p\u003e","id":"9.5.0-1d06cf81dddcedd8","identity_text":"Add pg_stat_get_snapshot_timestamp() to output the time stamp of the statistics snapshot (Matt Kelly) This represents the last time the snapshot file was written to the file system.","part":"changes","patch_ids":["df4ae36deec70d8d69731e4b6db18b3f"],"related_changes":[],"relations":[],"section":"函数 / 系统信息函数和视图","section_path":["函数","系统信息函数和视图"],"source_commits":["2fb7a75"],"source_entry_id":"9.5.0/changes/102","source_hash":"e7826f0ed41afa0ffa097d410ce20d9185e46bb73717933f132b60d1c9482fbd","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9.3","statement_hash":"2ecc4af871a74582262402797262922ec5246b6dc300f03a883c7fc39b622e25","text":"添加 pg_stat_get_snapshot_timestamp()，用于输出统计快照的时间戳（Matt Kelly） 它表示快照文件最后一次写入文件系统的时间。","title":"添加 pg_stat_get_snapshot_timestamp()，用于输出统计快照的时间戳","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["36ad1a8"],"commit_groups":[["36ad1a8"]],"commits":[],"cves":[],"db_id":"f7111f3a7e59d223ae931ed043ce51ca","html":"\u003cp\u003e添加 \u003ca href=\"/docs/9.5/maintenance.html#VACUUM-FOR-MULTIXACT-WRAPAROUND\" title=\"23.1.5.1. 多事务与回卷\"\u003e\u003ccode\u003emxid_age()\u003c/code\u003e\u003c/a\u003e，用于计算多事务 ID 的年龄（Bruce Momjian）\u003c/p\u003e","id":"9.5.0-d2b456f7305d04b3","identity_text":"Add mxid_age() to compute multi-xid age (Bruce Momjian)","part":"changes","patch_ids":["3769c7bb1c1658ee6600007e82a4da65"],"related_changes":[],"relations":[],"section":"函数 / 系统信息函数和视图","section_path":["函数","系统信息函数和视图"],"source_commits":["36ad1a8"],"source_entry_id":"9.5.0/changes/103","source_hash":"44891fc7597e5a383de39e0f2043118edbbf6bad71425ef461e699009758ba5d","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9.3","statement_hash":"d6465402842e99a117c2c44d0d692d6a1e9920a4779206d88bbb606259f5e1d7","text":"添加 mxid_age()，用于计算多事务 ID 的年龄（Bruce Momjian）","title":"添加 mxid_age()，用于计算多事务 ID 的年龄","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["6c40f83"],"commit_groups":[["6c40f83"]],"commits":[],"cves":[],"db_id":"098abd54e475dcc4a86a4800996ef617","html":"\u003cp\u003e为 \u003ca href=\"/docs/9.5/datatype-net-types.html#DATATYPE-INET\" title=\"8.9.1. inet\"\u003e\u003ccode\u003einet\u003c/code\u003e\u003c/a\u003e/\u003ca href=\"/docs/9.5/datatype-net-types.html#DATATYPE-CIDR\" title=\"8.9.2. cidr\"\u003e\u003ccode\u003ecidr\u003c/code\u003e\u003c/a\u003e 数据类型添加 \u003ccode\u003emin()\u003c/code\u003e/\u003ccode\u003emax()\u003c/code\u003e 聚合（Haribabu Kommi）\u003c/p\u003e","id":"9.5.0-93c20688aa6c2ca4","identity_text":"Add min()/max() aggregates for inet/cidr data types (Haribabu Kommi)","part":"changes","patch_ids":["c567a4061e7bdf74215e44189e563d3f"],"related_changes":[],"relations":[],"section":"函数 / 聚合","section_path":["函数","聚合"],"source_commits":["6c40f83"],"source_entry_id":"9.5.0/changes/104","source_hash":"44ea672f5556b8ee0b00f829acd9d1564bd53618fab7b502bb65083f238d5555","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9.4","statement_hash":"08ebe892b15de290bb71cb7db2c68d3e231439965cc2aec16688b7cf1245c687","text":"为 inet/cidr 数据类型添加 min()/max() 聚合（Haribabu Kommi）","title":"为 inet/cidr 数据类型添加 min()/max() 聚合","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["8122e14","959277a"],"commit_groups":[["8122e14"],["959277a"]],"commits":[],"cves":[],"db_id":"824ff2982e52fed918bc92b4d92c12e7","html":"\u003cp\u003e在支持的平台上，使用 128 位整数作为某些聚合函数的累加器（Andreas Karlsson）\u003c/p\u003e","id":"9.5.0-af0a02a8b47fac27","identity_text":"Use 128-bit integers, where supported, as accumulators for some aggregate functions (Andreas Karlsson)","part":"changes","patch_ids":["3b1e99ddd67e01f7f54f9617a805a823","729f36f3d2856a4284579c267491d18a"],"related_changes":[],"relations":[],"section":"函数 / 聚合","section_path":["函数","聚合"],"source_commits":["8122e14","959277a"],"source_entry_id":"9.5.0/changes/105","source_hash":"707b096778f4675716abb4fd3577b9618e958e78ebf3cccbe99c06f9f11a30ce","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.9.4","statement_hash":"cdac3d502ce0678e472c5bcf743a95dd54ea5478beadd18351dbc6534b85d629","text":"在支持的平台上，使用 128 位整数作为某些聚合函数的累加器（Andreas Karlsson）","title":"在支持的平台上，使用 128 位整数作为某些聚合函数的累加器","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["8b6010b"],"commit_groups":[["8b6010b"]],"commits":[],"cves":[],"db_id":"a72381c9135349e2330463dcf08f6b4d","html":"\u003cp\u003e改进\u003ca href=\"/docs/9.5/plpython.html\" title=\"第 43 章 PL/Python - Python 过程语言\"\u003e\u003cspan\u003ePL/Python\u003c/span\u003e\u003c/a\u003e对组合类型的支持（Ed Behn、Ronan Dunklau）\u003c/p\u003e\n\u003cp\u003e这允许 \u003cspan\u003ePL/Python\u003c/span\u003e 函数返回组合类型的数组。\u003c/p\u003e","id":"9.5.0-afe1901a74931826","identity_text":"Improve support for composite types in PL/Python (Ed Behn, Ronan Dunklau) This allows PL/Python functions to return arrays of composite types.","part":"changes","patch_ids":["df4badd790f2191bbcdf33c8fcfb4d80"],"related_changes":[],"relations":[],"section":"服务器端语言","section_path":["服务器端语言"],"source_commits":["8b6010b"],"source_entry_id":"9.5.0/changes/106","source_hash":"15661ca372b4cc4a0bbefe876302ce083b4336323fbcbd4d1468d8e6776300d8","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.10","statement_hash":"e9da78ce50172af36d52751669e3031e09ebe01f63232012893622f126556592","text":"改进PL/Python对组合类型的支持（Ed Behn、Ronan Dunklau） 这允许 PL/Python 函数返回组合类型的数组。","title":"改进PL/Python对组合类型的支持","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1ce7a57"],"commit_groups":[["1ce7a57"]],"commits":[],"cves":[],"db_id":"724c3d755ab5d83229da82d27302f1b3","html":"\u003cp\u003e降低\u003ca href=\"/docs/9.5/plpython.html\" title=\"第 43 章 PL/Python - Python 过程语言\"\u003e\u003cspan\u003ePL/Python\u003c/span\u003e\u003c/a\u003e浮点值转换的精度损失（Marko Kreen）\u003c/p\u003e","id":"9.5.0-174d069281e9e9b8","identity_text":"Reduce lossiness of PL/Python floating-point value conversions (Marko Kreen)","part":"changes","patch_ids":["27d291d0326a750839f26b7a1ab46048"],"related_changes":[],"relations":[],"section":"服务器端语言","section_path":["服务器端语言"],"source_commits":["1ce7a57"],"source_entry_id":"9.5.0/changes/107","source_hash":"4e9b72f88bf0834fabbf649f44ed857c8a69e2eccc9d7f37a60b5f58f0ea1c5a","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.10","statement_hash":"374739fbd69db0102df646e1bd391c898ca9d74a016600d387c4475774d27dba","text":"降低PL/Python浮点值转换的精度损失（Marko Kreen）","title":"降低PL/Python浮点值转换的精度损失","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["cac7658"],"commit_groups":[["cac7658"]],"commits":[],"cves":[],"db_id":"56f997d89940a2e18ccaf35b9fdd5d79","html":"\u003cp\u003e允许指定 \u003cacronym\u003eSQL\u003c/acronym\u003e 数据类型与过程语言数据类型之间的转换例程（Peter Eisentraut）\u003c/p\u003e\n\u003cp\u003e此变更添加了新命令 \u003ca href=\"/docs/9.5/sql-createtransform.html\" title=\"CREATE TRANSFORM\"\u003e\u003ccode\u003eCREATE\u003c/code\u003e\u003c/a\u003e/\u003ca href=\"/docs/9.5/sql-droptransform.html\" title=\"DROP TRANSFORM\"\u003e\u003ccode\u003eDROP TRANSFORM\u003c/code\u003e\u003c/a\u003e。它还添加了\u003ca href=\"/docs/9.5/hstore.html\" title=\"F.15. hstore\"\u003e\u003cspan\u003ehstore\u003c/span\u003e\u003c/a\u003e和\u003ca href=\"/docs/9.5/ltree.html\" title=\"F.20. ltree\"\u003e\u003cspan\u003eltree\u003c/span\u003e\u003c/a\u003e类型与\u003ca href=\"/docs/9.5/plperl.html\" title=\"第 42 章 PL/Perl - Perl 过程语言\"\u003e\u003cspan\u003ePL/Perl\u003c/span\u003e\u003c/a\u003e和\u003ca href=\"/docs/9.5/plpython.html\" title=\"第 43 章 PL/Python - Python 过程语言\"\u003e\u003cspan\u003ePL/Python\u003c/span\u003e\u003c/a\u003e之间的可选转换。\u003c/p\u003e","id":"9.5.0-971baa2998f05a5d","identity_text":"Allow specification of conversion routines between SQL data types and data types of procedural languages (Peter Eisentraut) This change adds new commands CREATE/DROP TRANSFORM. This also adds optional transformations between the hstore and ltree types to/from PL/Perl and PL/Python.","part":"changes","patch_ids":["ca6258a819ac7bb93d96698c180bc9b1"],"related_changes":[],"relations":[],"section":"服务器端语言","section_path":["服务器端语言"],"source_commits":["cac7658"],"source_entry_id":"9.5.0/changes/108","source_hash":"da5b2788396dc1f7365d02fe6ca6cbde1c4df5556b45657ba20af43e7a5f5318","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.10","statement_hash":"72c24d3712a8bfc7c9590e1513d7fafd24b4008a4038279f31eff1aeda44f7db","text":"允许指定 SQL 数据类型与过程语言数据类型之间的转换例程（Peter Eisentraut） 此变更添加了新命令 CREATE/DROP TRANSFORM。它还添加了hstore和ltree类型与PL/Perl和PL/Python之间的可选转换。","title":"允许指定 SQL 数据类型与过程语言数据类型之间的转换例程","variants":[],"version":"9.5.0"},{"also_in":[],"category":"performance","category_label":"Performance","commit_aliases":["1dc5ebc","56a79a8","9e3ad1a","e983c4d"],"commit_groups":[["1dc5ebc"],["56a79a8"],["9e3ad1a"],["e983c4d"]],"commits":[],"cves":[],"db_id":"2a4086025d35c201416bddbc41e33184","html":"\u003cp\u003e改进\u003ca href=\"/docs/9.5/plpgsql.html\" title=\"第 40 章 PL/pgSQL — SQL 过程语言\"\u003e\u003cspan\u003ePL/pgSQL\u003c/span\u003e\u003c/a\u003e的数组性能（Tom Lane）\u003c/p\u003e","id":"9.5.0-8f203a8b69cd6d91","identity_text":"Improve PL/pgSQL array performance (Tom Lane)","part":"changes","patch_ids":["0c899841948d22ea55115921f615a0f4","78c5321bc194dc05453b7879b2987d3f","b57b1cbcee3b626709146b4857e397fa","fe4c37d33343439b831c5aec5b6167f0"],"related_changes":[],"relations":[],"section":"服务器端语言 / PL/pgSQL Server-Side Language","section_path":["服务器端语言","PL/pgSQL Server-Side Language"],"source_commits":["1dc5ebc","56a79a8","9e3ad1a","e983c4d"],"source_entry_id":"9.5.0/changes/109","source_hash":"4bde8306770c7fb9f91d178fc1ac9af57426cbced18191d26b822cb00cfb8328","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.10.3","statement_hash":"e603b5d51d2866a41f0de039ec01cd9a3d13f9c100423e0ff4fb95dc32c02d52","text":"改进PL/pgSQL的数组性能（Tom Lane）","title":"改进PL/pgSQL的数组性能","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a4847fc"],"commit_groups":[["a4847fc"]],"commits":[],"cves":[],"db_id":"04785b3f5a54e8dd6c13a78e3a7ba3b4","html":"\u003cp\u003e在 \u003cspan\u003ePL/pgSQL\u003c/span\u003e 中添加 \u003ca href=\"/docs/9.5/plpgsql-errors-and-messages.html#PLPGSQL-STATEMENTS-ASSERT\" title=\"40.8.2. 检查断言\"\u003e\u003ccode\u003eASSERT\u003c/code\u003e\u003c/a\u003e 语句（Pavel Stehule）\u003c/p\u003e","id":"9.5.0-a7714db92dacec8a","identity_text":"Add an ASSERT statement in PL/pgSQL (Pavel Stehule)","part":"changes","patch_ids":["809be6b647b935fe5c19b010e3a1e3fc"],"related_changes":[],"relations":[],"section":"服务器端语言 / PL/pgSQL Server-Side Language","section_path":["服务器端语言","PL/pgSQL Server-Side Language"],"source_commits":["a4847fc"],"source_entry_id":"9.5.0/changes/110","source_hash":"b6e585728952a7b13dcd3c83c2dc0c0c91099c95b10700f7c6d8246fec1482b4","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.10.3","statement_hash":"69b8d93c805db5fd8f596089ab5798d236ac9f39876c56ed8c8e1ce853ba34bc","text":"在 PL/pgSQL 中添加 ASSERT 语句（Pavel Stehule）","title":"在 PL/pgSQL 中添加 ASSERT 语句","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["bb1b8f6"],"commit_groups":[["bb1b8f6"]],"commits":[],"cves":[],"db_id":"94dc1a7510afb84630780526cc268c33","html":"\u003cp\u003e允许更多\u003ca href=\"/docs/9.5/plpgsql.html\" title=\"第 40 章 PL/pgSQL — SQL 过程语言\"\u003e\u003cspan\u003ePL/pgSQL\u003c/span\u003e\u003c/a\u003e关键字用作标识符（Tom Lane）\u003c/p\u003e","id":"9.5.0-396526097f249f01","identity_text":"Allow more PL/pgSQL keywords to be used as identifiers (Tom Lane)","part":"changes","patch_ids":["d70f6f09d3884f26f2f5d4f45ec6f044"],"related_changes":[],"relations":[],"section":"服务器端语言 / PL/pgSQL Server-Side Language","section_path":["服务器端语言","PL/pgSQL Server-Side Language"],"source_commits":["bb1b8f6"],"source_entry_id":"9.5.0/changes/111","source_hash":"da651777bde9c4dd31e230cdf5f188b02fc9502deacd1ceed90985e0556ad694","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.10.3","statement_hash":"f111b7a90304244ca536c50f2ea96e2bb610927b2eb7c91ef723e42b0f5d3650","text":"允许更多PL/pgSQL关键字用作标识符（Tom Lane）","title":"允许更多PL/pgSQL关键字用作标识符","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["00882d9","528c2e4","83aca89","b0a738f"],"commit_groups":[["00882d9"],["528c2e4"],["83aca89"],["b0a738f"]],"commits":[],"cves":[],"db_id":"a72f1f1c0d935c6f18d34effd77f4d1d","html":"\u003cp\u003e把\u003ca href=\"/docs/9.5/pgarchivecleanup.html\" title=\"pg_archivecleanup\"\u003e\u003cspan\u003epg_archivecleanup\u003c/span\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/pgtestfsync.html\" title=\"pg_test_fsync\"\u003e\u003cspan\u003epg_test_fsync\u003c/span\u003e\u003c/a\u003e、\u003ca href=\"/docs/9.5/pgtesttiming.html\" title=\"pg_test_timing\"\u003e\u003cspan\u003epg_test_timing\u003c/span\u003e\u003c/a\u003e和\u003ca href=\"/docs/9.5/pgxlogdump.html\" title=\"pg_xlogdump\"\u003e\u003cspan\u003epg_xlogdump\u003c/span\u003e\u003c/a\u003e从 \u003ccode\u003econtrib\u003c/code\u003e 移到 \u003ccode\u003esrc/bin\u003c/code\u003e（Peter Eisentraut）\u003c/p\u003e\n\u003cp\u003e这应使这些程序在大多数安装中默认被安装。\u003c/p\u003e","id":"9.5.0-b9757ea22686d981","identity_text":"Move pg_archivecleanup, pg_test_fsync, pg_test_timing, and pg_xlogdump from contrib to src/bin (Peter Eisentraut) This should result in these programs being installed by default in most installations.","part":"changes","patch_ids":["314d4cd13dd985c09a55afe3a6c7ef97","4bf9cdd7787053a0760c8b9741bcdd0d","c9af4c351a3775fb289bc48ad4bf9a70","d764169e3d85a71fea41a78dfb1507b3"],"related_changes":[],"relations":[],"section":"客户端应用程序","section_path":["客户端应用程序"],"source_commits":["00882d9","528c2e4","83aca89","b0a738f"],"source_entry_id":"9.5.0/changes/112","source_hash":"dac84b8f7539476942c83264910e4170f37f233d34a7847e0bbd50c557318b07","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11","statement_hash":"1d4c6246a53779e55be75ff0abe8afe25267b11dda9f0d570c1f037adb6af290","text":"把pg_archivecleanup、pg_test_fsync、pg_test_timing和pg_xlogdump从 contrib 移到 src/bin（Peter Eisentraut） 这应使这些程序在大多数安装中默认被安装。","title":"把pg_archivecleanup、pg_test_fsync、pg_test_timing和pg_xlogdump从 contrib 移到 src/bin","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["61081e7"],"commit_groups":[["61081e7"]],"commits":[],"cves":[],"db_id":"dae12f156a5faf674445ca24d959613c","html":"\u003cp\u003e添加\u003ca href=\"/docs/9.5/app-pgrewind.html\" title=\"pg_rewind\"\u003e\u003cspan\u003epg_rewind\u003c/span\u003e\u003c/a\u003e，它允许在故障回切后重新同步主服务器（Heikki Linnakangas）\u003c/p\u003e","id":"9.5.0-272b7d921010af8f","identity_text":"Add pg_rewind, which allows re-synchronizing a master server after failback (Heikki Linnakangas)","part":"changes","patch_ids":["fed60089254b5e4a2f030865f6e6a47d"],"related_changes":[],"relations":[],"section":"客户端应用程序","section_path":["客户端应用程序"],"source_commits":["61081e7"],"source_entry_id":"9.5.0/changes/113","source_hash":"fecd4acdc5544a5fe35df8be3eaa8cc93e29fb342883b360f2ccd1d017a20e37","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11","statement_hash":"b9803a8eab55b2706f3125a1f5894051c043dfcc5222cce38172890ec9922b7b","text":"添加pg_rewind，它允许在故障回切后重新同步主服务器（Heikki Linnakangas）","title":"添加pg_rewind，它允许在故障回切后重新同步主服务器","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["d9f38c7"],"commit_groups":[["d9f38c7"]],"commits":[],"cves":[],"db_id":"352cf2e84966545d05172b124d2fcf4c","html":"\u003cp\u003e允许\u003ca href=\"/docs/9.5/app-pgreceivexlog.html\" title=\"pg_receivexlog\"\u003e\u003cspan\u003epg_receivexlog\u003c/span\u003e\u003c/a\u003e管理物理复制槽（Michael Paquier）\u003c/p\u003e\n\u003cp\u003e这通过新的 \u003ccode\u003e--create-slot\u003c/code\u003e 和 \u003ccode\u003e--drop-slot\u003c/code\u003e 选项控制。\u003c/p\u003e","id":"9.5.0-b76a1bda89547ed0","identity_text":"Allow pg_receivexlog to manage physical replication slots (Michael Paquier) This is controlled via new --create-slot and --drop-slot options.","part":"changes","patch_ids":["c5f345aaf0a44591313cbf142b99e61f"],"related_changes":[],"relations":[],"section":"客户端应用程序","section_path":["客户端应用程序"],"source_commits":["d9f38c7"],"source_entry_id":"9.5.0/changes/114","source_hash":"160a1044ff8db1b3d9a752b68fd1a9b7f3dc51532e1a8c7b107fd59dc22a878d","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11","statement_hash":"cc7382da9c1661cfbb910cee2a61b922472ff3e22d5f77cc54e6adf00cc116e2","text":"允许pg_receivexlog管理物理复制槽（Michael Paquier） 这通过新的 --create-slot 和 --drop-slot 选项控制。","title":"允许pg_receivexlog管理物理复制槽","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["c4f99d2"],"commit_groups":[["c4f99d2"]],"commits":[],"cves":[],"db_id":"c89acc451869584da78182a73b048fa3","html":"\u003cp\u003e允许\u003ca href=\"/docs/9.5/app-pgreceivexlog.html\" title=\"pg_receivexlog\"\u003e\u003cspan\u003epg_receivexlog\u003c/span\u003e\u003c/a\u003e使用新的 \u003ccode\u003e--synchronous\u003c/code\u003e 选项同步刷写 \u003cacronym\u003eWAL\u003c/acronym\u003e 到存储（Furuya Osamu、Fujii Masao）\u003c/p\u003e\n\u003cp\u003e若不使用该选项，\u003cacronym\u003eWAL\u003c/acronym\u003e 文件只在关闭时被 fsync。\u003c/p\u003e","id":"9.5.0-7bbbdee52444a567","identity_text":"Allow pg_receivexlog to synchronously flush WAL to storage using new --synchronous option (Furuya Osamu, Fujii Masao) Without this, WAL files are fsync'ed only on close.","part":"changes","patch_ids":["4c9330b6b6d8dae5fd480be95f89c9da"],"related_changes":[],"relations":[],"section":"客户端应用程序","section_path":["客户端应用程序"],"source_commits":["c4f99d2"],"source_entry_id":"9.5.0/changes/115","source_hash":"e8404ffa2d7bd701d04aea2faccaa80ce30b5e3c8a63bb794299977185ae5257","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11","statement_hash":"4b523ea3c3c1cc8b8b18aa3964bc6074dc95eb5a9aee8b80a92715c9d25a51ed","text":"允许pg_receivexlog使用新的 --synchronous 选项同步刷写 WAL 到存储（Furuya Osamu、Fujii Masao） 若不使用该选项，WAL 文件只在关闭时被 fsync。","title":"允许pg_receivexlog使用新的 --synchronous 选项同步刷写 WAL 到存储","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a179232"],"commit_groups":[["a179232"]],"commits":[],"cves":[],"db_id":"bd7bd44ab9754738123d72ede4c896df","html":"\u003cp\u003e允许\u003ca href=\"/docs/9.5/app-vacuumdb.html\" title=\"vacuumdb\"\u003e\u003cspan\u003evacuumdb\u003c/span\u003e\u003c/a\u003e使用新的 \u003ccode\u003e--jobs\u003c/code\u003e 选项并行清理（Dilip Kumar）\u003c/p\u003e","id":"9.5.0-a8563d9f240e287e","identity_text":"Allow vacuumdb to vacuum in parallel using new --jobs option (Dilip Kumar)","part":"changes","patch_ids":["62e8181b7895bb6815ff95e50d3a02e7"],"related_changes":[],"relations":[],"section":"客户端应用程序","section_path":["客户端应用程序"],"source_commits":["a179232"],"source_entry_id":"9.5.0/changes/116","source_hash":"feb9c9d93f949ed020a83388b0ec06439f00588bbe9bd8fe24738069b2c99ed2","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11","statement_hash":"d9c2be9176030f8b4bad7400fd55518a5a5cb9a1b6e57062d2775c9323fab03b","text":"允许vacuumdb使用新的 --jobs 选项并行清理（Dilip Kumar）","title":"允许vacuumdb使用新的 --jobs 选项并行清理","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5094da9"],"commit_groups":[["5094da9"]],"commits":[],"cves":[],"db_id":"67c6ad463bb370b5dfbac354dd7d1925","html":"\u003cp\u003e在\u003ca href=\"/docs/9.5/app-vacuumdb.html\" title=\"vacuumdb\"\u003e\u003cspan\u003evacuumdb\u003c/span\u003e\u003c/a\u003e中，当需要多个连接时不再重复提示输入同一密码（Haribabu Kommi、Michael Paquier）\u003c/p\u003e","id":"9.5.0-2d6cd2120250cba6","identity_text":"In vacuumdb, do not prompt for the same password repeatedly when multiple connections are necessary (Haribabu Kommi, Michael Paquier)","part":"changes","patch_ids":["b39c6b83d7ba2480eea8cc78c71fb910"],"related_changes":[],"relations":[],"section":"客户端应用程序","section_path":["客户端应用程序"],"source_commits":["5094da9"],"source_entry_id":"9.5.0/changes/117","source_hash":"c7c27119524849a7b5e646d3581d7a2afe9f1591dcf9ab9b7f7f568ad6d4b60e","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11","statement_hash":"435033ce2b8e4d1ba53f9c35cda4320de02c553a4650f35c4d06a0d9f4a5ae06","text":"在vacuumdb中，当需要多个连接时不再重复提示输入同一密码（Haribabu Kommi、Michael Paquier）","title":"在vacuumdb中，当需要多个连接时不再重复提示输入同一密码","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["458a077"],"commit_groups":[["458a077"]],"commits":[],"cves":[],"db_id":"2ec4337d1db889f32055cbbaae12002e","html":"\u003cp\u003e为\u003ca href=\"/docs/9.5/app-reindexdb.html\" title=\"reindexdb\"\u003e\u003cspan\u003ereindexdb\u003c/span\u003e\u003c/a\u003e添加 \u003ccode\u003e--verbose\u003c/code\u003e 选项（Sawada Masahiko）\u003c/p\u003e","id":"9.5.0-776734b4b144288e","identity_text":"Add --verbose option to reindexdb (Sawada Masahiko)","part":"changes","patch_ids":["1cd13966ac338eb1777491359ddb8ce0"],"related_changes":[],"relations":[],"section":"客户端应用程序","section_path":["客户端应用程序"],"source_commits":["458a077"],"source_entry_id":"9.5.0/changes/118","source_hash":"43c0d72849cf765f3d1d8ff50a95694c90e43b87f0f9199db52dc780cd4d3248","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11","statement_hash":"3e2515c5a361c7aec2a322ae70f1bdbc7ed4035c54d5e49e6d39c84de2cf4010","text":"为reindexdb添加 --verbose 选项（Sawada Masahiko）","title":"为reindexdb添加 --verbose 选项","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["72d422a"],"commit_groups":[["72d422a"]],"commits":[],"cves":[],"db_id":"fad5aa9be8cf1729dd27fd3cba372381","html":"\u003cp\u003e使\u003ca href=\"/docs/9.5/app-pgbasebackup.html\" title=\"pg_basebackup\"\u003e\u003cspan\u003epg_basebackup\u003c/span\u003e\u003c/a\u003e在使用 \u003cspan\u003etar\u003c/span\u003e 格式时使用表空间映射文件，以支持 \u003cspan\u003eMS Windows\u003c/span\u003e 上的符号链接和 100 字符以上的文件路径（Amit Kapila）\u003c/p\u003e","id":"9.5.0-12bd98a61dd1916e","identity_text":"Make pg_basebackup use a tablespace mapping file when using tar format, to support symbolic links and file paths of 100+ characters in length on MS Windows (Amit Kapila)","part":"changes","patch_ids":["690d079a8e91566658d3a83c238ae77e"],"related_changes":[],"relations":[],"section":"客户端应用程序","section_path":["客户端应用程序"],"source_commits":["72d422a"],"source_entry_id":"9.5.0/changes/119","source_hash":"113a1ca25a6fa33228e11ff1edc06bb2583153e8195ace7608aaf02002142446","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11","statement_hash":"df9ff914c270d61d98515f66fc679053b8289772ef743ffb3a0d61230a832d49","text":"使pg_basebackup在使用 tar 格式时使用表空间映射文件，以支持 MS Windows 上的符号链接和 100 字符以上的文件路径（Amit Kapila）","title":"使pg_basebackup在使用 tar 格式时使用表空间映射文件，以支持 MS Windows 上的符号链接和 100 字符以上的文件路径","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["728f152","bdd5726"],"commit_groups":[["728f152"],["bdd5726"]],"commits":[],"cves":[],"db_id":"0006025aa0bfa29e38678b12b0517a70","html":"\u003cp\u003e为\u003ca href=\"/docs/9.5/pgxlogdump.html\" title=\"pg_xlogdump\"\u003e\u003cspan\u003epg_xlogdump\u003c/span\u003e\u003c/a\u003e添加 \u003ccode\u003e--stats\u003c/code\u003e 选项，用于显示摘要统计（Abhijit Menon-Sen）\u003c/p\u003e","id":"9.5.0-f5c00b2b4b08ee8c","identity_text":"Add pg_xlogdump option --stats to display summary statistics (Abhijit Menon-Sen)","part":"changes","patch_ids":["af49224d47bbdbb24c8ef58e872ea542","b2e911a4c05b600647c45c471360c264"],"related_changes":[],"relations":[],"section":"客户端应用程序","section_path":["客户端应用程序"],"source_commits":["728f152","bdd5726"],"source_entry_id":"9.5.0/changes/120","source_hash":"7490448fcda419e11c081e2596aae36428bd1881c22333b4c6ef82db1d82bce0","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11","statement_hash":"d5e0b637ded8d97e2a27ab1245662dae696b34185e5b1d804815539d835468c2","text":"为pg_xlogdump添加 --stats 选项，用于显示摘要统计（Abhijit Menon-Sen）","title":"为pg_xlogdump添加 --stats 选项，用于显示摘要统计","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["9d9991c"],"commit_groups":[["9d9991c"]],"commits":[],"cves":[],"db_id":"61c7420bb41d28bde8743505a3fd4669","html":"\u003cp\u003e允许 \u003cspan\u003epsql\u003c/span\u003e 生成 AsciiDoc 输出（Szymon Guz）\u003c/p\u003e","id":"9.5.0-b4a74ebb57dffdee","identity_text":"Allow psql to produce AsciiDoc output (Szymon Guz)","part":"changes","patch_ids":["8cb7e1828c10f2c798c1b65de140d394"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql","section_path":["客户端应用程序","psql"],"source_commits":["9d9991c"],"source_entry_id":"9.5.0/changes/121","source_hash":"40c4a27b76a26b3a06e7d611790de3b6200b283cc48bfbf20d84556dd1d929e0","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3","statement_hash":"5b1d7bc38a93884f3f1c9ed5b6befd855aa68898e8eb5ce9a6017298ba02fc11","text":"允许 psql 生成 AsciiDoc 输出（Szymon Guz）","title":"允许 psql 生成 AsciiDoc 输出","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5b214c5"],"commit_groups":[["5b214c5"]],"commits":[],"cves":[],"db_id":"5c0ef6e6fabaf39d6834e517cc509fcb","html":"\u003cp\u003e为 \u003cspan\u003epsql\u003c/span\u003e 的 \u003ccode\u003eECHO\u003c/code\u003e 变量添加 \u003ccode\u003eerrors\u003c/code\u003e 模式，只显示失败的命令（Pavel Stehule）\u003c/p\u003e\n\u003cp\u003e该行为也可以通过 \u003cspan\u003epsql\u003c/span\u003e 的 \u003ccode\u003e-b\u003c/code\u003e 选项选择。\u003c/p\u003e","id":"9.5.0-18211a7815dd87fb","identity_text":"Add an errors mode that displays only failed commands to psql's ECHO variable (Pavel Stehule) This behavior can also be selected with psql's -b option.","part":"changes","patch_ids":["232efc67d1c1e530c63f7d4e57c73948"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql","section_path":["客户端应用程序","psql"],"source_commits":["5b214c5"],"source_entry_id":"9.5.0/changes/122","source_hash":"3652dc7effcd7b2a196b987104a0fef71dec82dce42c1a317d6556f9b928f098","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3","statement_hash":"e430ca8bd374b6acef9aa65fa3c69c89d0cb0c6d4f02e8dbb73c78decee606f6","text":"为 psql 的 ECHO 变量添加 errors 模式，只显示失败的命令（Pavel Stehule） 该行为也可以通过 psql 的 -b 选项选择。","title":"为 psql 的 ECHO 变量添加 errors 模式，只显示失败的命令","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a2dabf0"],"commit_groups":[["a2dabf0"]],"commits":[],"cves":[],"db_id":"61d6f8d35e476c75b761e9526fe3ca94","html":"\u003cp\u003e在 \u003cspan\u003epsql\u003c/span\u003e 的 unicode 线型中提供对列、表头和边框线型的分别控制（Pavel Stehule）\u003c/p\u003e\n\u003cp\u003e支持单线或双线；默认为 \u003ccode\u003esingle\u003c/code\u003e。\u003c/p\u003e","id":"9.5.0-a40a5856173b9b7f","identity_text":"Provide separate column, header, and border linestyle control in psql's unicode linestyle (Pavel Stehule) Single or double lines are supported; the default is single.","part":"changes","patch_ids":["c9354e525b0150d698d36571fc573549"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql","section_path":["客户端应用程序","psql"],"source_commits":["a2dabf0"],"source_entry_id":"9.5.0/changes/123","source_hash":"ea34f8078851a6118468801d53db1ac4f9732327a78687a16de6efbceb1529bd","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3","statement_hash":"6736f6d229432766d31d5446dccd5cc6ccfbde2e5f014758e8812e54dfdf52c4","text":"在 psql 的 unicode 线型中提供对列、表头和边框线型的分别控制（Pavel Stehule） 支持单线或双线；默认为 single。","title":"在 psql 的 unicode 线型中提供对列、表头和边框线型的分别控制","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["51bb795"],"commit_groups":[["51bb795"]],"commits":[],"cves":[],"db_id":"379759333275af2908d3e5857aca96f9","html":"\u003cp\u003e在 \u003cspan\u003epsql\u003c/span\u003e 的 \u003ca href=\"/docs/9.5/app-psql.html#APP-PSQL-VARIABLES\" title=\"变量\"\u003e\u003ccode\u003ePROMPT\u003c/code\u003e\u003c/a\u003e 变量中添加新选项 \u003ccode\u003e%l\u003c/code\u003e，用于显示当前多行语句的行号（Sawada Masahiko）\u003c/p\u003e","id":"9.5.0-b4a8c96b2a7ed3a2","identity_text":"Add new option %l in psql's PROMPT variables to display the current multiline statement line number (Sawada Masahiko)","part":"changes","patch_ids":["73130103d99361a9c596b1b64bc71a61"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql","section_path":["客户端应用程序","psql"],"source_commits":["51bb795"],"source_entry_id":"9.5.0/changes/124","source_hash":"382fd7e7eace911710addfc9422bb22d8d78f2bcb647e7aaa36bf72aa392ebc6","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3","statement_hash":"7cf2d2999366803f040ae06c5ac2770861d11f5904c01d0e28cc87f9fbb0a6e0","text":"在 psql 的 PROMPT 变量中添加新选项 %l，用于显示当前多行语句的行号（Sawada Masahiko）","title":"在 psql 的 PROMPT 变量中添加新选项 %l，用于显示当前多行语句的行号","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["7655f4c"],"commit_groups":[["7655f4c"]],"commits":[],"cves":[],"db_id":"19a75940e656901b88ea90e1a066b689","html":"\u003cp\u003e添加 \u003ccode\u003e\\pset\u003c/code\u003e 选项 \u003ca href=\"/docs/9.5/app-psql.html#APP-PSQL-META-COMMANDS\" title=\"元命令\"\u003e\u003ccode\u003epager_min_lines\u003c/code\u003e\u003c/a\u003e，用于控制分页器的调用（Andrew Dunstan）\u003c/p\u003e","id":"9.5.0-c1d4551311f02224","identity_text":"Add \\pset option pager_min_lines to control pager invocation (Andrew Dunstan)","part":"changes","patch_ids":["83983cc016412eb5170907e05f7dae94"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql","section_path":["客户端应用程序","psql"],"source_commits":["7655f4c"],"source_entry_id":"9.5.0/changes/125","source_hash":"9f0a9ce9bc3dd0ff2ddf35ad2116076184f86f9f3a948ea9e22a5580d46413d7","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3","statement_hash":"98a0cb246d7f379b8f0c5fb134204b09f2da0abca14ea539367de4a021a235b4","text":"添加 \\pset 选项 pager_min_lines，用于控制分页器的调用（Andrew Dunstan）","title":"添加 \\pset 选项 pager_min_lines，用于控制分页器的调用","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["4077fb4"],"commit_groups":[["4077fb4"]],"commits":[],"cves":[],"db_id":"997bb844703fca9e5e16f07ce7624ed7","html":"\u003cp\u003e改进 \u003cspan\u003epsql\u003c/span\u003e 在决定是否调用分页器时使用的行数统计（Andrew Dunstan）\u003c/p\u003e","id":"9.5.0-569cdc019b9b3c15","identity_text":"Improve psql line counting used when deciding to invoke the pager (Andrew Dunstan)","part":"changes","patch_ids":["2bf5fd8ba5ba46f26845c464f338cb69"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql","section_path":["客户端应用程序","psql"],"source_commits":["4077fb4"],"source_entry_id":"9.5.0/changes/126","source_hash":"c41a926c6db7df6419debd2ceec1fbf338fdc029ac682d1aa1121632bfb7347f","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3","statement_hash":"956f6a9add2a31852c2609d763104aa4a19048cd2c3d1e63e69184283bf350d1","text":"改进 psql 在决定是否调用分页器时使用的行数统计（Andrew Dunstan）","title":"改进 psql 在决定是否调用分页器时使用的行数统计","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["07338cb","e90371d"],"commit_groups":[["07338cb"],["e90371d"]],"commits":[],"cves":[],"db_id":"430cf100b551b4ee887e2f5dda782fe3","html":"\u003cp\u003e如果 \u003ccode\u003e--output\u003c/code\u003e 或 \u003ccode\u003e--log-file\u003c/code\u003e 开关指定的文件无法写入，\u003cspan\u003epsql\u003c/span\u003e 现在会失败（Tom Lane、Daniel Vérité）\u003c/p\u003e\n\u003cp\u003e以前在这种情况下它实际上会忽略该开关。\u003c/p\u003e","id":"9.5.0-f81e91b4d8af9ef8","identity_text":"psql now fails if the file specified by an --output or --log-file switch cannot be written (Tom Lane, Daniel Vérité) Previously, it effectively ignored the switch in such cases.","part":"changes","patch_ids":["303ed2589f8ce53a3f9d0d7146bba921","71bf8a43afc6e658fef7ad09919f08d5"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql","section_path":["客户端应用程序","psql"],"source_commits":["07338cb","e90371d"],"source_entry_id":"9.5.0/changes/127","source_hash":"a777fb5334b53f98a4c673f7b05e0a71f00f3eef131c91b026c5ce6658b86b9a","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3","statement_hash":"a60f18ca50e5d63238cdec091a6da8e9cec86100d8da35594ce8a9a83c116e74","text":"如果 --output 或 --log-file 开关指定的文件无法写入，psql 现在会失败（Tom Lane、Daniel Vérité） 以前在这种情况下它实际上会忽略该开关。","title":"如果 --output 或 --log-file 开关指定的文件无法写入，psql 现在会失败","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["bd40951"],"commit_groups":[["bd40951"]],"commits":[],"cves":[],"db_id":"d9fda2f7f82049d8288a768bd91a8273","html":"\u003cp\u003e为设置\u003ca href=\"/docs/9.5/runtime-config-client.html#GUC-SEARCH-PATH\"\u003esearch_path\u003c/a\u003e变量添加 \u003cspan\u003epsql\u003c/span\u003e Tab 补全（Jeff Janes）\u003c/p\u003e\n\u003cp\u003e目前只有第一个模式可以被 Tab 补全。\u003c/p\u003e","id":"9.5.0-ba53c80f50356a2b","identity_text":"Add psql tab completion when setting the guc-search-path variable (Jeff Janes) Currently only the first schema can be tab-completed.","part":"changes","patch_ids":["6de5d8b80f493a920e196674b5db33f5"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql","section_path":["客户端应用程序","psql"],"source_commits":["bd40951"],"source_entry_id":"9.5.0/changes/128","source_hash":"665d407edc536ee0e857731de8e3f9c4d7f40645770993c400757a8b6a57a1fb","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3","statement_hash":"5441a847099eafe8dbc7245b554c14c9bc783b8a9bc36e025d4cb35450fde295","text":"为设置search_path变量添加 psql Tab 补全（Jeff Janes） 目前只有第一个模式可以被 Tab 补全。","title":"为设置search_path变量添加 psql Tab 补全","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["631e7f6"],"commit_groups":[["631e7f6"]],"commits":[],"cves":[],"db_id":"ec97ba66ad4f4791a0af4dd40a42bf27","html":"\u003cp\u003e改进 \u003cspan\u003epsql\u003c/span\u003e 对触发器和规则的 Tab 补全（Andreas Karlsson）\u003c/p\u003e","id":"9.5.0-33ce04bb4315a033","identity_text":"Improve psql's tab completion for triggers and rules (Andreas Karlsson)","part":"changes","patch_ids":["f3046753d54f5e6efe19159da34d98d9"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql","section_path":["客户端应用程序","psql"],"source_commits":["631e7f6"],"source_entry_id":"9.5.0/changes/129","source_hash":"e84cbcc816bd316ba0af573e78635ab715cf437185b474f26d2ceae042cb738e","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3","statement_hash":"7875e696983183353ed58ee6ac46cc63f7e702afd8bb06e8c72ff59a9c7ff375","text":"改进 psql 对触发器和规则的 Tab 补全（Andreas Karlsson）","title":"改进 psql 对触发器和规则的 Tab 补全","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["07c8651"],"commit_groups":[["07c8651"]],"commits":[],"cves":[],"db_id":"8898f4090a359c437be33a70c3130e0d","html":"\u003cp\u003e为 \u003cspan\u003epsql\u003c/span\u003e 的 \u003ccode\u003e\\?\u003c/code\u003e 帮助添加 \u003ccode\u003evariables\u003c/code\u003e 和 \u003ccode\u003eoptions\u003c/code\u003e 小节（Pavel Stehule）\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003e\\? variables\u003c/code\u003e 显示 \u003cspan\u003epsql\u003c/span\u003e 的特殊变量，\u003ccode\u003e\\? options\u003c/code\u003e 显示命令行选项。\u003ccode\u003e\\? commands\u003c/code\u003e 显示元命令，这是传统输出，仍为默认。这些帮助显示也可以通过命令行选项 \u003ccode\u003e--help=\u003cem\u003e\u003ccode\u003esection\u003c/code\u003e\u003c/em\u003e\u003c/code\u003e 获取。\u003c/p\u003e","id":"9.5.0-340ad54b3eb03993","identity_text":"Add psql \\? help sections variables and options (Pavel Stehule) \\? variables shows psql's special variables and \\? options shows the command-line options. \\? commands shows the meta-commands, which is the traditional output and remains the default. These help displays can also be obtained with the command-line option --help=section.","part":"changes","patch_ids":["22bc00b1ec319f7109138820e88c4ad5"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql / 反斜线命令","section_path":["客户端应用程序","psql","反斜线命令"],"source_commits":["07c8651"],"source_entry_id":"9.5.0/changes/130","source_hash":"b99a4950be71005b280aa320185390668d75c0267a288989463ea2d889601568","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3.3","statement_hash":"886714fa195507a0fdf6220bb0f05be9e8ae031fb9b932871813765b704f97fd","text":"为 psql 的 \\? 帮助添加 variables 和 options 小节（Pavel Stehule） \\? variables 显示 psql 的特殊变量，\\? options 显示命令行选项。\\? commands 显示元命令，这是传统输出，仍为默认。这些帮助显示也可以通过命令行选项 --help=section 获取。","title":"为 psql 的 \\? 帮助添加 variables 和 options 小节","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ee80f04"],"commit_groups":[["ee80f04"]],"commits":[],"cves":[],"db_id":"946f353172894605e4808900df87b065","html":"\u003cp\u003e在 \u003cspan\u003epsql\u003c/span\u003e 的 \u003ccode\u003e\\db+\u003c/code\u003e 中显示表空间大小（Fabrízio de Royes Mello）\u003c/p\u003e","id":"9.5.0-7c149211b019da72","identity_text":"Show tablespace size in psql's \\db+ (Fabrízio de Royes Mello)","part":"changes","patch_ids":["b68c4a2480d3d1b014223c11f8552bba"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql / 反斜线命令","section_path":["客户端应用程序","psql","反斜线命令"],"source_commits":["ee80f04"],"source_entry_id":"9.5.0/changes/131","source_hash":"3727894bb494d32ce3da1de1fd71dddcf55fed22668609e3e8433793cf262ed8","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3.3","statement_hash":"c24d30150e90e8920cea1069e21cf3b9e62d217cc3324897c44c6c32d845f84e","text":"在 psql 的 \\db+ 中显示表空间大小（Fabrízio de Royes Mello）","title":"在 psql 的 \\db+ 中显示表空间大小","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a6f3c1f"],"commit_groups":[["a6f3c1f"]],"commits":[],"cves":[],"db_id":"4bd589347d8b7dfdf7e08b90de9490ee","html":"\u003cp\u003e在 \u003cspan\u003epsql\u003c/span\u003e 的 \u003ccode\u003e\\dT+\u003c/code\u003e 中显示数据类型的拥有者（Magnus Hagander）\u003c/p\u003e","id":"9.5.0-91c5ecf55c75d4fa","identity_text":"Show data type owners in psql's \\dT+ (Magnus Hagander)","part":"changes","patch_ids":["4b62bfead600ee7ec36f889cdb9a09d2"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql / 反斜线命令","section_path":["客户端应用程序","psql","反斜线命令"],"source_commits":["a6f3c1f"],"source_entry_id":"9.5.0/changes/132","source_hash":"b664c47eee33f0cf238e0a6000575c464cc8622d7205890ffe6cd130285e2c77","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3.3","statement_hash":"f62f7ea8c10cba6c82c633dbb9557d5a9419f78f51c614dd5d1876a7681cbc39","text":"在 psql 的 \\dT+ 中显示数据类型的拥有者（Magnus Hagander）","title":"在 psql 的 \\dT+ 中显示数据类型的拥有者","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["f6f654f"],"commit_groups":[["f6f654f"]],"commits":[],"cves":[],"db_id":"d163e5302c97652cc72dbd13e42eb40e","html":"\u003cp\u003e允许 \u003cspan\u003epsql\u003c/span\u003e 的 \u003ccode\u003e\\watch\u003c/code\u003e 输出 \u003ccode\u003e\\timing\u003c/code\u003e 信息（Fujii Masao）\u003c/p\u003e\n\u003cp\u003e同时防止 \u003ccode\u003e--echo-hidden\u003c/code\u003e 回显 \u003ccode\u003e\\watch\u003c/code\u003e 查询，因为这通常是不需要的。\u003c/p\u003e","id":"9.5.0-1d316d13dcdbffb4","identity_text":"Allow psql's \\watch to output \\timing information (Fujii Masao) Also prevent --echo-hidden from echoing \\watch queries, since that is generally unwanted.","part":"changes","patch_ids":["0ca4182fbc71bc73322cdc7216e7a279"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql / 反斜线命令","section_path":["客户端应用程序","psql","反斜线命令"],"source_commits":["f6f654f"],"source_entry_id":"9.5.0/changes/133","source_hash":"5402b859ea64d4ee01c79166260f2b6ee24698b4f4b35ee379d33682bc3881eb","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3.3","statement_hash":"f67102a43b04a4a1199ea814e4cfba01ba67435f8901a958fa255dc79850a0e1","text":"允许 psql 的 \\watch 输出 \\timing 信息（Fujii Masao） 同时防止 --echo-hidden 回显 \\watch 查询，因为这通常是不需要的。","title":"允许 psql 的 \\watch 输出 \\timing 信息","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["eca2b9b"],"commit_groups":[["eca2b9b"]],"commits":[],"cves":[],"db_id":"aeb81ec27972f8c39ca760eb4a189fea","html":"\u003cp\u003e使 \u003cspan\u003epsql\u003c/span\u003e 的 \u003ccode\u003e\\sf\u003c/code\u003e 和 \u003ccode\u003e\\ef\u003c/code\u003e 命令遵循 \u003ccode\u003eECHO_HIDDEN\u003c/code\u003e（Andrew Dunstan）\u003c/p\u003e","id":"9.5.0-495cd38af8d43407","identity_text":"Make psql's \\sf and \\ef commands honor ECHO_HIDDEN (Andrew Dunstan)","part":"changes","patch_ids":["fd7971c2c2550b306a7916351a52bfb4"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql / 反斜线命令","section_path":["客户端应用程序","psql","反斜线命令"],"source_commits":["eca2b9b"],"source_entry_id":"9.5.0/changes/134","source_hash":"e3e6b4d7740c0c6d618c480d40caa5e0cc83a195c68d188a48f962c4d6c8cb33","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3.3","statement_hash":"f14659386f824a0166aaebefcfa780cb15c95c3d676e5d39e7330fa14ca11b43","text":"使 psql 的 \\sf 和 \\ef 命令遵循 ECHO_HIDDEN（Andrew Dunstan）","title":"使 psql 的 \\sf 和 \\ef 命令遵循 ECHO_HIDDEN","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["e15c4ab"],"commit_groups":[["e15c4ab"]],"commits":[],"cves":[],"db_id":"f76f41b24aae98ad6857314e575ed8c8","html":"\u003cp\u003e改进 \u003cspan\u003epsql\u003c/span\u003e 对 \u003ccode\u003e\\set\u003c/code\u003e、\u003ccode\u003e\\unset\u003c/code\u003e 和 \u003ccode\u003e:variable\u003c/code\u003e 名称的 Tab 补全（Pavel Stehule）\u003c/p\u003e","id":"9.5.0-c271e3831fda6e5f","identity_text":"Improve psql tab completion for \\set, \\unset, and :variable names (Pavel Stehule)","part":"changes","patch_ids":["5d971be3dd7e8c881abc2b6082219f6b"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql / 反斜线命令","section_path":["客户端应用程序","psql","反斜线命令"],"source_commits":["e15c4ab"],"source_entry_id":"9.5.0/changes/135","source_hash":"3b7a9cd35dfb1be8e5ebb4517fcd601df57d2233273064b87539360480d4f4f0","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3.3","statement_hash":"4e6a0259dfa820d724a5706a9d9d9397db117171a087cc23a1dba0835519ebf3","text":"改进 psql 对 \\set、\\unset 和 :variable 名称的 Tab 补全（Pavel Stehule）","title":"改进 psql 对 \\set、\\unset 和 :variable 名称的 Tab 补全","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["095d401"],"commit_groups":[["095d401"]],"commits":[],"cves":[],"db_id":"0399ca4c9cf89296878e1c35eb62d208","html":"\u003cp\u003e允许在 \u003cspan\u003epsql\u003c/span\u003e 的 \u003ccode\u003e\\c\u003c/code\u003e 命令中 Tab 补全角色名（Ian Barwick）\u003c/p\u003e","id":"9.5.0-0922b1adfb12555f","identity_text":"Allow tab completion of role names in psql \\c commands (Ian Barwick)","part":"changes","patch_ids":["a879a7f9fcc586876b8be8bdc0212982"],"related_changes":[],"relations":[],"section":"客户端应用程序 / psql / 反斜线命令","section_path":["客户端应用程序","psql","反斜线命令"],"source_commits":["095d401"],"source_entry_id":"9.5.0/changes/136","source_hash":"88f08a6a9fa7e3fa110ffe9a2bd54ca3008eba381398969ce879bd3252c4a4a8","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.3.3","statement_hash":"7382bfe2137bf93c85e4f6621669f797e444a99b2678d535797438eeab4ab621","text":"允许在 psql 的 \\c 命令中 Tab 补全角色名（Ian Barwick）","title":"允许在 psql 的 \\c 命令中 Tab 补全角色名","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["be1cc8f"],"commit_groups":[["be1cc8f"]],"commits":[],"cves":[],"db_id":"db1c821323b123564312887428800b46","html":"\u003cp\u003e允许 \u003cspan\u003epg_dump\u003c/span\u003e 使用 \u003ccode\u003e--snapshot\u003c/code\u003e 共享另一个会话取得的快照（Simon Riggs、Michael Paquier）\u003c/p\u003e\n\u003cp\u003e远程快照必须是由 \u003ccode\u003epg_export_snapshot()\u003c/code\u003e 或逻辑复制槽创建所导出的。这可用于在多个 \u003cspan\u003epg_dump\u003c/span\u003e 进程之间共享一致的快照。\u003c/p\u003e","id":"9.5.0-6e0fa7e7f12c8211","identity_text":"Allow pg_dump to share a snapshot taken by another session using --snapshot (Simon Riggs, Michael Paquier) The remote snapshot must have been exported by pg_export_snapshot() or logical replication slot creation. This can be used to share a consistent snapshot across multiple pg_dump processes.","part":"changes","patch_ids":["7f4581cbf2a858e8efc83e87b7353dd9"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pg_dump","section_path":["客户端应用程序","pg_dump"],"source_commits":["be1cc8f"],"source_entry_id":"9.5.0/changes/137","source_hash":"1145c50e7574221efdd93f7b8947b15341992e278f350dd6531323387b3b3dad","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.4","statement_hash":"867c2acb15809357eaf02716fe0e8947765c8d6e7561e6e62f61b3f2509620e6","text":"允许 pg_dump 使用 --snapshot 共享另一个会话取得的快照（Simon Riggs、Michael Paquier） 远程快照必须是由 pg_export_snapshot() 或逻辑复制槽创建所导出的。这可用于在多个 pg_dump 进程之间共享一致的快照。","title":"允许 pg_dump 使用 --snapshot 共享另一个会话取得的快照","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5f5e68b"],"commit_groups":[["5f5e68b"]],"commits":[],"cves":[],"db_id":"f383c7e9ad9ec10560ab185e01c34b8d","html":"\u003cp\u003e支持 tar 归档格式中超过 8GB 的表（Tom Lane）\u003c/p\u003e\n\u003cp\u003ePOSIX 的 tar 格式标准不允许 tar 归档的元素超过 8GB，但大多数现代 tar 实现支持一个允许超过该限制的扩展。必要时使用扩展格式，而不是失败。\u003c/p\u003e","id":"9.5.0-1dac4a69e35ccd0b","identity_text":"Support table sizes exceeding 8GB in tar archive format (Tom Lane) The POSIX standard for tar format does not allow elements of a tar archive to exceed 8GB, but most modern implementations of tar support an extension that does allow it. Use the extension format when necessary, rather than failing.","part":"changes","patch_ids":["649b94ec9206b7a616abf2708b3aad3f"],"related_changes":[{"db_id":"4e3f89c03416acc7e4b32ecb6ddaa0a7","evidence":{"patch_ids":["649b94ec9206b7a616abf2708b3aad3f"],"same_day":false},"kind":"related","label":"9.4.6","source_url":"/docs/release/9.4.6/#id-1.11.6.25.5","title":"在 pg_dump 和 pg_basebackup 中，采用 GNU 约定来处理超过 8GB 的 tar 归档成员","url":"/docs/compare/?release=9.4.6#9.4.6-1c89c97d21ad6317","version":"9.4.6"}],"relations":[{"evidence":{"patch_ids":["649b94ec9206b7a616abf2708b3aad3f"],"same_day":false},"rule":2,"target":"4e3f89c03416acc7e4b32ecb6ddaa0a7","type":"related"}],"section":"客户端应用程序 / pg_dump","section_path":["客户端应用程序","pg_dump"],"source_commits":["5f5e68b"],"source_entry_id":"9.5.0/changes/138","source_hash":"fedf067b57cc4c1642f5c9a1a5ae80fcfe4e4b6039d8d9696a604e19c0270030","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.4","statement_hash":"7bcc5e9850992053c6813a8419d6a8ee75bfae20b01297daf286556903a2b59b","text":"支持 tar 归档格式中超过 8GB 的表（Tom Lane） POSIX 的 tar 格式标准不允许 tar 归档的元素超过 8GB，但大多数现代 tar 实现支持一个允许超过该限制的扩展。必要时使用扩展格式，而不是失败。","title":"支持 tar 归档格式中超过 8GB 的表","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["7700597"],"commit_groups":[["7700597"]],"commits":[],"cves":[],"db_id":"b42eb63b7efd99f612ba4acbc141110a","html":"\u003cp\u003e使 \u003cspan\u003epg_dump\u003c/span\u003e 始终打印服务器和 \u003cspan\u003epg_dump\u003c/span\u003e 的版本（Jing Wang）\u003c/p\u003e\n\u003cp\u003e以前，版本信息只在 \u003ccode\u003e--verbose\u003c/code\u003e 模式下打印。\u003c/p\u003e","id":"9.5.0-afc7f9b1fda0c880","identity_text":"Make pg_dump always print the server and pg_dump versions (Jing Wang) Previously, version information was only printed in --verbose mode.","part":"changes","patch_ids":["7b28dd2cc51476eed612863fbba07408"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pg_dump","section_path":["客户端应用程序","pg_dump"],"source_commits":["7700597"],"source_entry_id":"9.5.0/changes/139","source_hash":"46de44397b168cb4efef1653e3dd1c3bb7cfc2241ad7ca01a8390de40c397d03","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.4","statement_hash":"ba96735b80f83699e9d66af2b4e1bff1e67e6f9345255a934b19c778ca721f0a","text":"使 pg_dump 始终打印服务器和 pg_dump 的版本（Jing Wang） 以前，版本信息只在 --verbose 模式下打印。","title":"使 pg_dump 始终打印服务器和 pg_dump 的版本","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["232cd63"],"commit_groups":[["232cd63"]],"commits":[],"cves":[],"db_id":"7faed17dbe14a585332634f771f9eded","html":"\u003cp\u003e从 \u003cspan\u003epg_dump\u003c/span\u003e、\u003cspan\u003epg_dumpall\u003c/span\u003e 和 \u003cspan\u003epg_restore\u003c/span\u003e 中移除早已被忽略的 \u003ccode\u003e-i\u003c/code\u003e/\u003ccode\u003e--ignore-version\u003c/code\u003e 选项（Fujii Masao）\u003c/p\u003e","id":"9.5.0-494fa7d89689d666","identity_text":"Remove the long-ignored -i/--ignore-version option from pg_dump, pg_dumpall, and pg_restore (Fujii Masao)","part":"changes","patch_ids":["ab65ab6166bdd002ff3e61e1af6a1240"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pg_dump","section_path":["客户端应用程序","pg_dump"],"source_commits":["232cd63"],"source_entry_id":"9.5.0/changes/140","source_hash":"a5970d163527aafb179608569b8a55aa360c4f7f7abedbcc9d4b766abf5f7050","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.4","statement_hash":"aaf58785a7f06849cfd3504357aef2e8fc897efab496aae78b6e31edaaa24871","text":"从 pg_dump、pg_dumpall 和 pg_restore 中移除早已被忽略的 -i/--ignore-version 选项（Fujii Masao）","title":"从 pg_dump、pg_dumpall 和 pg_restore 中移除早已被忽略的 -i/--ignore-version 选项","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ebe30ad"],"commit_groups":[["ebe30ad"]],"commits":[],"cves":[],"db_id":"2f164588e4129142d7ee94a7a1e8887e","html":"\u003cp\u003e支持多个 \u003cspan\u003epg_ctl\u003c/span\u003e 的 \u003ccode\u003e-o\u003c/code\u003e 选项，将其值串联（Bruce Momjian）\u003c/p\u003e","id":"9.5.0-98839d8eef8b6c43","identity_text":"Support multiple pg_ctl -o options, concatenating their values (Bruce Momjian)","part":"changes","patch_ids":["7cc079a4b22bf6d5cf8b16c097e57816"],"related_changes":[{"db_id":"bb041494ca6868ac0f2df4f1691f619a","evidence":{"ambiguous_patch_ids":["7cc079a4b22bf6d5cf8b16c097e57816"],"patch_ids":["7cc079a4b22bf6d5cf8b16c097e57816"],"same_day":true},"kind":"related","label":"9.5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.6","title":"支持多个 pg_upgrade 的 -o/-O 选项，将其值串联","url":"/docs/compare/?release=9.5.0#9.5.0-469e0ee539e43150","version":"9.5.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["7cc079a4b22bf6d5cf8b16c097e57816"],"patch_ids":["7cc079a4b22bf6d5cf8b16c097e57816"],"same_day":true},"rule":2,"target":"bb041494ca6868ac0f2df4f1691f619a","type":"related"}],"section":"客户端应用程序 / pg_ctl","section_path":["客户端应用程序","pg_ctl"],"source_commits":["ebe30ad"],"source_entry_id":"9.5.0/changes/141","source_hash":"afc93df85b1f82c1ce727401fef27b6c48f21046a89feea37fef1a3d24077eb4","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.5","statement_hash":"d375d37a25d48f7e8941e8d69b9303b063ea6309e65878e11bfa6f80f88f2431","text":"支持多个 pg_ctl 的 -o 选项，将其值串联（Bruce Momjian）","title":"支持多个 pg_ctl 的 -o 选项，将其值串联","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["c0e4520"],"commit_groups":[["c0e4520"]],"commits":[],"cves":[],"db_id":"0308e280e6cbcaf65963b075f25aa1b8","html":"\u003cp\u003e允许在 \u003cspan\u003eMS Windows\u003c/span\u003e 上控制 \u003cspan\u003epg_ctl\u003c/span\u003e 的事件源日志（MauMau）\u003c/p\u003e\n\u003cp\u003e这只控制 \u003cspan\u003epg_ctl\u003c/span\u003e，不控制服务器；服务器在 \u003ccode\u003epostgresql.conf\u003c/code\u003e 中有单独的设置。\u003c/p\u003e","id":"9.5.0-e367961e657e285e","identity_text":"Allow control of pg_ctl's event source logging on MS Windows (MauMau) This only controls pg_ctl, not the server, which has separate settings in postgresql.conf.","part":"changes","patch_ids":["92aa1164068d2be155b0f610574e4e06"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pg_ctl","section_path":["客户端应用程序","pg_ctl"],"source_commits":["c0e4520"],"source_entry_id":"9.5.0/changes/142","source_hash":"9cd4a7e735082aa47a8bd4ded5dbb6641a42c71fec94dc5aa12049885c25d1bc","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.5","statement_hash":"df959fe59509025f71a2c537a45c449a24171363b3d429d72ed8b4a86d51c9fb","text":"允许在 MS Windows 上控制 pg_ctl 的事件源日志（MauMau） 这只控制 pg_ctl，不控制服务器；服务器在 postgresql.conf 中有单独的设置。","title":"允许在 MS Windows 上控制 pg_ctl 的事件源日志","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["bdb42ba"],"commit_groups":[["bdb42ba"]],"commits":[],"cves":[],"db_id":"eecc5aaa6765bfe268eb07d9fa8f853b","html":"\u003cp\u003e如果服务器的监听地址设置为通配值（IPv4 的 \u003ccode\u003e0.0.0.0\u003c/code\u003e 或 IPv6 的 \u003ccode\u003e::\u003c/code\u003e），则通过回环地址连接，而不是尝试按字面使用通配地址（Kondo Yuta）\u003c/p\u003e\n\u003cp\u003e此修复主要影响 Windows，因为在其他平台上 \u003cspan\u003epg_ctl\u003c/span\u003e 会优先使用 Unix 域套接字。\u003c/p\u003e","id":"9.5.0-044c8e1d6461626f","identity_text":"If the server's listen address is set to a wildcard value (0.0.0.0 in IPv4 or :: in IPv6), connect via the loopback address rather than trying to use the wildcard address literally (Kondo Yuta) This fix primarily affects Windows, since on other platforms pg_ctl will prefer to use a Unix-domain socket.","part":"changes","patch_ids":["d4f9858b4d92fd34521494ae8ded6e57"],"related_changes":[{"db_id":"31b49007fe1571a1ebbd1c79f0557c22","evidence":{"patch_ids":["d4f9858b4d92fd34521494ae8ded6e57"],"same_day":false},"kind":"related","label":"9.4.6","source_url":"/docs/release/9.4.6/#id-1.11.6.25.5","title":"在 pg_ctl start -w 中，不再尝试使用通配监听地址连接 postmaster","url":"/docs/compare/?release=9.4.6#9.4.6-fedb61d027839e17","version":"9.4.6"}],"relations":[{"evidence":{"patch_ids":["d4f9858b4d92fd34521494ae8ded6e57"],"same_day":false},"rule":2,"target":"31b49007fe1571a1ebbd1c79f0557c22","type":"related"}],"section":"客户端应用程序 / pg_ctl","section_path":["客户端应用程序","pg_ctl"],"source_commits":["bdb42ba"],"source_entry_id":"9.5.0/changes/143","source_hash":"1ab4415900bdbf7890cf039278dfdba05035450208c910358e0eb7a4f31d6a7d","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.5","statement_hash":"2f1b257fd5d636a1c3a2eef1e1a2df9fe1fdd0cd912c667f42d6646ae5de99dc","text":"如果服务器的监听地址设置为通配值（IPv4 的 0.0.0.0 或 IPv6 的 ::），则通过回环地址连接，而不是尝试按字面使用通配地址（Kondo Yuta） 此修复主要影响 Windows，因为在其他平台上 pg_ctl 会优先使用 Unix 域套接字。","title":"如果服务器的监听地址设置为通配值（IPv4 的 0.0.0.0 或 IPv6 的 ::），则通过回环地址连接，而不是尝试按字面使用通配地址","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["9fa8b0e"],"commit_groups":[["9fa8b0e"]],"commits":[],"cves":[],"db_id":"50fb83702e984de6a0284979be191f49","html":"\u003cp\u003e把 \u003cspan\u003epg_upgrade\u003c/span\u003e 从 \u003ccode\u003econtrib\u003c/code\u003e 移到 \u003ccode\u003esrc/bin\u003c/code\u003e（Peter Eisentraut）\u003c/p\u003e\n\u003cp\u003e与此变更相关，先前由 \u003cspan\u003epg_upgrade_support\u003c/span\u003e 模块提供的功能已被移入核心服务器。\u003c/p\u003e","id":"9.5.0-9834957e39a9e9dc","identity_text":"Move pg_upgrade from contrib to src/bin (Peter Eisentraut) In connection with this change, the functionality previously provided by the pg_upgrade_support module has been moved into the core server.","part":"changes","patch_ids":["3b3645bc1ff4dffa739eda7b03145fc6"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pg_upgrade","section_path":["客户端应用程序","pg_upgrade"],"source_commits":["9fa8b0e"],"source_entry_id":"9.5.0/changes/144","source_hash":"cf2adbde9e81dbbf0b34f4c80b585fa1c7c78b0d38687f96ddc6c6f4f8349842","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.6","statement_hash":"6d909d584d55365fd19988a3b40cf442d0937d77a54a9e19ea60596b8279ed70","text":"把 pg_upgrade 从 contrib 移到 src/bin（Peter Eisentraut） 与此变更相关，先前由 pg_upgrade_support 模块提供的功能已被移入核心服务器。","title":"把 pg_upgrade 从 contrib 移到 src/bin","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ebe30ad"],"commit_groups":[["ebe30ad"]],"commits":[],"cves":[],"db_id":"bb041494ca6868ac0f2df4f1691f619a","html":"\u003cp\u003e支持多个 \u003cspan\u003epg_upgrade\u003c/span\u003e 的 \u003ccode\u003e-o\u003c/code\u003e/\u003ccode\u003e-O\u003c/code\u003e 选项，将其值串联（Bruce Momjian）\u003c/p\u003e","id":"9.5.0-469e0ee539e43150","identity_text":"Support multiple pg_upgrade -o/-O options, concatenating their values (Bruce Momjian)","part":"changes","patch_ids":["7cc079a4b22bf6d5cf8b16c097e57816"],"related_changes":[{"db_id":"2f164588e4129142d7ee94a7a1e8887e","evidence":{"ambiguous_patch_ids":["7cc079a4b22bf6d5cf8b16c097e57816"],"patch_ids":["7cc079a4b22bf6d5cf8b16c097e57816"],"same_day":true},"kind":"related","label":"9.5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.5","title":"支持多个 pg_ctl 的 -o 选项，将其值串联","url":"/docs/compare/?release=9.5.0#9.5.0-98839d8eef8b6c43","version":"9.5.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["7cc079a4b22bf6d5cf8b16c097e57816"],"patch_ids":["7cc079a4b22bf6d5cf8b16c097e57816"],"same_day":true},"rule":2,"target":"2f164588e4129142d7ee94a7a1e8887e","type":"related"}],"section":"客户端应用程序 / pg_upgrade","section_path":["客户端应用程序","pg_upgrade"],"source_commits":["ebe30ad"],"source_entry_id":"9.5.0/changes/145","source_hash":"49c98141a6a8b49059477c45a840e6669aa9f4987fac34fc1a43df679c436f4e","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.6","statement_hash":"d01a645b63e58c5e4c774ae3f8cd230072545cff10fea0c848dd0b432c73436a","text":"支持多个 pg_upgrade 的 -o/-O 选项，将其值串联（Bruce Momjian）","title":"支持多个 pg_upgrade 的 -o/-O 选项，将其值串联","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["33755e8"],"commit_groups":[["33755e8"]],"commits":[],"cves":[],"db_id":"ecef73e1291c6ff36b7a7558e558e6a5","html":"\u003cp\u003e改进 \u003cspan\u003epg_upgrade\u003c/span\u003e 中的数据库排序规则比较（Heikki Linnakangas）\u003c/p\u003e","id":"9.5.0-d990e9a21db35539","identity_text":"Improve database collation comparisons in pg_upgrade (Heikki Linnakangas)","part":"changes","patch_ids":["ebb967a8bf89a93635538476fcb902bf"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pg_upgrade","section_path":["客户端应用程序","pg_upgrade"],"source_commits":["33755e8"],"source_entry_id":"9.5.0/changes/146","source_hash":"d22265138092ad89a24fe71fb5509870a1b8269e9efe8c370fe3642dd28393c6","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.6","statement_hash":"d8c344c7cc1316d46e22f32def9697ed977f6b5ea360ea1437e0beb10610f2bd","text":"改进 pg_upgrade 中的数据库排序规则比较（Heikki Linnakangas）","title":"改进 pg_upgrade 中的数据库排序规则比较","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["2209b39"],"commit_groups":[["2209b39"]],"commits":[],"cves":[],"db_id":"b143b90f314fd5e281177bdf527941be","html":"\u003cp\u003e移除从 8.3 集群升级的支持（Bruce Momjian）\u003c/p\u003e","id":"9.5.0-4536a56e8d60b5fd","identity_text":"Remove support for upgrading from 8.3 clusters (Bruce Momjian)","part":"changes","patch_ids":["241ab73404aeeba44ecd153a85dccfd4"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pg_upgrade","section_path":["客户端应用程序","pg_upgrade"],"source_commits":["2209b39"],"source_entry_id":"9.5.0/changes/147","source_hash":"fe1cd22d451851321ce4b10707b27a6938ddd48e84417b1d5b6e03ceedc94489","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.6","statement_hash":"4abfcf2f6a20a2696e2e1451692bc1823623d41c2f4cdfb78fe8f6121353dce3","text":"移除从 8.3 集群升级的支持（Bruce Momjian）","title":"移除从 8.3 集群升级的支持","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["81134af"],"commit_groups":[["81134af"]],"commits":[],"cves":[],"db_id":"6932adddd39c8d2839f00d9a490f8319","html":"\u003cp\u003e把 pgbench 从 \u003ccode\u003econtrib\u003c/code\u003e 移到 \u003ccode\u003esrc/bin\u003c/code\u003e（Peter Eisentraut）\u003c/p\u003e","id":"9.5.0-a2a677906aa6a859","identity_text":"Move pgbench from contrib to src/bin (Peter Eisentraut)","part":"changes","patch_ids":["62cd1101934fd7b2fca22b99a75a3276"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pgbench","section_path":["客户端应用程序","pgbench"],"source_commits":["81134af"],"source_entry_id":"9.5.0/changes/148","source_hash":"f8e08510e6e6e7dd6ae8db00f11cbbb5cd2583ab96d5239dc31990e7463dd2fd","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.7","statement_hash":"cc9647d9ffa3493c7f26ab6883cbd905f025bc3ef90f2fd6b2789c6eccc18856","text":"把 pgbench 从 contrib 移到 src/bin（Peter Eisentraut）","title":"把 pgbench 从 contrib 移到 src/bin","variants":[],"version":"9.5.0"},{"also_in":[],"category":"bugfix","category_label":"Bug fixes","commit_aliases":["3c4c5ac"],"commit_groups":[["3c4c5ac"]],"commits":[],"cves":[],"db_id":"735b59374271e56481933ef1894e65a9","html":"\u003cp\u003e修复\u003cspan\u003e“\u003cspan\u003eexcluding connections establishing\u003c/span\u003e”\u003c/span\u003e（排除连接建立）的 TPS 数值的计算（Tatsuo Ishii、Fabien Coelho）\u003c/p\u003e\n\u003cp\u003e每当 pgbench 线程数少于客户端连接数时，连接建立的开销就会被算错。虽然这显然是个 bug，但我们不会把它回移植到 9.5 之前的分支，因为这会使 TPS 数值无法与以前的结果比较。\u003c/p\u003e","id":"9.5.0-8fbdfa90bd2634d0","identity_text":"Fix calculation of TPS number excluding connections establishing (Tatsuo Ishii, Fabien Coelho) The overhead for connection establishment was miscalculated whenever the number of pgbench threads was less than the number of client connections. Although this is clearly a bug, we won't back-patch it into pre-9.5 branches since it makes TPS numbers not comparable to previous results.","part":"changes","patch_ids":["a0670cb627ae711ac07cb6d52ec17073"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pgbench","section_path":["客户端应用程序","pgbench"],"source_commits":["3c4c5ac"],"source_entry_id":"9.5.0/changes/149","source_hash":"53c1d3b99cb32245802a59c448d4194a3fa76420912b2ec6a1785447b2021b90","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.7","statement_hash":"8994714d6ba7894d2982b66d085f1f07117200e87a2f5fa71a9a028140706a17","text":"修复“excluding connections establishing”（排除连接建立）的 TPS 数值的计算（Tatsuo Ishii、Fabien Coelho） 每当 pgbench 线程数少于客户端连接数时，连接建立的开销就会被算错。虽然这显然是个 bug，但我们不会把它回移植到 9.5 之前的分支，因为这会使 TPS 数值无法与以前的结果比较。","title":"修复“excluding connections establishing”（排除连接建立）的 TPS 数值的计算","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["98aed6c"],"commit_groups":[["98aed6c"]],"commits":[],"cves":[],"db_id":"1839cf46d91316f83f3aad71851405f5","html":"\u003cp\u003e允许统计超过指定时间的 pgbench 事务（Fabien Coelho）\u003c/p\u003e\n\u003cp\u003e这由新的 \u003ccode\u003e--latency-limit\u003c/code\u003e 选项控制。\u003c/p\u003e","id":"9.5.0-5e06fefc7c5addf7","identity_text":"Allow counting of pgbench transactions that take over a specified amount of time (Fabien Coelho) This is controlled by a new --latency-limit option.","part":"changes","patch_ids":["efc3d7969f16c986c9d5652be343a79d"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pgbench","section_path":["客户端应用程序","pgbench"],"source_commits":["98aed6c"],"source_entry_id":"9.5.0/changes/150","source_hash":"dac188ff91c68b423b4cc274163b2ba901b58def5a38436ab56d348a45908045","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.7","statement_hash":"5f865b7ad45a78c97e381679f16d9d233497b607b4b99e86675cdf0019e9c1d4","text":"允许统计超过指定时间的 pgbench 事务（Fabien Coelho） 这由新的 --latency-limit 选项控制。","title":"允许统计超过指定时间的 pgbench 事务","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["ed802e7"],"commit_groups":[["ed802e7"]],"commits":[],"cves":[],"db_id":"96f24a3b22128ad491467793d3396d84","html":"\u003cp\u003e允许 pgbench 使用 \u003ccode\u003e\\setrandom\u003c/code\u003e 生成高斯/指数分布（Kondo Mitsumasa、Fabien Coelho）\u003c/p\u003e","id":"9.5.0-2ed625d90766ec9a","identity_text":"Allow pgbench to generate Gaussian/exponential distributions using \\setrandom (Kondo Mitsumasa, Fabien Coelho)","part":"changes","patch_ids":["4b9693278d638b69c4cfe2c094e4425f"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pgbench","section_path":["客户端应用程序","pgbench"],"source_commits":["ed802e7"],"source_entry_id":"9.5.0/changes/151","source_hash":"111a79e213f14eb948f394717a27599f93f5109ee0ce8be2cd2dc517ca430c40","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.7","statement_hash":"7343ef69db0fa1428dab3d57a7437df0920789a8e41d6c17e68f4f323d6d81b4","text":"允许 pgbench 使用 \\setrandom 生成高斯/指数分布（Kondo Mitsumasa、Fabien Coelho）","title":"允许 pgbench 使用 \\setrandom 生成高斯/指数分布","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["878fdcb"],"commit_groups":[["878fdcb"]],"commits":[],"cves":[],"db_id":"c3616fedac18bc81e626663b7bc056ad","html":"\u003cp\u003e允许 \u003cspan\u003epgbench\u003c/span\u003e 的 \u003ccode\u003e\\set\u003c/code\u003e 命令处理包含多个操作符的算术表达式，并向其支持的操作符集合添加 \u003ccode\u003e%\u003c/code\u003e（取模）（Robert Haas、Fabien Coelho）\u003c/p\u003e","id":"9.5.0-b451643873cb3330","identity_text":"Allow pgbench's \\set command to handle arithmetic expressions containing more than one operator, and add % (modulo) to the set of operators it supports (Robert Haas, Fabien Coelho)","part":"changes","patch_ids":["99251ad1f84ee8d48087fa74bfb6dd3e"],"related_changes":[],"relations":[],"section":"客户端应用程序 / pgbench","section_path":["客户端应用程序","pgbench"],"source_commits":["878fdcb"],"source_entry_id":"9.5.0/changes/152","source_hash":"079840a748ad039379f3a7f0ee2d52af79af34b357dbb722abe4892198d901c9","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.11.7","statement_hash":"b4397d875744e76d01ca8fe101fd1b0ab31df7e341aca1d92fa78f22814a2359","text":"允许 pgbench 的 \\set 命令处理包含多个操作符的算术表达式，并向其支持的操作符集合添加 %（取模）（Robert Haas、Fabien Coelho）","title":"允许 pgbench 的 \\set 命令处理包含多个操作符的算术表达式，并向其支持的操作符集合添加 %（取模）","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["2c03216"],"commit_groups":[["2c03216"]],"commits":[],"cves":[],"db_id":"20aee3deae5ffbeb0a7b89e9c15790fe","html":"\u003cp\u003e简化 \u003ca href=\"/docs/9.5/wal.html\" title=\"第 29 章 可靠性与预写式日志\"\u003e\u003cacronym\u003eWAL\u003c/acronym\u003e\u003c/a\u003e 记录格式（Heikki Linnakangas）\u003c/p\u003e\n\u003cp\u003e这使外部工具更容易跟踪哪些块被修改。\u003c/p\u003e","id":"9.5.0-07b58c86ae80f45c","identity_text":"Simplify WAL record format (Heikki Linnakangas) This allows external tools to more easily track what blocks are modified.","part":"changes","patch_ids":["b807de3ad2ede9ecad666244a1ea6df6"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["2c03216"],"source_entry_id":"9.5.0/changes/153","source_hash":"08c9f117b32f390548b431a7c7fafedb25589f063cc69d4ebafe5c9eceb3b182","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"e86e8ca5f2e15fcd448abd71b76d9ebf430884f44d9bd130918155adadc27982","text":"简化 WAL 记录格式（Heikki Linnakangas） 这使外部工具更容易跟踪哪些块被修改。","title":"简化 WAL 记录格式","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["4f1b890"],"commit_groups":[["4f1b890"]],"commits":[],"cves":[],"db_id":"d54f1416a7f49bce3ba242a28820d51c","html":"\u003cp\u003e改进事务提交和中止 WAL 记录的表示（Andres Freund）\u003c/p\u003e","id":"9.5.0-9e9455bf7d870291","identity_text":"Improve the representation of transaction commit and abort WAL records (Andres Freund)","part":"changes","patch_ids":["59987e1c530f4f479c95e457feb98627"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["4f1b890"],"source_entry_id":"9.5.0/changes/154","source_hash":"991c6ac214660cafd8236b60edc3493b62b931e4f19130469bb3ef6707c78023","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"58cc05b37d9e05ed7499e302f1ff4aa1b3c94bdda6fbedb1db2dc410027f201f","text":"改进事务提交和中止 WAL 记录的表示（Andres Freund）","title":"改进事务提交和中止 WAL 记录的表示","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["b64d92f"],"commit_groups":[["b64d92f"]],"commits":[],"cves":[],"db_id":"98a985d6f0321fc27223053950f9b5f5","html":"\u003cp\u003e添加原子内存操作 \u003cacronym\u003eAPI\u003c/acronym\u003e（Andres Freund）\u003c/p\u003e","id":"9.5.0-c103934fc2a15613","identity_text":"Add atomic memory operations API (Andres Freund)","part":"changes","patch_ids":["a348b29745d46b12466681c6331f1654"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["b64d92f"],"source_entry_id":"9.5.0/changes/155","source_hash":"487e47abfb09a520df4017d9c7e50a1db6555bccdabcd34a953cced29edd7c5f","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"fb7c1229d52a13a0862f6b7b75a3f0e98c27f097938aba410720adf1ee3fd83f","text":"添加原子内存操作 API（Andres Freund）","title":"添加原子内存操作 API","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0b03e59","4477704","a34fa8e","c2ea228"],"commit_groups":[["0b03e59"],["4477704"],["a34fa8e"],["c2ea228"]],"commits":[],"cves":[],"db_id":"d348901b6726c7ea62cbac3e421bd228","html":"\u003cp\u003e允许自定义路径和扫描方法（KaiGai Kohei、Tom Lane）\u003c/p\u003e\n\u003cp\u003e这允许扩展对优化器和执行器进行更大的控制。\u003c/p\u003e","id":"9.5.0-636a7af9e737bb3a","identity_text":"Allow custom path and scan methods (KaiGai Kohei, Tom Lane) This allows extensions greater control over the optimizer and executor.","part":"changes","patch_ids":["2de3bb56fe387c57e4d5cc2307acae1b","55d1a71f09ddcd57dfb2519a59a3dfa8","a0231ff31a5ad87db539e33cddde9a43","d91d36d2723a96dde2a2d1bbef84574d"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["0b03e59","4477704","a34fa8e","c2ea228"],"source_entry_id":"9.5.0/changes/156","source_hash":"4946a74501b506de935d5484d6cb066afdf1e9e1ad0eb6a33dd1cd5de7e3c3dd","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"a8e7ead7c967f524e6bc399d1cd96b84614b40706b952b0a3e5cdfc73fe6b56b","text":"允许自定义路径和扫描方法（KaiGai Kohei、Tom Lane） 这允许扩展对优化器和执行器进行更大的控制。","title":"允许自定义路径和扫描方法","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["afb9249"],"commit_groups":[["afb9249"]],"commits":[],"cves":[],"db_id":"5fcd6867ef90186b21fd2fdbf2d112eb","html":"\u003cp\u003e允许外部数据包装器执行过滤后锁定（Etsuro Fujita）\u003c/p\u003e","id":"9.5.0-6f8168aba914f305","identity_text":"Allow foreign data wrappers to do post-filter locking (Etsuro Fujita)","part":"changes","patch_ids":["ef7a8e171d24bc7e37d99dc054a869a6"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["afb9249"],"source_entry_id":"9.5.0/changes/157","source_hash":"17537f880a3ee317cdcb96b382f987fa71ccb4eaf3b23b475ce416776ea2f98e","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"564a7e15b17f9d544772c53d491c7214a74bce0d4366a10f88e37b1ea8d996dc","text":"允许外部数据包装器执行过滤后锁定（Etsuro Fujita）","title":"允许外部数据包装器执行过滤后锁定","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["168d580","2c8f483"],"commit_groups":[["168d580"],["2c8f483"]],"commits":[],"cves":[],"db_id":"893f5feb787cf9238d07135c4c110d4c","html":"\u003cp\u003e外部表现在可以参与 \u003ccode\u003eINSERT ... ON CONFLICT DO NOTHING\u003c/code\u003e 查询（Peter Geoghegan、Heikki Linnakangas、Andres Freund）\u003c/p\u003e\n\u003cp\u003e必须修改外部数据包装器才能处理这一点。外部表不支持 \u003ccode\u003eINSERT ... ON CONFLICT DO UPDATE\u003c/code\u003e。\u003c/p\u003e","id":"9.5.0-41594b963e578f2b","identity_text":"Foreign tables can now take part in INSERT ... ON CONFLICT DO NOTHING queries (Peter Geoghegan, Heikki Linnakangas, Andres Freund) Foreign data wrappers must be modified to handle this. INSERT ... ON CONFLICT DO UPDATE is not supported on foreign tables.","part":"changes","patch_ids":["235c1f00bedfe9ad2079c2538cd874d4","3997c5d5599e56ff730198c9db0d59b0"],"related_changes":[{"db_id":"cf0d34b0bd8f94532f9733a7bb5727ac","evidence":{"ambiguous_patch_ids":["235c1f00bedfe9ad2079c2538cd874d4","3997c5d5599e56ff730198c9db0d59b0"],"patch_ids":["235c1f00bedfe9ad2079c2538cd874d4","3997c5d5599e56ff730198c9db0d59b0"],"same_day":true},"kind":"related","label":"9.5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.5","title":"允许把会产生约束冲突的 INSERT 转换为 UPDATE 或忽略","url":"/docs/compare/?release=9.5.0#9.5.0-a15215fd0155b5a7","version":"9.5.0"}],"relations":[{"evidence":{"ambiguous_patch_ids":["235c1f00bedfe9ad2079c2538cd874d4","3997c5d5599e56ff730198c9db0d59b0"],"patch_ids":["235c1f00bedfe9ad2079c2538cd874d4","3997c5d5599e56ff730198c9db0d59b0"],"same_day":true},"rule":2,"target":"cf0d34b0bd8f94532f9733a7bb5727ac","type":"related"}],"section":"源代码","section_path":["源代码"],"source_commits":["168d580","2c8f483"],"source_entry_id":"9.5.0/changes/158","source_hash":"dbdee02b883a732a6ef1907c6bdafbfc7abb4638b4749306b15ed42baad953a3","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"3aad23798516a1357f59baf3f0fca28e8442253c5a5dbf85b1dcaa6c98a27bf2","text":"外部表现在可以参与 INSERT ... ON CONFLICT DO NOTHING 查询（Peter Geoghegan、Heikki Linnakangas、Andres Freund） 必须修改外部数据包装器才能处理这一点。外部表不支持 INSERT ... ON CONFLICT DO UPDATE。","title":"外部表现在可以参与 INSERT ... ON CONFLICT DO NOTHING 查询","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["4a14f13"],"commit_groups":[["4a14f13"]],"commits":[],"cves":[],"db_id":"94640e3ed1a680744295ce70b7bcfaf9","html":"\u003cp\u003e改进 \u003ccode\u003ehash_create()\u003c/code\u003e 选择简单二进制键哈希函数的 API（Teodor Sigaev、Tom Lane）\u003c/p\u003e","id":"9.5.0-5b99b6666d01d1eb","identity_text":"Improve hash_create()'s API for selecting simple-binary-key hash functions (Teodor Sigaev, Tom Lane)","part":"changes","patch_ids":["d032ffb2c1bea4424c60998cdf533bcc"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["4a14f13"],"source_entry_id":"9.5.0/changes/159","source_hash":"eea903decfafd42a26088babc88de4ea910fd20db7e971eaa23b3c3c335906d8","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"3e4ab56cb2c25aa8a8786fa60e04a34da0700abc8e019e46b10601f9c53dbc76","text":"改进 hash_create() 选择简单二进制键哈希函数的 API（Teodor Sigaev、Tom Lane）","title":"改进 hash_create() 选择简单二进制键哈希函数的 API","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["2bd9e41","924bcf4"],"commit_groups":[["2bd9e41"],["924bcf4"]],"commits":[],"cves":[],"db_id":"d3a12b825586bf6ea96e7c816d4e605b","html":"\u003cp\u003e改进并行执行基础设施（Robert Haas、Amit Kapila、Noah Misch、Rushabh Lathia、Jeevan Chalke）\u003c/p\u003e","id":"9.5.0-54895ff16de1342a","identity_text":"Improve parallel execution infrastructure (Robert Haas, Amit Kapila, Noah Misch, Rushabh Lathia, Jeevan Chalke)","part":"changes","patch_ids":["6c351a7f0e42a37f5bf15caed7972de9","6e2c892769171c723663b209080011db"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["2bd9e41","924bcf4"],"source_entry_id":"9.5.0/changes/160","source_hash":"916dda8f6c85b27ab08fd5556f6852e92969cb52a8f971815ca310ef014a2770","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"a6bc767ee18408e04231f2c9dc98382c634e38253b6483a401e63d6e3e2e6262","text":"改进并行执行基础设施（Robert Haas、Amit Kapila、Noah Misch、Rushabh Lathia、Jeevan Chalke）","title":"改进并行执行基础设施","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["a6d488c"],"commit_groups":[["a6d488c"]],"commits":[],"cves":[],"db_id":"10293991f75a2f102ecfbed06c115698","html":"\u003cp\u003e移除 \u003cspan\u003eAlpha\u003c/span\u003e（\u003cacronym\u003eCPU\u003c/acronym\u003e）和 \u003cspan\u003eTru64\u003c/span\u003e（操作系统）移植（Andres Freund）\u003c/p\u003e","id":"9.5.0-3ba794938a7b70a3","identity_text":"Remove Alpha (CPU) and Tru64 (OS) ports (Andres Freund)","part":"changes","patch_ids":["7efeffea8ca11c724ce52c1296814f40"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["a6d488c"],"source_entry_id":"9.5.0/changes/161","source_hash":"7a367a481192ca8c3810d633d1c4154d308e836ed787da1e214a38d9fd1f7493","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"87a87aedcf326bc88cc006b463ba7a9d1a5f8fcb04598ff1e7f3fe4a53b75e58","text":"移除 Alpha（CPU）和 Tru64（操作系统）移植（Andres Freund）","title":"移除 Alpha（CPU）和 Tru64（操作系统）移植","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["4893ccd"],"commit_groups":[["4893ccd"]],"commits":[],"cves":[],"db_id":"a04e4c57c358719580af6f8ea4d461c4","html":"\u003cp\u003e移除 \u003cacronym\u003eARM\u003c/acronym\u003ev5 及更早 \u003cacronym\u003eCPU\u003c/acronym\u003e 的基于字节交换的自旋锁实现（Robert Haas）\u003c/p\u003e\n\u003cp\u003e\u003cacronym\u003eARM\u003c/acronym\u003ev5 的弱内存排序使这种锁定实现不安全。在支持原子操作的较新 gcc 实现上，自旋锁支持仍然可能。\u003c/p\u003e","id":"9.5.0-f222f972a2c28d5f","identity_text":"Remove swap-byte-based spinlock implementation for ARMv5 and earlier CPUs (Robert Haas) ARMv5's weak memory ordering made this locking implementation unsafe. Spinlock support is still possible on newer gcc implementations with atomics support.","part":"changes","patch_ids":["934ca0da6da7d95debd7665a01551a9a"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["4893ccd"],"source_entry_id":"9.5.0/changes/162","source_hash":"0b504e052b905042117b1150a22275cfe0f268a08a2aea782fc598aba1dce39c","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"532a08929b6cd54fd952ac665cc6c1ce6fa01694245a2942a7d1e978c9a38d65","text":"移除 ARMv5 及更早 CPU 的基于字节交换的自旋锁实现（Robert Haas） ARMv5 的弱内存排序使这种锁定实现不安全。在支持原子操作的较新 gcc 实现上，自旋锁支持仍然可能。","title":"移除 ARMv5 及更早 CPU 的基于字节交换的自旋锁实现","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["23a7835"],"commit_groups":[["23a7835"]],"commits":[],"cves":[],"db_id":"446961028a6677148040e9c97d785ad4","html":"\u003cp\u003e当过长的（100 字符以上）文件路径被写入 tar 文件时产生错误（Peter Eisentraut）\u003c/p\u003e\n\u003cp\u003etar 不支持这种过长的路径。\u003c/p\u003e","id":"9.5.0-49d7622baa3a29fd","identity_text":"Generate an error when excessively long (100+ character) file paths are written to tar files (Peter Eisentraut) Tar does not support such overly-long paths.","part":"changes","patch_ids":["fbf9f6cadc7ca0c5ea44c821a9e44486"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["23a7835"],"source_entry_id":"9.5.0/changes/163","source_hash":"51baf04ae034e8f5b67cd576885e71b29809c9d15642833e5271b5fd295df897","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"888a8f0aae1fa02a82e8af1d14a4fd2716b9c411f07509509b9b12e9d0c9411e","text":"当过长的（100 字符以上）文件路径被写入 tar 文件时产生错误（Peter Eisentraut） tar 不支持这种过长的路径。","title":"当过长的（100 字符以上）文件路径被写入 tar 文件时产生错误","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0b28ea7"],"commit_groups":[["0b28ea7"]],"commits":[],"cves":[],"db_id":"9f36fea2b6001f53645cf74a6c88194a","html":"\u003cp\u003e把列 \u003ca href=\"/docs/9.5/catalog-pg-seclabel.html\" title=\"49.41. pg_seclabel\"\u003e\u003ccode\u003epg_seclabel\u003c/code\u003e\u003c/a\u003e.\u003ccode\u003eprovider\u003c/code\u003e 和 \u003ca href=\"/docs/9.5/catalog-pg-shseclabel.html\" title=\"49.44. pg_shseclabel\"\u003e\u003ccode\u003epg_shseclabel\u003c/code\u003e\u003c/a\u003e.\u003ccode\u003eprovider\u003c/code\u003e 的索引操作符类改为 \u003ccode\u003etext_pattern_ops\u003c/code\u003e（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这避免了当集群中不同数据库具有不同默认排序规则时这些索引可能出现的问题。\u003c/p\u003e","id":"9.5.0-7018e0617caab619","identity_text":"Change index operator class for columns pg_seclabel.provider and pg_shseclabel.provider to be text_pattern_ops (Tom Lane) This avoids possible problems with these indexes when different databases of a cluster have different default collations.","part":"changes","patch_ids":["e8bada510b4695e67f830e69045ddb0f"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["0b28ea7"],"source_entry_id":"9.5.0/changes/164","source_hash":"0ffcd056a2c651b725996378c01eaa1fb2d4671b13c8c95bc13d948964ef1dd6","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"4f8e415ebc8ae6c4be83fb67d4c4bc73bb42f1200d452515fc4124cca7d966d5","text":"把列 pg_seclabel.provider 和 pg_shseclabel.provider 的索引操作符类改为 text_pattern_ops（Tom Lane） 这避免了当集群中不同数据库具有不同默认排序规则时这些索引可能出现的问题。","title":"把列 pg_seclabel.provider 和 pg_shseclabel.provider 的索引操作符类改为 text_pattern_ops","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["0709b7e"],"commit_groups":[["0709b7e"]],"commits":[],"cves":[],"db_id":"20b92c98c23ac0219b3a9076001cc9b8","html":"\u003cp\u003e把自旋锁原语改为兼作编译器屏障（Robert Haas）\u003c/p\u003e","id":"9.5.0-5e44ae13e7b7809f","identity_text":"Change the spinlock primitives to function as compiler barriers (Robert Haas)","part":"changes","patch_ids":["0f93d2fd768ac49ebcfbae083793ea57"],"related_changes":[],"relations":[],"section":"源代码","section_path":["源代码"],"source_commits":["0709b7e"],"source_entry_id":"9.5.0/changes/165","source_hash":"e11cbc6548d85e17656d8fa1cfcda87ec40f39a98349e054af22ef67d72a2481","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12","statement_hash":"e2edb96c4abad46fc222a148d3cb74ad2652ab702c674bd7ac6cbef651613af6","text":"把自旋锁原语改为兼作编译器屏障（Robert Haas）","title":"把自旋锁原语改为兼作编译器屏障","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["519b075","8001fe6"],"commit_groups":[["519b075"],["8001fe6"]],"commits":[],"cves":[],"db_id":"abc62621ab4cd0a71765b9b11331c21c","html":"\u003cp\u003e在 \u003cspan\u003eWindows 8\u003c/span\u003e、\u003cspan\u003eWindows Server 2012\u003c/span\u003e 及更高版本的 Windows 系统上允许更高精度的时间戳分辨率（Craig Ringer）\u003c/p\u003e","id":"9.5.0-4cb856d751d585b3","identity_text":"Allow higher-precision time stamp resolution on Windows 8, Windows Server 2012, and later Windows systems (Craig Ringer)","part":"changes","patch_ids":["75b36b9da3300a6502f3cb168d58cd6e","ea1b596bdc21d8db1e645ab1aa8eb568"],"related_changes":[],"relations":[],"section":"源代码 / MS Windows","section_path":["源代码","MS Windows"],"source_commits":["519b075","8001fe6"],"source_entry_id":"9.5.0/changes/166","source_hash":"b12966ff7333edcb93fa13febf1081abea23b96d92014449f1908fe08eed07f6","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12.3","statement_hash":"1a44f973c7bd391fd3a814a0ff27f12bcc38bd8561aff44a5278655e4821202b","text":"在 Windows 8、Windows Server 2012 及更高版本的 Windows 系统上允许更高精度的时间戳分辨率（Craig Ringer）","title":"在 Windows 8、Windows Server 2012 及更高版本的 Windows 系统上允许更高精度的时间戳分辨率","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["f9dead5"],"commit_groups":[["f9dead5"]],"commits":[],"cves":[],"db_id":"4687e683f9b6b48578f50f4e394e387b","html":"\u003cp\u003e在 \u003cspan\u003eMS Windows\u003c/span\u003e 上把共享库安装到 \u003ccode\u003ebin\u003c/code\u003e（Peter Eisentraut、Michael Paquier）\u003c/p\u003e","id":"9.5.0-72b99301f6d8571a","identity_text":"Install shared libraries to bin in MS Windows (Peter Eisentraut, Michael Paquier)","part":"changes","patch_ids":["02b80bbf102aac73fbcf168f8fe6cd20"],"related_changes":[],"relations":[],"section":"源代码 / MS Windows","section_path":["源代码","MS Windows"],"source_commits":["f9dead5"],"source_entry_id":"9.5.0/changes/167","source_hash":"df19228cba6c7594c7dc091524faa7000d6fffeb3092d132b42c29c2c3a7a3e5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12.3","statement_hash":"51a268d70fee3dd425aceb3f43aa35cf1eee6f4f940adf952b4de8124af06c4e","text":"在 MS Windows 上把共享库安装到 bin（Peter Eisentraut、Michael Paquier）","title":"在 MS Windows 上把共享库安装到 bin","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["22d0053"],"commit_groups":[["22d0053"]],"commits":[],"cves":[],"db_id":"4a886ffe5f59f50b07f01e049262e51b","html":"\u003cp\u003e在 \u003cspan\u003eMSVC\u003c/span\u003e 构建中把 \u003ccode\u003esrc/test/modules\u003c/code\u003e 与 \u003ccode\u003econtrib\u003c/code\u003e 一起安装（Michael Paquier）\u003c/p\u003e","id":"9.5.0-00b72ce94e867c5d","identity_text":"Install src/test/modules together with contrib on MSVC builds (Michael Paquier)","part":"changes","patch_ids":["ce5d3a0a98d458b4ca6c023e079c1509"],"related_changes":[],"relations":[],"section":"源代码 / MS Windows","section_path":["源代码","MS Windows"],"source_commits":["22d0053"],"source_entry_id":"9.5.0/changes/168","source_hash":"e6cd5fd41f821445271ba058a19ea9c03d600f35b38a62c399f774aaecabb939","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12.3","statement_hash":"efc1880d8dfc2f52f20b6c093e33072229c050c091d706e6f61a3317a75724a5","text":"在 MSVC 构建中把 src/test/modules 与 contrib 一起安装（Michael Paquier）","title":"在 MSVC 构建中把 src/test/modules 与 contrib 一起安装","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["8d9a0e8"],"commit_groups":[["8d9a0e8"]],"commits":[],"cves":[],"db_id":"f2db9740122366859755d6085a60e158","html":"\u003cp\u003e允许 \u003cspan\u003eMSVC\u003c/span\u003e 构建遵循 \u003ca href=\"/docs/9.5/install-procedure.html\" title=\"15.4. 安装过程\"\u003econfigure\u003c/a\u003e 的 \u003ccode\u003e--with-extra-version\u003c/code\u003e 选项（Michael Paquier）\u003c/p\u003e","id":"9.5.0-de632650630e6c70","identity_text":"Allow configure's --with-extra-version option to be honored by the MSVC build (Michael Paquier)","part":"changes","patch_ids":["cf8886a3b911473a4029cdfda4d0bc53"],"related_changes":[],"relations":[],"section":"源代码 / MS Windows","section_path":["源代码","MS Windows"],"source_commits":["8d9a0e8"],"source_entry_id":"9.5.0/changes/169","source_hash":"e23eb61ba0293d944916b9bf8925f9354b20fdb879cbf25450800d94429903a5","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12.3","statement_hash":"87d02482f70482bf2a0c0c8a6484dc47fc2b760a78eaeeb677fcbe145efa3461","text":"允许 MSVC 构建遵循 configure 的 --with-extra-version 选项（Michael Paquier）","title":"允许 MSVC 构建遵循 configure 的 --with-extra-version 选项","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["91f03ba"],"commit_groups":[["91f03ba"]],"commits":[],"cves":[],"db_id":"a3abd1041008cf6a0c5f0a9031e1e392","html":"\u003cp\u003e把 \u003ccode\u003ePGFILEDESC\u003c/code\u003e 传入 \u003cspan\u003eMSVC\u003c/span\u003e contrib 构建（Michael Paquier）\u003c/p\u003e","id":"9.5.0-5f4789a243b633e2","identity_text":"Pass PGFILEDESC into MSVC contrib builds (Michael Paquier)","part":"changes","patch_ids":["620cde138f8dc6a267a537c50cb39554"],"related_changes":[],"relations":[],"section":"源代码 / MS Windows","section_path":["源代码","MS Windows"],"source_commits":["91f03ba"],"source_entry_id":"9.5.0/changes/170","source_hash":"2ab4c3fe005441f79f630e8b8667eb5827dee8e7ac85fbb4670d731c743b9268","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12.3","statement_hash":"ca62fbaba48b2014af5f65bd75ae376c785547060795850f63bceba491017905","text":"把 PGFILEDESC 传入 MSVC contrib 构建（Michael Paquier）","title":"把 PGFILEDESC 传入 MSVC contrib 构建","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["c4a448e"],"commit_groups":[["c4a448e"]],"commits":[],"cves":[],"db_id":"5997aa668f6caffc9eb3405886f61d7b","html":"\u003cp\u003e为所有 \u003cspan\u003eMSVC\u003c/span\u003e 构建的二进制文件添加图标，并为所有 \u003cspan\u003eMS Windows\u003c/span\u003e 二进制文件添加版本信息（Noah Misch）\u003c/p\u003e\n\u003cp\u003eMinGW 此前已有此类图标。\u003c/p\u003e","id":"9.5.0-4a9e6736f8d99c8f","identity_text":"Add icons to all MSVC-built binaries and version information to all MS Windows binaries (Noah Misch) MinGW already had such icons.","part":"changes","patch_ids":["a7914ecee62ea56098f8a66f7195e53b"],"related_changes":[],"relations":[],"section":"源代码 / MS Windows","section_path":["源代码","MS Windows"],"source_commits":["c4a448e"],"source_entry_id":"9.5.0/changes/171","source_hash":"b2fa71ebdc76b2e3e4797938cc16b75191d4ebfb6eb2215ff720e760355e48c6","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12.3","statement_hash":"936b0710039148aa585f4c4979c6b6d5ae2551ef5c57bf3f9282c4375d159fcf","text":"为所有 MSVC 构建的二进制文件添加图标，并为所有 MS Windows 二进制文件添加版本信息（Noah Misch） MinGW 此前已有此类图标。","title":"为所有 MSVC 构建的二进制文件添加图标，并为所有 MS Windows 二进制文件添加版本信息","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["311da16"],"commit_groups":[["311da16"]],"commits":[],"cves":[],"db_id":"91a2843dabeed128b973d863fef1e7f1","html":"\u003cp\u003e为内部的 \u003ccode\u003egetopt_long()\u003c/code\u003e 实现添加可选参数支持（Michael Paquier、Andres Freund）\u003c/p\u003e\n\u003cp\u003e这被 \u003cspan\u003eMSVC\u003c/span\u003e 构建使用。\u003c/p\u003e","id":"9.5.0-df47e95e545f670f","identity_text":"Add optional-argument support to the internal getopt_long() implementation (Michael Paquier, Andres Freund) This is used by the MSVC build.","part":"changes","patch_ids":["b9d4735a164099fce07d25ec4a5bb0d1"],"related_changes":[],"relations":[],"section":"源代码 / MS Windows","section_path":["源代码","MS Windows"],"source_commits":["311da16"],"source_entry_id":"9.5.0/changes/172","source_hash":"941a89b0a195e4658251576c53681763a49eb1c951b8580d84786df8757a2ff1","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.12.3","statement_hash":"b63e5c6e61e113fb6ef8ef12d45ef878712691b7c0987f0729a06354eed33e23","text":"为内部的 getopt_long() 实现添加可选参数支持（Michael Paquier、Andres Freund） 这被 MSVC 构建使用。","title":"为内部的 getopt_long() 实现添加可选参数支持","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["717f709"],"commit_groups":[["717f709"]],"commits":[],"cves":[],"db_id":"c4b17b1fbafbcf1057800f85123c1816","html":"\u003cp\u003e为\u003ca href=\"/docs/9.5/pgstatstatements.html#PGSTATSTATEMENTS-COLUMNS\" title=\"表 F.22. pg_stat_statements 列\"\u003e\u003cspan\u003epg_stat_statements\u003c/span\u003e\u003c/a\u003e添加最小、最大、平均和标准差时间统计（Mitsumasa Kondo、Andrew Dunstan）\u003c/p\u003e","id":"9.5.0-eb45f06c745d76b5","identity_text":"Add statistics for minimum, maximum, mean, and standard deviation times to pg_stat_statements (Mitsumasa Kondo, Andrew Dunstan)","part":"changes","patch_ids":["d2ad792a1f10626a3bb52c17e95b8509"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["717f709"],"source_entry_id":"9.5.0/changes/173","source_hash":"c03ac8d98e702b5d25af2f34b4961627b4764d8cfdf45e2d4718cf765fa28958","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.13","statement_hash":"06600e7886b09eabb4539021392b5e805e4c1a22a0a4c25d217e3dcabde40006","text":"为pg_stat_statements添加最小、最大、平均和标准差时间统计（Mitsumasa Kondo、Andrew Dunstan）","title":"为pg_stat_statements添加最小、最大、平均和标准差时间统计","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["32984d8"],"commit_groups":[["32984d8"]],"commits":[],"cves":[],"db_id":"560a8a295f0addadf5ba507dd902bb11","html":"\u003cp\u003e添加\u003ca href=\"/docs/9.5/pgcrypto.html\" title=\"F.24. pgcrypto\"\u003e\u003cspan\u003epgcrypto\u003c/span\u003e\u003c/a\u003e函数 \u003ccode\u003epgp_armor_headers()\u003c/code\u003e，用于提取 \u003cspan\u003ePGP\u003c/span\u003e armor 头（Marko Tiikkaja、Heikki Linnakangas）\u003c/p\u003e","id":"9.5.0-c56666e9ff7aa955","identity_text":"Add pgcrypto function pgp_armor_headers() to extract PGP armor headers (Marko Tiikkaja, Heikki Linnakangas)","part":"changes","patch_ids":["5ea4fa98fc16c0ca740798a5fce270e3"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["32984d8"],"source_entry_id":"9.5.0/changes/174","source_hash":"69c9cf49006899f2183e9345e8c11454db96a05d30e05b54b03a4761b2a7d742","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.13","statement_hash":"e85df60f310ca67b8edac6eaf2df1df2dc81ae6c5947d7c6563a6e8f7b5d5eb7","text":"添加pgcrypto函数 pgp_armor_headers()，用于提取 PGP armor 头（Marko Tiikkaja、Heikki Linnakangas）","title":"添加pgcrypto函数 pgp_armor_headers()，用于提取 PGP armor 头","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["97c40ce"],"commit_groups":[["97c40ce"]],"commits":[],"cves":[],"db_id":"34150ee6becfc7540e4dac52093a60e5","html":"\u003cp\u003e允许\u003ca href=\"/docs/9.5/unaccent.html\" title=\"F.42. unaccent\"\u003e\u003cspan\u003eunaccent\u003c/span\u003e\u003c/a\u003e中使用空的替换字符串（Mohammad Alhashash）\u003c/p\u003e\n\u003cp\u003e这在变音符号表示为独立字符的语言中很有用。\u003c/p\u003e","id":"9.5.0-ef0f61374063bded","identity_text":"Allow empty replacement strings in unaccent (Mohammad Alhashash) This is useful in languages where diacritic signs are represented as separate characters.","part":"changes","patch_ids":["66c82df308bd80a4569ea4ac1a06aafd"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["97c40ce"],"source_entry_id":"9.5.0/changes/175","source_hash":"4e368141f093c8f6874ecb598fcf327901088e5f2a372402526e9f824f1b7ca9","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.13","statement_hash":"103d093c230c6f506d4fe69e94fc3906fb88cd264618c08ee3d676c1d0b2e9df","text":"允许unaccent中使用空的替换字符串（Mohammad Alhashash） 这在变音符号表示为独立字符的语言中很有用。","title":"允许unaccent中使用空的替换字符串","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["1b24887"],"commit_groups":[["1b24887"]],"commits":[],"cves":[],"db_id":"f6b8f9620ce1f12553ff3e6374081556","html":"\u003cp\u003e允许\u003ca href=\"/docs/9.5/unaccent.html\" title=\"F.42. unaccent\"\u003e\u003cspan\u003eunaccent\u003c/span\u003e\u003c/a\u003e中使用多字符源字符串（Tom Lane）\u003c/p\u003e\n\u003cp\u003e这在变音符号表示为独立字符的语言中可能有用。它还允许更复杂的 unaccent 词典。\u003c/p\u003e","id":"9.5.0-42e0498024289a81","identity_text":"Allow multicharacter source strings in unaccent (Tom Lane) This could be useful in languages where diacritic signs are represented as separate characters. It also allows more complex unaccent dictionaries.","part":"changes","patch_ids":["e5682450fff156c06b4a6f7acc1149e6"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["1b24887"],"source_entry_id":"9.5.0/changes/176","source_hash":"43dcf4c58d14074c5b447c70f5b35475d1655ecd309bec5bc860a179b525fdb2","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.13","statement_hash":"ca79e99fbc1055f0ac1349b4ac1b727a499c1e294894d13cca20753bd3322f43","text":"允许unaccent中使用多字符源字符串（Tom Lane） 这在变音符号表示为独立字符的语言中可能有用。它还允许更复杂的 unaccent 词典。","title":"允许unaccent中使用多字符源字符串","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["149f6f1","9689290"],"commit_groups":[["149f6f1"],["9689290"]],"commits":[],"cves":[],"db_id":"3f9f4bed4e292cc0873d34fe31e646ea","html":"\u003cp\u003e添加 \u003ccode\u003econtrib\u003c/code\u003e 模块\u003ca href=\"/docs/9.5/tsm-system-rows.html\" title=\"F.40. tsm_system_rows\"\u003e\u003cspan\u003etsm_system_rows\u003c/span\u003e\u003c/a\u003e和\u003ca href=\"/docs/9.5/tsm-system-time.html\" title=\"F.41. tsm_system_time\"\u003e\u003cspan\u003etsm_system_time\u003c/span\u003e\u003c/a\u003e，以提供更多的表采样方法（Petr Jelínek）\u003c/p\u003e","id":"9.5.0-6835388dc683403f","identity_text":"Add contrib modules tsm_system_rows and tsm_system_time to allow additional table sampling methods (Petr Jelínek)","part":"changes","patch_ids":["0f6d9cad8fdb60c808e9f6ca7eea34af","e5a7dd84724d3b9c43055432c78545b8"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["149f6f1","9689290"],"source_entry_id":"9.5.0/changes/177","source_hash":"9b4bbbf565e9d85c85beb42188e8d12f0ca2802bb7ab1df7363ddbe40aae7e8b","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.13","statement_hash":"052243944c2a8aa453b8f16638e4d25f236e8a1d5bb596de4df34cd2c8fd2476","text":"添加 contrib 模块tsm_system_rows和tsm_system_time，以提供更多的表采样方法（Petr Jelínek）","title":"添加 contrib 模块tsm_system_rows和tsm_system_time，以提供更多的表采样方法","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["3a82bc6"],"commit_groups":[["3a82bc6"]],"commits":[],"cves":[],"db_id":"903f6c673f326458b4a7dc7f7f2d8a00","html":"\u003cp\u003e为\u003ca href=\"/docs/9.5/pageinspect.html\" title=\"F.21. pageinspect\"\u003e\u003cspan\u003epageinspect\u003c/span\u003e\u003c/a\u003e添加 \u003ca href=\"/docs/9.5/gin.html\" title=\"第 61 章 GIN 索引\"\u003e\u003cacronym\u003eGIN\u003c/acronym\u003e\u003c/a\u003e 索引检查函数（Heikki Linnakangas、Peter Geoghegan、Michael Paquier）\u003c/p\u003e","id":"9.5.0-81fcc9d31996f626","identity_text":"Add GIN index inspection functions to pageinspect (Heikki Linnakangas, Peter Geoghegan, Michael Paquier)","part":"changes","patch_ids":["6476228757e1f15fc0cf87cd6d2e7274"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["3a82bc6"],"source_entry_id":"9.5.0/changes/178","source_hash":"ccb4beba52ed6d551e27baf8404cd9f4601412db8e3b77c9405d323eeb286885","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.13","statement_hash":"892bd9da4738f98aedab006cdc09d62436728f20c79d4c2b66a2f73aad628958","text":"为pageinspect添加 GIN 索引检查函数（Heikki Linnakangas、Peter Geoghegan、Michael Paquier）","title":"为pageinspect添加 GIN 索引检查函数","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["f577919"],"commit_groups":[["f577919"]],"commits":[],"cves":[],"db_id":"85b2c623f3e345dd61370421c228950f","html":"\u003cp\u003e在\u003ca href=\"/docs/9.5/pgbuffercache.html\" title=\"F.23. pg_buffercache\"\u003e\u003cspan\u003epg_buffercache\u003c/span\u003e\u003c/a\u003e显示中添加有关缓冲区引脚的信息（Andres Freund）\u003c/p\u003e","id":"9.5.0-6cf92a06522e3ee1","identity_text":"Add information about buffer pins to pg_buffercache display (Andres Freund)","part":"changes","patch_ids":["26ec244f11ed5dad821884ed529ec0c0"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["f577919"],"source_entry_id":"9.5.0/changes/179","source_hash":"fcd0543ce70d22fafb3d21a6e5fa642cfbcf94e4bc4059a5c2a34a1b2a4d5b92","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.13","statement_hash":"60691d4228ef5ea8c019df40e936e2985339a504c75f748bec254d4c73cc0f7c","text":"在pg_buffercache显示中添加有关缓冲区引脚的信息（Andres Freund）","title":"在pg_buffercache显示中添加有关缓冲区引脚的信息","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["5850b20"],"commit_groups":[["5850b20"]],"commits":[],"cves":[],"db_id":"46ba7d0387c99abfdb9f7915608f5b03","html":"\u003cp\u003e允许\u003ca href=\"/docs/9.5/pgstattuple.html\" title=\"F.29. pgstattuple — 获取元组级统计信息\"\u003e\u003cspan\u003epgstattuple\u003c/span\u003e\u003c/a\u003e使用 \u003ccode\u003epgstattuple_approx()\u003c/code\u003e 以更低的开销报告近似结果（Abhijit Menon-Sen）\u003c/p\u003e","id":"9.5.0-5cbb150721240e76","identity_text":"Allow pgstattuple to report approximate answers with less overhead using pgstattuple_approx() (Abhijit Menon-Sen)","part":"changes","patch_ids":["ddecf671abc198472d81d0a281ab6dfb"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["5850b20"],"source_entry_id":"9.5.0/changes/180","source_hash":"b91d75b91d8066dba531f922f95fd0f8a17ad9d6b2a6e3313c8192ca657c5dfe","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.13","statement_hash":"0bcde9d4b036108f87745bc427eed21c56a8bfd81bd8f6e7dd7ea7e4ad4b695a","text":"允许pgstattuple使用 pgstattuple_approx() 以更低的开销报告近似结果（Abhijit Menon-Sen）","title":"允许pgstattuple使用 pgstattuple_approx() 以更低的开销报告近似结果","variants":[],"version":"9.5.0"},{"also_in":[],"category":"feature","category_label":"Features","commit_aliases":["22dfd11","df761e3"],"commit_groups":[["22dfd11"],["df761e3"]],"commits":[],"cves":[],"db_id":"c3a0078420271734de569015fbd66c11","html":"\u003cp\u003e把 \u003cspan\u003edummy_seclabel\u003c/span\u003e、\u003cspan\u003etest_shm_mq\u003c/span\u003e、\u003cspan\u003etest_parser\u003c/span\u003e 和 \u003cspan\u003eworker_spi\u003c/span\u003e 从 \u003ccode\u003econtrib\u003c/code\u003e 移到 \u003ccode\u003esrc/test/modules\u003c/code\u003e（Álvaro Herrera）\u003c/p\u003e\n\u003cp\u003e这些模块仅用于服务器测试，因此在打包 \u003cspan\u003ePostgreSQL\u003c/span\u003e 时无需构建或安装它们。\u003c/p\u003e","id":"9.5.0-10f921c9d492b16a","identity_text":"Move dummy_seclabel, test_shm_mq, test_parser, and worker_spi from contrib to src/test/modules (Álvaro Herrera) These modules are only meant for server testing, so they do not need to be built or installed when packaging PostgreSQL.","part":"changes","patch_ids":["457c4dc7a9e5f2cb7ad02ed44066e8da","ca08baf9bf9bb25202fecffeb4b7b890"],"related_changes":[],"relations":[],"section":"附加模块","section_path":["附加模块"],"source_commits":["22dfd11","df761e3"],"source_entry_id":"9.5.0/changes/181","source_hash":"e886b8319adeec8e09d5b3f92904197d02d65f1a3ab5d90caebf47cf425181a6","source_url":"/docs/release/9.5.0/#id-1.11.6.30.5.13","statement_hash":"116b58fba1e9bd132401ab261247402e116c9cd697be1fd0a8ec94cae9a05552","text":"把 dummy_seclabel、test_shm_mq、test_parser 和 worker_spi 从 contrib 移到 src/test/modules（Álvaro Herrera） 这些模块仅用于服务器测试，因此在打包 PostgreSQL 时无需构建或安装它们。","title":"把 dummy_seclabel、test_shm_mq、test_parser 和 worker_spi 从 contrib 移到 src/test/modules","variants":[],"version":"9.5.0"}],"entry_count":193,"eol":"2021-02-11","eol_date":"2021-02-11","label":"9.5","major":"9.5","manual":"9.5","manual_build":"9.5.25","manual_url":"/docs/9.5/release-9-5.html","migration_html":"\u003cp\u003e希望从任何之前的版本迁移数据的用户，需要使用\u003ca href=\"/docs/9.5/app-pg-dumpall.html\" title=\"pg_dumpall\"\u003e\u003cspan\u003e\u003cspan\u003epg_dumpall\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e进行转储/恢复，或使用\u003ca href=\"/docs/9.5/pgupgrade.html\" title=\"pg_upgrade\"\u003e\u003cspan\u003e\u003cspan\u003epg_upgrade\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e版本 9.5 包含许多可能影响与以前版本兼容性的变更。请注意以下不兼容之处：\u003c/p\u003e\n\u003cdiv\u003e\n\u003c/div\u003e","minor":0,"placeholder":false,"source_as_of":"","source_url":"/docs/release/9.5.0/","status":"stable","status_label":"Historical","support_days":-2069,"supported":false,"version":"9.5.0"}],"mode":"release","release_count":1,"remaining_cves":[],"security_as_of":"2026-09-26","security_regressions":[],"source_as_of":"2026-09-26","stats":[{"count":193,"key":"all","label":"All changes"},{"count":163,"key":"feature","label":"Features"},{"count":1,"key":"bugfix","label":"Bug fixes"},{"count":0,"key":"security","label":"Security"},{"count":17,"key":"performance","label":"Performance"},{"count":12,"key":"compatibility","label":"Compatibility"},{"count":0,"key":"improvement","label":"Improvements"}],"to_release":{"age_days":3931,"build":"9.5.0","changes_count":181,"compatibility_count":12,"content_hash":"140e8a86cdc616ecc079ca2a95b30b1d63f210a5ac2104a049f7e95cbcba337e","date":"2016-01-07","date_text":"2016-01-07","doc_git":"","doc_loaded_at":"2026-09-26T02:56:44.718140","entry_count":193,"eol":"2021-02-11","eol_date":"2021-02-11","label":"9.5","major":"9.5","manual":"9.5","manual_build":"9.5.25","manual_url":"/docs/9.5/release-9-5.html","migration_html":"\u003cp\u003e希望从任何之前的版本迁移数据的用户，需要使用\u003ca href=\"/docs/9.5/app-pg-dumpall.html\" title=\"pg_dumpall\"\u003e\u003cspan\u003e\u003cspan\u003epg_dumpall\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e进行转储/恢复，或使用\u003ca href=\"/docs/9.5/pgupgrade.html\" title=\"pg_upgrade\"\u003e\u003cspan\u003e\u003cspan\u003epg_upgrade\u003c/span\u003e\u003c/span\u003e\u003c/a\u003e。\u003c/p\u003e\n\u003cp\u003e版本 9.5 包含许多可能影响与以前版本兼容性的变更。请注意以下不兼容之处：\u003c/p\u003e\n\u003cdiv\u003e\n\u003c/div\u003e","minor":0,"placeholder":false,"source_as_of":"","source_url":"/docs/release/9.5.0/","status":"stable","status_label":"Historical","support_days":-2069,"supported":false,"version":"9.5.0"},"total":193,"warnings":[]}
