|
1 | 1 | <!-- doc/src/sgml/release-9.4.sgml -->
|
2 | 2 | <!-- See header comment in release.sgml about typical markup -->
|
3 | 3 |
|
| 4 | + <sect1 id="release-9-4-23"> |
| 5 | + <title>Release 9.4.23</title> |
| 6 | + |
| 7 | + <formalpara> |
| 8 | + <title>Release date:</title> |
| 9 | + <para>2019-06-20</para> |
| 10 | + </formalpara> |
| 11 | + |
| 12 | + <para> |
| 13 | + This release contains a variety of fixes from 9.4.22. |
| 14 | + For information about new features in the 9.4 major release, see |
| 15 | + <xref linkend="release-9-4">. |
| 16 | + </para> |
| 17 | + |
| 18 | + <para> |
| 19 | + The <productname>PostgreSQL</productname> community will stop |
| 20 | + releasing updates for the 9.4.X release series in February 2020. |
| 21 | + Users are encouraged to update to a newer release branch soon. |
| 22 | + </para> |
| 23 | + |
| 24 | + <sect2> |
| 25 | + <title>Migration to Version 9.4.23</title> |
| 26 | + |
| 27 | + <para> |
| 28 | + A dump/restore is not required for those running 9.4.X. |
| 29 | + </para> |
| 30 | + |
| 31 | + <para> |
| 32 | + However, if you are upgrading from a version earlier than 9.4.18, |
| 33 | + see <xref linkend="release-9-4-18">. |
| 34 | + </para> |
| 35 | + </sect2> |
| 36 | + |
| 37 | + <sect2> |
| 38 | + <title>Changes</title> |
| 39 | + |
| 40 | + <itemizedlist> |
| 41 | + |
| 42 | + <listitem> |
| 43 | +<!-- |
| 44 | +Author: Tom Lane <tgl@sss.pgh.pa.us> |
| 45 | +Branch: master [e76de8861] 2019-06-12 12:29:39 -0400 |
| 46 | +Branch: REL_11_STABLE [0b6edb9fb] 2019-06-12 12:29:41 -0400 |
| 47 | +Branch: REL_10_STABLE [2981e5a61] 2019-06-12 12:29:42 -0400 |
| 48 | +Branch: REL9_6_STABLE [77d45b790] 2019-06-12 12:29:43 -0400 |
| 49 | +Branch: REL9_5_STABLE [f7e99de95] 2019-06-12 12:29:45 -0400 |
| 50 | +Branch: REL9_4_STABLE [9695ecf36] 2019-06-12 12:29:25 -0400 |
| 51 | +--> |
| 52 | + <para> |
| 53 | + Fix failure of <command>ALTER TABLE ... ALTER COLUMN TYPE</command> |
| 54 | + when the table has a partial exclusion constraint (Tom Lane) |
| 55 | + </para> |
| 56 | + </listitem> |
| 57 | + |
| 58 | + <listitem> |
| 59 | +<!-- |
| 60 | +Author: Tom Lane <tgl@sss.pgh.pa.us> |
| 61 | +Branch: master [3d99a8139] 2019-06-12 19:43:08 -0400 |
| 62 | +Branch: REL_11_STABLE [f95d8f810] 2019-06-12 19:43:09 -0400 |
| 63 | +Branch: REL_10_STABLE [30d3df0a7] 2019-06-12 19:43:10 -0400 |
| 64 | +Branch: REL9_6_STABLE [ad3e61b28] 2019-06-12 19:42:39 -0400 |
| 65 | +Branch: REL9_5_STABLE [bf612fd3a] 2019-06-12 19:42:39 -0400 |
| 66 | +Branch: REL9_4_STABLE [8ace51a6b] 2019-06-12 19:42:39 -0400 |
| 67 | +--> |
| 68 | + <para> |
| 69 | + Fix incorrect printing of queries with duplicate join names |
| 70 | + (Philip Dubé) |
| 71 | + </para> |
| 72 | + |
| 73 | + <para> |
| 74 | + This oversight caused a dump/restore failure for views containing |
| 75 | + such queries. |
| 76 | + </para> |
| 77 | + </listitem> |
| 78 | + |
| 79 | + <listitem> |
| 80 | +<!-- |
| 81 | +Author: Tom Lane <tgl@sss.pgh.pa.us> |
| 82 | +Branch: master [8a29ed053] 2019-05-12 18:53:38 -0400 |
| 83 | +Branch: REL_11_STABLE [72ce7acaf] 2019-05-12 18:53:40 -0400 |
| 84 | +Branch: REL_10_STABLE [940f64792] 2019-05-12 18:53:41 -0400 |
| 85 | +Branch: REL9_6_STABLE [2a3dbc151] 2019-05-12 18:53:42 -0400 |
| 86 | +Branch: REL9_5_STABLE [d6de52636] 2019-05-12 18:53:43 -0400 |
| 87 | +Branch: REL9_4_STABLE [b1ca28e57] 2019-05-12 18:53:45 -0400 |
| 88 | +--> |
| 89 | + <para> |
| 90 | + Fix misoptimization of <literal>{1,1}</literal> quantifiers in |
| 91 | + regular expressions (Tom Lane) |
| 92 | + </para> |
| 93 | + |
| 94 | + <para> |
| 95 | + Such quantifiers were treated as no-ops and optimized away; |
| 96 | + but the documentation specifies that they impose greediness, or |
| 97 | + non-greediness in the case of the non-greedy |
| 98 | + variant <literal>{1,1}?</literal>, on the subexpression they're |
| 99 | + attached to, and this did not happen. The misbehavior occurred |
| 100 | + only if the subexpression contained capturing parentheses or a |
| 101 | + back-reference. |
| 102 | + </para> |
| 103 | + </listitem> |
| 104 | + |
| 105 | + <listitem> |
| 106 | +<!-- |
| 107 | +Author: Tom Lane <tgl@sss.pgh.pa.us> |
| 108 | +Branch: master [610747d86] 2019-05-10 14:56:41 -0400 |
| 109 | +Branch: REL_11_STABLE [803f90ab7] 2019-05-10 14:56:41 -0400 |
| 110 | +Branch: REL_10_STABLE [3dcf45af5] 2019-05-10 14:56:41 -0400 |
| 111 | +Branch: REL9_6_STABLE [a73c8caea] 2019-05-10 14:56:41 -0400 |
| 112 | +Branch: REL9_5_STABLE [91a05390c] 2019-05-10 14:56:41 -0400 |
| 113 | +Branch: REL9_4_STABLE [b1cde67a4] 2019-05-10 14:56:41 -0400 |
| 114 | +--> |
| 115 | + <para> |
| 116 | + Fix race condition in check to see whether a pre-existing shared |
| 117 | + memory segment is still in use by a conflicting postmaster (Tom Lane) |
| 118 | + </para> |
| 119 | + </listitem> |
| 120 | + |
| 121 | + <listitem> |
| 122 | +<!-- |
| 123 | +Author: Andres Freund <andres@anarazel.de> |
| 124 | +Branch: master [fff2a7d7b] 2019-06-10 23:34:50 -0700 |
| 125 | +Branch: REL_11_STABLE [c01556017] 2019-06-10 23:35:38 -0700 |
| 126 | +Branch: REL_10_STABLE [52ad5fc0a] 2019-06-10 23:36:48 -0700 |
| 127 | +Branch: REL9_6_STABLE [b8607e15e] 2019-06-10 23:36:55 -0700 |
| 128 | +Branch: REL9_5_STABLE [483b2d7ae] 2019-06-10 23:36:59 -0700 |
| 129 | +Branch: REL9_4_STABLE [69f32206d] 2019-06-10 23:37:02 -0700 |
| 130 | +--> |
| 131 | + <para> |
| 132 | + Avoid attempting to do database accesses for parameter checking in |
| 133 | + processes that are not connected to a specific database (Vignesh C, |
| 134 | + Andres Freund) |
| 135 | + </para> |
| 136 | + |
| 137 | + <para> |
| 138 | + This error could result in failures like <quote>cannot read pg_class |
| 139 | + without having selected a database</quote>. |
| 140 | + </para> |
| 141 | + </listitem> |
| 142 | + |
| 143 | + <listitem> |
| 144 | +<!-- |
| 145 | +Author: Tom Lane <tgl@sss.pgh.pa.us> |
| 146 | +Branch: master [23bd3cec6] 2018-09-13 12:36:21 -0400 |
| 147 | +Branch: REL_11_STABLE [995b4fe0b] 2019-06-14 11:25:13 -0400 |
| 148 | +Branch: REL_10_STABLE [8de574aa8] 2019-06-14 11:25:13 -0400 |
| 149 | +Branch: REL9_6_STABLE [75b0f21e1] 2019-06-14 11:25:13 -0400 |
| 150 | +Branch: REL9_5_STABLE [77dc741a1] 2019-06-14 11:25:13 -0400 |
| 151 | +Branch: REL9_4_STABLE [37011bcb3] 2019-06-14 11:25:13 -0400 |
| 152 | +Author: Andrew Gierth <rhodiumtoad@postgresql.org> |
| 153 | +Branch: master [e3846a00c] 2019-06-15 18:15:23 +0100 |
| 154 | +Branch: REL_11_STABLE [7f28fc8e9] 2019-06-15 18:16:43 +0100 |
| 155 | +Branch: REL_10_STABLE [2913a892e] 2019-06-15 18:18:03 +0100 |
| 156 | +Branch: REL9_6_STABLE [5f5b6667e] 2019-06-15 18:19:30 +0100 |
| 157 | +Branch: REL9_5_STABLE [6335f8a99] 2019-06-15 18:21:41 +0100 |
| 158 | +Branch: REL9_4_STABLE [6c66865f3] 2019-06-15 18:23:16 +0100 |
| 159 | +--> |
| 160 | + <para> |
| 161 | + Improve <application>initdb</application>'s handling of multiple |
| 162 | + equivalent names for the system time zone (Tom Lane, Andrew Gierth) |
| 163 | + </para> |
| 164 | + |
| 165 | + <para> |
| 166 | + Make <application>initdb</application> examine |
| 167 | + the <filename>/etc/localtime</filename> symbolic link, if that |
| 168 | + exists, to break ties between equivalent names for the system time |
| 169 | + zone. This makes <application>initdb</application> more likely to |
| 170 | + select the time zone name that the user would expect when multiple |
| 171 | + identical time zones exist. It will not change the behavior |
| 172 | + if <filename>/etc/localtime</filename> is not a symlink to a zone |
| 173 | + data file, nor if the time zone is determined from |
| 174 | + the <envar>TZ</envar> environment variable. |
| 175 | + </para> |
| 176 | + |
| 177 | + <para> |
| 178 | + Separately, prefer <literal>UTC</literal> over other spellings of |
| 179 | + that time zone, when neither <envar>TZ</envar> |
| 180 | + nor <filename>/etc/localtime</filename> provide a hint. This fixes |
| 181 | + an annoyance introduced by <application>tzdata</application> 2019a's |
| 182 | + change to make the <literal>UCT</literal> and <literal>UTC</literal> |
| 183 | + zone names equivalent: <application>initdb</application> was then |
| 184 | + preferring <literal>UCT</literal>, which almost nobody wants. |
| 185 | + </para> |
| 186 | + </listitem> |
| 187 | + |
| 188 | + <listitem> |
| 189 | +<!-- |
| 190 | +Author: Michael Paquier <michael@paquier.xyz> |
| 191 | +Branch: master [e51bad8fb] 2019-05-11 13:00:54 +0900 |
| 192 | +Branch: REL_11_STABLE [e16ab408f] 2019-05-11 13:01:07 +0900 |
| 193 | +Branch: REL_10_STABLE [c6354e943] 2019-05-11 13:01:12 +0900 |
| 194 | +Branch: REL9_6_STABLE [0c132d458] 2019-05-11 13:01:19 +0900 |
| 195 | +Branch: REL9_5_STABLE [e17fba8d8] 2019-05-11 13:01:24 +0900 |
| 196 | +Branch: REL9_4_STABLE [82ed20e15] 2019-05-11 13:01:29 +0900 |
| 197 | +--> |
| 198 | + <para> |
| 199 | + Fix misleading error reports |
| 200 | + from <application>reindexdb</application> (Julien Rouhaud) |
| 201 | + </para> |
| 202 | + </listitem> |
| 203 | + |
| 204 | + <listitem> |
| 205 | +<!-- |
| 206 | +Author: Etsuro Fujita <efujita@postgresql.org> |
| 207 | +Branch: master [8b6da83d1] 2019-06-13 17:59:09 +0900 |
| 208 | +Branch: REL_11_STABLE [214460182] 2019-06-13 17:59:11 +0900 |
| 209 | +Branch: REL_10_STABLE [0f2b23426] 2019-06-13 17:59:12 +0900 |
| 210 | +Branch: REL9_6_STABLE [1ade21e7f] 2019-06-13 17:59:13 +0900 |
| 211 | +Branch: REL9_5_STABLE [eddb79705] 2019-06-13 17:59:15 +0900 |
| 212 | +Branch: REL9_4_STABLE [1a3d9f62c] 2019-06-13 17:59:17 +0900 |
| 213 | +--> |
| 214 | + <para> |
| 215 | + In <filename>contrib/postgres_fdw</filename>, account for possible |
| 216 | + data modifications by local <literal>BEFORE ROW UPDATE</literal> |
| 217 | + triggers (Shohei Mochizuki) |
| 218 | + </para> |
| 219 | + |
| 220 | + <para> |
| 221 | + If a trigger modified a column that was otherwise not changed by the |
| 222 | + <command>UPDATE</command>, the new value was not transmitted to the |
| 223 | + remote server. |
| 224 | + </para> |
| 225 | + </listitem> |
| 226 | + |
| 227 | + <listitem> |
| 228 | +<!-- |
| 229 | +Author: Noah Misch <noah@leadboat.com> |
| 230 | +Branch: master [d02768ddd] 2019-05-12 10:33:05 -0700 |
| 231 | +Branch: REL_11_STABLE [4ec14e5aa] 2019-05-12 10:33:08 -0700 |
| 232 | +Branch: REL_10_STABLE [409f5303c] 2019-05-12 10:33:08 -0700 |
| 233 | +Branch: REL9_6_STABLE [ff7555c4f] 2019-05-12 10:33:36 -0700 |
| 234 | +Branch: REL9_5_STABLE [9dc65bcf9] 2019-05-12 10:34:22 -0700 |
| 235 | +Branch: REL9_4_STABLE [08e3fd96f] 2019-05-12 10:34:26 -0700 |
| 236 | +--> |
| 237 | + <para> |
| 238 | + On Windows, avoid failure when the database encoding is set to |
| 239 | + SQL_ASCII and we attempt to log a non-ASCII string (Noah Misch) |
| 240 | + </para> |
| 241 | + |
| 242 | + <para> |
| 243 | + The code had been assuming that such strings must be in UTF-8, and |
| 244 | + would throw an error if they didn't appear to be validly encoded. |
| 245 | + Now, just transmit the untranslated bytes to the log. |
| 246 | + </para> |
| 247 | + </listitem> |
| 248 | + |
| 249 | + <listitem> |
| 250 | +<!-- |
| 251 | +Author: Tom Lane <tgl@sss.pgh.pa.us> |
| 252 | +Branch: master [3f61b3205] 2019-05-31 12:34:54 -0400 |
| 253 | +Branch: REL_11_STABLE [312017fcc] 2019-05-31 12:34:54 -0400 |
| 254 | +Branch: REL_10_STABLE [683c17b30] 2019-05-31 12:34:54 -0400 |
| 255 | +Branch: REL9_6_STABLE [c332c94ad] 2019-05-31 12:34:55 -0400 |
| 256 | +Branch: REL9_5_STABLE [da53e4f93] 2019-05-31 12:34:55 -0400 |
| 257 | +Branch: REL9_4_STABLE [db5d99916] 2019-05-31 12:34:55 -0400 |
| 258 | +--> |
| 259 | + <para> |
| 260 | + Make <application>PL/pgSQL</application>'s header files C++-safe |
| 261 | + (George Tarasov) |
| 262 | + </para> |
| 263 | + </listitem> |
| 264 | + |
| 265 | + </itemizedlist> |
| 266 | + |
| 267 | + </sect2> |
| 268 | + </sect1> |
| 269 | + |
4 | 270 | <sect1 id="release-9-4-22">
|
5 | 271 | <title>Release 9.4.22</title>
|
6 | 272 |
|
|
0 commit comments