gooderp18绿色标准版
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

474 linhas
28KB

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>E.3. Release 12.2</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="prev" href="release-12-3.html" title="E.2. Release 12.3" /><link rel="next" href="release-12-1.html" title="E.4. Release 12.1" /></head><body><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">E.3. Release 12.2</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-12-3.html" title="E.2. Release 12.3">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="release.html" title="Appendix E. Release Notes">Up</a></td><th width="60%" align="center">Appendix E. Release Notes</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 12.4 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="release-12-1.html" title="E.4. Release 12.1">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="RELEASE-12-2"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.3. Release 12.2</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-12-2.html#id-1.11.6.7.4">E.3.1. Migration to Version 12.2</a></span></dt><dt><span class="sect2"><a href="release-12-2.html#id-1.11.6.7.5">E.3.2. Changes</a></span></dt></dl></div><p><strong>Release date: </strong>2020-02-13</p><p>
  3. This release contains a variety of fixes from 12.1.
  4. For information about new features in major release 12, see
  5. <a class="xref" href="release-12.html" title="E.5. Release 12">Section E.5</a>.
  6. </p><div class="sect2" id="id-1.11.6.7.4"><div class="titlepage"><div><div><h3 class="title">E.3.1. Migration to Version 12.2</h3></div></div></div><p>
  7. A dump/restore is not required for those running 12.X.
  8. </p><p>
  9. However, if you have any foreign key constraints referencing
  10. partitioned tables, see the two entries below about bugs in that
  11. feature.
  12. </p></div><div class="sect2" id="id-1.11.6.7.5"><div class="titlepage"><div><div><h3 class="title">E.3.2. Changes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
  13. Add missing permissions checks for <code class="command">ALTER ... DEPENDS ON
  14. EXTENSION</code> (Álvaro Herrera)
  15. </p><p>
  16. Marking an object as dependent on an extension did not have any
  17. privilege check whatsoever. This oversight allowed any user to mark
  18. routines, triggers, materialized views, or indexes as droppable by
  19. anyone able to drop an extension. Require that the calling user own
  20. the specified object (and hence have privilege to drop it).
  21. (CVE-2020-1720)
  22. </p></li><li class="listitem"><p>
  23. Fix <code class="command">TRUNCATE ... CASCADE</code> to ensure all relevant
  24. partitions are truncated (Jehan-Guillaume de Rorthais)
  25. </p><p>
  26. If a partition of a partitioned table is truncated with
  27. the <code class="literal">CASCADE</code> option, and the partitioned table has
  28. a foreign-key reference from another table, that table must also be
  29. truncated. The need to check this was missed if the referencing
  30. table was itself partitioned, possibly allowing rows to survive that
  31. violate the foreign-key constraint.
  32. </p><p>
  33. Hence, if you have foreign key constraints between partitioned
  34. tables, and you have done any
  35. partition-level <code class="command">TRUNCATE</code> on the referenced table,
  36. you should check to see if any foreign key violations exist. The
  37. simplest way is to add a new instance of the foreign key constraint
  38. (and, once that succeeds, drop it or the original constraint).
  39. That may be prohibitive from a locking standpoint, however, in which
  40. case you might prefer to manually query for unmatched rows.
  41. </p></li><li class="listitem"><p>
  42. Fix failure to attach foreign key constraints to sub-partitions
  43. (Jehan-Guillaume de Rorthais)
  44. </p><p>
  45. When adding a partition to a level below the first level of a
  46. multi-level partitioned table, foreign key constraints referencing
  47. the top partitioned table were not cloned to the new partition,
  48. leading to possible constraint violations later. Detaching and
  49. re-attaching the new partition is the cheapest way to fix this.
  50. However, if there are many partitions to be fixed, adding a new
  51. instance of the foreign key constraint might be preferable.
  52. </p></li><li class="listitem"><p>
  53. Fix possible crash during concurrent update on a partitioned table
  54. or inheritance tree (Tom Lane)
  55. </p></li><li class="listitem"><p>
  56. Ensure that row triggers on partitioned tables are correctly
  57. cloned to sub-partitions when appropriate
  58. (Álvaro Herrera)
  59. </p><p>
  60. User-defined triggers (but not triggers for foreign key or deferred
  61. unique constraints) might be missed when creating or attaching a
  62. partition.
  63. </p></li><li class="listitem"><p>
  64. Fix logical replication subscriber code to execute
  65. per-column <code class="literal">UPDATE</code> triggers when appropriate
  66. (Peter Eisentraut)
  67. </p></li><li class="listitem"><p>
  68. Avoid failure in logical decoding when a large transaction must be
  69. spilled into many separate temporary files (Amit Khandekar)
  70. </p></li><li class="listitem"><p>
  71. Fix possible crash or data corruption when a logical replication
  72. subscriber processes a row update (Tom Lane, Tomas Vondra)
  73. </p><p>
  74. This bug caused visible problems only if the subscriber's table
  75. contained columns that were not being copied from the publisher and
  76. had pass-by-reference data types.
  77. </p></li><li class="listitem"><p>
  78. Fix crash in logical replication subscriber after DDL changes on a
  79. subscribed relation (Jehan-Guillaume de Rorthais, Vignesh C)
  80. </p></li><li class="listitem"><p>
  81. Fix failure in logical replication publisher after a database crash
  82. and restart (Vignesh C)
  83. </p></li><li class="listitem"><p>
  84. Ensure that the effect
  85. of <code class="function">pg_replication_slot_advance()</code> on a physical
  86. replication slot will persist across restarts (Alexey Kondratov,
  87. Michael Paquier)
  88. </p></li><li class="listitem"><p>
  89. Improve efficiency of logical replication with <code class="literal">REPLICA
  90. IDENTITY FULL</code> (Konstantin Knizhnik)
  91. </p><p>
  92. When searching for an existing tuple during an update or delete
  93. operation, return the first matching tuple not the last one.
  94. </p></li><li class="listitem"><p>
  95. Fix base backup to handle database OIDs larger
  96. than <code class="literal">INT32_MAX</code> (Peter Eisentraut)
  97. </p></li><li class="listitem"><p>
  98. Ensure parallel plans are always shut down at the correct time
  99. (Kyotaro Horiguchi)
  100. </p><p>
  101. This oversight is known to result in <span class="quote">“<span class="quote">temporary file
  102. leak</span>”</span> warnings from multi-batch parallel hash joins.
  103. </p></li><li class="listitem"><p>
  104. Prevent premature shutdown of a Gather or GatherMerge plan node that
  105. is underneath a Limit node (Amit Kapila)
  106. </p><p>
  107. This avoids failure if such a plan node needs to be scanned more
  108. than once, as for instance if it is on the inside of a nestloop.
  109. </p></li><li class="listitem"><p>
  110. Improve efficiency of parallel hash join on CPUs with many cores
  111. (Gang Deng, Thomas Munro)
  112. </p></li><li class="listitem"><p>
  113. Avoid crash in parallel <code class="command">CREATE INDEX</code> when there
  114. are no free dynamic shared memory slots (Thomas Munro)
  115. </p><p>
  116. Fall back to a non-parallel index build, instead.
  117. </p></li><li class="listitem"><p>
  118. Avoid memory leak when there are no free dynamic shared memory slots
  119. (Thomas Munro)
  120. </p></li><li class="listitem"><p>
  121. Ignore the <code class="literal">CONCURRENTLY</code> option when performing an
  122. index creation, drop, or rebuild on a temporary table (Michael
  123. Paquier, Heikki Linnakangas, Andres Freund)
  124. </p><p>
  125. This avoids strange failures if the temporary table has
  126. an <code class="literal">ON COMMIT</code> action. There is no benefit in
  127. using <code class="literal">CONCURRENTLY</code> for a temporary table anyway,
  128. since other sessions cannot access the table, making the extra
  129. processing pointless.
  130. </p></li><li class="listitem"><p>
  131. Fix possible failure when resetting expression indexes on temporary
  132. tables that are marked <code class="literal">ON COMMIT DELETE ROWS</code>
  133. (Tom Lane)
  134. </p></li><li class="listitem"><p>
  135. Fix possible crash in BRIN index operations
  136. with <code class="type">box</code>, <code class="type">range</code> and <code class="type">inet</code> data
  137. types (Heikki Linnakangas)
  138. </p></li><li class="listitem"><p>
  139. Fix crash during recursive page split in GiST index build (Heikki
  140. Linnakangas)
  141. </p></li><li class="listitem"><p>
  142. Fix handling of deleted pages in GIN indexes (Alexander Korotkov)
  143. </p><p>
  144. Avoid possible deadlocks, incorrect updates of a deleted page's
  145. state, and failure to traverse through a recently-deleted page.
  146. </p></li><li class="listitem"><p>
  147. Fix possible crash with a SubPlan (sub-<code class="literal">SELECT</code>)
  148. within a multi-row <code class="literal">VALUES</code> list (Tom Lane)
  149. </p></li><li class="listitem"><p>
  150. Fix failure in <code class="command">ALTER TABLE</code> when a column
  151. referenced in a <code class="literal">GENERATED</code> expression has been
  152. added or changed in type earlier in the
  153. same <code class="command">ALTER</code> command (Tom Lane)
  154. </p></li><li class="listitem"><p>
  155. Fix failure to insert default values for <span class="quote">“<span class="quote">missing</span>”</span>
  156. attributes during tuple conversion (Vik Fearing, Andrew Gierth)
  157. </p><p>
  158. This could result in values incorrectly reading as NULL, when
  159. they come from columns that had been added by <code class="literal">ALTER
  160. TABLE ADD COLUMN</code> with a constant default.
  161. </p></li><li class="listitem"><p>
  162. Fix unlikely panic in the checkpointer process, caused by opening
  163. relation segments that might already have been removed (Thomas Munro)
  164. </p></li><li class="listitem"><p>
  165. Fix crash after FileClose() failure (Noah Misch)
  166. </p><p>
  167. This issue could only be observed
  168. with <code class="varname">data_sync_retry</code> enabled, since otherwise
  169. FileClose() failure would be reported as a PANIC.
  170. </p></li><li class="listitem"><p>
  171. Fix handling of multiple <code class="literal">AFTER ROW</code> triggers on a
  172. foreign table (Etsuro Fujita)
  173. </p></li><li class="listitem"><p>
  174. Fix unlikely crash with pass-by-reference aggregate transition
  175. states (Andres Freund, Teodor Sigaev)
  176. </p></li><li class="listitem"><p>
  177. Improve error reporting in <code class="function">to_date()</code>
  178. and <code class="function">to_timestamp()</code>
  179. (Tom Lane, Álvaro Herrera)
  180. </p><p>
  181. Reports about incorrect month or day names in input strings could
  182. truncate the input in the middle of a multi-byte character, leading
  183. to an improperly encoded error message that could cause follow-on
  184. failures. Truncate at the next whitespace instead.
  185. </p></li><li class="listitem"><p>
  186. Fix off-by-one result for <code class="literal">EXTRACT(ISOYEAR
  187. FROM <em class="replaceable"><code>timestamp</code></em>)</code> for BC dates
  188. (Tom Lane)
  189. </p></li><li class="listitem"><p>
  190. Ensure that the <code class="literal">&lt;&gt;</code> operator for
  191. type <code class="type">char</code> reports indeterminate-collation errors as
  192. such, rather than as <span class="quote">“<span class="quote">cache lookup failed for collation
  193. 0</span>”</span> (Tom Lane)
  194. </p></li><li class="listitem"><p>
  195. Avoid treating TID scans as sequential scans (Tatsuhito Kasahara)
  196. </p><p>
  197. A refactoring oversight caused TID scans (selection by CTID) to be
  198. counted as sequential scans in the statistics views, and to take
  199. whole-table predicate locks as sequential scans do. The latter
  200. behavior could cause unnecessary serialization errors in
  201. serializable transaction mode.
  202. </p></li><li class="listitem"><p>
  203. Avoid stack overflow in <code class="literal">information_schema</code> views
  204. when a self-referential view exists in the system catalogs
  205. (Tom Lane)
  206. </p><p>
  207. A self-referential view can't work; it will always result in
  208. infinite recursion. We handled that situation correctly when
  209. trying to execute the view, but not when inquiring whether it is
  210. automatically updatable.
  211. </p></li><li class="listitem"><p>
  212. Ensure that walsender processes always show NULL for transaction
  213. start time in <code class="structname">pg_stat_activity</code>
  214. (Álvaro Herrera)
  215. </p><p>
  216. Previously, the <code class="structfield">xact_start</code> column would
  217. sometimes show the process start time.
  218. </p></li><li class="listitem"><p>
  219. Improve performance of hash joins with very large inner relations
  220. (Thomas Munro)
  221. </p></li><li class="listitem"><p>
  222. Reduce spinlock contention when there are many active walsender
  223. processes (Pierre Ducroquet)
  224. </p></li><li class="listitem"><p>
  225. Fix placement of <span class="quote">“<span class="quote">Subplans Removed</span>”</span> field
  226. in <code class="command">EXPLAIN</code> output (Daniel Gustafsson, Tom Lane)
  227. </p><p>
  228. In non-text output formats, this field was emitted inside
  229. the <span class="quote">“<span class="quote">Plans</span>”</span> sub-group, resulting in syntactically
  230. invalid output. Attach it to the parent Append or MergeAppend plan
  231. node as intended. This causes the field to change position in text
  232. output format too: if there are any InitPlans attached to the same
  233. plan node, <span class="quote">“<span class="quote">Subplans Removed</span>”</span> will now appear before
  234. those.
  235. </p></li><li class="listitem"><p>
  236. Fix <code class="command">EXPLAIN</code>'s <code class="literal">SETTINGS</code> option
  237. to print as empty in non-text output formats (Tom Lane)
  238. </p><p>
  239. In the non-text output formats, fields are supposed to appear when
  240. requested, even if they have empty or zero values.
  241. </p></li><li class="listitem"><p>
  242. Allow the planner to apply potentially-leaky tests to child-table
  243. statistics, if the user can read the corresponding column of the
  244. table that's actually named in the query (Dilip Kumar, Amit Langote)
  245. </p><p>
  246. This change fixes a performance problem for partitioned tables that
  247. was created by the fix for CVE-2017-7484. That security fix
  248. disallowed applying leaky operators to statistics for columns that
  249. the current user doesn't have permission to read directly. However,
  250. it's somewhat common to grant permissions only on the parent
  251. partitioned table and not bother to do so on individual partitions.
  252. In such cases, the user can read the column via the parent, so
  253. there's no point in this security restriction; it only results in
  254. poorer planner estimates than necessary.
  255. </p></li><li class="listitem"><p>
  256. Fix planner errors induced by overly-aggressive collapsing of joins
  257. to single-row subqueries (Tom Lane)
  258. </p><p>
  259. This mistake led to errors such as <span class="quote">“<span class="quote">failed to construct the
  260. join relation</span>”</span>.
  261. </p></li><li class="listitem"><p>
  262. Fix <span class="quote">“<span class="quote">no = operator for
  263. opfamily <em class="replaceable"><code>NNNN</code></em></span>”</span> planner error when
  264. trying to match a <code class="literal">LIKE</code> or regex pattern-match
  265. operator to a binary-compatible index opclass (Tom Lane)
  266. </p></li><li class="listitem"><p>
  267. Fix edge-case crashes and misestimations in selectivity calculations
  268. for the <code class="literal">&lt;@</code> and <code class="literal">@&gt;</code> range
  269. operators (Michael Paquier, Andrey Borodin, Tom Lane)
  270. </p></li><li class="listitem"><p>
  271. Fix incorrect estimation for <code class="literal">OR</code> clauses when
  272. using most-common-value extended statistics (Tomas Vondra)
  273. </p></li><li class="listitem"><p>
  274. Ignore system columns when applying most-common-value
  275. extended statistics (Tomas Vondra)
  276. </p><p>
  277. This prevents <span class="quote">“<span class="quote">negative bitmapset member not allowed</span>”</span>
  278. planner errors for affected queries.
  279. </p></li><li class="listitem"><p>
  280. Fix BRIN index logic to support hypothetical BRIN indexes
  281. (Julien Rouhaud, Heikki Linnakangas)
  282. </p><p>
  283. Previously, if an <span class="quote">“<span class="quote">index adviser</span>”</span> extension tried to
  284. get the planner to produce a plan involving a hypothetical BRIN
  285. index, that would fail, because the BRIN cost estimation code would
  286. always try to physically access the index's metapage. Now it checks
  287. to see if the index is only hypothetical, and uses default
  288. assumptions about the index parameters if so.
  289. </p></li><li class="listitem"><p>
  290. Improve error reporting for attempts to use automatic updating of
  291. views with conditional <code class="literal">INSTEAD</code> rules (Dean Rasheed)
  292. </p><p>
  293. This has never been supported, but previously the error was thrown
  294. only at execution time, so that it could be masked by planner errors.
  295. </p></li><li class="listitem"><p>
  296. Prevent a composite type from being included in itself indirectly
  297. via a range type (Tom Lane, Julien Rouhaud)
  298. </p></li><li class="listitem"><p>
  299. Disallow partition key expressions that return pseudo-types, such
  300. as <code class="type">record</code> (Tom Lane)
  301. </p></li><li class="listitem"><p>
  302. Fix error reporting for index expressions of prohibited types
  303. (Amit Langote)
  304. </p></li><li class="listitem"><p>
  305. Fix dumping of views that contain only a <code class="literal">VALUES</code>
  306. list to handle cases where a view output column has been renamed
  307. (Tom Lane)
  308. </p></li><li class="listitem"><p>
  309. Ensure that data types and collations used
  310. in <code class="literal">XMLTABLE</code> constructs are accounted for when
  311. computing dependencies of a view or rule (Tom Lane)
  312. </p><p>
  313. Previously it was possible to break a view
  314. using <code class="literal">XMLTABLE</code> by dropping a type, if the type
  315. was not otherwise referenced in the view. This fix does not
  316. correct the dependencies already recorded for existing views, only
  317. for newly-created ones.
  318. </p></li><li class="listitem"><p>
  319. Prevent unwanted downcasing and truncation of RADIUS authentication
  320. parameters (Marcos David)
  321. </p><p>
  322. The <code class="filename">pg_hba.conf</code> parser mistakenly treated these
  323. fields as SQL identifiers, which in general they aren't.
  324. </p></li><li class="listitem"><p>
  325. Transmit incoming <code class="command">NOTIFY</code> messages to the client
  326. before sending <code class="literal">ReadyForQuery</code>, rather than after
  327. (Tom Lane)
  328. </p><p>
  329. This change ensures that, with libpq and other client libraries that
  330. act similarly to it, any notifications received during a transaction
  331. will be available by the time the client thinks the transaction is
  332. complete. This probably makes no difference in practical
  333. applications (which would need to cope with asynchronous
  334. notifications in any case); but it makes it easier to build test
  335. cases with reproducible behavior.
  336. </p></li><li class="listitem"><p>
  337. Fix bugs in handling of non-blocking I/O when using GSSAPI
  338. encryption (Tom Lane)
  339. </p><p>
  340. These errors could result in dropping data (usually leading to
  341. subsequent wire-protocol-violation errors) or in
  342. a <span class="quote">“<span class="quote">livelock</span>”</span> situation where a sending process goes to
  343. sleep although not all its data has been sent.
  344. Moreover, <span class="application">libpq</span> failed to keep separate
  345. encryption state for each connection, creating the possibility for
  346. failures in applications using multiple encrypted database
  347. connections.
  348. </p></li><li class="listitem"><p>
  349. Allow <span class="application">libpq</span> to parse all GSS-related
  350. connection parameters even when the GSSAPI code hasn't been compiled
  351. in (Tom Lane)
  352. </p><p>
  353. This makes the behavior similar to our SSL support, where it was
  354. long ago deemed to be a good idea to always accept all the related
  355. parameters, even if some are ignored or restricted due to lack of
  356. the feature in a particular build.
  357. </p></li><li class="listitem"><p>
  358. Fix incorrect handling of <code class="literal">%b</code>
  359. and <code class="literal">%B</code> format codes
  360. in <span class="application">ecpg</span>'s
  361. <code class="function">PGTYPEStimestamp_fmt_asc()</code> function
  362. (Tomas Vondra)
  363. </p><p>
  364. Due to an off-by-one error, these codes would print the wrong month
  365. name, or possibly crash.
  366. </p></li><li class="listitem"><p>
  367. Avoid crash after an out-of-memory failure
  368. in <span class="application">ecpglib</span> (Tom Lane)
  369. </p></li><li class="listitem"><p>
  370. Fix
  371. parallel <span class="application">pg_dump</span>/<span class="application">pg_restore</span>
  372. to more gracefully handle failure to create worker processes
  373. (Tom Lane)
  374. </p></li><li class="listitem"><p>
  375. Prevent possible crash or lockup when attempting to terminate a
  376. parallel <span class="application">pg_dump</span>/<span class="application">pg_restore</span>
  377. run via a signal (Tom Lane)
  378. </p></li><li class="listitem"><p>
  379. In <span class="application">pg_upgrade</span>, look inside arrays and
  380. ranges while searching for non-upgradable data types in tables
  381. (Tom Lane)
  382. </p></li><li class="listitem"><p>
  383. Apply more thorough syntax checking
  384. to <span class="application">createuser</span>'s
  385. <code class="option">--connection-limit</code> option (Álvaro Herrera)
  386. </p></li><li class="listitem"><p>
  387. Cope with changes of the specific type referenced by a PL/pgSQL
  388. composite-type variable in more cases (Ashutosh Sharma, Tom Lane)
  389. </p><p>
  390. Dropping and re-creating the composite type referenced by a PL/pgSQL
  391. variable could lead to <span class="quote">“<span class="quote">could not open relation with
  392. OID <em class="replaceable"><code>NNNN</code></em></span>”</span> errors.
  393. </p></li><li class="listitem"><p>
  394. Avoid crash in <code class="filename">postgres_fdw</code> when trying to
  395. send a command like <code class="literal">UPDATE remote_tab SET (x,y) = (SELECT
  396. ...)</code> to the remote server (Tom Lane)
  397. </p></li><li class="listitem"><p>
  398. In <code class="filename">contrib/dict_int</code>,
  399. reject <code class="varname">maxlen</code> settings less than one
  400. (Tomas Vondra)
  401. </p><p>
  402. This prevents a possible crash with silly settings for that parameter.
  403. </p></li><li class="listitem"><p>
  404. Disallow NULL category values
  405. in <code class="filename">contrib/tablefunc</code>'s
  406. <code class="function">crosstab()</code> function (Joe Conway)
  407. </p><p>
  408. This case never worked usefully, and it would crash on some
  409. platforms.
  410. </p></li><li class="listitem"><p>
  411. Fix <span class="application">configure</span>'s probe for
  412. OpenSSL's <code class="function">SSL_clear_options()</code> function so that
  413. it works with OpenSSL versions before 1.1.0 (Michael Paquier, Daniel
  414. Gustafsson)
  415. </p><p>
  416. This problem could lead to failure to set the SSL compression option
  417. as desired, when <span class="productname">PostgreSQL</span> is built against
  418. an old version of OpenSSL.
  419. </p></li><li class="listitem"><p>
  420. Mark some timeout and statistics-tracking GUC variables
  421. as <code class="literal">PGDLLIMPORT</code>, to allow extensions to access
  422. them on Windows (Pascal Legrand)
  423. </p><p>
  424. This applies to
  425. <code class="literal">idle_in_transaction_session_timeout</code>,
  426. <code class="literal">lock_timeout</code>,
  427. <code class="literal">statement_timeout</code>,
  428. <code class="literal">track_activities</code>,
  429. <code class="literal">track_counts</code>, and
  430. <code class="literal">track_functions</code>.
  431. </p></li><li class="listitem"><p>
  432. Avoid memory leak in sanity checks for <span class="quote">“<span class="quote">slab</span>”</span> memory
  433. contexts (Tomas Vondra)
  434. </p><p>
  435. This isn't an issue for production builds, since they wouldn't
  436. ordinarily have memory context checking enabled; but the leak could
  437. be quite severe in a debug build.
  438. </p></li><li class="listitem"><p>
  439. Fix multiple statistics entries reported by the LWLock statistics
  440. mechanism (Fujii Masao)
  441. </p><p>
  442. The LWLock statistics code (which is not built by default; it
  443. requires compiling with <code class="option">-DLWLOCK_STATS</code>)
  444. could report multiple entries for the same LWLock and backend
  445. process, as a result of faulty hashtable key creation.
  446. </p></li><li class="listitem"><p>
  447. Fix race condition that led to delayed delivery of interprocess
  448. signals on Windows (Amit Kapila)
  449. </p><p>
  450. This caused visible timing oddities in <code class="command">NOTIFY</code>,
  451. and perhaps other misbehavior.
  452. </p></li><li class="listitem"><p>
  453. Fix handling of a corner-case error result from
  454. Windows' <code class="function">ReadFile()</code> function
  455. (Thomas Munro, Juan José Santamaría Flecha)
  456. </p><p>
  457. So far as is known, this oversight just resulted in noisy log
  458. messages, not any actual query misbehavior.
  459. </p></li><li class="listitem"><p>
  460. On Windows, retry a few times after
  461. an <code class="literal">ERROR_ACCESS_DENIED</code> file access failure
  462. (Alexander Lakhin, Tom Lane)
  463. </p><p>
  464. This helps cope with cases where a file open attempt fails because
  465. the targeted file is flagged for deletion but not yet actually gone.
  466. <span class="application">pg_ctl</span>, for example, frequently failed
  467. with such an error when probing to see if the postmaster had shut
  468. down yet.
  469. </p></li><li class="listitem"><p>
  470. On Windows, work around sharing violations for the postmaster's log
  471. file when <span class="application">pg_ctl</span> is used to start the
  472. postmaster very shortly after it's been stopped, for example by
  473. <code class="literal">pg_ctl restart</code> (Alexander Lakhin)
  474. </p></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="release-12-3.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="release.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="release-12-1.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.2. Release 12.3 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> E.4. Release 12.1</td></tr></table></div></body></html>
上海开阖软件有限公司 沪ICP备12045867号-1