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.

307 linhas
19KB

  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.4. Release 12.1</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-2.html" title="E.3. Release 12.2" /><link rel="next" href="release-12.html" title="E.5. Release 12" /></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.4. Release 12.1</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="release-12-2.html" title="E.3. Release 12.2">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.html" title="E.5. Release 12">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="RELEASE-12-1"><div class="titlepage"><div><div><h2 class="title" style="clear: both">E.4. Release 12.1</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="sect2"><a href="release-12-1.html#id-1.11.6.8.4">E.4.1. Migration to Version 12.1</a></span></dt><dt><span class="sect2"><a href="release-12-1.html#id-1.11.6.8.5">E.4.2. Changes</a></span></dt></dl></div><p><strong>Release date: </strong>2019-11-14</p><p>
  3. This release contains a variety of fixes from 12.0.
  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.8.4"><div class="titlepage"><div><div><h3 class="title">E.4.1. Migration to Version 12.1</h3></div></div></div><p>
  7. A dump/restore is not required for those running 12.X.
  8. </p></div><div class="sect2" id="id-1.11.6.8.5"><div class="titlepage"><div><div><h3 class="title">E.4.2. Changes</h3></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
  9. Fix crash when <code class="command">ALTER TABLE</code> adds a column without
  10. a default value along with making other changes that require a table
  11. rewrite (Andres Freund)
  12. </p></li><li class="listitem"><p>
  13. Fix lock handling in <code class="command">REINDEX CONCURRENTLY</code>
  14. (Michael Paquier)
  15. </p><p>
  16. <code class="command">REINDEX CONCURRENTLY</code> neglected to take a
  17. session-level lock on the new index version, potentially allowing
  18. other sessions to manipulate it too soon.
  19. Also, a query-cancel or session-termination interrupt arriving at the
  20. wrong time could result in failure to release the session-level
  21. locks that <code class="command">REINDEX CONCURRENTLY</code> does hold.
  22. </p></li><li class="listitem"><p>
  23. Avoid crash due to race condition when reporting the progress of
  24. a <code class="command">CREATE INDEX CONCURRENTLY</code> or <code class="command">REINDEX
  25. CONCURRENTLY</code> command (Álvaro Herrera)
  26. </p></li><li class="listitem"><p>
  27. Avoid creating duplicate dependency entries during <code class="command">REINDEX
  28. CONCURRENTLY</code> (Michael Paquier)
  29. </p><p>
  30. This bug resulted in bloat in <code class="structname">pg_depend</code>,
  31. but no worse consequences than that.
  32. </p></li><li class="listitem"><p>
  33. Prevent <code class="command">VACUUM</code> from trying to freeze
  34. an old multixact ID involving a still-running transaction
  35. (Nathan Bossart, Jeremy Schneider)
  36. </p><p>
  37. This case would lead to <code class="command">VACUUM</code> failing until the
  38. old transaction terminates.
  39. </p></li><li class="listitem"><p>
  40. Fix <span class="quote">“<span class="quote">wrong type of slot</span>”</span> error when trying
  41. to <code class="command">CLUSTER</code> on an expression index (Andres Freund)
  42. </p></li><li class="listitem"><p>
  43. <code class="command">SET CONSTRAINTS ... DEFERRED</code> failed on
  44. partitioned tables, incorrectly complaining about lack of triggers
  45. (Álvaro Herrera)
  46. </p></li><li class="listitem"><p>
  47. Fix failure when creating indexes for a partition, if the parent
  48. partitioned table contains any dropped columns (Michael Paquier)
  49. </p></li><li class="listitem"><p>
  50. Fix dropping of indexed columns in partitioned tables
  51. (Amit Langote, Michael Paquier)
  52. </p><p>
  53. Previously this might fail with an error message complaining about
  54. the dependencies of the indexes. It should automatically drop the
  55. indexes, instead.
  56. </p></li><li class="listitem"><p>
  57. Ensure that a partition index can be dropped after a failure to
  58. reindex it concurrently (Michael Paquier)
  59. </p><p>
  60. The
  61. index's <code class="structname">pg_class</code>.<code class="structfield">relispartition</code>
  62. flag was left in the wrong state in such a case,
  63. causing <code class="command">DROP INDEX</code> to fail.
  64. </p></li><li class="listitem"><p>
  65. Fix handling of equivalence class members for partition-wise joins
  66. (Amit Langote)
  67. </p><p>
  68. This oversight could lead either to failure to use a feasible
  69. partition-wise join plan, or to a <span class="quote">“<span class="quote">could not find pathkey item
  70. to sort</span>”</span> planner failure.
  71. </p></li><li class="listitem"><p>
  72. Ensure that offset expressions in <code class="literal">WINDOW</code> clauses
  73. are processed when a query's expressions are manipulated (Andrew Gierth)
  74. </p><p>
  75. This oversight could result in assorted failures when the offsets
  76. are nontrivial expressions. One example is that a function
  77. parameter reference in such an expression would fail if the function
  78. was inlined.
  79. </p></li><li class="listitem"><p>
  80. Avoid postmaster failure if a parallel query requests a background
  81. worker when no postmaster child process array slots remain free
  82. (Tom Lane)
  83. </p></li><li class="listitem"><p>
  84. Fix crash triggered by an EvalPlanQual recheck on a table with
  85. a <code class="literal">BEFORE UPDATE</code> trigger (Andres Freund)
  86. </p></li><li class="listitem"><p>
  87. Fix <span class="quote">“<span class="quote">unexpected relkind</span>”</span> error when a query tries to
  88. access a TOAST table (John Hsu, Michael Paquier, Tom Lane)
  89. </p><p>
  90. The error should say that permission is denied, but this case got
  91. broken during code refactoring.
  92. </p></li><li class="listitem"><p>
  93. Provide a relevant error context line when an error occurs while
  94. setting GUC parameters during parallel worker startup (Thomas Munro)
  95. </p></li><li class="listitem"><p>
  96. Ensure that <code class="function">fsync()</code> is applied only to files
  97. that are opened read/write (Andres Freund, Michael Paquier)
  98. </p><p>
  99. Some code paths tried to do this after opening a file read-only,
  100. but on some platforms that causes <span class="quote">“<span class="quote">bad file descriptor</span>”</span>
  101. or similar errors.
  102. </p></li><li class="listitem"><p>
  103. Allow encoding conversion to succeed on longer strings than before
  104. (Álvaro Herrera, Tom Lane)
  105. </p><p>
  106. Previously, there was a hard limit of 0.25GB on the input string,
  107. but now it will work as long as the converted output is not over 1GB.
  108. </p></li><li class="listitem"><p>
  109. Avoid creating unnecessarily-bulky tuple stores for window functions
  110. (Andrew Gierth)
  111. </p><p>
  112. In some cases the tuple storage would include all columns of the
  113. source table(s), not just the ones that are needed by the query.
  114. </p></li><li class="listitem"><p>
  115. Allow <code class="function">repalloc()</code> to give back space when a
  116. large chunk is reduced in size (Tom Lane)
  117. </p></li><li class="listitem"><p>
  118. Ensure that temporary WAL and history files are removed at the end
  119. of archive recovery (Sawada Masahiko)
  120. </p></li><li class="listitem"><p>
  121. Avoid failure in archive recovery
  122. if <code class="varname">recovery_min_apply_delay</code> is enabled
  123. (Fujii Masao)
  124. </p><p>
  125. <code class="varname">recovery_min_apply_delay</code> is not typically used in
  126. this configuration, but it should work.
  127. </p></li><li class="listitem"><p>
  128. Ignore <code class="varname">restore_command</code>,
  129. <code class="varname">recovery_end_command</code>,
  130. and <code class="varname">recovery_min_apply_delay</code> settings during
  131. crash recovery (Fujii Masao)
  132. </p><p>
  133. Now that these settings can be specified
  134. in <code class="filename">postgresql.conf</code>, they could be turned on
  135. during crash recovery, but honoring them then is undesirable.
  136. Ignore these settings until crash recovery is complete.
  137. </p></li><li class="listitem"><p>
  138. Fix logical replication failure when publisher and subscriber have
  139. different ideas about a table's replica identity columns
  140. (Jehan-Guillaume de Rorthais, Peter Eisentraut)
  141. </p><p>
  142. Declaring a column as part of the replica identity on the
  143. subscriber, when it does not exist at all on the publisher, led
  144. to <span class="quote">“<span class="quote">negative bitmapset member not allowed</span>”</span> errors.
  145. </p></li><li class="listitem"><p>
  146. Avoid unwanted delay during shutdown of a logical replication
  147. walsender (Craig Ringer, Álvaro Herrera)
  148. </p></li><li class="listitem"><p>
  149. Fix timeout handling in logical replication walreceiver processes
  150. (Julien Rouhaud)
  151. </p><p>
  152. Erroneous logic prevented <code class="varname">wal_receiver_timeout</code>
  153. from working in logical replication deployments.
  154. </p></li><li class="listitem"><p>
  155. Correctly time-stamp replication messages for logical
  156. decoding (Jeff Janes)
  157. </p><p>
  158. This oversight resulted, for example,
  159. in <code class="structname">pg_stat_subscription</code>.<code class="structfield">last_msg_send_time</code>
  160. usually reading as NULL.
  161. </p></li><li class="listitem"><p>
  162. Fix race condition during backend exit, when the backend process has
  163. previously waited for synchronous replication to occur (Dongming Liu)
  164. </p></li><li class="listitem"><p>
  165. Avoid logging complaints about abandoned connections when using PAM
  166. authentication (Tom Lane)
  167. </p><p>
  168. libpq-based clients will typically make two connection attempts when
  169. a password is required, since they don't prompt their user for a
  170. password until their first connection attempt fails. Therefore the
  171. server is coded not to generate useless log spam when a client
  172. closes the connection upon being asked for a password. However,
  173. the PAM authentication code hadn't gotten that memo, and would
  174. generate several messages about a phantom authentication failure.
  175. </p></li><li class="listitem"><p>
  176. Fix misbehavior of <code class="function">bitshiftright()</code> (Tom Lane)
  177. </p><p>
  178. The bitstring right shift operator failed to zero out padding space
  179. that exists in the last byte of the result when the bitstring length
  180. is not a multiple of 8. While invisible to most operations, any
  181. nonzero bits there would result in unexpected comparison behavior,
  182. since bitstring comparisons don't bother to ignore the extra bits,
  183. expecting them to always be zero.
  184. </p><p>
  185. If you have inconsistent data as a result of saving the output
  186. of <code class="function">bitshiftright()</code> in a table, it's possible to
  187. fix it with something like
  188. </p><pre class="programlisting">
  189. UPDATE mytab SET bitcol = ~(~bitcol) WHERE bitcol != ~(~bitcol);
  190. </pre><p>
  191. </p></li><li class="listitem"><p>
  192. Fix result of text <code class="function">position()</code> function (also
  193. known as <code class="function">strpos()</code>) for an empty search string
  194. (Tom Lane)
  195. </p><p>
  196. Historically, and per the SQL standard, the result should be one in
  197. such cases, but 12.0 returned zero.
  198. </p></li><li class="listitem"><p>
  199. Fix detection of edge-case integer overflow in interval
  200. multiplication (Yuya Watari)
  201. </p></li><li class="listitem"><p>
  202. Avoid crashes if <code class="literal">ispell</code> text search dictionaries
  203. contain wrong affix data (Arthur Zakirov)
  204. </p></li><li class="listitem"><p>
  205. Avoid memory leak while vacuuming a GiST index (Dilip Kumar)
  206. </p></li><li class="listitem"><p>
  207. On Windows, recognize additional spellings of the <span class="quote">“<span class="quote">Norwegian
  208. (Bokmål)</span>”</span> locale name (Tom Lane)
  209. </p></li><li class="listitem"><p>
  210. Fix <span class="application">libpq</span> to allow trailing whitespace in
  211. the string values of integer parameters (Michael Paquier)
  212. </p><p>
  213. Version 12 tightened <span class="application">libpq</span>'s validation
  214. of integer parameters, but disallowing trailing whitespace seems
  215. undesirable.
  216. </p></li><li class="listitem"><p>
  217. In <span class="application">libpq</span>, correctly
  218. report <code class="literal">CONNECTION_BAD</code> connection status after a
  219. failure caused by a syntactically
  220. invalid <code class="option">connect_timeout</code> parameter value (Lars Kanis)
  221. </p></li><li class="listitem"><p>
  222. Avoid compile failure if an ECPG client
  223. includes <code class="filename">ecpglib.h</code> while
  224. having <code class="literal">ENABLE_NLS</code> defined (Tom Lane)
  225. </p><p>
  226. This risk was created by a misplaced
  227. declaration: <code class="function">ecpg_gettext()</code> should not be
  228. visible to client code.
  229. </p></li><li class="listitem"><p>
  230. Fix scheduling of parallel restore of a foreign key constraint on a
  231. partitioned table (Álvaro Herrera)
  232. </p><p>
  233. <span class="application">pg_dump</span> failed to emit full dependency
  234. information for partitioned tables' foreign keys. This could allow
  235. parallel <span class="application">pg_restore</span> to try to recreate a
  236. foreign key constraint too soon.
  237. </p></li><li class="listitem"><p>
  238. In <span class="application">pg_dump</span>, ensure stable output order
  239. for similarly-named triggers and row-level-security policy objects
  240. (Benjie Gillam)
  241. </p><p>
  242. Previously, if two triggers on different tables had the same names,
  243. they would be sorted in OID-based order, which is less desirable
  244. than sorting them by table name. Likewise for RLS policies.
  245. </p></li><li class="listitem"><p>
  246. In <span class="application">pg_upgrade</span>, reject tables with
  247. columns of type <code class="type">sql_identifier</code>, as that has changed
  248. representation in version 12 (Tomas Vondra)
  249. </p></li><li class="listitem"><p>
  250. Improve <span class="application">pg_upgrade</span>'s checks for the use
  251. of a data type that has changed representation, such
  252. as <code class="type">line</code> (Tomas Vondra)
  253. </p><p>
  254. The previous coding could be fooled by cases where the data type of
  255. interest underlies a stored column of a domain or composite type.
  256. </p></li><li class="listitem"><p>
  257. In <span class="application">pg_rewind</span>
  258. with the <code class="option">--dry-run</code> option, avoid
  259. updating <code class="filename">pg_control</code>
  260. (Alexey Kondratov)
  261. </p><p>
  262. This could lead to failures in
  263. subsequent <span class="application">pg_rewind</span> attempts.
  264. </p></li><li class="listitem"><p>
  265. Fix failure in <span class="application">pg_waldump</span> with
  266. the <code class="option">-s</code> option, when a continuation WAL record ends
  267. exactly at a page boundary (Andrey Lepikhov)
  268. </p></li><li class="listitem"><p>
  269. In <span class="application">pg_waldump</span> with
  270. the <code class="option">--bkp-details</code> option, avoid emitting extra
  271. newlines for WAL records involving full-page writes (Andres Freund)
  272. </p></li><li class="listitem"><p>
  273. Fix small memory leak in <span class="application">pg_waldump</span>
  274. (Andres Freund)
  275. </p></li><li class="listitem"><p>
  276. Put back <code class="function">pqsignal()</code> as an
  277. exported <span class="application">libpq</span> symbol (Tom Lane)
  278. </p><p>
  279. This function was removed on the grounds that no clients should be
  280. using it, but that turns out to break usage of
  281. current <span class="application">libpq</span> with very old versions
  282. of <span class="application">psql</span>, and perhaps other applications.
  283. </p></li><li class="listitem"><p>
  284. Fix <span class="application">configure</span>'s test for presence of
  285. libperl so that it works on recent Red Hat releases (Tom Lane)
  286. </p><p>
  287. Previously, it could fail if the user sets <code class="literal">CFLAGS</code>
  288. to <code class="literal">-O0</code>.
  289. </p></li><li class="listitem"><p>
  290. Ensure correct code generation for spinlocks on PowerPC (Noah Misch)
  291. </p><p>
  292. The previous spinlock coding allowed the compiler to select register
  293. zero for use with an assembly instruction that does not accept that
  294. register, causing a build failure. We have seen only one long-ago
  295. report that matches this bug, but it could cause problems for people
  296. trying to build modified <span class="productname">PostgreSQL</span> code
  297. or use atypical compiler options.
  298. </p></li><li class="listitem"><p>
  299. On AIX, don't use the compiler option <code class="option">-qsrcmsg</code>
  300. (Noah Misch)
  301. </p><p>
  302. This avoids an internal compiler error with xlc v16.1.0, with little
  303. consequence other than changing the format of compiler error messages.
  304. </p></li><li class="listitem"><p>
  305. Fix MSVC build process to cope with spaces in the file path of
  306. OpenSSL (Andrew Dunstan)
  307. </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-2.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.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">E.3. Release 12.2 </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> E.5. Release 12</td></tr></table></div></body></html>
上海开阖软件有限公司 沪ICP备12045867号-1