Nouvelles hebdomadaires de PostgreSQL - 31 janvier 2016
"5432 ... Meet us!" aura lieu à Milan (Italie) les 28 & 29 juin 2016. L'appel à conférenciers court jusqu'au 28 février : http://5432meet.us/
Les nouveautés des produits dérivés
- faker_fdw 0.1.0, un wrapper de données distantes qui génère des données factices et aléatoires : https://github.com/guedes/faker_fdw
- PostgreDAC 3.1.0, un connecteur Delphi/C++ vers PostgreSQL : http://microolap.com/products/connectivity/postgresdac/download/
Offres d'emplois autour de PostgreSQL en janvier
- Internationales : http://archives.postgresql.org/pgsql-jobs/2016-01/
- Francophones : http://forums.postgresql.fr/viewforum.php?id=4
- Prague PostgreSQL Developer Day 2016 (P2D2 2016) est une conférence sur deux jours, les 17 et 18 février 2016, à Prague (République Tchèque). Site en tchèque : http://www.p2d2.cz/
- Le PGday annuel indien se tiendra à Bangalore (État du Karnataka en Inde) le 26 février 2016 : http://pgday.in
- La première conférence PostgreSQL pan-asiatique se tiendra les 16 et 17 mars 2016 à Singapour : http://2016.pgday.asia/
- Le PGDay nordique, une série de conférences sur une seule journée, aura lieu à Helsinki (Finlande) le 17 mars 2016. Les inscriptions sont encore ouvertes : http://2016.nordicpgday.org/
- La 8ème Session PostgreSQL aura lieu le 6 avril 2016 à Lyon (France). L'appel à conférenciers court jusqu'au 29 février à l'adresse call-for-paper AT postgresql-sessions POINT org.
- La PGConf US 2016 aura lieu les 18, 19 et 20 avril à New-York : http://www.pgconf.us/2016/
- La LinuxFest Northwest aura lieu les 23 et 24 avril 2016 au Collège Technique de Bellingham (Washington, USA). L'appel à conférenciers est maintenant lancé : http://www.linuxfestnorthwest.org/2016/present
- FOSS4G NA (Free and Open Source Software for Geospatial - North America) se tiendra à Raleigh, en Caroline du Nord, du 2 au 5 mai 2016. L'appel à conférenciers est lancé : https://2016.foss4g-na.org/cfp
- La PGCon 2016 se tiendra du 17 au 21 mai 2016 à Ottawa : http://www.pgcon.org/
- Le PGDay suisse sera, cette année, tenue à l'Université des Sciences Appliquées (HSR) de Rapperswil le 24 juin 2016. L'appel à conférenciers est lancé : http://www.pgday.ch/
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. La version originale se trouve à l'adresse suivante : http://www.postgresql.org/message-id/20160201051108.GA654@fetter.org
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.
Tatsuo Ishii pushed:
- Revert "Fix broken multibyte regression tests." This reverts commit efc1610b64b04e7cf08cc1d6c608ede8b7d5ff07. The commit was plain wrong as pointed out in: http://firstname.lastname@example.org http://git.postgresql.org/pg/commitdiff/ad2e233385ee3e441454f20a02ac0f68f7873bc2
Kevin Grittner pushed:
- Various fixes to REFRESH MATERIALIZED VIEW tab completion. Masahiko Sawada, Fujii Masao, Kevin Grittner http://git.postgresql.org/pg/commitdiff/879d71393de001880e031255e41ca322c6027713
Tom Lane pushed:
- Improve ResourceOwners' behavior for large numbers of owned objects. The original coding was quite fast so long as objects were always released in reverse order of addition; otherwise, it degenerated into O(N^2) behavior due to searching for the array element to delete. Improve matters by switching to hashed storage when the number of objects of a given type exceeds 64. (The cutover point is open to discussion, of course, but some simple performance testing suggests that hashing has enough overhead to be a loser below there.) Also, refactor resowner.c so that we don't need N copies of the array management code. Since all the resource IDs the code currently needs to deal with are either pointers or integers, it seems sufficient to create a one-size-fits-all infrastructure in which everything is converted to a Datum for storage. Aleksander Alekseev, reviewed by Stas Kelvich, further fixes by me http://git.postgresql.org/pg/commitdiff/cc988fbb0bf60a83b628b5615e6bade5ae9ae6f4
- Fix startup so that log prefix %h works for the log_connections message. We entirely randomly chose to initialize port->remote_host just after printing the log_connections message, when we could perfectly well do it just before, allowing %h and %r to work for that message. Per gripe from Artem Tomyuk. http://git.postgresql.org/pg/commitdiff/b8682a7155bee06667c5773e1ca6499a670338b0
- Fix incorrect pattern-match processing in psql's \det command. listForeignTables' invocation of processSQLNamePattern did not match up with the other ones that handle potentially-schema-qualified names; it failed to make use of pg_table_is_visible() and also passed the name arguments in the wrong order. Bug seems to have been aboriginal in commit 0d692a0dc9f0e532. It accidentally sort of worked as long as you didn't inquire too closely into the behavior, although the silliness was later exposed by inconsistencies in the test queries added by 59efda3e50ca4de6 (which I probably should have questioned at the time, but didn't). Per bug #13899 from Reece Hart. Patch by Reece Hart and Tom Lane. Back-patch to all affected branches. http://git.postgresql.org/pg/commitdiff/7e22470471e9ed7010fcbc4a18b0a461d088d7c7
Ãlvaro Herrera pushed:
- Mostly mechanical cleanup of pgbench pgindent for recent commits; also change some variables from int to boolean, which is how they are really used. Mostly submitted by Fabien Coelho; this is in preparation to commit further patches to the file. http://git.postgresql.org/pg/commitdiff/5b3cc1af2f9ba7b0e30054b30e28bd2cc4175b78
- pgbench: improve multi-script support. Previously, it was possible to specify one or several custom scripts to run, or only one of the builtin scripts. With this patch it is also possible to specify to run the builtin scripts multiple times, using the new -b option. Also, unify the code for both cases; this eases future pgbench improvements. Author: Fabien Coelho Review: MichaÃ«l Paquier, Ãlvaro Herrera http://git.postgresql.org/pg/commitdiff/8bea3d2219844887e170471f223ba100b3c17571
- Fix spi_worker mention in bgworker documentation. The documentation mentioned contrib/ but the module was moved to src/test/modules/ by commit 22dfd116a127a of 9.5 era. Problem pointed out by Dickson Guedes in bug #13896 Backpatch-to: 9.5. http://git.postgresql.org/pg/commitdiff/e37483857dc4cf7106a47847620a074b1c921142
- pgbench: refactor handling of stats tracking. This doesn't add any functionality but just shuffles things around so that it can be reused and improved later. Author: Fabien Coelho Reviewed-by: Michael Paquier, Ãlvaro Herrera http://git.postgresql.org/pg/commitdiff/b60376649600268b75e1e8be86a6a6fe7fb9b3c3
Fujii Masao pushed:
- Fix volatility marking of pg_size_pretty function. pg_size_pretty function should be marked immutable rather than volatile because it always returns the same result given the same argument. Pavel Stehule http://git.postgresql.org/pg/commitdiff/e09507a272e32bf203a51cc3cbb4d34028cba331
- Add gin_clean_pending_list function to clean up GIN pending list. This function cleans up the pending list of the GIN index by moving entries in it to the main GIN data structure in bulk. It returns the number of pages cleaned up from the pending list. This function is useful, for example, when the pending list needs to be cleaned up *quickly* to improve the performance of the search using GIN index. VACUUM can do the same thing, too, but it may take days to run on a large table. Jeff Janes, reviewed by Julien Rouhaud, Jaime Casanova, Alvaro Herrera and me. Discussion: CAMkU=1x8zFkpfnozXyt40zmR3Ub_kHu58LtRmwHUKRgQss7=iQ@mail.gmail.com http://git.postgresql.org/pg/commitdiff/7f46eaf035440564e7dae3b03916735b92c83248
- Fix typos in comments and doc overriden -> overridden. The misspelling in create_extension.sgml was introduced in b67aaf2, so no need to backpatch. http://git.postgresql.org/pg/commitdiff/62e2ddd4ca47756372f2788256f445bba6bb492c
- Fix syntax descriptions for replication commands in logicaldecoding.sgml Patch-by: Oleksandr Shulgin Reviewed-by: Craig Ringer and Fujii Masao Backpatch-through: 9.4 where logical decoding was introduced http://git.postgresql.org/pg/commitdiff/c35c4ec45443cfb36893ce15769659c60fb80f3b
Robert Haas pushed:
- Fix cross-version pg_dump for aggregate combine functions. Fixes a defect in commit a7de3dc5c346e07e0439275982569996e645b3c2. David Rowley, per report from Jeff Janes, who also checked that the fix works. http://git.postgresql.org/pg/commitdiff/025b2f339260b727e113a01a20b616a336bff00a
- Assert that create_unique_path returns non-NULL. Per off-list discussion with Tom Lane and Michael Paquier, Coverity gets unhappy if this is not done. http://git.postgresql.org/pg/commitdiff/eaf7b1f6432480e93d8c6824fbd503761a1c1a4f
- Add [NO]BYPASSRLS options to CREATE USER and ALTER USER docs. Patch-by: Filip RembiaÅ‚kowski Reviewed-by: Robert Haas Backpatch-through: 9.5 http://git.postgresql.org/pg/commitdiff/80db1ca2d79338c35bb3e01f2aecad78c2231b06
- Avoid multiple foreign server connections when all use same user mapping. Previously, postgres_fdw's connection cache was keyed by user OID and server OID, but this can lead to multiple connections when it's not really necessary. In particular, if all relevant users are mapped to the public user mapping, then their connection options are certainly the same, so one connection can be used for all of them. While we're cleaning things up here, drop the "server" argument to GetConnection(), which isn't really needed. This saves a few cycles because callers no longer have to look this up; the function itself does, but only when establishing a new connection, not when reusing an existing one. Ashutosh Bapat, with a few small changes by me. http://git.postgresql.org/pg/commitdiff/96198d94cb7adc664bda341842dc8db671d8be72
- Add missing quotation mark. This fix accidentally got left out of the previous commit. http://git.postgresql.org/pg/commitdiff/2f6b041f76e6de0fa2921131a23bda794ffb83bb
- Only try to push down foreign joins if the user mapping OIDs match. Previously, the foreign join pushdown infrastructure left the question of security entirely up to individual FDWs, but it would be easy for a foreign data wrapper to inadvertently open up subtle security holes that way. So, make it the core code's job to determine which user mapping OID is relevant, and don't attempt join pushdown unless it's the same for all relevant relations. Per a suggestion from Tom Lane. Shigeru Hanada and Ashutosh Bapat, reviewed by Etsuro Fujita and KaiGai Kohei, with some further changes by me. http://git.postgresql.org/pg/commitdiff/fbe5a3fb73102c2cfec11aaaa4a67943f4474383
- postgres_fdw: Refactor deparsing code for locking clauses. The upcoming patch to allow join pushdown in postgres_fdw needs to use this code multiple times, which requires moving it to deparse.c. That seems like a good idea anyway, so do that now both on general principle and to simplify the future patch. Inspired by a patch by Shigeru Hanada and Ashutosh Bapat, but I did it a little differently than what that patch did. http://git.postgresql.org/pg/commitdiff/b88ef201d46e6519b5e0589358c952a4c0f5bf0f
- Migrate PGPROC's backendLock into PGPROC itself, using a new tranche. Previously, each PGPROC's backendLock was part of the main tranche, and the PGPROC just contained a pointer. Now, the actual LWLock is part of the PGPROC. As with previous, similar patches, this makes it significantly easier to identify these lwlocks in LWLOCK_STATS or Trace_lwlocks output and improves modularity. Author: Ildus Kurbangaliev Reviewed-by: Amit Kapila, Robert Haas http://git.postgresql.org/pg/commitdiff/b319356f0e94a6482c726cf4af96597c211d8d6e
- Migrate replication slot I/O locks into a separate tranche. This is following in a long train of similar changes and for the same reasons - see b319356f0e94a6482c726cf4af96597c211d8d6e and fe702a7b3f9f2bc5bf6d173166d7d55226af82c8 inter alia. Author: Amit Kapila Reviewed-by: Alexander Korotkov, Robert Haas http://git.postgresql.org/pg/commitdiff/2251179e6ad3a865d2f55e1832fab34608fcce43
- postgres_fdw: More preliminary refactoring for upcoming join pushdown. The code that generates a complete SQL query for a given foreign relation was repeated in two places, and they didn't quite agree: the EXPLAIN case left out the locking clause. Centralize the code so we get the same behavior everywhere, and adjust calling conventions and which functions are static vs. extern accordingly . Centralize the code so we get the same behavior everywhere, and adjust calling conventions and which functions are static vs. extern accordingly. Ashutosh Bapat, reviewed and slightly adjusted by me. http://git.postgresql.org/pg/commitdiff/cc592c48c58d9c1920f8e2063756dcbcce79e4dd
Peter Eisentraut pushed:
Andrew Dunstan pushed:
- Fix error in documentated use of mingw-w64 compilers Error reported by Igal Sapir. http://git.postgresql.org/pg/commitdiff/7dc09c138493424e32876894c2c68ddecff3afc6
Correctifs rejetés (à ce jour)
No one was disappointed this week :-)
Correctifs en attente
Michael Paquier sent in a patch to ensure that fsyncs actually fsync in the case of renaming.
Corey Huinker and Michael Paquier traded revisions of a patch to add generate_series(date,date) and generate_series(date,date,integer).
Corey Huinker sent in two more revisions of a patch to allow limiting FETCH by bytes.
Kaigai Kouhei sent in another revision of a patch to add CustomScan support and an example.
Vinayak Pokale sent in two more revisions of a patch to implement a vacuum progress checker.
Amit Kapila sent in two more revisions of a patch to expand pg_stat_activity to chow waiting.
Pavel StÄ›hule sent in two more revisions of a patch to add pg_size_bytes().
Pavel StÄ›hule sent in another revision of a patch to add num_notnulls().
Stas Kelvich sent in a patch to speed up two-phase commits by reading state files into memory during the replay of prepare, and if checkpoint/restartpoint occurs between prepare and commit, to move the data to files.
Craig Ringer sent in two more revisions of a patch to implement failover slots.
SAWADA Masahiko sent in two revisions of a patch to check for a suitable index to use in REFRESH MATERIALIZED VIEW CONCURRENTLY.
Kyotaro HORIGUCHI sent in another revision of a patch to allow async-capable nodes to run the node before ExecProcNode().
Pavel StÄ›hule and Iacob Catalin traded patches to add an ereport function to PL/PythonU.
Anastasia Lubennikova sent in another revision of a patch to add covering unique indexes.
Etsuro Fujita sent in a patch to fix some capitalizations in fdwhandlers.sgml.
Erik Rijkers sent in a patch to fix some typos in the pgbench docs.
Aleksander Alekseev sent in another revision of a patch to optimize dynahashes.
Stas Kelvich sent in another revision of a patch to add tsvector editing functions.
Pavel StÄ›hule sent in another revision of a patch to better support %TYPE in PL/pgsql.
JosÃ© Arthur Benetasso Villanova sent in another revision of a patch to log operating system usernames connecting via unix socket.
Fabien COELHO sent in a patch to fix a couple of minor bugs in pgbench.
Ashutosh Bapat sent in a patch to keep from making separate DB connections to remote servers when not needed in FDWs.
Artur Zakirov sent in a patch to fix some infelicities in tsearch2 parsing.
Petr JelÃnek sent in another revision of a patch to add a sequence access method.
Peter Eisentraut sent in two more revisions of a patch to integrate better with systemd.
Michael Paquier sent in three more revisions of a patch to avoid unneeded checkpoints.
Noah Misch sent in two revisions of a patch to fix an issue that could cause a backend crash with nested CREATE TEMP TABLE invocations.
Fabien COELHO and Michael Paquier traded patches to extend pgbench expressions with functions.
Amit Kapila sent in a patch to reduce the number of WAL writes.
Dilip Kumar sent in another revision of a patch to help scale relation extensions.
Artur Zakirov sent in two more revisions of a patch to improve Hunspell dictionary support.
Michael Paquier sent in a patch to fix some comment typos.
Etsuro Fujita sent in another revision of a patch to make foreign table writes more efficient.
Kaigai Kouhei sent in two more revisions of a patch to add CustomScan under a Gather node.
Anastasia Lubennikova sent in three more revisions of a patch to compress B-Trees in a way that's analogous to that just used for GIN.
Ashutosh Bapat sent in two more revisions of a patch to make read operations on the PostgreSQL FDW more efficient.
Fujii Masao and SAWADA Masahiko traded patches to fix tab completion options for SET/RESET in psql.
Alexander Korotkov sent in another revision of a patch to enable creating access methods with an example for Bloom filters.
Alexander Korotkov sent in a patch to refactor SLRU tranches.
Ashutosh Bapat sent in a patch to move the code to deparse SELECT statements into a function deparseSelectStmtForRel().
Vitaly Burovoy sent in a patch to fix an overflow in EXTRACT.
Vik Fearing sent in another revision of a patch to add an idle-in-transaction timeout.
Thomas Munro sent in a patch to detect SSI conflicts before reporting constraint violations.
Vitaly Burovoy sent in a patch to make the behavior of all versions of the "isinf" function be similar.