== PostgreSQL Weekly News - February 02 2014 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - February 02 2014 ==
Date
Msg-id 20140203074632.GB4664@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - February 02 2014 ==

PGConf NYC 2014 Schedule announced and Early-Bird Registration is
open.
http://nyc.pgconf.us/2014/schedule/
http://pgconfnyc2014.eventbrite.com/?aff=pgann

== PostgreSQL Product News ==

Ora2PG 12.1, a migration system for moving from Oracle to PostgreSQL, released.
http://ora2pg.darold.net/

pgCluu 1.1, a Perl program audit PostgreSQL Cluster performance,
released.
http://pgcluu.darold.net/

== PostgreSQL Jobs for February ==

http://archives.postgresql.org/pgsql-jobs/2014-02/threads.php

== PostgreSQL Local ==

The 7th annual "Prague PostgreSQL Developers Day" (P2D2) conference
organized by CSPUG (Czech and Slovak PostgreSQL Users Group), will be
held on February 6, 2014 at Faculty of Mathematics and Physics,
Charles University (Malostranske namesti 25, Prague).  Czech language
info below.
http://www.p2d2.cz/

Nordic PGDay 2014 will be held in Stockholm, Sweden, at the Hilton
Stockholm Hotel, on March 20, 2014.
http://2014.nordicpgday.org/

PGConf NYC 2014 will be held April 3-4, 2014 in New York, New York, USA.
http://nyc.pgconf.us/2014/

The Open Data Summit will be held Friday April 11, 2014 in Denver,
Colorado, USA.
http://www.opendatasummit.com

PGCon 2014, the world-wide developer conference for PostgreSQL, will
be in Ottawa, Ontario, Canada May 20-24, 2014.
http://www.pgcon.org/2014/


== PostgreSQL in the News ==

Planet PostgreSQL: http://planet.postgresql.org/

PostgreSQL Weekly News is brought to you this week by David Fetter

Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david@fetter.org, German language
to pwn@pgug.de, Italian language to pwn@itpug.org.  Spanish language
to pwn@arpug.com.ar.

== Applied Patches ==

Robert Haas pushed:

- Relax the requirement that all lwlocks be stored in a single array.
  This makes it possible to store lwlocks as part of some other data
  structure in the main shared memory segment, or in a dynamic shared
  memory segment.  There is still a main LWLock array and this patch
  does not move anything out of it, but it provides necessary
  infrastructure for doing that in the future.  This change is likely
  to increase the size of LWLockPadded on some platforms, especially
  32-bit platforms where it was previously only 16 bytes.  Patch by
  me.  Review by Andres Freund and KaiGai Kohei.
  http://git.postgresql.org/pg/commitdiff/ea9df812d8502fff74e7bc37d61bdc7d66d77a7f

- Fix compiler warning in EXEC_BACKEND builds.  Per a report by Rajeev
  Rastogi.
  http://git.postgresql.org/pg/commitdiff/b7643b19f0fdbfb1636db52e39db4be6f0174ce0

- Add convenience functions pg_sleep_for and pg_sleep_until.  Vik
  Fearing, reviewed by Pavel Stehule and myself
  http://git.postgresql.org/pg/commitdiff/760c770ff66b5c2f77f2e17750a2e263a74d82b3

- Clear MyProc and MyProcSignalState before they become invalid.
  Evidence from buildfarm member crake suggests that the new
  test_shm_mq module is routinely crashing the server due to the
  arrival of a SIGUSR1 after the shared memory segment has been
  unmapped.  Although processes using the new dynamic background
  worker facilities are more likely to receive a SIGUSR1 around this
  time, the problem is also possible on older branches, so I'm
  back-patching the parts of this change that apply to older branches
  as far as they apply.  It's already generally the case that code
  checks whether these pointers are NULL before deferencing them, so
  the important thing is mostly to make sure that they do get set to
  NULL before they become invalid.  But in master, there's one case in
  procsignal_sigusr1_handler that lacks a NULL guard, so add that.
  Patch by me; review by Tom Lane.
  http://git.postgresql.org/pg/commitdiff/d1981719adbcc05fa15f540e8fc4327907991fc6

