Les nouveautés des produits dérivés

Offres d'emplois autour de PostgreSQL en août

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 et en espagnol à pwn (a) arpug.com.ar.

(lien vers l'article original)

Correctifs appliqués

Heikki Linnakangas a poussé :

Andres Freund a poussé :

  • Fix typos in some error messages thrown by extension scripts when fed to psql. Some of the many error messages introduced in 458857cc missed 'FROM unpackaged'. Also e016b724 and 45ffeb7e forgot to quote extension version numbers. Backpatch to 9.1, just like 458857cc which introduced the messages. Do so because the error messages thrown when the wrong command is copy & pasted aren't easy to understand. http://git.postgresql.org/pg/commitdiff/d153b801611f6fdc58c7941e85dddb0cb25ca4ef
  • Specify the port in dblink and postgres_fdw tests. That allows to run those tests against a postmaster listening on a nonstandard port without requiring to export PGPORT in postmaster's environment. This still doesn't support connecting to a nondefault host without configuring it in postmaster's environment. That's harder and less frequently used though. So this is a useful step. http://git.postgresql.org/pg/commitdiff/57ca1d4f0175f60e9cfb0f997c864173d9c72607
  • Don't hardcode contrib_regression dbname in postgres_fdw and dblink tests. That allows parallel installcheck to succeed inside contrib/. The output is not particularly pretty unless make's -O option to synchronize the output is used. There's other tests, outside contrib, that use a hardcoded, non-unique, database name. Those prohibit paralell installcheck to be used across more directories; but that's something for a separate patch. http://git.postgresql.org/pg/commitdiff/ddc2504dbcf2af97b58a91b071768c17774d58d1
  • Mark IsBinaryUpgrade as PGDLLIMPORT to fix windows builds after a7ae1dc. Author: David Rowley http://git.postgresql.org/pg/commitdiff/5569d75d6a82f0d11d26404fceb848ae59869126
  • Allow escaping of option values for options passed at connection start. This is useful to allow to set GUCs to values that include spaces; something that wasn't previously possible. The primary case motivating this is the desire to set default_transaction_isolation to 'repeatable read' on a per connection basis, but other usecases like seach_path do also exist. This introduces a slight backward incompatibility: Previously a \ in an option value would have been passed on literally, now it'll be taken as an escape. The relevant mailing list discussion starts with 20140204125823.GJ12016@awork2.anarazel.de. http://git.postgresql.org/pg/commitdiff/11a020eb6e4023a1570a2788ba22dd6aafbd02dc
  • Make backend local tracking of buffer pins memory efficient. Since the dawn of time (aka Postgres95) multiple pins of the same buffer by one backend have been optimized not to modify the shared refcount more than once. This optimization has always used a NBuffer sized array in each backend keeping track of a backend's pins. That array (PrivateRefCount) was one of the biggest per-backend memory allocations, depending on the shared_buffers setting. Besides the waste of memory it also has proven to be a performance bottleneck when assertions are enabled as we make sure that there's no remaining pins left at the end of transactions. Also, on servers with lots of memory and a correspondingly high shared_buffers setting the amount of random memory accesses can also lead to poor cpu cache efficiency. Because of these reasons a backend's buffers pins are now kept track of in a small statically sized array that overflows into a hash table when necessary. Benchmarks have shown neutral to positive performance results with considerably lower memory usage. Patch by me, review by Robert Haas. Discussion: 20140321182231.GA17111@alap3.anarazel.de http://git.postgresql.org/pg/commitdiff/4b4b680c3d6d8485155d4d4bf0a92d3a874b7a65
  • Declare two variables in snapbuild.c as static. Neither is accessed externally, I just seem to have missed the static when writing the code. http://git.postgresql.org/pg/commitdiff/8fff977e29cda7c1641c43f9b293134adc77b65a
  • Protect definition of SpinlockSemaArray, just like its declaration. Found via clang's -Wmissing-variable-declarations. http://git.postgresql.org/pg/commitdiff/5c1faa7ba729c780b0ac598dbc23dbb1d6e1b872
  • Declare lwlock.c's LWLockAcquireCommon() as a static inline. 68a2e52bbaf98f136 has introduced LWLockAcquireCommon() containing the previous contents of LWLockAcquire() plus added functionality. The latter then calls it, just like LWLockAcquireWithVar(). Because the majority of callers don't need the added functionality, declare the common code as inline. The compiler then can optimize away the unused code. Doing so is also useful when looking at profiles, to differentiate the users. Backpatch to 9.4, the first branch to contain LWLockAcquireCommon(). http://git.postgresql.org/pg/commitdiff/9c4b55db1dc901dc184b1b3ab9cca3f2089ec311

Alvaro Herrera a poussé :

Bruce Momjian a poussé :

Kevin Grittner a poussé :

Robert Haas a poussé :

Peter Eisentraut a poussé :

Stephen Frost a poussé :

  • Fix Var handling for security barrier views. In some cases, not all Vars were being correctly marked as having been modified for updatable security barrier views, which resulted in invalid plans (eg: when security barrier views were created over top of inheiritance structures). In passing, be sure to update both varattno and varonattno, as _equalVar won't consider the Vars identical otherwise. This isn't known to cause any issues with updatable security barrier views, but was noticed as missing while working on RLS and makes sense to get fixed. Back-patch to 9.4 where updatable security barrier views were introduced. http://git.postgresql.org/pg/commitdiff/e414ba93add966dfe03e22994764e718ed89ee98

Fujii Masao a poussé :

Jeff Davis a poussé :

Tom Lane a poussé :

  • Fix citext upgrade script for disallowance of oidvector element assignment. In commit 45e02e3232ac7cc5ffe36f7986159b5e0b1f6fdc, we intentionally disallowed updates on individual elements of oidvector columns. While that still seems like a sane idea in the abstract, we (I) forgot that citext's "upgrade from unpackaged" script did in fact perform exactly such updates, in order to fix the problem that citext indexes should have a collation but would not in databases dumped or upgraded from pre-9.1 installations. Even if we wanted to add casts to allow such updates, there's no practical way to do so in the back branches, so the only real alternative is to make citext's kluge even klugier. In this patch, I cast the oidvector to text, fix its contents with regexp_replace, and cast back to oidvector. (Ugh!) Since the aforementioned commit went into all active branches, we have to fix this in all branches that contain the now-broken update script. Per report from Eric Malm. http://git.postgresql.org/pg/commitdiff/7f7eec89b66947e4098773cf286653b9c4f01c88
  • Add min and max aggregates for inet/cidr data types. Haribabu Kommi, reviewed by Muhammad Asif Naeem http://git.postgresql.org/pg/commitdiff/6c40f8316ed38a92049784b3e3d3b514ed379b5a

Noah Misch a poussé :

  • Always use our getaddrinfo.c on Windows. Commit a16bac36eca8158cbf78987e95376f610095f792 let "configure" detect the system getaddrinfo() when building under 64-bit MinGW-w64. However, src/include/port/win32/sys/socket.h assumes all native Windows configurations use our replacement. This change placates buildfarm member jacana until we establish a plan for getaddrinfo() on Windows. http://git.postgresql.org/pg/commitdiff/ec544a65c9090bc9da11ea384d1369fd552ca8b0

Correctifs rejetés (à ce jour)

  • No one was disappointed this week

Correctifs en attente

  • SAWADA Masahiko sent in a WIP patch to add "-C (--concurrently)" option for reindexdb command for concurrently reindexing.
  • Andrew (RhodiumToad) Gierth sent in three more revisions of a patch to add GROUPING SETS and make necessary associated changes to the contrib code.
  • Andres Freund sent in a patch to add .NOTPARALLEL to contrib/Makefile.
  • Fujii Masao sent in another revision of a patch to specify the unit in storage parameters.
  • Thomas Munro sent in four more revisions of a patch to add SKIP LOCKED DATA.
  • Petr (PJMODOS) Jelinek and Tom Lane traded patches to add built-in binning functions.
  • Michael Paquier sent in another revision of a patch to ensure that pg_dump shows the schema name.
  • Alvaro Herrera sent in another revision of a patch to replicate DROP commands across servers.
  • Michael Paquier sent in another revision of a patch to implement REINDEX CONCURRENTLY.
  • Michael Paquier sent in two more revisions of a patch to add a missing comment block at the top of streamutil.h and receivelog.h.
  • David Rowley sent in another revision of a patch to support SEMI and ANTI join removal.
  • Tom Lane and Arthur Silva traded patches to fix a situation where JSONB's structure plays poorly with TOAST compression.
  • Fujii Masao sent in two more revisions of a patch to add a GUC for logging replication commands.
  • Andres Freund sent in two more revisions of a patch to make backend local tracking of buffer pins memory efficient.
  • Alvaro Herrera sent in a patch to introduce a "delay equivalent" to sort out some oddness in autovacuum cost calculations.
  • Kevin Grittner sent in two more revisions of a patch to implement delta relations, among other places, in AFTER triggers.
  • Fabien COELHO sent in six more revisions of a patch to implement a pgbench throttling latency limit.
  • Andres Freund and SAWADA Masahiko traded patches to add line number as an optional prompt in psql.
  • Joachim Wieland sent in another revision of a patch to refactor pg_dump to remove global variables.
  • Michael Paquier sent in another revision of a patch to add support for physical slot creation/deletion in pg_receivexlog.
  • Emre Hasegeli sent in three more revisions of a patch to add selectivity estimation for inet operators.
  • Michael Paquier sent in a patch to simplify calls of pg_class_aclcheck when multiple modes are used.
  • Fujii Masao and Amit Kapila traded patches to allow auditing logout.
  • Pavel Stehule and Andres Freund traded patches to give access to help_variables and usage from psql via psql command.
  • Peter Geoghegan sent in a patch to extend the INSERT statement, adding a new ON CONFLICT {UPDATE | IGNORE} clause.
  • Julien Rouhaud sent in another revision of a patch to track the number of files ready to be archived in pg_stat_archiver.
  • Kaigai Kouhei sent in another revision of a patch to implement a custom plan API.
  • Heikki Linnakangas and Andres Freund traded patches to make the bgwriter do a better job of controlling latency.
  • Michael Paquier sent in another revision of a patch to enable support for N synchronous standby servers, N>1.
  • Etsuro Fujita sent in another revision of a patch to implement INHERIT support for foreign tables.
  • Amit Kapila sent in another revision of a patch to permit scaling shared buffer eviction.
  • Kyotaro HORIGUCHI sent in another revision of a patch to fix some brokein code around socket emulation on win32.
  • Alvaro Herrera sent in another revision of a patch to create a better REINDEX syntax.
  • Etsuro Fujita sent in another revision of a patch to optimize updating foreign tables in the PostgreSQL FDW.
  • Alexey Klyukin sent in another revision of a patch to implement subject alternative names support for SSL connections.
  • Fujii Masao sent in a patch to fix an infelicity in psql's \watch vs. \timing.
  • Craig Ringer sent in a patch to allow distdir to be overridden on the "make" command line.
  • Ali Akbar sent in a patch to fix xpath() to return namespace definitions.
  • Amit Kapila sent in another revision of a patch to implement ALTER SYSTEM RESET.
  • Michael Paquier sent in two more revisions of a patch to fix a misleading error message in logical decoding for binary plugins.
  • Adam Brightwell sent in another revision of a patch to provide the capability to create multiple named row level security policies for a table on a per command basis and assign them to be applied to specific roles/users.
  • Ali Akbar sent in another revision of a patch to accept empty values as xml "content" values.
  • Peter Eisentraut sent in another revision of a patch to improve the speed of "make check-world".