Annexe E. Notes de version

Table des matières
E.1. Release 7.4.29
E.2. Release 7.4.28
E.3. Release 7.4.27
E.4. Release 7.4.26
E.5. Version 7.4.25
E.6. Version 7.4.24
E.7. Version 7.4.23
E.8. Release 7.4.22
E.9. Release 7.4.21
E.10. Release 7.4.20
E.11. Version 7.4.19
E.12. Version 7.4.18
E.13. Version 7.4.17
E.14. Version 7.4.16
E.15. Version 7.4.15
E.16. Version 7.4.14
E.17. Version 7.4.13
E.18. Version 7.4.12
E.19. Version 7.4.11
E.20. Version 7.4.10
E.21. Version 7.4.9
E.22. Version 7.4.8
E.23. Version 7.4.7
E.24. Sortie 7.4.6
E.25. Sortie 7.4.5
E.26. Sortie 7.4.4
E.27. Sortie 7.4.3
E.28. Sortie 7.4.2
E.29. Sortie 7.4.1
E.30. Sortie 7.4
E.31. Version 7.3.21
E.32. Version 7.3.20
E.33. Version 7.3.19
E.34. Version 7.3.18
E.35. Version 7.3.17
E.36. Version 7.3.16
E.37. Version 7.3.15
E.38. Version 7.3.14
E.39. Version 7.3.13
E.40. Version 7.3.12
E.41. Version 7.3.11
E.42. Version 7.3.10
E.43. Sortie 7.3.9
E.44. Sortie 7.3.8
E.45. Sortie 7.3.7
E.46. Sortie 7.3.6
E.47. Sortie 7.3.5
E.48. Sortie 7.3.4
E.49. Sortie 7.3.3
E.50. Sortie 7.3.2
E.51. Sortie 7.3.1
E.52. Sortie 7.3
E.53. Version 7.2.8
E.54. Sortie 7.2.7
E.55. Sortie 7.2.6
E.56. Sortie 7.2.5
E.57. Sortie 7.2.4
E.58. Sortie 7.2.3
E.59. Sortie 7.2.2
E.60. Sortie 7.2.1
E.61. Sortie 7.2
E.62. Sortie 7.1.3
E.63. Sortie 7.1.2
E.64. Sortie 7.1.1
E.65. Sortie 7.1
E.66. Sortie 7.0.3
E.67. Sortie 7.0.2
E.68. Sortie 7.0.1
E.69. Sortie 7.0
E.70. Sortie 6.5.3
E.71. Sortie 6.5.2
E.72. Sortie 6.5.1
E.73. Sortie 6.5
E.74. Sortie 6.4.2
E.75. Sortie 6.4.1
E.76. Sortie 6.4
E.77. Sortie 6.3.2
E.78. Sortie 6.3.1
E.79. Sortie 6.3
E.80. Sortie 6.2.1
E.81. Sortie 6.2
E.82. Sortie 6.1.1
E.83. Sortie 6.1
E.84. Sortie 6.0
E.85. Sortie 1.09
E.86. Sortie 1.02
E.87. Sortie 1.01
E.88. Sortie 1.0
E.89. Postgres95 Release 0.03
E.90. Postgres95 Release 0.02
E.91. Postgres95 Release 0.01

Les notes de version contiennent les modifications significatives apparaissant dans chaque version de PostgreSQL. Elles contiennent aussi les fonctionnalités majeures et les problèmes de migration éventuels. Les notes de version ne contiennent pas les modifications qui n'affectent que peu d'utilisateurs ainsi que les modifications internes, non visibles pour les utilisateurs. Par exemple, l'optimiseur est amélioré dans pratiquement chaque version, mais les améliorations ne sont visibles par les utilisateurs que par la plus grande rapidité des requêtes.

Une liste complète de modifications est récupérable pour chaque version en lisant les validations CVS. La liste de diffusion pgsql-committers enregistre en plus toutes les modifications du code source. Il existe aussi une interface web montrant les modifications sur chaque fichier.

Le nom apparaissant auprès de chaque élément précise le développeur principal de cet élément. Bien sûr, toutes les modifications impliquent des discussions de la communauté et une relecture des correctifs, donc chaque élément est vraiment un travail de la communauté.

E.1. Release 7.4.29

Release date : 2010-05-17

This release contains a variety of fixes from 7.4.28. For information about new features in the 7.4 major release, see Section E.30>.

The PostgreSQL community will stop releasing updates for the 7.4.X release series in July 2010. Users are encouraged to update to a newer release branch soon.

E.1.1. Migration to Version 7.4.29

A dump/restore is not required for those running 7.4.X. However, if you are upgrading from a version earlier than 7.4.26, see the release notes for 7.4.26.

E.1.2. Changes

  • Enforce restrictions in plperl using an opmask applied to the whole interpreter, instead of using Safe.pm (Tim Bunce, Andrew Dunstan)

    Recent developments have convinced us that Safe.pm is too insecure to rely on for making plperl trustable. This change removes use of Safe.pm altogether, in favor of using a separate interpreter with an opcode mask that is always applied. Pleasant side effects of the change include that it is now possible to use Perl's strict pragma in a natural way in plperl, and that Perl's $a and $b variables work as expected in sort routines, and that function compilation is significantly faster. (CVE-2010-1169)

  • Prevent PL/Tcl from executing untrustworthy code from pltcl_modules (Tom)

    PL/Tcl's feature for autoloading Tcl code from a database table could be exploited for trojan-horse attacks, because there was no restriction on who could create or insert into that table. This change disables the feature unless pltcl_modules is owned by a superuser. (However, the permissions on the table are not checked, so installations that really need a less-than-secure modules table can still grant suitable privileges to trusted non-superusers.) Also, prevent loading code into the unrestricted << normal >> Tcl interpreter unless we are really going to execute a pltclu function. (CVE-2010-1170)

  • Do not allow an unprivileged user to reset superuser-only parameter settings (Alvaro)

    Previously, if an unprivileged user ran ALTER USER ... RESET ALL for himself, or ALTER DATABASE ... RESET ALL for a database he owns, this would remove all special parameter settings for the user or database, even ones that are only supposed to be changeable by a superuser. Now, the ALTER will only remove the parameters that the user has permission to change.

  • Avoid possible crash during backend shutdown if shutdown occurs when a CONTEXT addition would be made to log entries (Tom)

    In some cases the context-printing function would fail because the current transaction had already been rolled back when it came time to print a log message.

  • Update pl/perl's ppport.h for modern Perl versions (Andrew)

  • Fix assorted memory leaks in pl/python (Andreas Freund, Tom)

  • Ensure that contrib/pgstattuple functions respond to cancel interrupts promptly (Tatsuhito Kasahara)

  • Make server startup deal properly with the case that shmget() returns EINVAL for an existing shared memory segment (Tom)

    This behavior has been observed on BSD-derived kernels including OS X. It resulted in an entirely-misleading startup failure complaining that the shared memory request size was too large.