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 8.4.9. For information
25
about new features in the 8.4 major release, see the Section called
27
__________________________________________________________________
29
Migration to Version 8.4.10
31
A dump/restore is not required for those running 8.4.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 you are upgrading from a version earlier than 8.4.8, see the
39
release notes for 8.4.8.
40
__________________________________________________________________
44
* Fix bugs in information_schema.referential_constraints view (Tom
46
This view was being insufficiently careful about matching the
47
foreign-key constraint to the depended-on primary or unique key
48
constraint. That could result in failure to show a foreign key
49
constraint at all, or showing it multiple times, or claiming that
50
it depends on a different constraint than the one it really does.
51
Since the view definition is installed by initdb, merely upgrading
52
will not fix the problem. If you need to fix this in an existing
53
installation, you can (as a superuser) drop the information_schema
54
schema then re-create it by sourcing
55
"SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
56
you're uncertain where "SHAREDIR" is.) This must be repeated in
57
each database to be fixed.
58
* Fix incorrect replay of WAL records for GIN index updates (Tom
60
This could result in transiently failing to find index entries
61
after a crash, or on a hot-standby server. The problem would be
62
repaired by the next "VACUUM" of the index, however.
63
* Fix TOAST-related data corruption during CREATE TABLE dest AS
64
SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
65
If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
66
to copy its data verbatim to another table could produce corrupt
67
results in certain corner cases. The problem can only manifest in
68
this precise form in 8.4 and later, but we patched earlier versions
69
as well in case there are other code paths that could trigger the
71
* Fix race condition during toast table access from stale syscache
73
The typical symptom was transient errors like "missing chunk number
74
0 for toast value NNNNN in pg_toast_2619", where the cited toast
75
table would always belong to a system catalog.
76
* Track dependencies of functions on items used in parameter default
77
expressions (Tom Lane)
78
Previously, a referenced object could be dropped without having
79
dropped or modified the function, leading to misbehavior when the
80
function was used. Note that merely installing this update will not
81
fix the missing dependency entries; to do that, you'd need to
82
"CREATE OR REPLACE" each such function afterwards. If you have
83
functions whose defaults depend on non-built-in objects, doing so
85
* Allow inlining of set-returning SQL functions with multiple OUT
87
* Make DatumGetInetP() unpack inet datums that have a 1-byte header,
88
and add a new macro, DatumGetInetPP(), that does not (Heikki
90
This change affects no core code, but might prevent crashes in
91
add-on code that expects DatumGetInetP() to produce an unpacked
92
datum as per usual convention.
93
* Improve locale support in money type's input and output (Tom Lane)
94
Aside from not supporting all standard lc_monetary formatting
95
options, the input and output functions were inconsistent, meaning
96
there were locales in which dumped money values could not be
98
* Don't let transform_null_equals affect CASE foo WHEN NULL ...
99
constructs (Heikki Linnakangas)
100
transform_null_equals is only supposed to affect foo = NULL
101
expressions written directly by the user, not equality checks
102
generated internally by this form of CASE.
103
* Change foreign-key trigger creation order to better support
104
self-referential foreign keys (Tom Lane)
105
For a cascading foreign key that references its own table, a row
106
update will fire both the ON UPDATE trigger and the CHECK trigger
107
as one event. The ON UPDATE trigger must execute first, else the
108
CHECK will check a non-final state of the row and possibly throw an
109
inappropriate error. However, the firing order of these triggers is
110
determined by their names, which generally sort in creation order
111
since the triggers have auto-generated names following the
112
convention "RI_ConstraintTrigger_NNNN". A proper fix would require
113
modifying that convention, which we will do in 9.2, but it seems
114
risky to change it in existing releases. So this patch just changes
115
the creation order of the triggers. Users encountering this type of
116
error should drop and re-create the foreign key constraint to get
117
its triggers into the right order.
118
* Avoid floating-point underflow while tracking buffer allocation
120
While harmless in itself, on certain platforms this would result in
121
annoying kernel log messages.
122
* Preserve configuration file name and line number values when
123
starting child processes under Windows (Tom Lane)
124
Formerly, these would not be displayed correctly in the pg_settings
126
* Preserve blank lines within commands in psql's command history
128
The former behavior could cause problems if an empty line was
129
removed from within a string literal, for example.
130
* Fix pg_dump to dump user-defined casts between auto-generated
131
types, such as table rowtypes (Tom Lane)
132
* Use the preferred version of xsubpp to build PL/Perl, not
133
necessarily the operating system's main copy (David Wheeler and
135
* Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn"
137
Some functions incorrectly assumed that memory returned by palloc()
138
is guaranteed zeroed.
139
* Honor query cancel interrupts promptly in pgstatindex() (Robert
141
* Ensure VPATH builds properly install all server header files (Peter
143
* Shorten file names reported in verbose error messages (Peter
145
Regular builds have always reported just the name of the C file
146
containing the error message call, but VPATH builds formerly
147
reported an absolute path name.
148
* Fix interpretation of Windows timezone names for Central America
150
Map "Central America Standard Time" to CST6, not CST6CDT, because
151
DST is generally not observed anywhere in Central America.
152
* Update time zone data files to tzdata release 2011n for DST law
153
changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
154
historical corrections for Alaska and British East Africa.
155
__________________________________________________________________
22
159
Release Date: 2011-09-26
2251
2388
unsafe to use a symlink (Simon)
2252
2389
__________________________________________________________________
2393
Release Date: 2011-12-05
2395
This release contains a variety of fixes from 8.3.16. For information
2396
about new features in the 8.3 major release, see the Section called
2398
__________________________________________________________________
2400
Migration to Version 8.3.17
2402
A dump/restore is not required for those running 8.3.X.
2404
However, a longstanding error was discovered in the definition of the
2405
information_schema.referential_constraints view. If you rely on correct
2406
results from that view, you should replace its definition as explained
2407
in the first changelog item below.
2409
Also, if you are upgrading from a version earlier than 8.3.8, see the
2410
release notes for 8.3.8.
2411
__________________________________________________________________
2415
* Fix bugs in information_schema.referential_constraints view (Tom
2417
This view was being insufficiently careful about matching the
2418
foreign-key constraint to the depended-on primary or unique key
2419
constraint. That could result in failure to show a foreign key
2420
constraint at all, or showing it multiple times, or claiming that
2421
it depends on a different constraint than the one it really does.
2422
Since the view definition is installed by initdb, merely upgrading
2423
will not fix the problem. If you need to fix this in an existing
2424
installation, you can (as a superuser) drop the information_schema
2425
schema then re-create it by sourcing
2426
"SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
2427
you're uncertain where "SHAREDIR" is.) This must be repeated in
2428
each database to be fixed.
2429
* Fix TOAST-related data corruption during CREATE TABLE dest AS
2430
SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
2431
If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
2432
to copy its data verbatim to another table could produce corrupt
2433
results in certain corner cases. The problem can only manifest in
2434
this precise form in 8.4 and later, but we patched earlier versions
2435
as well in case there are other code paths that could trigger the
2437
* Fix race condition during toast table access from stale syscache
2439
The typical symptom was transient errors like "missing chunk number
2440
0 for toast value NNNNN in pg_toast_2619", where the cited toast
2441
table would always belong to a system catalog.
2442
* Make DatumGetInetP() unpack inet datums that have a 1-byte header,
2443
and add a new macro, DatumGetInetPP(), that does not (Heikki
2445
This change affects no core code, but might prevent crashes in
2446
add-on code that expects DatumGetInetP() to produce an unpacked
2447
datum as per usual convention.
2448
* Improve locale support in money type's input and output (Tom Lane)
2449
Aside from not supporting all standard lc_monetary formatting
2450
options, the input and output functions were inconsistent, meaning
2451
there were locales in which dumped money values could not be
2453
* Don't let transform_null_equals affect CASE foo WHEN NULL ...
2454
constructs (Heikki Linnakangas)
2455
transform_null_equals is only supposed to affect foo = NULL
2456
expressions written directly by the user, not equality checks
2457
generated internally by this form of CASE.
2458
* Change foreign-key trigger creation order to better support
2459
self-referential foreign keys (Tom Lane)
2460
For a cascading foreign key that references its own table, a row
2461
update will fire both the ON UPDATE trigger and the CHECK trigger
2462
as one event. The ON UPDATE trigger must execute first, else the
2463
CHECK will check a non-final state of the row and possibly throw an
2464
inappropriate error. However, the firing order of these triggers is
2465
determined by their names, which generally sort in creation order
2466
since the triggers have auto-generated names following the
2467
convention "RI_ConstraintTrigger_NNNN". A proper fix would require
2468
modifying that convention, which we will do in 9.2, but it seems
2469
risky to change it in existing releases. So this patch just changes
2470
the creation order of the triggers. Users encountering this type of
2471
error should drop and re-create the foreign key constraint to get
2472
its triggers into the right order.
2473
* Avoid floating-point underflow while tracking buffer allocation
2474
rate (Greg Matthews)
2475
While harmless in itself, on certain platforms this would result in
2476
annoying kernel log messages.
2477
* Preserve blank lines within commands in psql's command history
2479
The former behavior could cause problems if an empty line was
2480
removed from within a string literal, for example.
2481
* Fix pg_dump to dump user-defined casts between auto-generated
2482
types, such as table rowtypes (Tom Lane)
2483
* Use the preferred version of xsubpp to build PL/Perl, not
2484
necessarily the operating system's main copy (David Wheeler and
2486
* Fix incorrect coding in "contrib/dict_int" and "contrib/dict_xsyn"
2488
Some functions incorrectly assumed that memory returned by palloc()
2489
is guaranteed zeroed.
2490
* Honor query cancel interrupts promptly in pgstatindex() (Robert
2492
* Ensure VPATH builds properly install all server header files (Peter
2494
* Shorten file names reported in verbose error messages (Peter
2496
Regular builds have always reported just the name of the C file
2497
containing the error message call, but VPATH builds formerly
2498
reported an absolute path name.
2499
* Fix interpretation of Windows timezone names for Central America
2501
Map "Central America Standard Time" to CST6, not CST6CDT, because
2502
DST is generally not observed anywhere in Central America.
2503
* Update time zone data files to tzdata release 2011n for DST law
2504
changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
2505
historical corrections for Alaska and British East Africa.
2506
__________________________________________________________________
2256
2510
Release Date: 2011-09-26
4699
4953
The new XML support in core PostgreSQL supersedes this module.
4700
4954
__________________________________________________________________
4958
Release Date: 2011-12-05
4960
This release contains a variety of fixes from 8.2.22. For information
4961
about new features in the 8.2 major release, see the Section called
4964
This is expected to be the last PostgreSQL release in the 8.2.X series.
4965
Users are encouraged to update to a newer release branch soon.
4966
__________________________________________________________________
4968
Migration to Version 8.2.23
4970
A dump/restore is not required for those running 8.2.X.
4972
However, a longstanding error was discovered in the definition of the
4973
information_schema.referential_constraints view. If you rely on correct
4974
results from that view, you should replace its definition as explained
4975
in the first changelog item below.
4977
Also, if you are upgrading from a version earlier than 8.2.14, see the
4978
release notes for 8.2.14.
4979
__________________________________________________________________
4983
* Fix bugs in information_schema.referential_constraints view (Tom
4985
This view was being insufficiently careful about matching the
4986
foreign-key constraint to the depended-on primary or unique key
4987
constraint. That could result in failure to show a foreign key
4988
constraint at all, or showing it multiple times, or claiming that
4989
it depends on a different constraint than the one it really does.
4990
Since the view definition is installed by initdb, merely upgrading
4991
will not fix the problem. If you need to fix this in an existing
4992
installation, you can (as a superuser) drop the information_schema
4993
schema then re-create it by sourcing
4994
"SHAREDIR/information_schema.sql". (Run pg_config --sharedir if
4995
you're uncertain where "SHAREDIR" is.) This must be repeated in
4996
each database to be fixed.
4997
* Fix TOAST-related data corruption during CREATE TABLE dest AS
4998
SELECT * FROM src or INSERT INTO dest SELECT * FROM src (Tom Lane)
4999
If a table has been modified by "ALTER TABLE ADD COLUMN", attempts
5000
to copy its data verbatim to another table could produce corrupt
5001
results in certain corner cases. The problem can only manifest in
5002
this precise form in 8.4 and later, but we patched earlier versions
5003
as well in case there are other code paths that could trigger the
5005
* Fix race condition during toast table access from stale syscache
5007
The typical symptom was transient errors like "missing chunk number
5008
0 for toast value NNNNN in pg_toast_2619", where the cited toast
5009
table would always belong to a system catalog.
5010
* Improve locale support in money type's input and output (Tom Lane)
5011
Aside from not supporting all standard lc_monetary formatting
5012
options, the input and output functions were inconsistent, meaning
5013
there were locales in which dumped money values could not be
5015
* Don't let transform_null_equals affect CASE foo WHEN NULL ...
5016
constructs (Heikki Linnakangas)
5017
transform_null_equals is only supposed to affect foo = NULL
5018
expressions written directly by the user, not equality checks
5019
generated internally by this form of CASE.
5020
* Change foreign-key trigger creation order to better support
5021
self-referential foreign keys (Tom Lane)
5022
For a cascading foreign key that references its own table, a row
5023
update will fire both the ON UPDATE trigger and the CHECK trigger
5024
as one event. The ON UPDATE trigger must execute first, else the
5025
CHECK will check a non-final state of the row and possibly throw an
5026
inappropriate error. However, the firing order of these triggers is
5027
determined by their names, which generally sort in creation order
5028
since the triggers have auto-generated names following the
5029
convention "RI_ConstraintTrigger_NNNN". A proper fix would require
5030
modifying that convention, which we will do in 9.2, but it seems
5031
risky to change it in existing releases. So this patch just changes
5032
the creation order of the triggers. Users encountering this type of
5033
error should drop and re-create the foreign key constraint to get
5034
its triggers into the right order.
5035
* Preserve blank lines within commands in psql's command history
5037
The former behavior could cause problems if an empty line was
5038
removed from within a string literal, for example.
5039
* Use the preferred version of xsubpp to build PL/Perl, not
5040
necessarily the operating system's main copy (David Wheeler and
5042
* Honor query cancel interrupts promptly in pgstatindex() (Robert
5044
* Ensure VPATH builds properly install all server header files (Peter
5046
* Shorten file names reported in verbose error messages (Peter
5048
Regular builds have always reported just the name of the C file
5049
containing the error message call, but VPATH builds formerly
5050
reported an absolute path name.
5051
* Fix interpretation of Windows timezone names for Central America
5053
Map "Central America Standard Time" to CST6, not CST6CDT, because
5054
DST is generally not observed anywhere in Central America.
5055
* Update time zone data files to tzdata release 2011n for DST law
5056
changes in Brazil, Cuba, Fiji, Palestine, Russia, and Samoa; also
5057
historical corrections for Alaska and British East Africa.
5058
__________________________________________________________________
4704
5062
Release Date: 2011-09-26