Nouvelles hebdomadaires de PostgreSQL - 12 otobre 2014
PostgreSQL 9.4 Beta 3 publiée. TEST ! http://www.postgresql.org/about/news/1547/
L'appel à conférenciers pour la PGConf NYC 2015 court jusqu'au 17 décembre 2014. Les notifications seront envoyées le 10 janvier. l'événement aura lieu à New-York du 25 au 27 mars 2015 : http://nyc.pgconf.us/2015/
[ndt: meetup à Lyon le 19 novembre :
http://www.meetup.com/PostgreSQL-User-Group-Lyon/events/214027472/]
Les nouveautés des produits dérivés
- pgBadger 6.2, un analyseur parallélisé de logs PostgreSQL écrit en Perl : https://sourceforge.net/projects/pgbadger/ Développement : https://github.com/dalibo/pgbadger/
Offres d'emplois autour de PostgreSQL en octobre
- Internationales : http://archives.postgresql.org/pgsql-jobs/2014-10/threads.php;
- Francophones : http://forums.postgresql.fr/viewforum.php?id=4.
PostgreSQL Local
- La cinquième édition du PgDay argentin est programmée pour le 28 novembre 2014 à Santa Fe. L'appel international à conférenciers court jusqu'au 28 septembre : http://www.postgresql.org.ar/pgday2014
- Le 4ème PgDay équatorien aura lieu le mardi 7 octobre en la ville de Quito, intégré au 5ème congrès international du Logiciel Libre. Envoyez vos propositions de conférences à ecpug AT postgresql DOT org.
- Le sixième PGDay cubain aura lieu les 13 et 14 octobre 2014 à la Havane : https://postgresql.uci.cu/?p=380
- Les inscriptions pour la PGConf.EU 2014 de Madrid, Espagne, du 21 au 24 octobre sont à présent ouvertes : http://2014.pgconf.eu/registration/
- Le PGDay.IT 2014 aura lieu à Prato le 7 novembre 2014. L'appel international à conférenciers a été lancé : http://2014.pgday.it/call-for-papers-en/
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
Andres Freund a poussé :
- Rename pg_recvlogical's --create/--drop to --create-slot/--drop-slot. A future patch (9.5 only) adds slot management to pg_receivexlog. The verbs create/drop don't seem descriptive enough there. It seems better to rename pg_recvlogical's commands now, in beta, than live with the inconsistency forever. The old form (e.g. --drop) will still be accepted by virtue of most getopt_long() options accepting abbreviations for long commands. Backpatch to 9.4 where pg_recvlogical was introduced. Author: Michael Paquier and Andres Freund Discussion: CAB7nPqQtt79U6FmhwvgqJmNyWcVCbbV-nS72j_jyPEopERg9rg@mail.gmail.com http://git.postgresql.org/pg/commitdiff/c8b6cba84a986ae9154f748e44709a17d6723191
- Add support for managing physical replication slots to pg_receivexlog. pg_receivexlog already has the capability to use a replication slot to reserve WAL on the upstream node. But the used slot currently has to be created via SQL. To allow using slots directly, without involving SQL, add --create-slot and --drop-slot actions, analogous to the logical slot manipulation support in pg_recvlogical. Author: Michael Paquier Discussion: CABUevEx+zrOHZOQg+dPapNPFRJdsk59b=TSVf30Z71GnFXhQaw@mail.gmail.com http://git.postgresql.org/pg/commitdiff/d9f38c7a555dd5a6b81100c6d1e4aa68342d8771
Stephen Frost a poussé :
- Clean up Create/DropReplicationSlot query buffer. CreateReplicationSlot() and DropReplicationSlot() were not cleaning up the query buffer in some cases (mostly error conditions) which meant a small leak. Not generally an issue as the error case would result in an immediate exit, but not difficult to fix either and reduces the number of false positives from code analyzers. In passing, also add appropriate PQclear() calls to RunIdentifySystem(). Pointed out by Coverity. http://git.postgresql.org/pg/commitdiff/273b29dbe96b1584dd66615cf8dc83e7e6ae7386
Tom Lane a poussé :
- Fix array overrun in ecpg's version of ParseDateTime(). The code wrote a value into the caller's field[] array before checking to see if there was room, which of course is backwards. Per report from Michael Paquier. I fixed the equivalent bug in the backend's version of this code way back in 630684d3a130bb93, but failed to think about ecpg's copy. Fortunately this doesn't look like it would be exploitable for anything worse than a core dump: an external attacker would have no control over the single word that gets written. http://git.postgresql.org/pg/commitdiff/55bfdd1cfd991af0864535bbca24a606e8be7e45
- Fix bogus optimization in JSONB containment tests. When determining whether one JSONB object contains another, it's okay to make a quick exit if the first object has fewer pairs than the second: because we de-duplicate keys within objects, it is impossible that the first object has all the keys the second does. However, the code was applying this rule to JSONB arrays as well, where it does *not* hold because arrays can contain duplicate entries. The test was really in the wrong place anyway; we should do it within JsonbDeepContains, where it can be applied to nested objects not only top-level ones. Report and test cases by Alexander Korotkov; fix by Peter Geoghegan and Tom Lane. http://git.postgresql.org/pg/commitdiff/4a50de13127b7657f32f14dc17beb2e15a3a4777
- Improve documentation about JSONB array containment behavior. Per gripe from Josh Berkus. http://git.postgresql.org/pg/commitdiff/25ad5a52847699527ddba6e86aa353075e578e9b
Robert Haas a poussé :
- Fix typo in elog message. http://git.postgresql.org/pg/commitdiff/c421efd21330f2e5bed253b4a53d7ea5e084edf6
- Extend shm_mq API with new functions shm_mq_sendv, shm_mq_set_handle. shm_mq_sendv sends a message to the queue assembled from multiple locations. This is expected to be used by forthcoming patches to allow frontend/backend protocol messages to be sent via shm_mq, but might be useful for other purposes as well. shm_mq_set_handle associates a BackgroundWorkerHandle with an already-existing shm_mq_handle. This solves a timing problem when creating a shm_mq to communicate with a newly-launched background worker: if you attach to the queue first, and the background worker fails to start, you might block forever trying to do I/O on the queue; but if you start the background worker first, but then die before attaching to the queue, the background worrker might block forever trying to do I/O on the queue. This lets you attach before starting the worker (so that the worker is protected) and then associate the BackgroundWorkerHandle later (so that you are also protected). Patch by me, reviewed by Stephen Frost. http://git.postgresql.org/pg/commitdiff/7bb0e97407c32cbf7245ef91fcc27d120c81e872
Álvaro Herrera a poussé :
- Implement SKIP LOCKED for row-level locks This clause changes the behavior of SELECT locking clauses in the presence of locked rows: instead of causing a process to block waiting for the locks held by other processes (or raise an error, with NOWAIT), SKIP LOCKED makes the new reader skip over such rows. While this is not appropriate behavior for general purposes, there are some cases in which it is useful, such as queue-like tables. Catalog version bumped because this patch changes the representation of stored rules. Reviewed by Craig Ringer (based on a previous attempt at an implementation by Simon Riggs, who also provided input on the syntax used in the current patch), David Rowley, and Álvaro Herrera. Author: Thomas Munro http://git.postgresql.org/pg/commitdiff/df630b0dd5ea2de52972d456f5978a012436115e
- Split builtins.h to a new header ruleutils.h. The new header contains many prototypes for functions in ruleutils.c that are not exposed to the SQL level. Reviewed by Andres Freund and Michael Paquier. http://git.postgresql.org/pg/commitdiff/7b1c2a0f2066672b24f6257ec9b8d78a1754f494
Fujii Masao a poussé :
- Fix broken example in PL/pgSQL document. Back-patch to all supported branches. Marti Raudsepp, per a report from Marko Tiikkaja http://git.postgresql.org/pg/commitdiff/f19f0ee7160e9aa0bec69146a02e544b9030191b
Heikki Linnakangas a poussé :
- Change the way encoding and locale checks are done in pg_upgrade. Lc_collate and lc_ctype have been per-database settings since server version 8.4, but pg_upgrade was still treating them as cluster-wide options. It fetched the values for the template0 databases in old and new cluster, and compared them. That's backwards; the encoding and locale of the template0 database doesn't matter, as template0 is guaranteed to contain only ASCII characters. But if there are any other databases that exist on both clusters (in particular template1 and postgres databases), their encodings and locales must be compatible. Also, make the locale comparison more lenient. If the locale names are not equal, try to canonicalize both of them by passing them to setlocale(). We used to do that only when upgrading from 9.1 or below, but it seems like a good idea even with newer versions. If we change the canonical form of a locale, this allows pg_upgrade to still work. I'm about to do just that to fix bug #11431, by mapping a locale name that contains non-ASCII characters to a pure-ASCII alias of the same locale. No backpatching, because earlier versions of pg_upgrade still support upgrading from 8.3 servers. That would be more complicated, so it doesn't seem worth it, given that we haven't received any complaints about this from users. http://git.postgresql.org/pg/commitdiff/33755e8edf149dabfc0ed9b697a84f70b0cca0de
- Remove unnecessary initialization of local variables. Oops, forgot these in the previous commit. http://git.postgresql.org/pg/commitdiff/733be2a5cd124b28a15d5d09de9b227691e6c5a0
Bruce Momjian a poussé :
- docs: remove mention that attnotnull should be changed. Report by Andres Freund http://git.postgresql.org/pg/commitdiff/80e6af1272750595c02e910bde907e30c592579b
- regression: adjust polygon diagrams to not use tabs. Also, small diagram adjustments. Patch by Emre Hasegeli http://git.postgresql.org/pg/commitdiff/4f2e5a8a84f39ec027d1018f655b85b1b1513701
- pg_upgrade: prefix Unix shell script name output with "./". This more clearly suggests the current directory. While this also works on Windows, it might be confusing. Report by Christoph Berg http://git.postgresql.org/pg/commitdiff/dc9c612767f20f28f35f06d709d59ed8477bfe32
Peter Eisentraut a poussé :
- Message improvements http://git.postgresql.org/pg/commitdiff/b7a08c80283c8d564933381b24c1993d49926e15
- pg_recvlogical: Improve --help output. List the actions first, as they are the most important options. Group the other options more sensibly, consistent with the man page. Correct a few typographical errors, clarify some things. Also update the pg_receivexlog --help output to make it a bit more consistent with that of pg_recvlogical. http://git.postgresql.org/pg/commitdiff/a0fb59d8bd7711fb8f08a4371074f07c62617d78
Noah Misch a poussé :
- pg_ctl: Cast DWORD values to avoid -Wformat warnings. This affects pg_ctl alone, because pg_ctl takes the exceptional step of calling Windows API functions in a Cygwin build. http://git.postgresql.org/pg/commitdiff/27a23f9dfe81e324e5e51e04aad364bcaaff1096
- Suppress dead, unportable src/port/crypt.c code. This file used __int64, which is specific to native Windows, rather than int64. Suppress the long-unused union field of this type. Noticed on Cygwin x86_64 with -lcrypt not installed. Back-patch to 9.0 (all supported versions). http://git.postgresql.org/pg/commitdiff/772945b4dfb6cc7354e79e23e2552d2d3712d5a1
- Fix quoting in the add_to_path Makefile macro. The previous quoting caused "make -C src/bin check" to ignore, rather than add to, any LD_LIBRARY_PATH content from the environment. Back-patch to 9.4, where the macro was introduced. http://git.postgresql.org/pg/commitdiff/494affbd900d1c90de17414a575af1a085c3e37a
Correctifs rejetés (à ce jour)
- No one was disappointed this week
Correctifs en attente
- Etsuro Fujita sent in a patch to improve the autoanalyze messages on inheritance trees.
- Heikki Linnakangas sent in another revision of a patch to change the format and API of WALs.
- Heikki Linnakangas sent in another revision of a patch to implement an SSL regression test suite.
- Fabrízio de Royes Mello sent in another revision of a patch to implement CINE for indexes.
- Ali Akbar sent in two more revisions of a patch to implement generate_series(numeric, numeric).
- Ali Akbar sent in another revision of a patch to fix xpath() to return namespace definitions.
- Dilip Kumar sent in another revision of a patch to allow parallel cores to be used by vacuumdb.
- Álvaro Herrera sent in another revision of a patch to implement BRIN indexes.
- Feike Steenbergen sent in a patch to add regression tests for autocommit-off mode for psql and fix some omissions, and another to backpatch it to 9.2+.
- Peter Geoghegan sent in another revision of a patch to implement (INSERT|UPDATE) ... ON CONFLICT...
- Heikki Linnakangas sent in a patch to implement page inspection functions for GIN indexes.
- Tom Lane sent in a patch to help fix the mess that is timezone abbreviations.
- Álvaro Herrera sent in three more revisions of a patch to refactor pg_dump to remove global variables.
- Fujii Masao sent in another revision of a patch to add a pending_list_cleanup_size GUC and associated machinery.
- Heikki Linnakangas sent in a patch to fix the CRC algorithm so it matches what the documents say it is.
- Michael Paquier sent in three more revisions of a patch to ensure that .ready files not appear on replicas.
- Robert Haas sent in two patches to defer some AtStart* allocations.
- Kyotaro HORIGUCHI sent in another revision of a patch to fix a situation where it was impossible to escape from a blocked send().
- Andres Freund sent in three more revisions of a patch to implement wait-free LW_SHARED acquisition.
- Heikki Linnakangas sent in another revision of a patch to add a throttling latency limit to pgbench.
- Fujii Masao sent in a patch to allow ALTER ROLE/DATABASE SET to set PGC_BACKEND and PGC_SU_BACKEND parameters.
- Amit Kapila sent in another revision of a patch to scale buffer eviction.
- Peter Geoghegan sent in a patch to remove an obsolete reference to _bt_tuplecompare() within tuplesort.c.
- Kyotaro HORIGUCHI sent in a patch to arrange things so ALTER USER/ROLE now takes CURRENT_USER as user name, rewrite the sysnopsis of the documents for ALTER USER and ALTER ROLE so as to they have exactly same syntax, and modify the syntax of ALTER USER so as to be an alias of ALTER ROLE.
- Craig Ringer sent in another revision of a patch to use a faster, higher precision timer API on Windows.
- Michael Paquier sent in a patch to fix some docs around row-level locking.
- Peter Geoghegan sent in a patch to see that B-Tree index builds use sortsupport.
- Noah Misch sent in a patch to fix an error caused by the fact that Darwin's setlocale() can start a thread.
- Fabrízio de Royes Mello sent in a patch to get rid the toast table for pg_seclabel.
- Peter Geoghegan sent in a patch to make B-Tree and CLUSTER sortsupport use abbreviation and fix PG_CACHE_LINE_SIZE bit rot.
- Bruce Momjian and Peter Eisentraut traded patches to deal with some psql output changes in 9.4-to-be.
- Ali Akbar sent in two revisions of a patch to create array_agg() for arrays.
- Michael Paquier sent in a patch to create a new header quote.h in include/utils that groups all the quote-related functions.
- Tomas Vondra sent in a WIP patch to implement multivariate statistics.
- Álvaro Herrera sent in another revision of a patch to add CREATE support to event triggers.
- SAWADA Masahiko sent in a patch to implement REINDEX SCHEMA.