- Introduce replication slots.  Replication slots are a crash-safe
  data structure which can be created on either a master or a standby
  to prevent premature removal of write-ahead log segments needed by a
  standby, as well as (with hot_standby_feedback=on) pruning of tuples
  whose removal would cause replication conflicts.  Slots have some
  advantages over existing techniques, as explained in the
  documentation.  In a few places, we refer to the type of replication
  slots introduced by this patch as "physical" slots, because
  forthcoming patches for logical decoding will also have slots, but
  with somewhat different properties.  Andres Freund and Robert Haas
  http://git.postgresql.org/pg/commitdiff/858ec11858a914d4c380971985709b6d6b7dd6fc

- Include planning time in EXPLAIN ANALYZE output.  This doesn't work
  for prepared queries, but it's not too easy to get the information
  in that case and there's some debate as to exactly what the right
  thing to measure is, so just do this for now.  Andreas Karlsson,
  with slight doc changes by me.
  http://git.postgresql.org/pg/commitdiff/9347baa5bbc70368f2f01438bbb8116863dac1ec

Tom Lane pushed:

- Log a detail message for auth failures due to missing or expired
  password.  It's worth distinguishing these cases from
  run-of-the-mill wrong-password problems, since users have been known
  to waste lots of time pursuing the wrong theory about what's
  failing.  Now, our longstanding policy about how to report
  authentication failures is that we don't really want to tell the
  *client* such things, since that might be giving information to a
  bad guy.  But there's nothing wrong with reporting the details to
  the postmaster log, and indeed the comments in this area of the code
  contemplate that interesting details should be so reported.  We just
  weren't handling these particular interesting cases usefully.  To
  fix, add infrastructure allowing subroutines of
  ClientAuthentication() to return a string to be added to the
  errdetail_log field of the main authentication-failed error report.
  We might later want to use this to report other subcases of
  authentication failure the same way, but for the moment I just dealt
  with password cases.  Per discussion of a patch from Josh Drake,
  though this is not what he proposed.
  http://git.postgresql.org/pg/commitdiff/64e43c59b817a78ddf70f2fd62de31a4add5d988

- Keep pg_stat_statements' query texts in a file, not in shared
  memory.  This change allows us to eliminate the previous limit on
  stored query length, and it makes the shared-memory hash table very
  much smaller, allowing more statements to be tracked.  (The default
  value of pg_stat_statements.max is therefore increased from 1000 to
  5000.) In typical scenarios, the hash table can be large enough to
  hold all the statements commonly issued by an application, so that
  there is little "churn" in the set of tracked statements, and thus
  little need to do I/O to the file.  To further reduce the need for
  I/O to the query-texts file, add a way to retrieve all the columns
  of the pg_stat_statements view except for the query text column.
  This is probably not of much interest for human use but it could be
  exploited by programs, which will prefer using the queryid anyway.
  Ordinarily, we'd need to bump the extension version number for the
  latter change.  But since we already advanced pg_stat_statements'
  version number from 1.1 to 1.2 in the 9.4 development cycle, it
  seems all right to just redefine what 1.2 means.  Peter Geoghegan,
  reviewed by Pavel Stehule
  http://git.postgresql.org/pg/commitdiff/f0d6f20278b7c5c412ce40a9b86c6b31dc2fbfdd

- Update comment.  generate_normalized_query() no longer needs to
  truncate text, but this one comment didn't get the memo.  Per Peter
  Geoghegan.
  http://git.postgresql.org/pg/commitdiff/98d62c28fd774ad8d123b66131dcdaa0b9c9d6d4

- Fix unsafe references to errno within error messaging logic.
  Various places were supposing that errno could be expected to hold
  still within an ereport() nest or similar contexts.  This isn't true
  necessarily, though in some cases it accidentally failed to fail
  depending on how the compiler chanced to order the subexpressions.
  This class of thinko explains recent reports of odd failures on
  clang-built versions, typically missing or inappropriate HINT fields
  in messages.  Problem identified by Christian Kruse, who also
  submitted the patch this commit is based on.  (I fixed a few issues
  in his patch and found a couple of additional places with the same
  disease.) Back-patch as appropriate to all supported branches.
  http://git.postgresql.org/pg/commitdiff/571addd729a400cece396d79696adcc63387e43b

