Nouvelles hebdomadaires de PostgreSQL - 24 février 2013
L'appel à conférenciers pour PostgreSQL Brazil, événement tenu du 15 au 17 août 2013 à Porto Velho, État du Rondônia au Brésil, est lancé. Les propositions sont attendues jusqu'au 15 mars : http://pgbr.postgresql.org.br/2013/chamada.en.php
Le programme du PGCon, la conférence mondiale des développeurs PostgreSQL, est en ligne : http://www.pgcon.org/2013/schedule/events.en.html?pgannounce
Les nouveautés des produits dérivés
- Le cinquième LiveCD PostgreSQL, cette fois basé sur PostgreSQL 9.2.3 et CentOS 6.3 : http://pglivecd.org
- AnySQL Maestro 13.2, un outil de gestion utilisant ODBC et compatible PostgreSQL : http://www.sqlmaestro.com/products/anysql/maestro/
- ODB 2.2.0, un ORM pour le développement C++, compatible PostgreSQL : http://www.codesynthesis.com/~boris/blog/2013/02/13/odb-2-2-0-released/
- openBarter 0.7.0, une extension PostgreSQL implémentant les primitives d'un marché du troc : http://pgxn.org/dist/openbarter/0.7.0/
- PostgreDAC 2.9.3, un builder Delphi/C++ pour PostgreSQL : http://microolap.com/products/connectivity/postgresdac/download/
Offres d'emplois autour de PostgreSQL en février
- Internationales : http://archives.postgresql.org/pgsql-jobs/2013-02/threads.php;
- Francophones : http://forums.postgresql.fr/viewforum.php?id=4.
PostgreSQL Local
- Le PyPgDay aura lieu le 13 mars au Santa Clara Convention Center, le premier jour de la PyCon. Informations par là : http://wiki.postgresql.org/wiki/PyPgDay2013
- Le PGDay 2013 de New-York City aura lieu le 22 mars : http://pgday.nycpug.org/
- Le PgDay Fr est l'événement majeur de la communauté francophone. La date limite pour les propositions de conférence est le samedi 24 mars 2013 à 23h59 CEST : http://pgday.fr/call_for_papers
- La PostgreSQL Session est programmée pour le 28 mars 2013 à Paris. L'appel à conférenciers est lancé : http://www.postgresql-sessions.org/en/5/
- PGCon 2013 aura lieu les 23 & 24 mai 2013 à l'Université d'Ottawa : http://www.pgcon.org/2013/
- La 6ème conférence annuelle "Prague PostgreSQL Developers Day", organisée par le CSPUG (Groupe des utilisateurs tchèques et slovaques de PostgreSQL), aura lieu le 30 mai 2013 à la Faculté des Sciences Mathématiques & Physiques de l'Université Charles (Malostranske namesti 25, Prague). Les candidatures des conférenciers sont attendues jusqu'au 14 avril à l'adresse <info AT p2d2 POINT cz>. D'avantage d'informations sur le site : http://www.p2d2.cz/
PostgreSQL dans les média
- Planet PostgreSQL : http://planet.postgresql.org/
- Planet PostgreSQLFr : http://planete.postgresql.fr/
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 et en espagnol à pwn (a) arpug.com.ar.
(lien vers l'article original)
Correctifs appliqués
Peter Eisentraut a poussé :
- Add ALTER ROLE ALL SET command. This generalizes the existing ALTER ROLE ... SET and ALTER DATABASE ... SET functionality to allow creating settings that apply to all users in all databases. reviewed by Pavel Stehule http://git.postgresql.org/pg/commitdiff/9475db3a4eb5876b364254886d2730db01e042fd
- Add quotes to messages http://git.postgresql.org/pg/commitdiff/4f362926692631a67cd76b747f92389c8f63478e
- doc: Add more compatibility information for triggers. Louis-Claude Canon and Josh Kupershmidt http://git.postgresql.org/pg/commitdiff/8e8d0f7e80d80c61b09346a84059457aeeeae548
- Correct tense in log message http://git.postgresql.org/pg/commitdiff/ca9c66660207164d08c5bbeba1a992152275d4e7
- doc: Remove PostgreSQL version number from xml2 deprecation notice. It is obviously no longer true. http://git.postgresql.org/pg/commitdiff/3163baa6d2d12c28f45fec60ab313537ea9a43a4
Alvaro Herrera a poussé :
- Split pgstat file in smaller pieces. We now write one file per database and one global file, instead of having the whole thing in a single huge file. This reduces the I/O that must be done when partial data is required -- which is all the time, because each process only needs information on its own database anyway. Also, the autovacuum launcher does not need data about tables and functions in each database; having the global stats for all DBs is enough. Catalog version bumped because we have a new subdir under PGDATA. Author: Tomas Vondra. Some rework by Álvaro Testing by Jeff Janes Other discussion by Heikki Linnakangas, Tom Lane. http://git.postgresql.org/pg/commitdiff/187492b6c2e8cafc5b39063ca3b67846e8155d24
- Move ExceptionalCondition back to postgres.h. It needs to be defined in the backend even when assertions are not enabled. It's cleaner to put it back, than create a separate #ifdef section in c.h. Per trouble report from Jeff Janes http://git.postgresql.org/pg/commitdiff/a40d09e27fefbeca0d6994471b3e6965f1ac9dda
- Remove useless variable. Per Jeff Janes http://git.postgresql.org/pg/commitdiff/6e3fd964632e95c7359457b7d67aa20c72a71679
- Move relpath() to libpgcommon. This enables non-backend code, such as pg_xlogdump, to use it easily. The previous location, in src/backend/catalog/catalog.c, made that essentially impossible because that file depends on many backend-only facilities; so this needs to live separately. http://git.postgresql.org/pg/commitdiff/a73018392636ce832b09b5c31f6ad1f18a4643ea
- Blind attempt at fixing the non-MSVC Windows builds. Apparently, they need -DBUILDING_DLL for the Assert() declarations to work correctly. http://git.postgresql.org/pg/commitdiff/af0a4c5924061869ee3db391900ab745107c966f
- Fix copy-and-pasteo. Harmless, but it's certainly better like this. Noticed by Andres Freund http://git.postgresql.org/pg/commitdiff/f03a779751f6fc8dc87628d021510c4ec9e1e667
- Fix some typos and grammatical mistakes. ... as well a update copyrights statements to 2013. Noted by Thom Brown and Peter Geoghegan http://git.postgresql.org/pg/commitdiff/45919335493291ef43f9b66c81a56d32a562ab5a
- contrib/Makefile also needs updated. Erik Rijkers http://git.postgresql.org/pg/commitdiff/36f697cbba44fd55f23727066c3274fd01919640
- Add pg_xlogdump contrib program. This program relies on rm_desc backend routines and the xlogreader infrastructure to emit human-readable rendering of WAL records. Author: Andres Freund, with many reworks by Álvaro Reviewed (in a much earlier version) by Peter Eisentraut http://git.postgresql.org/pg/commitdiff/639ed4e84b7493594860f56b78b25fd113e78fd7
Heikki Linnakangas a poussé :
- Fix yet another typo in comment. Etsuro Fujita http://git.postgresql.org/pg/commitdiff/5d6899dbae7ac19d90f135e2ad64832e4ca8d064
- Don't pass NULL to fprintf, if a bogus connection string is given to pg_dump. Back-patch to all supported branches. http://git.postgresql.org/pg/commitdiff/2930c05634bcb7491bc443a493405e927ed08443
- Fix pg_dumpall with database names containing =. If a database name contained a '=' character, pg_dumpall failed. The problem was in the way pg_dumpall passes the database name to pg_dump on the command line. If it contained a '=' character, pg_dump would interpret it as a libpq connection string instead of a plain database name. To fix, pass the database name to pg_dump as a connection string, "dbname=foo", with the database name escaped if necessary. Back-patch to all supported branches. http://git.postgresql.org/pg/commitdiff/f435cd1d385859a0cdb1d70fccc21dde2b1ee116
- Fix thinko in previous commit. We must still initialize minRecoveryPoint if we start straight with archive recovery, e.g when recovering from a normal base backup taken with pg_start/stop_backup. Otherwise we never consider the system consistent. http://git.postgresql.org/pg/commitdiff/6c4f6664b201bea77eb6e3f813559e3911a5ef35
- If recovery.conf is created after "pg_ctl stop -m i", do crash recovery. If you create a base backup using an atomic filesystem snapshot, and try to perform PITR starting from that base backup, or if you just kill a master server and create recovery.conf to put it into standby mode, we don't know how far we need to recover before reaching consistency. Normally in crash recovery, we replay all the WAL present in pg_xlog, and assume that we're consistent after that. And normally in archive recovery, minRecoveryPoint, backupEndRequired, or backupEndPoint is set in the control file, indicating how far we need to replay to reach consistency. But if the server was previously up and running normally, and you kill -9 it or take an atomic filesystem snapshot, none of those fields are set in the control file. The solution is to perform crash recovery first, replaying all the WAL in pg_xlog. After that's done, we assume that the system is consistent like in normal crash recovery, and switch to archive recovery mode after that. Per report from Kyotaro HORIGUCHI. In his scenario, recovery.conf was created after "pg_ctl stop -m i". I'm not sure we need to support that exact scenario, but we should support backing up using a filesystem snapshot, which looks identical. This issue goes back to at least 9.0, where hot standby was introduced and we started to track when consistency is reached. In 9.1 and 9.2, we would open up for hot standby too early, and queries could briefly see an inconsistent state. But 9.2 made it more visible, as we started to PANIC if we see a reference to a non-existing page during recovery, if we've already reached consistency. This is a fairly big patch, so back-patch to 9.2 only, where the issue is more visible. We can consider back-patching further after this has received some more testing in 9.2 and master. http://git.postgresql.org/pg/commitdiff/abf5c5c9a4f142b3343614746bb9e99a794f8e7b
Tom Lane a poussé :
- Add postgres_fdw contrib module. There's still a lot of room for improvement, but it basically works, and we need this to be present before we can do anything much with the writable-foreign-tables patch. So let's commit it and get on with testing. Shigeru Hanada, reviewed by KaiGai Kohei and Tom Lane http://git.postgresql.org/pg/commitdiff/d0d75c402217421b691050857eb3d7af82d0c770
- Teach MSVC build system about postgres_fdw. Per buildfarm. http://git.postgresql.org/pg/commitdiff/699d70b2ec2cb6dc07f6c5b2876609301ddd20a8
- Need to decorate XactIsoLevel as PGDLLIMPORT for postgres_fdw. Per buildfarm. http://git.postgresql.org/pg/commitdiff/54a278683531edac535e6aa4d5427799409823f1
- Adjust postgres_fdw's search path handling. Set the remote session's search path to exactly "pg_catalog" at session start, then schema-qualify only names that aren't in that schema. This greatly reduces clutter in the generated SQL commands, as seen in the regression test changes. Per discussion. Also, rethink use of FirstNormalObjectId as the "built-in object" cutoff --- FirstBootstrapObjectId is safer, since the former will accept objects in information_schema for instance. http://git.postgresql.org/pg/commitdiff/6d06049493862f7f6b639035198fc817949723ae
- Change postgres_fdw to show casts as casts, not underlying function calls. On reflection this method seems to be exposing an unreasonable amount of implementation detail. It wouldn't matter when talking to a remote server of the identical Postgres version, but it seems likely to make things worse not better if the remote is a different version with different casting infrastructure. Instead adopt ruleutils.c's policy of regurgitating the cast as it was originally specified; including not showing it at all, if it was implicit to start with. (We must do that because for some datatypes explicit and implicit casts have different semantics.) http://git.postgresql.org/pg/commitdiff/211e157a51bf94dfcc143e78221951411f87e4b2
- Get rid of postgres_fdw's assumption that remote type OIDs match ours. The only place we depended on that was in sending numeric type OIDs in PQexecParams; but we can replace that usage with explicitly casting each Param symbol in the query string, so that the types are specified to the remote by name not OID. This makes no immediate difference but will be essential if we ever hope to support use of non-builtin types. http://git.postgresql.org/pg/commitdiff/5fd386bb31f9a8ed5058093bc3f8937fdde3dbec
- Fix whole-row references in postgres_fdw. The optimization to not retrieve unnecessary columns wasn't smart enough. Noted by Thom Brown. http://git.postgresql.org/pg/commitdiff/6da378dbc97f1b96bf5778a558e168a0dc405bce
- Fix some planning oversights in postgres_fdw. Include eval costs of local conditions in remote-estimate mode, and don't assume the remote eval cost is zero in local-estimate mode. (The best we can do with that at the moment is to assume a seqscan, which may well be wildly pessimistic ... but zero won't do at all.) To get a reasonable local estimate, we need to know the relpages count for the remote rel, so improve the ANALYZE code to fetch that rather than just setting the foreign table's relpages field to zero. http://git.postgresql.org/pg/commitdiff/c0c6acdfa055b0c76ea0d1defd4c2c0d5a5c256f
- Rename postgres_fdw's use_remote_explain option to use_remote_estimate. The new name was originally my typo, but per discussion it seems like a better name anyway. So make the code match the docs, not vice versa. http://git.postgresql.org/pg/commitdiff/09a7cd409e762f0430a5d474f4d8d7c962369a8e
- Fix build of contrib/pg_xlogdump. rmgrdesc.c is not auto-generated now, though it apparently was the last time the Makefile was updated. http://git.postgresql.org/pg/commitdiff/e5bf0c376ed43feaebbe37519a6b8bc8e795f1d2
Andrew Dunstan a poussé :
- Provide MSVC build setup for pg_xlogdump. http://git.postgresql.org/pg/commitdiff/786170d74f30bc8d3017149dc444f3f3e29029a7
Correctifs rejetés (à ce jour)
- Pas de déception cette semaine :-)
Correctifs en attente
- Zoltan Boszormenyi sent in a pair of patches to fix a pair of bugs: one where recovery.conf was generated without double-escaping quoted values, and another in parsing the connection string in libpq when the parameter value starts with a single-quote character.
- Gurjeet Singh sent in a patch to make pgindent work cleanly.
- Gurjeet Singh sent in a patch which adds a one-line comment to improve understanding of the VARSIZE_ANY_EXHDR macro.
- Kevin Grittner sent in two revisions of a patch to add a pg_matviews catalog view.
- Alexander Law sent in a patch to fix an issue where postmaster messages were unreadable in a Windows console.
- Andres Freund sent in a patch to fix up the conversion of a relation to a view for TOAST, etc.
- Amit Kapila and Heikki Linnakangas traded patches to add PQconninfoParseParams and PQconninfodefaultsMerge to libpq.
- Etsuro Fujita sent in another revision of a patch to add hooks for pre- and post-processor executables for COPY and \copy.
- Alvaro Herrera sent in another revision of a patch to add an event trigger on DDL DROP.
- Michael Paquier sent in two more revisions of a patch to add REINDEX CONCURRENTLY.
- Pavel Stehule sent in another revision of a patch to unify the serializations of booleans and domains over same in XML.
- Dimitri Fontaine sent in another revision of a patch to add Extension Templates.
- Zoltan Boszormenyi sent in another revision of a patch to fix a lock timeout issue.