Nouvelles hebdomadaires de PostgreSQL - 28 mars 2010
Les nouveautés des produits dérivés
La fonctionnalité 9.0 de la semaine
Il est maintenant possible d'avoir des blocs de code "anonyme", via l'instruction DO [ndt: http://developer.postgresql.org/pgdocs/postgres/sql-do.html], dans les langages PL/pgsql, PL/Perl et PL/LOLCODE.
Offres d'emplois autour de PostgreSQL en mars
PostgreSQL Local
PostgreSQL dans les média
PostgreSQL Weekly News / les nouvelles hebdomadaires vous sont offertes cette semaine par David Fetter. Traduction par l'équipe PostgreSQLFr sous licence CC BY-NC-SA.
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.
(lien vers l'article original)
Correctifs appliqués
Michael Meskes a commité :
- In pgsql/src/interfaces/ecpg/test/preproc/strings.pgc, fixed ECPG regression test to make sure it uses absolute paths for include files instead of relative ones which break vpath builds.
Tom Lane a commité :
- Fix an oversight in join-removal optimization: we have to check not only for plain Vars that are generated in the inner rel and used above the join, but also for PlaceHolderVars. Per report from Oleg Kolyhalin.
- In pgsql/src/test/regress/output/constraints.source, fix regression test breakage from recent change in default name of exclusion-constraint index.
- In pgsql/src/backend/postmaster/pgstat.c, now that we know last_statrequest > last_statwrite can be observed in the buildfarm, expend a little more effort on the log message for it.
- In pgsql/src/backend/libpq/hba.c, fix thinko in log message for "sameuser" ident map mismatch: the provided and authenticated usernames were swapped. Reported by Bryan Henderson in bug #5386. Also clean up poorly-maintained header comment for this function.
- In pgsql/contrib/intarray/_int_gin.c, fix ginint4_queryextract() to actually do what it was intended to do for an unsatisfiable query, such as indexcol && empty_array. It should return -1 to tell GIN no scan is required; but silly typo disabled the logic for that, resulting in unnecessary "GIN indexes do not support whole-index scans" error. Per bug report from Jeff Trout. Back-patch to 8.3 where the logic was introduced.
Bruce Momjian a commité :
- Re-order createuser and vacuumedb documentation options, for consistency. Gabrielle Roth.
- In pgsql/doc/src/sgml/release-9.0.sgml, properly credit Simon Riggs for functions pg_last_xlog_replay_location, etc.
- In pgsql/doc/src/sgml/release-9.0.sgml, add back other xlog() function author names.
- In pgsql/doc/src/sgml/release-9.0.sgml, typo fix from Erik (breinbaas) Rijkers.
- Document in postgresql.conf that the max_standby_delay default is 30 'seconds'.
Simon Riggs a commité :
- In pgsql/src/backend/commands/indexcmds.c, shorten suffix of automatically created indexes to "_excl" when using exclusion constraints, in line with string length of other pre-9.0 suffixes.
- In pgsql/src/backend/replication/walsender.c, reduce CPU utilisation of WALSender process. Process was using 10% CPU doing nothing, caused by naptime specified in milliseconds yet units of pg_usleep() parameter is microseconds. Correctly specifying units reduces call frequency by 1000. Reduction in CPU consumption verified.
- In pgsql/src/backend/utils/init/postinit.c, change replication connection log format to allow for a database called replication. Add host and port details, following format of messages in BackendInitialize().
- In pgsql/src/backend/replication/walsender.c, additional thoughts on WALSender cpu reduction. Use long type and alter a comment to reduce confusion.
- Modify some new and pre-existing messages for translatability.
- Derive latestRemovedXid for btree deletes by reading heap pages. The WAL record for btree delete contains a list of tids, even when backup blocks are present. We follow the tids to their heap tuples, taking care to follow LP_REDIRECT tuples. We ignore LP_DEAD tuples on the understanding that they will always have xmin/xmax earlier than any LP_NORMAL tuples referred to by killed index tuples. Iff all tuples are LP_DEAD we return InvalidTransactionId. The heap relfilenode is added to the WAL record, requiring API changes to pass down the heap Relation. XLOG_PAGE_MAGIC updated.
ITAGAKI Takahiro a commité :
- Each worker thread will have its own log file in pgbench to avoid interleaved writes. The first worker still uses "pgbench_log.<pid>" for the name, but additional workers use "pgbench_log.<pid>.<serial-number>" instead. Reported by Greg Smith.
- Remove CRs for each line in pgbench.sgml.
- Clean up logging codes and add documentation. Add English documentation. Split warm-standby and internal module documentation. Change the default for pg_statsinfo.syslog_line_prefix to 't %p '. Support non-default log_error_verbosity. Support local, GMT and UTC for log_timezone, but we cannot support others because postgres uses own timezone implemntation. Simplify codes for log_line_prefix.
Peter Eisentraut a commité :
- In pgsql/src/interfaces/ecpg/preproc/ecpg.addons, remove useless double assignment GCC 4.5 complained about it.
Heikki Linnakangas a commité :
- In pgsql/src/backend/replication/README, update description of walrcv_receive() function to match reality.
- In pgsql/src/backend/replication/walsender.c, flush CopyOutResponse when starting streaming in walsender, so that it's not delayed until the first WAL record is sent. Fujii Masao.
Andrew Dunstan a commité :
- In pgsql/src/Makefile.global.in, mark "installcheck-parallel", "world", "install-world" and "installcheck-world" make targets as PHONY. Fujii Masao.
Alvaro Herrera a commité :
- Prevent ALTER USER f RESET ALL from removing the settings that were put there by a superuser -- "ALTER USER f RESET setting" already disallows removing such a setting. Apply the same treatment to ALTER DATABASE d RESET ALL when run by a database owner that's not superuser.
Correctifs rejetés (à ce jour)
- Pas de déception cette semaine :-)
Correctifs en attente
- Devrim GUNDUZ sent in a patch to update the Turkish stop words in tsearch2.
- Fujii Masao sent in a doc patch for walreceiver per suggestion from Hitoshi Harada.
- Heikki Linnakangas sent a doc patch clarifying use of double-quoted strings in pg_hba.conf. This became more relevant because of the special replication database, as distinct from some database named "replication" (with quotes).
- Heikki Linnakangas and Fujii Masao sent in patches to try various ways to get WALs when the database is in recovery mode.
- Andrew Dunstan sent in a WIP patch to fix an xmlconcat bug.
- Fujii Masao sent in another revision of the patch to fix the issue where walreceiver is not interruptible on Windows.
- Fujii Masao sent in a patch to fix a typo in a comment in pgsql/src/backend/access/transam/xlog.c.
- Tom Lane sent in a WIP patch to fix an issue with join removal.