- Fix bogus handling of "postponed" lateral quals.  When pulling a
  "postponed" qual from a LATERAL subquery up into the quals of an
  outer join, we must make sure that the postponed qual is included in
  those seen by make_outerjoininfo().  Otherwise we might compute a
  too-small min_lefthand or min_righthand for the outer join, leading
  to "JOIN qualification cannot refer to other relations" failures
  from distribute_qual_to_rels.  Subtler errors in the created plan
  seem possible, too, if the extra qual would only affect join
  ordering constraints.  Per bug #9041 from David Leverton.
  Back-patch to 9.3.
  http://git.postgresql.org/pg/commitdiff/043f6ff05d0a5140dfe25faf277ec9f1d7169005

- Fix potential coredump on bad locale value in pg_upgrade.  Thinko in
  error report (and a typo in the message text, too).  We're failing
  anyway, but it would be good to print something useful first.  Noted
  while reviewing a patch to make pg_upgrade's locale code laxer.
  http://git.postgresql.org/pg/commitdiff/41e364ec67ec3a009574db9d20d1b85a654f95ae

- Be forgiving of variant spellings of locale names in pg_upgrade.
  Even though the server tries to canonicalize stored locale names,
  the platform often doesn't cooperate, so it's entirely possible that
  one DB thinks its locale is, say, "en_US.UTF-8" while the other has
  "en_US.utf8".  Rather than failing, we should try to allow this
  where it's clearly OK.  There is already pretty robust encoding
  lookup in encnames.c, so make use of that to compare the encoding
  parts of the names.  The locale identifier parts are just compared
  case-insensitively, which we were already doing.  The major problem
  known to exist in the field is variant encoding-name spellings, so
  hopefully this will be Good Enough.  If not, we can try being even
  laxer.  Pavel Raiskup, reviewed by Rushabh Lathia
  http://git.postgresql.org/pg/commitdiff/58274728fb8e087049df67c0eee903d9743fdeda

- Allow unrecognized encoding names in locales, as long as they're the
  same.  The buildfarm says commit
  58274728fb8e087049df67c0eee903d9743fdeda doesn't work so well on
  Windows.  This is because the encoding part of Windows locale names
  can be just a code page number, eg "1252", which we don't consider
  to be a valid encoding name.  Add a check to accept encoding parts
  that are case-insensitively string equal; this at least ensures that
  the new code doesn't reject any cases that the old code allowed.
  http://git.postgresql.org/pg/commitdiff/cd3e0071b8c9e082f5fe903a019d4e474be98e57

- Add some examples to the postgres_fdw documentation.  Michael
  Paquier
  http://git.postgresql.org/pg/commitdiff/e93ca1618b92ff4ca3e1ed3bff89179d3e2abd9e

- Disallow use of SSL v3 protocol in the server as well as in libpq.
  Commit 820f08cabdcbb8998050c3d4873e9619d6d8cba4 claimed to make the
  server and libpq handle SSL protocol versions identically, but
  actually the server was still accepting SSL v3 protocol while libpq
  wasn't.  Per discussion, SSL v3 is obsolete, and there's no good
  reason to continue to accept it.  So make the code really equivalent
  on both sides.  The behavior now is that we use the highest
  mutually-supported TLS protocol version.  Marko Kreen, some
  comment-smithing by me
  http://git.postgresql.org/pg/commitdiff/326e1d73c476a0b5061ef00134bdf57aed70d5e7

- Fix some more bugs in signal handlers and process shutdown logic.
  WalSndKill was doing things exactly backwards: it should first clear
  MyWalSnd (to stop signal handlers from touching MyWalSnd->latch),
  then disown the latch, and only then mark the WalSnd struct unused
  by clearing its pid field.  Also, WalRcvSigUsr1Handler and
  worker_spi_sighup failed to preserve errno, which is surely a
  requirement for any signal handler.  Per discussion of recent
  buildfarm failures.  Back-patch as far as the relevant code exists.
  http://git.postgresql.org/pg/commitdiff/214c7a4f0b1784ce855512c2961b09c9f51dafd8

