Par N Bougain le 05/02/2008 - 23:26
Nouvelles hebdomadaires de PostgreSQL - February 03 2008
Attendez-vous à une 8.3 finale cette semaine !
[ndt : à présent publiée, un article la présente sur PostgreSQLFr :
http://www.postgresqlfr.org/?q=node/1547]
Les nouveautés des produits dérivés
Offres d'emplois autour de Postgres en février
http://archives.postgresql.org/pgsql-jobs/2008-02/threads.php
Postgres Local
PostgreSQL dans les média
Postgres Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter et Josh Berkus. La traduction en est assurée par l'équipe PostgreSQLFr.
Proposez vos articles ou annonces avant dimanche 15:00 (heure du Pacifique). Merci de les envoyer en anglais à david (a) fetter.org, en allemand à pwn (a) pgug.de, en italien à pwn (a) itpug.org.
Correctifs appliqués
Tom Lane a commité :
- Minor editorial improvements in documentation of session_replication_role; in particular correct the obsolete claim that it can't be changed once any plans have been cached.
- In pgsql/src/interfaces/libpq/fe-secure.c, arrange to ignore SIGPIPE during SSL_read() and SSL_shutdown(), as these are known to write on the socket sometimes and thus we are vulnerable to being killed by the signal if the server happens to go away unexpectedly. Noticed while trying (futilely) to reproduce bug #3902. This bug has been there all along, but since the situation is usually only of interest to developers, I chose not to back-patch the changes.
- In pgsql/src/interfaces/libpq/fe-connect.c, fix up closePGconn() so that PQreset() will work on GSSAPI/SSPI connections; the patch for those features put its cleanup code into freePGconn() which is really the wrong place. Remove redundant code from freePGconn() and add comments in hopes of preventing similar mistakes in future. Noticed while trying (futilely) to reproduce bug #3902.
- In pgsql/src/backend/libpq/auth.c, don't putenv() a string that is allocated in a context that will go away soon. I suspect this explains bug #3902, though I'm still not able to reproduce that.
- Add a GUC variable "synchronize_seqscans" to allow clients to disable the new synchronized-scanning behavior, and make pg_dump disable sync scans so that it will reliably preserve row ordering. Per recent discussions.
- Add checks to TRUNCATE, CLUSTER, and REINDEX to prevent performing these operations when the current transaction has any open references to the target relation or index (implying it has an active query using the relation). The need for this was previously recognized in connection with ALTER TABLE, but anything that summarily eliminates tuples or moves them around would confuse an active scan. While this patch does not in itself fix bug #3883 (the deadlock would happen before the new check fires), it will discourage people from attempting the sequence of operations that creates a deadlock risk, so it's at least a partial response to that problem. In passing, add a previously-missing check to REINDEX to prevent trying to reindex another backend's temp table. This isn't a security problem since only a superuser would get past the schema permission checks, but if we are testing for this in other utility commands then surely REINDEX should too.
- In pgsql/doc/src/sgml/catalogs.sgml, improve pg_autovacuum documentation to clarify that the enabled field cannot prevent anti-wraparound vacuuming, and to caution against setting unreasonably small values of freeze_max_age. Also put in a notice that this catalog is likely to disappear entirely in some future release. Per discussion of bug #3898 from Steven Flatt.
- In pgsql/src/interfaces/libpq/fe-auth.c, fix pg_GSS_error to use conn->errorMessage more sanely, ie, actually work with the PQExpBuffer code instead of fighting it. This avoids an unnecessary limit on message length and fixes the latent bug that errorMessage.len wasn't getting set.
- In pgsql/doc/src/sgml/installation.sgml, remove the old table of "supported platforms" in favor of a link to the buildfarm plus a narrative description of the CPU types and operating systems on which Postgres is likely to work. Now that we've almost completely decoupled CPU and OS considerations, the former tabular style isn't all that enlightening anyway. Perhaps more importantly, no one seems particularly interested in maintaining the table by hand when we have the buildfarm.
- In pgsql/doc/src/sgml/release.sgml, mention synchronize_seqscans GUC variable in release notes. Update expected release date.
- Fix WaitOnLock() to ensure that the process's "waiting" flag is reset after erroring out of a wait. We can use a PG_TRY block for this, but add a comment explaining why it'd be a bad idea to use it for any other state cleanup. Back-patch to 8.2. Prior releases had the same issue, but only with respect to the process title, which is likely to get reset almost immediately anyway after the transaction aborts, so it seems not worth changing them. In 8.2 and HEAD, the pg_stat_activity "waiting" flag could remain set incorrectly for a long time. Per report from Gurjeet Singh.
- In pgsql/doc/src/sgml/config.sgml, move example of turning off synchronous_commit to a more logical place, to wit in the description of that variable rather than some other one.
- In pgsql/doc/src/sgml/release.sgml, minor wordsmithing in release notes' description of asynchronous commit.
- In pgsql/doc/src/sgml/ref/vacuum.sgml, fix mistaken duplicate reference to max_fsm_pages, per bug #3926. Also make links clickable.
Bruce Momjian a commité :
- In pgsql/doc/src/sgml/high-availability.sgml, add "Communication Method" row to HA feature matrix documentation.
- Remove duplicate item, "Allow the PITR process to be debugged and data examined" from TODO.
- Add to TODO: "Add autonomous transactions."
- Add to TODO: "Improve deadlock detection when deleting items from shared buffers."
- In pgsql/doc/src/sgml/runtime.sgml, document the idea of creating a symbolic link in /tmp to prevent server spoofing when the socket file has been moved.
- In pgsql/doc/src/sgml/runtime.sgml, update spoofing /tmp symlink instructions to be more specific about the name of the needed symlink file.
- Add comment about possible URL changes for www7.hp.com:
- Fix spelling typo in comment.
- Update TODO to read: "Improve deadlock detection when a page cleaning lock conflicts with a shared buffer that is pinned."
- Update FAQ for most recent release as 8.3.
- Stamp 8.3 in CVS. _No_ update of configure/configure.in.
Peter Eisentraut a commité :
- In pgsql/doc/src/sgml/catalogs.sgml, markup fix from Gevik Babakhani.
- In pgsql/doc/src/sgml/keywords.sgml, update keywords table for 8.3.
- In pgsql/doc/src/sgml/high-availability.sgml, improve table reference.
- Translation updates.
Andrew Dunstan a commité :
- In pgsql/src/tools/msvc/gendef.pl, fix test that wrongly excluded some dumpbin symbols. Keep the intermediate symbol file rather then blowing it away, for easier debugging.
- In pgsql/src/tools/msvc/gendef.pl, remove 3 hex digit limit on symbol number in recent fix.
Magnus Hagander a commité :
- In pgsql/src/backend/utils/misc/ps_status.c, add pid to the pgident event name on win32. Should fix a problem where two clusters are running under two different service accounts and get colliding names, causing only the first cluster to contain the pgident event description. Per report from Stephen Denne.
Marc Fournier a commité :
- configure tag'd 8.3.0 and built witih autoconf 2.59
Correctifs rejetés (à ce jour)
- Pavel Stehule's patch to allow people to obfuscate PL/PgSQL functions, on grounds of its dependency on contrib/pgcrypto.
Correctifs en attente
- Dean Rasheed sent in a patch to allow logging of the explain plan for each query.
- Gokulakannan Somasundaram sent in another revision of his "thick index" patch.
- Gregory Stark sent in a patch for doing prereading while doing bitmap index scans.
- Simon Riggs sent in a patch to add TRUNCATE triggers to CVS HEAD. Intended for 8.4.
- Tom Lane sent in a patch to fix bug #3921, which complained that CREATE TABLE LIKE INCLUDING INDEXES fails inappropriately for non-superusers.
- Peter Eisentraut sent a patch to upgrade to autoconf 2.61 for 8.4