17
17
review, so each item is truly a community effort.
18
18
__________________________________________________________________
22
Release Date: 2011-12-05
24
This release contains a variety of fixes from 9.1.1. For information
25
about new features in the 9.1 major release, see the Section called
27
__________________________________________________________________
29
Migration to Version 9.1.2
31
A dump/restore is not required for those running 9.1.X.
33
However, a longstanding error was discovered in the definition of the
34
information_schema.referential_constraints view. If you rely on correct
35
results from that view, you should replace its definition as explained
36
in the first changelog item below.
38
Also, if your installation was upgraded from a previous major release
39
by running pg_upgrade, and it contains table columns of the citext data
40
type, you should run CREATE EXTENSION citext FROM unpackaged. If you've
41
already done that before upgrading to 9.1.2, you will instead need to
42
do manual catalog updates as explained in the second changelog item.
43
__________________________________________________________________
47
* Fix bugs in information_schema.referential_constraints view (Tom
49
This view was being insufficiently careful about matching the
50
foreign-key constraint to the depended-on primary or unique key
51
constraint. That could result in failure to show a foreign key
52
constraint at all, or showing it multiple times, or claiming that
53
it depends on a different constraint than the one it really does.
54
Since the view definition is installed by initdb, merely upgrading
55
will not fix the problem. If you need to fix this in an existing
56
installation, you can (as a superuser) drop the information_schema
57
schema then re-create it by sourcing
58
"SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
59
you're uncertain where "SHAREDIR" is.) This must be repeated in
60
each database to be fixed.
61
* Make "contrib/citext"'s upgrade script fix collations of citext
62
columns and indexes (Tom Lane)
63
Existing citext columns and indexes aren't correctly marked as
64
being of a collatable data type during pg_upgrade from a pre-9.1
65
server. That leads to operations on them failing with errors such
66
as "could not determine which collation to use for string
67
comparison". This change allows them to be fixed by the same script
68
that upgrades the citext module into a proper 9.1 extension during
69
CREATE EXTENSION citext FROM unpackaged.
70
If you have a previously-upgraded database that is suffering from
71
this problem, and you already ran the "CREATE EXTENSION" command,
72
you can manually run (as superuser) the "UPDATE" commands found at
73
the end of "SHAREDIR/extension/citext--unpackaged--1.0.sql". (Run
74
pg_config --sharedir if you're uncertain where "SHAREDIR" is.)
75
* Fix possible crash during "UPDATE" or "DELETE" that joins to the
76
output of a scalar-returning function (Tom Lane)
77
A crash could only occur if the target row had been concurrently
78
updated, so this problem surfaced only intermittently.
79
* Fix incorrect replay of WAL records for GIN index updates (Tom
81
This could result in transiently failing to find index entries
82
after a crash, or on a hot-standby server. The problem would be
83
repaired by the next "VACUUM" of the index, however.
84
* Fix TOAST-related data corruption during CREATE TABLE dest AS
85
SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
86
If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
87
to copy its data verbatim to another table could produce corrupt
88
results in certain corner cases. The problem can only manifest in
89
this precise form in 8.4 and later, but we patched earlier versions
90
as well in case there are other code paths that could trigger the
92
* Fix possible failures during hot standby startup (Simon Riggs)
93
* Start hot standby faster when initial snapshot is incomplete (Simon
95
* Fix race condition during toast table access from stale syscache
97
The typical symptom was transient errors like "missing chunk number
98
0 for toast value NNNNN in pg_toast_2619", where the cited toast
99
table would always belong to a system catalog.
100
* Track dependencies of functions on items used in parameter default
101
expressions (Tom Lane)
102
Previously, a referenced object could be dropped without having
103
dropped or modified the function, leading to misbehavior when the
104
function was used. Note that merely installing this update will not
105
fix the missing dependency entries; to do that, you'd need to
106
"CREATE OR REPLACE" each such function afterwards. If you have
107
functions whose defaults depend on non-built-in objects, doing so
109
* Fix incorrect management of placeholder variables in nestloop joins
111
This bug is known to lead to "variable not found in subplan target
112
list" planner errors, and could possibly result in wrong query
113
output when outer joins are involved.
114
* Fix window functions that sort by expressions involving aggregates
116
Previously these could fail with "could not find pathkey item to
117
sort" planner errors.
118
* Fix "MergeAppend child's targetlist doesn't match MergeAppend"
119
planner errors (Tom Lane)
120
* Fix index matching for operators with both collatable and
121
noncollatable inputs (Tom Lane)
122
In 9.1.0, an indexable operator that has a non-collatable left-hand
123
input type and a collatable right-hand input type would not be
124
recognized as matching the left-hand column's index. An example is
125
the hstore ? text operator.
126
* Allow inlining of set-returning SQL functions with multiple OUT
127
parameters (Tom Lane)
128
* Don't trust deferred-unique indexes for join removal (Tom Lane and
130
A deferred uniqueness constraint might not hold intra-transaction,
131
so assuming that it does could give incorrect query results.
132
* Make DatumGetInetP() unpack inet datums that have a 1-byte header,
133
and add a new macro, DatumGetInetPP(), that does not (Heikki
135
This change affects no core code, but might prevent crashes in
136
add-on code that expects DatumGetInetP() to produce an unpacked
137
datum as per usual convention.
138
* Improve locale support in money type's input and output (Tom Lane)
139
Aside from not supporting all standard lc_monetary formatting
140
options, the input and output functions were inconsistent, meaning
141
there were locales in which dumped money values could not be
143
* Don't let transform_null_equals affect CASE foo WHEN NULL ...
144
constructs (Heikki Linnakangas)
145
transform_null_equals is only supposed to affect foo = NULL
146
expressions written directly by the user, not equality checks
147
generated internally by this form of CASE.
148
* Change foreign-key trigger creation order to better support
149
self-referential foreign keys (Tom Lane)
150
For a cascading foreign key that references its own table, a row
151
update will fire both the ON UPDATE trigger and the CHECK trigger
152
as one event. The ON UPDATE trigger must execute first, else the
153
CHECK will check a non-final state of the row and possibly throw an
154
inappropriate error. However, the firing order of these triggers is
155
determined by their names, which generally sort in creation order
156
since the triggers have auto-generated names following the
157
convention "RI_ConstraintTrigger_NNNN". A proper fix would require
158
modifying that convention, which we will do in 9.2, but it seems
159
risky to change it in existing releases. So this patch just changes
160
the creation order of the triggers. Users encountering this type of
161
error should drop and re-create the foreign key constraint to get
162
its triggers into the right order.
163
* Fix IF EXISTS to work correctly in "DROP OPERATOR FAMILY" (Robert
165
* Disallow dropping of an extension from within its own script (Tom
167
This prevents odd behavior in case of incorrect management of
168
extension dependencies.
169
* Don't mark auto-generated types as extension members (Robert Haas)
170
Relation rowtypes and automatically-generated array types do not
171
need to have their own extension membership entries in pg_depend,
172
and creating such entries complicates matters for extension
174
* Cope with invalid pre-existing search_path settings during "CREATE
175
EXTENSION" (Tom Lane)
176
* Avoid floating-point underflow while tracking buffer allocation
178
While harmless in itself, on certain platforms this would result in
179
annoying kernel log messages.
180
* Prevent autovacuum transactions from running in serializable mode
182
Autovacuum formerly used the cluster-wide default transaction
183
isolation level, but there is no need for it to use anything higher
184
than READ COMMITTED, and using SERIALIZABLE could result in
185
unnecessary delays for other processes.
186
* Ensure walsender processes respond promptly to SIGTERM (Magnus
188
* Exclude "postmaster.opts" from base backups (Magnus Hagander)
189
* Preserve configuration file name and line number values when
190
starting child processes under Windows (Tom Lane)
191
Formerly, these would not be displayed correctly in the pg_settings
193
* Fix incorrect field alignment in ecpg's SQLDA area (Zoltan
195
* Preserve blank lines within commands in psql's command history
197
The former behavior could cause problems if an empty line was
198
removed from within a string literal, for example.
199
* Avoid platform-specific infinite loop in pg_dump (Steve Singer)
200
* Fix compression of plain-text output format in pg_dump (Adrian
202
pg_dump has historically understood -Z with no -F switch to mean
203
that it should emit a gzip-compressed version of its plain text
204
output. Restore that behavior.
205
* Fix pg_dump to dump user-defined casts between auto-generated
206
types, such as table rowtypes (Tom Lane)
207
* Fix missed quoting of foreign server names in pg_dump (Tom Lane)
208
* Assorted fixes for pg_upgrade (Bruce Momjian)
209
Handle exclusion constraints correctly, avoid failures on Windows,
210
don't complain about mismatched toast table names in 8.4 databases.
211
* In PL/pgSQL, allow foreign tables to define row types (Alexander
213
* Fix up conversions of PL/Perl functions' results (Alex Hunsaker and
215
Restore the pre-9.1 behavior that PL/Perl functions returning void
216
ignore the result value of their last Perl statement; 9.1.0 would
217
throw an error if that statement returned a reference. Also, make
218
sure it works to return a string value for a composite type, so
219
long as the string meets the type's input format. In addition,
220
throw errors for attempts to return Perl arrays or hashes when the
221
function's declared result type is not an array or composite type,
222
respectively. (Pre-9.1 versions rather uselessly returned strings
223
like ARRAY(0x221a9a0) or HASH(0x221aa90) in such cases.)
224
* Ensure PL/Perl strings are always correctly UTF8-encoded (Amit
225
Khandekar and Alex Hunsaker)
226
* Use the preferred version of xsubpp to build PL/Perl, not
227
necessarily the operating system's main copy (David Wheeler and
229
* Correctly propagate SQLSTATE in PL/Python exceptions (Mika Eloranta
231
* Do not install PL/Python extension files for Python major versions
232
other than the one built against (Peter Eisentraut)
233
* Change all the "contrib" extension script files to report a useful
234
error message if they are fed to psql (Andrew Dunstan and Tom Lane)
235
This should help teach people about the new method of using "CREATE
236
EXTENSION" to load these files. In most cases, sourcing the scripts
237
directly would fail anyway, but with harder-to-interpret messages.
238
* Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn"
240
Some functions incorrectly assumed that memory returned by palloc()
241
is guaranteed zeroed.
242
* Remove "contrib/sepgsql" tests from the regular regression test
244
Since these tests require root privileges for setup, they're
245
impractical to run automatically. Switch over to a manual approach
246
instead, and provide a testing script to help with that.
247
* Fix assorted errors in "contrib/unaccent"'s configuration file
249
* Honor query cancel interrupts promptly in pgstatindex() (Robert
251
* Fix incorrect quoting of log file name in Mac OS X start script
253
* Revert unintentional enabling of WAL_DEBUG (Robert Haas)
254
Fortunately, as debugging tools go, this one is pretty cheap; but
255
it's not intended to be enabled by default, so revert.
256
* Ensure VPATH builds properly install all server header files (Peter
258
* Shorten file names reported in verbose error messages (Peter
260
Regular builds have always reported just the name of the C file
261
containing the error message call, but VPATH builds formerly
262
reported an absolute path name.
263
* Fix interpretation of Windows timezone names for Central America
265
Map "Central America Standard Time" to CST6, not CST6CDT, because
266
DST is generally not observed anywhere in Central America.
267
* Update time zone data files to tzdata release 2011n for DST law
268
changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
269
historical corrections for Alaska and British East Africa.
270
__________________________________________________________________
22
274
Release Date: 2011-09-26
987
1239
assumptions about character set.
988
1240
__________________________________________________________________
1244
Release Date: 2011-12-05
1246
This release contains a variety of fixes from 9.0.5. For information
1247
about new features in the 9.0 major release, see the Section called
1249
__________________________________________________________________
1251
Migration to Version 9.0.6
1253
A dump/restore is not required for those running 9.0.X.
1255
However, a longstanding error was discovered in the definition of the
1256
information_schema.referential_constraints view. If you rely on correct
1257
results from that view, you should replace its definition as explained
1258
in the first changelog item below.
1260
Also, if you are upgrading from a version earlier than 9.0.4, see the
1261
release notes for 9.0.4.
1262
__________________________________________________________________
1266
* Fix bugs in information_schema.referential_constraints view (Tom
1268
This view was being insufficiently careful about matching the
1269
foreign-key constraint to the depended-on primary or unique key
1270
constraint. That could result in failure to show a foreign key
1271
constraint at all, or showing it multiple times, or claiming that
1272
it depends on a different constraint than the one it really does.
1273
Since the view definition is installed by initdb, merely upgrading
1274
will not fix the problem. If you need to fix this in an existing
1275
installation, you can (as a superuser) drop the information_schema
1276
schema then re-create it by sourcing
1277
"SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
1278
you're uncertain where "SHAREDIR" is.) This must be repeated in
1279
each database to be fixed.
1280
* Fix possible crash during "UPDATE" or "DELETE" that joins to the
1281
output of a scalar-returning function (Tom Lane)
1282
A crash could only occur if the target row had been concurrently
1283
updated, so this problem surfaced only intermittently.
1284
* Fix incorrect replay of WAL records for GIN index updates (Tom
1286
This could result in transiently failing to find index entries
1287
after a crash, or on a hot-standby server. The problem would be
1288
repaired by the next "VACUUM" of the index, however.
1289
* Fix TOAST-related data corruption during CREATE TABLE dest AS
1290
SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
1291
If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
1292
to copy its data verbatim to another table could produce corrupt
1293
results in certain corner cases. The problem can only manifest in
1294
this precise form in 8.4 and later, but we patched earlier versions
1295
as well in case there are other code paths that could trigger the
1297
* Fix possible failures during hot standby startup (Simon Riggs)
1298
* Start hot standby faster when initial snapshot is incomplete (Simon
1300
* Fix race condition during toast table access from stale syscache
1302
The typical symptom was transient errors like "missing chunk number
1303
0 for toast value NNNNN in pg_toast_2619", where the cited toast
1304
table would always belong to a system catalog.
1305
* Track dependencies of functions on items used in parameter default
1306
expressions (Tom Lane)
1307
Previously, a referenced object could be dropped without having
1308
dropped or modified the function, leading to misbehavior when the
1309
function was used. Note that merely installing this update will not
1310
fix the missing dependency entries; to do that, you'd need to
1311
"CREATE OR REPLACE" each such function afterwards. If you have
1312
functions whose defaults depend on non-built-in objects, doing so
1314
* Allow inlining of set-returning SQL functions with multiple OUT
1315
parameters (Tom Lane)
1316
* Don't trust deferred-unique indexes for join removal (Tom Lane and
1318
A deferred uniqueness constraint might not hold intra-transaction,
1319
so assuming that it does could give incorrect query results.
1320
* Make DatumGetInetP() unpack inet datums that have a 1-byte header,
1321
and add a new macro, DatumGetInetPP(), that does not (Heikki
1323
This change affects no core code, but might prevent crashes in
1324
add-on code that expects DatumGetInetP() to produce an unpacked
1325
datum as per usual convention.
1326
* Improve locale support in money type's input and output (Tom Lane)
1327
Aside from not supporting all standard lc_monetary formatting
1328
options, the input and output functions were inconsistent, meaning
1329
there were locales in which dumped money values could not be
1331
* Don't let transform_null_equals affect CASE foo WHEN NULL ...
1332
constructs (Heikki Linnakangas)
1333
transform_null_equals is only supposed to affect foo = NULL
1334
expressions written directly by the user, not equality checks
1335
generated internally by this form of CASE.
1336
* Change foreign-key trigger creation order to better support
1337
self-referential foreign keys (Tom Lane)
1338
For a cascading foreign key that references its own table, a row
1339
update will fire both the ON UPDATE trigger and the CHECK trigger
1340
as one event. The ON UPDATE trigger must execute first, else the
1341
CHECK will check a non-final state of the row and possibly throw an
1342
inappropriate error. However, the firing order of these triggers is
1343
determined by their names, which generally sort in creation order
1344
since the triggers have auto-generated names following the
1345
convention "RI_ConstraintTrigger_NNNN". A proper fix would require
1346
modifying that convention, which we will do in 9.2, but it seems
1347
risky to change it in existing releases. So this patch just changes
1348
the creation order of the triggers. Users encountering this type of
1349
error should drop and re-create the foreign key constraint to get
1350
its triggers into the right order.
1351
* Avoid floating-point underflow while tracking buffer allocation
1352
rate (Greg Matthews)
1353
While harmless in itself, on certain platforms this would result in
1354
annoying kernel log messages.
1355
* Preserve configuration file name and line number values when
1356
starting child processes under Windows (Tom Lane)
1357
Formerly, these would not be displayed correctly in the pg_settings
1359
* Fix incorrect field alignment in ecpg's SQLDA area (Zoltan
1361
* Preserve blank lines within commands in psql's command history
1363
The former behavior could cause problems if an empty line was
1364
removed from within a string literal, for example.
1365
* Fix pg_dump to dump user-defined casts between auto-generated
1366
types, such as table rowtypes (Tom Lane)
1367
* Assorted fixes for pg_upgrade (Bruce Momjian)
1368
Handle exclusion constraints correctly, avoid failures on Windows,
1369
don't complain about mismatched toast table names in 8.4 databases.
1370
* Use the preferred version of xsubpp to build PL/Perl, not
1371
necessarily the operating system's main copy (David Wheeler and
1373
* Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn"
1375
Some functions incorrectly assumed that memory returned by palloc()
1376
is guaranteed zeroed.
1377
* Fix assorted errors in "contrib/unaccent"'s configuration file
1379
* Honor query cancel interrupts promptly in pgstatindex() (Robert
1381
* Fix incorrect quoting of log file name in Mac OS X start script
1383
* Ensure VPATH builds properly install all server header files (Peter
1385
* Shorten file names reported in verbose error messages (Peter
1387
Regular builds have always reported just the name of the C file
1388
containing the error message call, but VPATH builds formerly
1389
reported an absolute path name.
1390
* Fix interpretation of Windows timezone names for Central America
1392
Map "Central America Standard Time" to CST6, not CST6CDT, because
1393
DST is generally not observed anywhere in Central America.
1394
* Update time zone data files to tzdata release 2011n for DST law
1395
changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
1396
historical corrections for Alaska and British East Africa.
1397
__________________________________________________________________
992
1401
Release Date: 2011-09-26
2797
3206
__________________________________________________________________
3210
Release Date: 2011-12-05
3212
This release contains a variety of fixes from 8.4.9. For information
3213
about new features in the 8.4 major release, see the Section called
3215
__________________________________________________________________
3217
Migration to Version 8.4.10
3219
A dump/restore is not required for those running 8.4.X.
3221
However, a longstanding error was discovered in the definition of the
3222
information_schema.referential_constraints view. If you rely on correct
3223
results from that view, you should replace its definition as explained
3224
in the first changelog item below.
3226
Also, if you are upgrading from a version earlier than 8.4.8, see the
3227
release notes for 8.4.8.
3228
__________________________________________________________________
3232
* Fix bugs in information_schema.referential_constraints view (Tom
3234
This view was being insufficiently careful about matching the
3235
foreign-key constraint to the depended-on primary or unique key
3236
constraint. That could result in failure to show a foreign key
3237
constraint at all, or showing it multiple times, or claiming that
3238
it depends on a different constraint than the one it really does.
3239
Since the view definition is installed by initdb, merely upgrading
3240
will not fix the problem. If you need to fix this in an existing
3241
installation, you can (as a superuser) drop the information_schema
3242
schema then re-create it by sourcing
3243
"SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
3244
you're uncertain where "SHAREDIR" is.) This must be repeated in
3245
each database to be fixed.
3246
* Fix incorrect replay of WAL records for GIN index updates (Tom
3248
This could result in transiently failing to find index entries
3249
after a crash, or on a hot-standby server. The problem would be
3250
repaired by the next "VACUUM" of the index, however.
3251
* Fix TOAST-related data corruption during CREATE TABLE dest AS
3252
SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
3253
If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
3254
to copy its data verbatim to another table could produce corrupt
3255
results in certain corner cases. The problem can only manifest in
3256
this precise form in 8.4 and later, but we patched earlier versions
3257
as well in case there are other code paths that could trigger the
3259
* Fix race condition during toast table access from stale syscache
3261
The typical symptom was transient errors like "missing chunk number
3262
0 for toast value NNNNN in pg_toast_2619", where the cited toast
3263
table would always belong to a system catalog.
3264
* Track dependencies of functions on items used in parameter default
3265
expressions (Tom Lane)
3266
Previously, a referenced object could be dropped without having
3267
dropped or modified the function, leading to misbehavior when the
3268
function was used. Note that merely installing this update will not
3269
fix the missing dependency entries; to do that, you'd need to
3270
"CREATE OR REPLACE" each such function afterwards. If you have
3271
functions whose defaults depend on non-built-in objects, doing so
3273
* Allow inlining of set-returning SQL functions with multiple OUT
3274
parameters (Tom Lane)
3275
* Make DatumGetInetP() unpack inet datums that have a 1-byte header,
3276
and add a new macro, DatumGetInetPP(), that does not (Heikki
3278
This change affects no core code, but might prevent crashes in
3279
add-on code that expects DatumGetInetP() to produce an unpacked
3280
datum as per usual convention.
3281
* Improve locale support in money type's input and output (Tom Lane)
3282
Aside from not supporting all standard lc_monetary formatting
3283
options, the input and output functions were inconsistent, meaning
3284
there were locales in which dumped money values could not be
3286
* Don't let transform_null_equals affect CASE foo WHEN NULL ...
3287
constructs (Heikki Linnakangas)
3288
transform_null_equals is only supposed to affect foo = NULL
3289
expressions written directly by the user, not equality checks
3290
generated internally by this form of CASE.
3291
* Change foreign-key trigger creation order to better support
3292
self-referential foreign keys (Tom Lane)
3293
For a cascading foreign key that references its own table, a row
3294
update will fire both the ON UPDATE trigger and the CHECK trigger
3295
as one event. The ON UPDATE trigger must execute first, else the
3296
CHECK will check a non-final state of the row and possibly throw an
3297
inappropriate error. However, the firing order of these triggers is
3298
determined by their names, which generally sort in creation order
3299
since the triggers have auto-generated names following the
3300
convention "RI_ConstraintTrigger_NNNN". A proper fix would require
3301
modifying that convention, which we will do in 9.2, but it seems
3302
risky to change it in existing releases. So this patch just changes
3303
the creation order of the triggers. Users encountering this type of
3304
error should drop and re-create the foreign key constraint to get
3305
its triggers into the right order.
3306
* Avoid floating-point underflow while tracking buffer allocation
3307
rate (Greg Matthews)
3308
While harmless in itself, on certain platforms this would result in
3309
annoying kernel log messages.
3310
* Preserve configuration file name and line number values when
3311
starting child processes under Windows (Tom Lane)
3312
Formerly, these would not be displayed correctly in the pg_settings
3314
* Preserve blank lines within commands in psql's command history
3316
The former behavior could cause problems if an empty line was
3317
removed from within a string literal, for example.
3318
* Fix pg_dump to dump user-defined casts between auto-generated
3319
types, such as table rowtypes (Tom Lane)
3320
* Use the preferred version of xsubpp to build PL/Perl, not
3321
necessarily the operating system's main copy (David Wheeler and
3323
* Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn"
3325
Some functions incorrectly assumed that memory returned by palloc()
3326
is guaranteed zeroed.
3327
* Honor query cancel interrupts promptly in pgstatindex() (Robert
3329
* Ensure VPATH builds properly install all server header files (Peter
3331
* Shorten file names reported in verbose error messages (Peter
3333
Regular builds have always reported just the name of the C file
3334
containing the error message call, but VPATH builds formerly
3335
reported an absolute path name.
3336
* Fix interpretation of Windows timezone names for Central America
3338
Map "Central America Standard Time" to CST6, not CST6CDT, because
3339
DST is generally not observed anywhere in Central America.
3340
* Update time zone data files to tzdata release 2011n for DST law
3341
changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
3342
historical corrections for Alaska and British East Africa.
3343
__________________________________________________________________
2801
3347
Release Date: 2011-09-26
5030
5576
unsafe to use a symlink (Simon)
5031
5577
__________________________________________________________________
5581
Release Date: 2011-12-05
5583
This release contains a variety of fixes from 8.3.16. For information
5584
about new features in the 8.3 major release, see the Section called
5586
__________________________________________________________________
5588
Migration to Version 8.3.17
5590
A dump/restore is not required for those running 8.3.X.
5592
However, a longstanding error was discovered in the definition of the
5593
information_schema.referential_constraints view. If you rely on correct
5594
results from that view, you should replace its definition as explained
5595
in the first changelog item below.
5597
Also, if you are upgrading from a version earlier than 8.3.8, see the
5598
release notes for 8.3.8.
5599
__________________________________________________________________
5603
* Fix bugs in information_schema.referential_constraints view (Tom
5605
This view was being insufficiently careful about matching the
5606
foreign-key constraint to the depended-on primary or unique key
5607
constraint. That could result in failure to show a foreign key
5608
constraint at all, or showing it multiple times, or claiming that
5609
it depends on a different constraint than the one it really does.
5610
Since the view definition is installed by initdb, merely upgrading
5611
will not fix the problem. If you need to fix this in an existing
5612
installation, you can (as a superuser) drop the information_schema
5613
schema then re-create it by sourcing
5614
"SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
5615
you're uncertain where "SHAREDIR" is.) This must be repeated in
5616
each database to be fixed.
5617
* Fix TOAST-related data corruption during CREATE TABLE dest AS
5618
SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
5619
If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
5620
to copy its data verbatim to another table could produce corrupt
5621
results in certain corner cases. The problem can only manifest in
5622
this precise form in 8.4 and later, but we patched earlier versions
5623
as well in case there are other code paths that could trigger the
5625
* Fix race condition during toast table access from stale syscache
5627
The typical symptom was transient errors like "missing chunk number
5628
0 for toast value NNNNN in pg_toast_2619", where the cited toast
5629
table would always belong to a system catalog.
5630
* Make DatumGetInetP() unpack inet datums that have a 1-byte header,
5631
and add a new macro, DatumGetInetPP(), that does not (Heikki
5633
This change affects no core code, but might prevent crashes in
5634
add-on code that expects DatumGetInetP() to produce an unpacked
5635
datum as per usual convention.
5636
* Improve locale support in money type's input and output (Tom Lane)
5637
Aside from not supporting all standard lc_monetary formatting
5638
options, the input and output functions were inconsistent, meaning
5639
there were locales in which dumped money values could not be
5641
* Don't let transform_null_equals affect CASE foo WHEN NULL ...
5642
constructs (Heikki Linnakangas)
5643
transform_null_equals is only supposed to affect foo = NULL
5644
expressions written directly by the user, not equality checks
5645
generated internally by this form of CASE.
5646
* Change foreign-key trigger creation order to better support
5647
self-referential foreign keys (Tom Lane)
5648
For a cascading foreign key that references its own table, a row
5649
update will fire both the ON UPDATE trigger and the CHECK trigger
5650
as one event. The ON UPDATE trigger must execute first, else the
5651
CHECK will check a non-final state of the row and possibly throw an
5652
inappropriate error. However, the firing order of these triggers is
5653
determined by their names, which generally sort in creation order
5654
since the triggers have auto-generated names following the
5655
convention "RI_ConstraintTrigger_NNNN". A proper fix would require
5656
modifying that convention, which we will do in 9.2, but it seems
5657
risky to change it in existing releases. So this patch just changes
5658
the creation order of the triggers. Users encountering this type of
5659
error should drop and re-create the foreign key constraint to get
5660
its triggers into the right order.
5661
* Avoid floating-point underflow while tracking buffer allocation
5662
rate (Greg Matthews)
5663
While harmless in itself, on certain platforms this would result in
5664
annoying kernel log messages.
5665
* Preserve blank lines within commands in psql's command history
5667
The former behavior could cause problems if an empty line was
5668
removed from within a string literal, for example.
5669
* Fix pg_dump to dump user-defined casts between auto-generated
5670
types, such as table rowtypes (Tom Lane)
5671
* Use the preferred version of xsubpp to build PL/Perl, not
5672
necessarily the operating system's main copy (David Wheeler and
5674
* Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn"
5676
Some functions incorrectly assumed that memory returned by palloc()
5677
is guaranteed zeroed.
5678
* Honor query cancel interrupts promptly in pgstatindex() (Robert
5680
* Ensure VPATH builds properly install all server header files (Peter
5682
* Shorten file names reported in verbose error messages (Peter
5684
Regular builds have always reported just the name of the C file
5685
containing the error message call, but VPATH builds formerly
5686
reported an absolute path name.
5687
* Fix interpretation of Windows timezone names for Central America
5689
Map "Central America Standard Time" to CST6, not CST6CDT, because
5690
DST is generally not observed anywhere in Central America.
5691
* Update time zone data files to tzdata release 2011n for DST law
5692
changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
5693
historical corrections for Alaska and British East Africa.
5694
__________________________________________________________________
5035
5698
Release Date: 2011-09-26
7478
8141
The new XML support in core PostgreSQL supersedes this module.
7479
8142
__________________________________________________________________
8146
Release Date: 2011-12-05
8148
This release contains a variety of fixes from 8.2.22. For information
8149
about new features in the 8.2 major release, see the Section called
8152
This is expected to be the last PostgreSQL release in the 8.2.X series.
8153
Users are encouraged to update to a newer release branch soon.
8154
__________________________________________________________________
8156
Migration to Version 8.2.23
8158
A dump/restore is not required for those running 8.2.X.
8160
However, a longstanding error was discovered in the definition of the
8161
information_schema.referential_constraints view. If you rely on correct
8162
results from that view, you should replace its definition as explained
8163
in the first changelog item below.
8165
Also, if you are upgrading from a version earlier than 8.2.14, see the
8166
release notes for 8.2.14.
8167
__________________________________________________________________
8171
* Fix bugs in information_schema.referential_constraints view (Tom
8173
This view was being insufficiently careful about matching the
8174
foreign-key constraint to the depended-on primary or unique key
8175
constraint. That could result in failure to show a foreign key
8176
constraint at all, or showing it multiple times, or claiming that
8177
it depends on a different constraint than the one it really does.
8178
Since the view definition is installed by initdb, merely upgrading
8179
will not fix the problem. If you need to fix this in an existing
8180
installation, you can (as a superuser) drop the information_schema
8181
schema then re-create it by sourcing
8182
"SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
8183
you're uncertain where "SHAREDIR" is.) This must be repeated in
8184
each database to be fixed.
8185
* Fix TOAST-related data corruption during CREATE TABLE dest AS
8186
SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
8187
If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
8188
to copy its data verbatim to another table could produce corrupt
8189
results in certain corner cases. The problem can only manifest in
8190
this precise form in 8.4 and later, but we patched earlier versions
8191
as well in case there are other code paths that could trigger the
8193
* Fix race condition during toast table access from stale syscache
8195
The typical symptom was transient errors like "missing chunk number
8196
0 for toast value NNNNN in pg_toast_2619", where the cited toast
8197
table would always belong to a system catalog.
8198
* Improve locale support in money type's input and output (Tom Lane)
8199
Aside from not supporting all standard lc_monetary formatting
8200
options, the input and output functions were inconsistent, meaning
8201
there were locales in which dumped money values could not be
8203
* Don't let transform_null_equals affect CASE foo WHEN NULL ...
8204
constructs (Heikki Linnakangas)
8205
transform_null_equals is only supposed to affect foo = NULL
8206
expressions written directly by the user, not equality checks
8207
generated internally by this form of CASE.
8208
* Change foreign-key trigger creation order to better support
8209
self-referential foreign keys (Tom Lane)
8210
For a cascading foreign key that references its own table, a row
8211
update will fire both the ON UPDATE trigger and the CHECK trigger
8212
as one event. The ON UPDATE trigger must execute first, else the
8213
CHECK will check a non-final state of the row and possibly throw an
8214
inappropriate error. However, the firing order of these triggers is
8215
determined by their names, which generally sort in creation order
8216
since the triggers have auto-generated names following the
8217
convention "RI_ConstraintTrigger_NNNN". A proper fix would require
8218
modifying that convention, which we will do in 9.2, but it seems
8219
risky to change it in existing releases. So this patch just changes
8220
the creation order of the triggers. Users encountering this type of
8221
error should drop and re-create the foreign key constraint to get
8222
its triggers into the right order.
8223
* Preserve blank lines within commands in psql's command history
8225
The former behavior could cause problems if an empty line was
8226
removed from within a string literal, for example.
8227
* Use the preferred version of xsubpp to build PL/Perl, not
8228
necessarily the operating system's main copy (David Wheeler and
8230
* Honor query cancel interrupts promptly in pgstatindex() (Robert
8232
* Ensure VPATH builds properly install all server header files (Peter
8234
* Shorten file names reported in verbose error messages (Peter
8236
Regular builds have always reported just the name of the C file
8237
containing the error message call, but VPATH builds formerly
8238
reported an absolute path name.
8239
* Fix interpretation of Windows timezone names for Central America
8241
Map "Central America Standard Time" to CST6, not CST6CDT, because
8242
DST is generally not observed anywhere in Central America.
8243
* Update time zone data files to tzdata release 2011n for DST law
8244
changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
8245
historical corrections for Alaska and British East Africa.
8246
__________________________________________________________________
7483
8250
Release Date: 2011-09-26