- Fix some wide-character bugs in the text-search parser.  In
  p_isdigit and other character class test functions generated by the
  p_iswhat macro, the code path for non-C locales with multibyte
  encodings contained a bogus pointer cast that would accidentally
  fail to malfunction if types wchar_t and wint_t have the same width.
  Apparently that is true on most platforms, but not on recent Cygwin
  releases.  Remove the cast, as it seems completely unnecessary (I
  think it arose from a false analogy to the need to cast to unsigned
  char when dealing with the <ctype.h> functions).  Per bug #8970 from
  Marco Atzeri.  In the same functions, the code path for C locale
  with a multibyte encoding simply ANDed each wide character with 0xFF
  before passing it to the corresponding <ctype.h> function.  This
  could result in false positive answers for some non-ASCII
  characters, so use a range test instead.  Noted by me while
  investigating Marco's complaint.  Also, remove some useless though
  not actually buggy maskings and casts in the hand-coded p_isalnum
  and p_isalpha functions, which evidently got tested a bit more
  carefully than the macro-generated functions.
  http://git.postgresql.org/pg/commitdiff/082c0dfa140b5799bc7eb574d68610dcfaa619ba

- Clean up some sloppy coding in repl_gram.y.  Remove unused
  copy-and-pasted macro definitions, and improve formatting of
  recently-added productions.  I got interested in this because
  buildfarm member protosciurus has been crashing in "bison
  repl_gram.y" since commit 858ec11.  It's a long shot that this will
  fix that, though maybe the missing trailing semicolon has something
  to do with it?  In any case, there's no need to approve of dead
  code, nor of code whose formatting isn't even self-consistent let
  alone consistent with what's around it.
  http://git.postgresql.org/pg/commitdiff/46825d4978b63a0ae9637efbf6298220c833fa8d

- Switch in psql_scan() must cover all lexer states (except backslash
  cases).  Oversight in commit
  f7559c0101afa33bfb4e104036ca46adac900111, which changed UESCAPE
  lexing in psql.  Per bug #9068 from Manuel Gómez.
  http://git.postgresql.org/pg/commitdiff/47aaebaac95c9000549d1a6de809e15b729231f5

Stephen Frost pushed:

- Revert dup2() checking in syslogger.c Per the expanded comment- As
  we're just trying to reset these to go to DEVNULL, there's not much
  point in checking for failure from the close/dup2 calls here, if
  they fail then presumably the file descriptors are closed and any
  writes will go into the bitbucket anyway.  Pointed out by Tom Lane.
  http://git.postgresql.org/pg/commitdiff/aef61bf433a9e9b6e2d98b0fdcce8562c3ad526f

Bruce Momjian pushed:

- Remove orphaned prototype.  Rajeev rastogi
  http://git.postgresql.org/pg/commitdiff/051b3341c1e8be67ec41a6d60dbb2a1df5582ca2

- Revert C comment change in slot_attisnull().  Revert
  89774b58b0ea2874765cae10c094bb6aaf707feb
  http://git.postgresql.org/pg/commitdiff/c871e8f53bd6dc9249b6d79f2fde34dedb200824

- Add more C comments to entab.c.
  http://git.postgresql.org/pg/commitdiff/db90bcf8df427616a3dbce8ca3895874c2eaa9d7

- Add C functions to centralize entab processing
  http://git.postgresql.org/pg/commitdiff/e93f7253a7999531b3768080fa4e58817ed8b112

- Fix pointer processing in new entab.c function
  http://git.postgresql.org/pg/commitdiff/8440897b38be38903ecc2041002bba08e08308ad

- Add checks for interval overflow/underflow.  New checks include
  input, month/day/time internal adjustments, addition, subtraction,
  multiplication, and negation.  Also adjust docs to correctly specify
  interval size in bytes.  Report from Rok Kralj
  http://git.postgresql.org/pg/commitdiff/146604ec43bcd6f977c31775a91022cf9737daf5

- docs:  add mention of index swapping.  Backpatch to 9.3.  Greg Smith
  http://git.postgresql.org/pg/commitdiff/b1cbd2b573edc690bdb75cf25fe31037c8126b2f

- docs:  mention SGML refentry also pulls text from the link
  http://git.postgresql.org/pg/commitdiff/7aba24e9715b725f71b2cc97a18a96c45761f469

- docs:  improve xref description for xreflabel and refentry links
  http://git.postgresql.org/pg/commitdiff/c29a6dd54860082153ec7fedb603a4c2c37b1445

- pgindent:  preserve blank lines around #else/#endif.  This requires
  a new version of pg_bsd_indent, version 1.3, to be downloaded.
  http://git.postgresql.org/pg/commitdiff/db98b313296d1d50f357d58fbcb6572ed1ab018f

- entab:  add new options.  Add new entab options to process only C
  comment whitespace after periods, and to protect leading whitespace.
  http://git.postgresql.org/pg/commitdiff/5ff47acf8f2da1103219a99e61b4862dba8b6f3d

- pgindent:  add --list-of-typedefs option.  Allows typedefs to be
  specified on the command line, per request from Andrew.
  http://git.postgresql.org/pg/commitdiff/cad1e022b265be8f2526cd82e5d2f8da3ba9f613

- pgindent:  add Perl comment
  http://git.postgresql.org/pg/commitdiff/290d2cb500ea8903cf605e626fc46ea11a619f28

- system catalogs:  reorder pg_amproc entries into proper sections.
  Report form Antonin Houska
  http://git.postgresql.org/pg/commitdiff/fc4ffba9685809474a1cb9aa7bd122f62f0ee2e5

- docs:  specify FOR UPDATE/SHARE incompatibilities.  Document that
  FOR UPDATE/SHARE are incompatible with GROUP BY, DISTINCT, HAVING
  and window functions.  Michael Paquier
  http://git.postgresql.org/pg/commitdiff/8824b38909b28c801456ade7a63ff67e3795ed1d

- doc: authentication wording improvements.  Suggested by David
  Tonhofer
  http://git.postgresql.org/pg/commitdiff/384fbd1a5d49c3acaecf15d7a7eefae49049f6eb

- docs:  mention tgconstrindid supports exclusion constraints.  Dean
  Rasheed
  http://git.postgresql.org/pg/commitdiff/3fd3e34914a2aa520a8bc5109a773621385cf1f4

- doc: mention data page checksums in WAL section.  Backpatch to 9.3.
  Adjusted patch from Ian Lawrence Barwick
  http://git.postgresql.org/pg/commitdiff/85317e88ccae270ef77bd01c2d3d55a900df2d72

- chkpass:  check for NULL return value from crypt().  Report from
  Jozef Mlich using Coverity
  http://git.postgresql.org/pg/commitdiff/6afe200ceea818c82e3a1a754c5043e7df1efa10

- doc: mention statistics reset during crash recovery.  Takayuki
  Tsunakawa
  http://git.postgresql.org/pg/commitdiff/637fab6e575b36d3a4368e7c2b923231c5504035

- pg_restore:  make help output plural for multi-enabled options.  per
  report from Josh Kupershmidt
  http://git.postgresql.org/pg/commitdiff/5168c76964fe90646b69b37e2c5bc7b60ba12d65

- docs:  mention 'g' is not in the regex embedded options table.
  Mentioned in substring() and regexp_replace() sections.
  http://git.postgresql.org/pg/commitdiff/5bdef38b8917cfbe206d14969c61a5d38fc822b6

- arrays:  tighten checks for multi-dimensional input.  Previously an
  input array string that started with a single-element array
  dimension would then later accept a multi-dimensional segment.
  BACKWARD INCOMPATIBILITY
  http://git.postgresql.org/pg/commitdiff/d0ee93797d9c06e619b3f382705d99ee195bb573

Andrew Dunstan pushed:

- Add new make targets check-tests and installcheck-tests.  These do
  not run any specific schedule of tests, but only those specified as
  part of the invocation, e.g.: make check-tests TESTS="json jsonb"
  http://git.postgresql.org/pg/commitdiff/7043ac7100cd80345d7f12ece60d05a3ab2baf06

- New json functions.  json_build_array() and json_build_object allow
  for the construction of arbitrarily complex json trees.
  json_object() turns a one or two dimensional array, or two separate
  arrays, into a json_object of name/value pairs, similarly to the
  hstore() function.  json_object_agg() aggregates its two arguments
  into a single json object as name value pairs.  Catalog version
  bumped.  Andrew Dunstan, reviewed by Marko Tiikkaja.
  http://git.postgresql.org/pg/commitdiff/105639900bf83fd3e3eb5b49f49b4d74d6347b9b

- Minor docs fixes for new json functions.  Thom Brown.
  http://git.postgresql.org/pg/commitdiff/c2099751cd85d46745a9734b64b953d3277e5b9e

- Remedy two small omissions in the new json functions docs.
  http://git.postgresql.org/pg/commitdiff/2013e5eef7e08d924237c03196b76a9edf43254a

- Forgot to bump catalog version for json_array_elements_text.
  http://git.postgresql.org/pg/commitdiff/5e52e9d6d467d352c28141f16a95db6c2df71ecc

- Silence compiler warnings about possibly unset variables.  They are
  in fact set in every case where they are needed, but the compiler
  doesn't know that.  Per gripe from Tom Lane.
  http://git.postgresql.org/pg/commitdiff/120c5cc761e0d99a9a2f3349f4031850b0dbd5a0

- Add json_array_elements_text function.  This was a notable omission
  from the json functions added in 9.3 and there have been numerous
  complaints about its absence.  Laurence Rowe.
  http://git.postgresql.org/pg/commitdiff/5264d9154178d3aeaa0359b43a450298a7ce7281

- Fix documented return type of json_array_elements_text.  Per gripe
  from hubert depesz lubaczewski.  Also improve examples for this and
  json_array_elements so they match the example results.
  http://git.postgresql.org/pg/commitdiff/e9afdf2f4bddb9d3a5a09aa8eff7fcc49db231d2

- Copy the libpq DLL to the bin directory on Mingw and Cygwin.  This
  has long been done by the MSVC build system, and has caused
  confusion in the past when programs like psql have failed to start
  because they can't find the DLL. If it's in the same directory as it
  now will be they will find it.  Backpatch to all live branches.
  http://git.postgresql.org/pg/commitdiff/d587298b80e14afdbf2a6b0980f4902280af980e

- Don't use deprecated dllwrap on Cygwin.  The preferred method is to
  use "cc -shared", and this allows binaries to be rebased if
  required, unlike dllwrap.  Backpatch to 9.0 where we have buildfarm
  coverage.  There are still some issues with Cygwin, especially
  modern Cygwin, but this helps us get closer to good support.  Marco
  Atzeri.
  http://git.postgresql.org/pg/commitdiff/7e1531a4504248d9df5deae8c4aa9340adaa7ef5

- fix whitespace
  http://git.postgresql.org/pg/commitdiff/c8158a2eed8eb060c524620c8314bec30ac94c99

- Fix makefile syntax.
  http://git.postgresql.org/pg/commitdiff/9abed7d1cb1e219254bcf4b92afd02c11337e7a3

Fujii Masao pushed:

- Add pg_stat_archiver statistics view.  This view shows the
  statistics about the WAL archiver process's activity.  Gabriele
  Bartolini, reviewed by Michael Paquier, refactored a bit by me.
  http://git.postgresql.org/pg/commitdiff/9132b189bf5589591cb63fef7952842b772e4fe6

- Add tab completion for ALTER TABLESPACE MOVE in psql.
  http://git.postgresql.org/pg/commitdiff/a87ae38be844a140786bf2fb3f3f8a094d51fa26

- Fix typos in docs and comments.  Thom Brown
  http://git.postgresql.org/pg/commitdiff/63be3b78f6e1d92c7f02d4f73a55dd5cefab923b

- Add primary_slotname to recovery.conf.sample.
  http://git.postgresql.org/pg/commitdiff/0753bdb352270a03dec52bc959418fa82e9b07cc

- Add <indexterm> for functions pg_sleep_for and pg_sleep_until.
  http://git.postgresql.org/pg/commitdiff/c087e8cf3470081546c74b43e086e2b4d0a255d3

Heikki Linnakangas pushed:

- Fix docs build.  Broken by the huge_tlb_pages patch.  Vik Fearing.
  http://git.postgresql.org/pg/commitdiff/991659dcd768163c77924e67a75088e91c713189

- Allow skipping some items in a multi-key GIN search.  In a multi-key
  search, ie. something like "col @> 'foo' AND col @> 'bar'", as soon
  as we find the next item that matches the first criteria, we don't
  need to check the second criteria for TIDs smaller the first match.
  That saves a lot of effort, especially if one of the terms is rare,
  while the second occurs very frequently.  Based on ideas from
  Alexander Korotkov's fast scan patch.
  http://git.postgresql.org/pg/commitdiff/e20c70cb0fa74d5bffa080e21a99b44bf0768667

- Further optimize multi-key GIN searches.  If we're skipping past a
  certain TID, avoid decoding posting list segments that only contain
  smaller TIDs.  Extracted from Alexander Korotkov's fast scan patch,
  heavily modified.
  http://git.postgresql.org/pg/commitdiff/25b1dafab63f465a65c63b26834dc18857f0fa0c

- Allow using huge TLB pages on Linux (MAP_HUGETLB) This patch adds an
  option, huge_tlb_pages, which allows requesting the shared memory
  segment to be allocated using huge pages, by using the MAP_HUGETLB
  flag in mmap(). This can improve performance.  The default is 'try',
  which means that we will attempt using huge pages, and fall back to
  non-huge pages if it doesn't work. Currently, only Linux has
  MAP_HUGETLB. On other platforms, the default 'try' behaves the same
  as 'off'.  In the passing, don't try to round the mmap() size to a
  multiple of pagesize. mmap() doesn't require that, and there's no
  particular reason for PostgreSQL to do that either. When using
  MAP_HUGETLB, however, round the request size up to nearest 2MB
  boundary. This is to work around a bug in some Linux kernel
  versions, but also to avoid wasting memory, because the kernel will
  round the size up anyway.  Many people were involved in writing this
  patch, including Christian Kruse, Richard Poole, Abhijit Menon-Sen,
  reviewed by Peter Geoghegan, Andres Freund and me.
  http://git.postgresql.org/pg/commitdiff/1a3458b6d8d202715a83c88474a1b63726d0929e

- Further optimize GIN multi-key searches.  When skipping over some
  items in a posting tree, re-find the new location by descending the
  tree from root, rather than walking the right links.  This can save
  a lot of I/O.  Heavily modified from Alexander Korotkov's fast scan
  patch.
  http://git.postgresql.org/pg/commitdiff/626a120656a75bf4fe64b1d0d83c23cb38d3771a

- Fix thinko in huge_tlb_pages patch.  We calculated the rounded-up
  size for the allocation, but then failed to use the rounded-up value
  in the mmap() call. Oops.  Also, initialize allocsize, to silence
  warnings seen with some compilers, as pointed out by Jeff Janes.
  http://git.postgresql.org/pg/commitdiff/699b1f40da3139def660235fa8a782ec8dd8f575

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Sawada Masahiko and David Fetter traded patches to expand "iff" into
"if and only if" in documentation and comments.

Alexander Korotkov sent in another revision of a patch to implement
partial sorting.

Heikki Linnakangas sent in two more revisions of a patch to fix a race
condition in B-Tree page deletion.

Stephen Frost sent in a patch not to tweak NTUP_PER_BUCKET, but
instead to do a different calculation which doesn't include it.

Simon Riggs sent in another revision of a patch to decrease lock
levels for certain operations.

Andreas Karlsson sent in three more revisions of a patch to allow
including planning time in EXPLAIN [ANALYZE].

Dimitri Fontaine sent in another revision of a patch to implement an
extension control path.

Andres Freund and Robert Haas traded patches aimed at logical
changeset extraction.

Amit Kapila and Heikki Linnakangas traded patches to improve
performance by reducing WAL for updates.

Mitsumasa KONDO sent in another revision of a patch to add min and max
execute statement times to pg_stat_statement.

Amit Kapila sent in another revision of a patch to allow retaining
dynamic shared memory segments for the postmaster lifetime.

Robert Haas sent in a patch to make the world safe for
procsignal_sigusr1_handler.

Andrew Dunstan sent in four more revisions of a patch to implement
jsonb and nested hstore.

Erik Rijkers sent in a patch to document jsonb and nested hstore.

Peter Geoghegan sent in a patch to correct a comment to reflect the
fact storing pg_stat_statements query texts externally removes certain
limits.

Mitsumasa KONDO sent in another revision of a patch to drop duplicate
buffers in the OS.

Björn Harrtell sent in a patch to implement a regexp_matches variant
returning an array of matching positions.

Ian Lawrence Barwick sent in two more revisions of a patch to add a
FORCE_NULL option for copy COPY in CSV mode.

Kyotaro HORIGUCHI sent in another revision of a patch to allow UNION
ALL queries on partitioned tables to use indexes.

Yugo Nagata sent in two more revisions of a patch to implement
to_regclass and like kind functions.

Salah Jubeh sent in two more revisions of a patch to add a --force
option to dropdb.

Christian Kruse sent in another revision of a patch to show process
IDs of processes holding a lock and show the relation and tuple info
of a lock to acquire.

Steeve Lennmark sent in another revision of a patch to allow
relocating tablespaces in pg_basebackup.

Pavel Stehule sent in another revision of a patch to ensure that COPY
... FROM STDIN shows the count tag.

Michael Paquier sent in a patch to remove xloginsert_slots.

Craig Ringer sent in another set of patches aimed toward fixing an
infinite recursion in the upcoming updateable security barrier views.

Christian Kruse sent in a patch to fix an assumption about the order
of operations that is true in GCC but not in Clang.

Christian Kruse sent in a patch to explain how to compile the docs
in Gentoo Linux.

Craig Ringer and Dean Rasheed traded patches to implement updateable
security barrier views.

Michael Paquier sent in a patch to rename PgStat_GlobalStats to
PgStat_BgWriterStats.

Ronan Dunklau sent in two more revisions of a patch to allow
triggers on foreign tables.

Shigeru HANADA sent in another revision of a patch to allow foreign
tables to INHERIT from local ones.

Andreas Karlsson sent in another revision of a patch to add GiST index
support for inet datatypes.

Etsuro Fujita sent in a patch atop the patch which allows foreign
tables to inherit from local ones.  This patch enables ANALYZE where
appropriate.

Amit Kapila sent in another revision of a patch to fix an issue in
ALTER SYSTEM with PGC_BACKEND parameters.

Michael Paquier and Robert Haas traded patches to document the fact
that the regression tests need to operate on a database named
"regression."

Pavel Stehule and Jeevan Chalke traded patches to add an --if-exists
option to pg_dump, which would inject IF EXISTS into its output at
appropriate places.

MauMau sent in another revision of a patch to fix a bug where  pg_ctl
always uses the same event source on Windows.

MauMau sent in another revision of a patch to fix a bug where pg_ctl
fails with config-only directory.

Bruce Momjian sent in another revision of a patch to fix an error
where the insert result does not match record count due to an
overflow.

Fujii Masao sent in a patch to change basebackup.c so that it skips
all files in both pg_stat_tmp and stats_temp_directory.

Christian Kruse sent in another revision of a patch to show xid and
xmin in pg_stat_activity and pg_stat_replication.

Julien Rouhaud sent in a patch to change pg_sleep(interval) to use
clock_timestamp() (time on the clock) instead of now() (time at which
the transaction started).

Andres Freund sent in a patch to fix an issue where misaligned
BufferDescriptors was causing major performance problems on AMD.

Andres Freund sent in a patch to fix an issue where startup slows
because of LWLockAssign() spinlock.

Tom Lane sent in a patch to fix an issue where CacheInvalidateRelcache
in btree was not doing the right thing.

Tom Lane sent in a patch to avoid unsafe cache reloads.

David Fetter sent in another revision of a patch to implement UPDATE
... RETURNING BEFORE/AFTER.

Craig Ringer sent in a patch to fix a memory leak in
json_array_elements.

Marko (johto) Tiikkaja sent in another revision of a patch to
implement plpgsql.warn_shadow.

Rajeev Rastogi sent in another revision of a patch to fix an issue
where the PostgreSQL Service on Windows does not start if data
directory given is relative path.



pgsql-announce by date:

Previous
From: "Jonathan S. Katz"
Date:
Subject: PGConf NYC 2014 Schedule Announced & Early-Bird Registration Open
Next
From: Gabriele Bartolini
Date:
Subject: Barman 1.3.0 released