== PostgreSQL Weekly News - July 06 2015 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - July 06 2015 ==
Date
Msg-id 20150707033145.GA22974@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - July 06 2015 ==

The CommitFest schedule for the 9.6 cycle is planned as follows:
CF1: July 1 to July 31 2015
CF2: Sept 1 to Sept 30 2015
CF3: November 1 to November 30 2015
CF4: Jan 2 to Jan 31 2016
CF5: March 1 to March 31 2016, to end on time (sudden death patch rejection)
Feature Freeze (committer freeze): April 15
https://wiki.postgresql.org/wiki/PgCon_2015_Developer_Meeting#9.6_Schedule

PostgreSQL 9.5 Alpha 1 Released.  Test!
http://www.postgresql.org/about/news/1595/

PostgreSQL Conference Europe 2015 will be held on October 27-30 in the
Vienna Marriott Hotel, in Vienna, Austria.  The CfP is open until
August 7.
http://2015.pgconf.eu/

== PostgreSQL Product News ==

SQL Tabs v0.4, a client tool for PostgreSQL, released.
http://www.sqltabs.com/

Version 2.22.0 of check_postgres, a Postgres monitoring tool, released.
http://bucardo.org/wiki/Check_postgres
Role::Pg::Roles 0.002, a Perl module for manipulating roles, released.
https://metacpan.org/pod/Role::Pg::Roles

Role::Pg::Sequences 0.002, a Perl module for manipulating sequences, released.
https://metacpan.org/pod/Role::Pg::Roles

Role::Pg::Notify 0.001, a Perl module for manipulating NOTIFY, released.
https://metacpan.org/pod/Role::Pg::Roles

Job::Machine 0.22, a Perl module for creating and using job queues, released.
https://metacpan.org/pod/Job::Machine

== PostgreSQL Jobs for July ==

http://archives.postgresql.org/pgsql-jobs/2015-07/

== PostgreSQL Local ==

PGDay UK, Conference will be taking place on 7th July 2015 – it is aimed at
the UK PostgreSQL Community.
http://www.postgresqlusergroup.org.uk

PGDay Campinas 2015 will take place in Campinas on August 7.
http://pgdaycampinas.com.br/english/

PostgresOpen 2015 will being held in Dallas, Texas September 16-18.
http://2015.postgresopen.org/

PostgreSQL Session #7, will be held September 24th, 2015 in Paris,
France,
http://www.postgresql-sessions.org/7/about

PostgreSQL Conference Europe 2015 will be held on October 27-30 in the
Vienna Marriott Hotel, in Vienna, Austria.  The CfP is open until
August 7.
http://2015.pgconf.eu/

PGConf Silicon Valley 2015 is November 17-18 at the South San
Francisco Convention Center.
http://www.pgconfsv.com

PGBR2015 (The Brazilian PostgreSQL Conference) will take place in Porto
Alegre, Rio Grande do Sul, on November 18, 19 and 20.
The CfP is open through July 15.
http://pgbr.postgresql.org.br/2015/en/#call-for-papers

== 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 ==

Heikki Linnakangas pushed:

- Also trigger restartpoints based on max_wal_size on standby.  When
  archive recovery and restartpoints were initially introduced,
  checkpoint_segments was ignored on the grounds that the files
  restored from archive don't consume any space in the recovery
  server. That was changed in later releases, but even then it was
  arguably a feature rather than a bug, as performing restartpoints as
  often as checkpoints during normal operation might be excessive, but
  you might nevertheless not want to waste a lot of space for
  pre-allocated WAL by setting checkpoint_segments to a high value.
  But now that we have separate min_wal_size and max_wal_size
  settings, you can bound WAL usage with max_wal_size, and still avoid
  consuming excessive space usage by setting min_wal_size to a lower
  value, so that argument is moot.  There are still some issues with
  actually limiting the space usage to max_wal_size: restartpoints in
  recovery can only start after seeing the checkpoint record, while a
  checkpoint starts flushing buffers as soon as the redo-pointer is
  set. Restartpoint is paced to happen at the same leisurily speed,
  determined by checkpoint_completion_target, as checkpoints, but
  because they are started later, max_wal_size can be exceeded by upto
  one checkpoint cycle's worth of WAL, depending on
  checkpoint_completion_target. But that seems better than not trying
  at all, and max_wal_size is a soft limit anyway.  The documentation
  already claimed that max_wal_size is obeyed in recovery, so this
  just fixes the behaviour to match the docs. However, add some
  weasel-words there to mention that max_wal_size may well be exceeded
  by some amount in recovery.
  http://git.postgresql.org/pg/commitdiff/d661532e27b34e9c89d0700c6ce246731e70072c

- Initialize GIN metapage correctly when replaying metapage-update WAL
  record.  I broke this with my WAL format refactoring patch. Before
  that, the metapage was read from disk, and modified in-place
  regardless of the LSN. That was always a bit silly, as there's no
  need to read the old page version from disk disk when we're
  overwriting it anyway. So that was changed in 9.5, but I failed to
  add a GinInitPage call to initialize the page-headers correctly.
  Usually you wouldn't notice, because the metapage is already in the
  page cache and is not zeroed.  One way to reproduce this is to
  perform a VACUUM on an already vacuumed table (so that the vacuum
  has no real work to do), immediately after a checkpoint, and then
  perform an immediate shutdown. After recovery, the page headers of
  the metapage will be incorrectly all-zeroes.  Reported by Jeff Janes
  http://git.postgresql.org/pg/commitdiff/47fe4d25d57c81b9d7b2ac88783a12ee487db220

- Don't call PageGetSpecialPointer() on page until it's been
  initialized.  After calling XLogInitBufferForRedo(), the page might
  be all-zeros if it was not in page cache already.
  btree_xlog_unlink_page initialized the page correctly, but it called
  PageGetSpecialPointer before initializing it, which would lead to a
  corrupt page at WAL replay, if the unlinked page is not in page
  cache.  Backpatch to 9.4, the bug came with the rewrite of B-tree
  page deletion.
  http://git.postgresql.org/pg/commitdiff/fdf28853ae6a397497b79fea69f89f4f7b9aa991

- Add assertion to check the special size is sane before dereferencing
  it.  This seems useful to catch errors of the sort I just fixed,
  where PageGetSpecialPointer is called before initializing the page.
  http://git.postgresql.org/pg/commitdiff/302ac7f27197855afa8c89fae36c85c124ae156b

- Use American spelling for "behavior".  For consistency with the rest
  of the docs.  Michael Paquier
  http://git.postgresql.org/pg/commitdiff/5b1b6bf49b44f9b26f0c9eb6d97e84973e71a0ae

- Fix name of argument to pg_stat_file.  It's called "missing_ok" in
  the docs and in the C code.  I refrained from doing a catversion
  bump for this, because the name of an input argument is just
  documentation, it has no effect on any callers.  Michael Paquier
  http://git.postgresql.org/pg/commitdiff/7931622d1d942dbbba8d0eab77f18f69f1ce5de0

- Use appendStringInfoString/Char et al where appropriate.  Patch by
  David Rowley. Backpatch to 9.5, as some of the calls were new in
  9.5, and keeping the code in sync with master makes future
  backpatching easier.
  http://git.postgresql.org/pg/commitdiff/f92d6a540ac443f85f0929b284edff67da14687a

- Don't emit a spurious space at end of line in pg_dump of event
  triggers.  Backpatch to 9.3 and above, where event triggers were
  added.
  http://git.postgresql.org/pg/commitdiff/7b156c1e0746a46d083d7dbcd28afb303b3484ef

- Replace obsolete autoconf macros with their modern replacements.
  AC_TRY_COMPILE(...) -> AC_COMPILE_IFELSE([AC_LANG_PROGRAM(...)])
  AC_TRY_LINK(...) -> AC_LINK_IFELSE([AC_LANG_PROGRAM(...)])
  AC_TRY_RUN(...) -> AC_RUN_IFELSE([AC_LANG_PROGRAM(...)])
  AC_LANG_SAVE/RESTORE -> AC_LANG_PUSH/POP AC_DECL_SYS_SIGLIST ->
  AC_CHECK_DECLS(...) (per snippet in autoconf manual) Also use
  AC_LANG_SOURCE instead of AC_LANG_PROGRAM, where the main() function
  is not needed.  With these changes, autoconf -Wall doesn't complain
  anymore.  Andreas Karlsson
  http://git.postgresql.org/pg/commitdiff/a2edb023d08778c3346bbbf4ca82ef7f6e9283eb

- Plug some trivial memory leaks in pg_dump and pg_upgrade.  There's
  no point in trying to free every small allocation in these programs
  that are used in a one-shot fashion, but these ones seems like an
  improvement on readability grounds.  Michael Paquier, per Coverity
  report.
  http://git.postgresql.org/pg/commitdiff/f712289ffad7c3fb6eb3be4f81adb0aa0981c9f7

- Remove "const" from convertTSFunction()'s return type.  There's no
  particular reason to mark it as such. The other convert* functions
  have no const either.
  http://git.postgresql.org/pg/commitdiff/a3fd7afe3090a5098f93408d47da70b47fb59e7b

- Remove obsolete heap_formtuple/modifytuple/deformtuple functions.
  These variants used the old-style 'n'/' ' NULL indicators. The
  new-style functions have been available since version 8.1. That
  should be long enough that if there is still any old external code
  using these functions, they can just switch to the new functions
  without worrying about backwards compatibility.  Peter Geoghegan
  http://git.postgresql.org/pg/commitdiff/726117243022178e72966cbffdfb9147ec6dbbcc

- Lift the limitation that # of clients must be a multiple of # of
  threads.  Fabien Coelho
  http://git.postgresql.org/pg/commitdiff/ba3deeefb0fb9e8810b454bc7b41f27965c24aa8

- Fix pgbench progress report behaviour when pgbench or a query gets
  stuck.  There were two issues here. First, if a query got stuck so
  that it took e.g. 5 seconds, and progress interval was 1 second, no
  progress reports were printed until the query returned. Fix so that
  we wake up specifically to print the progress report. Secondly, if
  pgbench got stuck so that it would nevertheless not print a progress
  report on time, and enough time passes that it's already time to
  print the next progress report, just skip the one that was missed.
  Before this patch, it would print the missed one with 0 TPS
  immediately after the previous one.  Fabien Coelho. Backpatch to
  9.4, where progress reports were added.
  http://git.postgresql.org/pg/commitdiff/9031ff91a110f29e8bd4b74ddf2b5ced3ecbeaf4

- Remove thread-emulation support from pgbench.  You can no longer use
  pgbench with multiple threads when compiled without
  --enable-thread-safety. That's an acceptable limitation these days;
  it still works fine with -j1, and all modern platforms support
  threads anyway.  This makes future maintenance and development of
  the code easier.  Fabien Coelho
  http://git.postgresql.org/pg/commitdiff/1bc90f7a7b7441a88e2c6d4a0e9b6f9c1499ad30

- Don't set SO_SNDBUF on recent Windows versions that have a bigger
  default.  It's unnecessary to set it if the default is higher in the
  first place.  Furthermore, setting SO_SNDBUF disables the so-called
  "dynamic send buffering" feature, which hurts performance further.
  This can be seen especially when the network between the client and
  the server has high latency.  Chen Huajun
  http://git.postgresql.org/pg/commitdiff/4f33621f3f50286e607a3cdcc1f7a7d51075af95

- Call getsockopt() on the correct socket.  We're interested in the
  buffer size of the socket that's connected to the client, not the
  one that's listening for new connections. It happened to work, as
  default buffer size is the same on both, but it was clearly not
  wrong.  Spotted by Tom Lane
  http://git.postgresql.org/pg/commitdiff/8e33fc1784cbd657a7238ab5639ee1f8f54a3ec0

- Turn install.bat into a pure one line wrapper fort he perl script.
  Build.bat and vcregress.bat got similar treatment years ago. I'm not
  sure why install.bat wasn't treated at the same time, but it seems
  like a good idea anyway.  The immediate problem with the old
  install.bat was that it had quoting issues, and wouldn't work if the
  target directory's name contained spaces.  This fixes that problem.
  http://git.postgresql.org/pg/commitdiff/6c534fd68568452adcc9ccecb557eff74f6f0f4d

Tom Lane pushed:

- Improve design and implementation of pg_file_settings view.  As
  first committed, this view reported on the file contents as they
  were at the last SIGHUP event.  That's not as useful as reporting on
  the current contents, and what's more, it didn't work right on
  Windows unless the current session had serviced at least one SIGHUP.
  Therefore, arrange to re-read the files when pg_show_all_settings()
  is called.  This requires only minor refactoring so that we can pass
  changeVal = false to set_config_option() so that it won't actually
  apply any changes locally.  In addition, add error reporting so that
  errors that would prevent the configuration files from being loaded,
  or would prevent individual settings from being applied, are visible
  directly in the view.  This makes the view usable for pre-testing
  whether edits made in the config files will have the desired effect,
  before one actually issues a SIGHUP.  I also added an "applied"
  column so that it's easy to identify entries that are superseded by
  later entries; this was the main use-case for the original design,
  but it seemed unnecessarily hard to use for that.  Also fix a 9.4.1
  regression that allowed multiple entries for a PGC_POSTMASTER
  variable to cause bogus complaints in the postmaster log.  (The
  issue here was that commit bf007a27acd7b2fb unintentionally reverted
  3e3f65973a3c94a6, which suppressed any duplicate entries within
  ParseConfigFp.  However, since the original coding of the
  pg_file_settings view depended on such suppression *not* happening,
  we couldn't have fixed this issue now without first doing something
  with pg_file_settings.  Now we suppress duplicates by marking them
  "ignored" within ProcessConfigFileInternal, which doesn't hide them
  in the view.) Lesser changes include: Drive the view directly off
  the ConfigVariable list, instead of making a basically-equivalent
  second copy of the data.  There's no longer any need to hang onto
  the data permanently, anyway.  Convert show_all_file_settings() to
  do its work in one call and return a tuplestore; this avoids risks
  associated with assuming that the GUC state will hold still over the
  course of query execution.  (I think there were probably latent bugs
  here, though you might need something like a cursor on the view to
  expose them.) Arrange to run SIGHUP processing in a short-lived
  memory context, to forestall process-lifespan memory leaks.  (There
  is one known leak in this code, in ProcessConfigDirectory; it seems
  minor enough to not be worth back-patching a specific fix for.)
  Remove mistaken assignment to ConfigFileLineno that caused line
  counting after an include_dir directive to be completely wrong.  Add
  missed failure check in AlterSystemSetConfigFile().  We don't really
  expect ParseConfigFp() to fail, but that's not an excuse for not
  checking.
  http://git.postgresql.org/pg/commitdiff/62d16c7fc5614d9f4d0dd1a9f164b232c273c128

- Run the C portions of guc-file.l through pgindent.  Yeah, I know,
  pretty anal-retentive of me.  But we oughta find some way to
  automate this for the .y and .l files.
  http://git.postgresql.org/pg/commitdiff/2bdc51a2946f9a66688eb705cd0cb584ebd8240a

- Code + docs review for escaping of option values (commit 11a020eb6).
  Avoid memory leak from incorrect choice of how to free a StringInfo
  (resetStringInfo doesn't do it).  Now that pg_split_opts doesn't
  scribble on the optstr, mark that as "const" for clarity.  Attach
  the commentary in protocol.sgml to the right place, and add
  documentation about the user-visible effects of this change on
  postgres' -o option and libpq's PGOPTIONS option.
  http://git.postgresql.org/pg/commitdiff/cbc8d65639344c390a1d1a7f646c186ff3ad8693

- Desultory review of 9.5 release notes.  Minor corrections and
  clarifications.  Notably, for stuff that got moved out of contrib,
  make sure it's documented somewhere other than "Additional Modules".
  I'm sure these need more work, but that's all I have time for today.
  http://git.postgresql.org/pg/commitdiff/85c25fdbd7d624928bb8a1f1fd1e5043ec35dd74

- Stamp 9.5alpha1.
  http://git.postgresql.org/pg/commitdiff/f78329d594c2fe893f9174d5b3da7d3fbc6dd8b6

- Remove useless check for NULL subexpression.  Coverity rightly
  gripes that it's silly to have a test here when the adjacent
  ExecEvalExpr() would choke on a NULL expression pointer.  Petr
  Jelinek
  http://git.postgresql.org/pg/commitdiff/131926a52da0fbd77678cbd887914c83b48faa2d

- Stamp HEAD as 9.6devel.  Let the hacking begin ...
  http://git.postgresql.org/pg/commitdiff/cf8d65de10ebd026f6534eeb275cae46d7bffb4f

- Stamp shared-library minor version numbers for 9.6.
  http://git.postgresql.org/pg/commitdiff/019f7813da69da05484faa63b6a29a8df773d19b

- Fix broken link in documentation.  HP's web server has apparently
  become case-sensitive sometime recently.  Per bug #13479 from Daniel
  Abraham.  Corrected link identified by Alvaro.
  http://git.postgresql.org/pg/commitdiff/7f32dbcd73b9a75d09db386fa81c31f42e6f0d3a

- Make sampler_random_fract() actually obey its API contract.  This
  function is documented to return a value in the range (0,1), which
  is what its predecessor anl_random_fract() did.  However, the new
  version depends on pg_erand48() which returns a value in [0,1).  The
  possibility of returning zero creates hazards of division by zero or
  trying to compute log(0) at some call sites, and it might well break
  third-party modules using anl_random_fract() too.  So let's change
  it to never return zero.  Spotted by Coverity.  Michael Paquier,
  cosmetically adjusted by me
  http://git.postgresql.org/pg/commitdiff/d7c19d68550eb6018e8581a73a351905f4cc435c

- Don't leave pg_hba and pg_ident data lying around in running
  backends.  Free the contexts holding this data after we're done
  using it, by the expedient of attaching them to the
  PostmasterContext which we were already taking care to delete (and
  where, indeed, this data used to live before commits
  e5e2fc842c418432 and 7c45e3a3c682f855).  This saves a
  probably-usually-negligible amount of space per running backend.  It
  also avoids leaving potentially-security-sensitive data lying around
  in memory in processes that don't need it.  You'd have to be
  unusually paranoid to think that that amounts to a live security
  bug, so I've not gone so far as to forcibly zero the memory; but
  there surely isn't a good reason to keep this data around.  Arguably
  this is a memory management bug in the aforementioned commits, but
  it doesn't seem important enough to back-patch.
  http://git.postgresql.org/pg/commitdiff/1e24cf645d24aab3ea39a9d259897fd0cae4e4b6

- Add an optional missing_ok argument to SQL function
  current_setting().  This allows convenient checking for existence of
  a GUC from SQL, which is particularly useful when dealing with
  custom variables.  David Christensen, reviewed by Jeevan Chalke
  http://git.postgresql.org/pg/commitdiff/10fb48d66de76e7dc1e36ef18af502ed9600352f

- Fix misuse of TextDatumGetCString().
  "TextDatumGetCString(PG_GETARG_TEXT_P(x))" is formally wrong: a
  text* is not a Datum.  Although this coding will accidentally fail
  to fail on all known platforms, it risks leaking memory if a detoast
  step is needed, unlike "TextDatumGetCString(PG_GETARG_DATUM(x))"
  which is what's used elsewhere.  Make pg_get_object_address() fall
  in line with other uses.  Noted while reviewing two-arg
  current_setting() patch.
  http://git.postgresql.org/pg/commitdiff/ac50f84866b22f239025bf37c9c7492cc4ce2dfd

- Make numeric form of PG version number readily available in
  Makefiles.  Expose PG_VERSION_NUM (e.g., "90600") as a Make
  variable; but for consistency with the other Make variables holding
  similar info, call the variable just VERSION_NUM not PG_VERSION_NUM.
  There was some discussion of making this value available as a
  pg_config value as well.  However, that would entail substantially
  more work than this two-line patch.  Given that there was not
  exactly universal consensus that we need this at all, let's just do
  a minimal amount of work for now.  Michael Paquier, reviewed by
  Pavel Stehule
  http://git.postgresql.org/pg/commitdiff/a5d489ccb7e613c7ca3be6141092b8c1d2c13fa7

- Improve pg_restore's -t switch to match all types of relations.  -t
  will now match views, foreign tables, materialized views, and
  sequences, not only plain tables.  This is more useful, and also
  more consistent with the behavior of pg_dump's -t switch, which has
  always matched all relation types.  We're still not there on
  matching pg_dump's behavior entirely, so mention that in the docs.
  Craig Ringer, reviewed by Pavel Stehule
  http://git.postgresql.org/pg/commitdiff/5671aaca87c47128f6a1e0556ce9c7512096ad87

- Add psql \ev and \sv commands for editing and showing view
  definitions.  These are basically just like the \ef and \sf commands
  for functions.  Petr Korobeinikov, reviewed by Jeevan Chalke, some
  changes by me
  http://git.postgresql.org/pg/commitdiff/8eb6407aaeb6cbd972839e356b436bb698f51cff

- Add documentation and regression tests concerning rounding of
  numerics.  Michael Paquier, reviewed by Fabien Coelho
  http://git.postgresql.org/pg/commitdiff/5e7c3d91bf24a212b42c912234c6cb37d75e0292

- Fix bad grammar in brin.sgml.  Christoph Berg
  http://git.postgresql.org/pg/commitdiff/252404625aa98fa5f93a45a8dcffdc179981820a

- Further reduce overhead for passing plpgsql variables to the
  executor.  This builds on commit
  21dcda2713656a7483e3280ac9d2ada20a87a9a9 by keeping a plpgsql
  function's shared ParamListInfo's entries for simple variables
  (PLPGSQL_DTYPE_VARs) valid at all times.  That adds a few cycles to
  each assignment to such variables, but saves significantly more
  cycles each time they are used; so except in the pathological case
  of many dead stores, this should always be a win.  Initial testing
  says it's good for about a 10% speedup of simple calculations; more
  in large functions with many datums.  We can't use this method for
  row/record references unfortunately, so what we do for those is
  reset those ParamListInfo slots after use; which we can skip doing
  unless some of them were actually evaluated during the previous
  evaluation call.  So this should frequently be a win as well, while
  worst case is that it's similar cost to the previous approach.
  Also, closer study suggests that the previous method of
  instantiating a new ParamListInfo array per evaluation is actually
  probably optimal for cursor-opening executor calls.  The reason is
  that whatever is visible in the array is going to get copied into
  the cursor portal via copyParamList.  So if we used the function's
  main ParamListInfo for those calls, we'd end up with all of its
  DTYPE_VAR vars getting copied, which might well include large
  pass-by-reference values that the cursor actually has no need for.
  To avoid a possible net degradation in cursor cases, go back to
  creating and filling a private ParamListInfo in those cases (which
  therefore will be exactly the same speed as before 21dcda271365).
  We still get some benefit out of this though, because this approach
  means that we only have to defend against copyParamList's
  try-to-fetch-every-slot behavior in the case of an unshared
  ParamListInfo; so plpgsql_param_fetch() can skip testing
  expr->paramnos in the common case.  To ensure that the main
  ParamListInfo's image of a DTYPE_VAR datum is always valid, all
  assignments to such variables are now funneled through
  assign_simple_var().  But this makes for cleaner and shorter code
  anyway.
  http://git.postgresql.org/pg/commitdiff/6c82d8d1fdb1f1265f93d89640edcbd0ae22c627

- Fix some typos in regression test comments.  Back-patch to avoid
  unnecessary cross-branch differences.  CharSyam
  http://git.postgresql.org/pg/commitdiff/551654977022097ac408b483b3be9887a99f0ce0

- Make a editorial pass over pgbench's error messages.  The lack of
  consistency, and lack of attention to our message style guidelines,
  was a bit striking.  Try to make 'em better.
  http://git.postgresql.org/pg/commitdiff/22ba5563adacd162d97ff3c80eac4893574f1e17

Peter Eisentraut pushed:

- Translation updates.  Source-Git-URL:
  git://git.postgresql.org/git/pgtranslation/messages.git
  Source-Git-Hash: fb7e72f46cfafa1b5bfe4564d9686d63a1e6383f
  http://git.postgresql.org/pg/commitdiff/c5e5d444de85a7caff462443c5915544d4406a62

Andres Freund pushed:

- Replace ia64 S_UNLOCK compiler barrier with a full memory barrier.
  _Asm_sched_fence() is just a compiler barrier, not a memory barrier.
  But spinlock release on IA64 needs, at the very least, release
  semantics. Use a full barrier instead.  This might be the cause for
  the occasional failures on buildfarm member anole.  Discussion:
  20150629101108.GB17640@alap3.anarazel.de
  http://git.postgresql.org/pg/commitdiff/07cb8b02ab4c8b65bb2e3b87ad2402fdc6cce978

- Improve 9.5 release notes.  1) Add sgml comments referencing
  commits. This is useful to search for missing items etc.  The
  comments containing the commit notes are an excerpt from: git log
  --date=short \ --pretty='format:%cd [%h] %<(8,trunc)%cN:
  %<(48,trunc)%s%n%n%w(,4,4)%b%n' \ $(git merge-base origin/master
  %upstream/REL9_4_STABLE)..origin/master 2) Improve a handful of
  %existing notes 3) Add missing entries about a couple features.  4)
  %Add a bunch of straight-forward FIXMEs
  %http://git.postgresql.org/pg/commitdiff/c0b0501925eacbf2d9c10cd231bf8a14e7c9ef4c

- Fix typo and omission in my earlier 9.5 release notes commit.
  http://git.postgresql.org/pg/commitdiff/1561b541fd43b492ed9fe1b5c907bd88f54d1053

Robert Haas pushed:

- In bttext_abbrev_convert, move pfree to the right place.  Without
  this, we might access memory that's already been freed, or leak
  memory if in the C locale.  Peter Geoghegan
  http://git.postgresql.org/pg/commitdiff/b48ecf862b3896631660ee8d38054aded82a4f8b

Álvaro Herrera pushed:

- Test -lrt for sched_yield.  Apparently, this is needed in some
  Solaris versions.  Author: Oskari Saarenmaa
  http://git.postgresql.org/pg/commitdiff/ab93f90cd3a4fcdd891cee9478941c3cc65795b8

Fujii Masao pushed:

- Make XLogFileCopy() look the same as in 9.4.  XLogFileCopy() was
  changed heavily in commit de76884. However it was partially reverted
  in commit 7abc685 and most of those changes to XLogFileCopy() were
  no longer needed. Then commit 7cbee7c removed those unnecessary
  code, but XLogFileCopy() looked different in master and 9.4 though
  the contents are almost the same.  This patch makes XLogFileCopy()
  look the same in master and back-branches, which makes back-patching
  easier, per discussion on pgsql-hackers.  Back-patch to 9.5.
  Discussion: 55760844.7090703@iki.fi Michael Paquier
  http://git.postgresql.org/pg/commitdiff/8217370864c950ea28c7f940442fe48c701461c2

- Make use of xlog_internal.h's macros in WAL-related utilities.
  Commit 179cdd09 added macros to check if a filename is a WAL segment
  or other such file. However there were still some instances of the
  strlen + strspn combination to check for that in WAL-related
  utilities like pg_archivecleanup. Those checks can be replaced with
  the macros.  This patch makes use of the macros in those utilities
  and which would make the code a bit easier to read.  Back-patch to
  9.5.  Michael Paquier
  http://git.postgresql.org/pg/commitdiff/fb174687f7a730edcf301949785a6ac0dbfd70d0

- Make WAL-related utilities handle .partial WAL files properly.
  Commit de76884 changed an archive recovery so that the last WAL
  segment with old timeline was renamed with suffix .partial. It
  should have updated WAL-related utilities so that they can handle
  such .paritial WAL files, but we forgot that.  This patch changes
  pg_archivecleanup so that it can clean up even archived WAL files
  with .partial suffix. Also it allows us to specify .partial WAL file
  name as the command-line argument "oldestkeptwalfile".  This patch
  also changes pg_resetxlog so that it can remove .partial WAL files
  in pg_xlog directory.  pg_xlogdump cannot handle .partial WAL files.
  Per discussion, we decided only to document that limitation instead
  of adding the fix.  Because a user can easily work around the
  limitation (i.e., just remove .partial suffix from the file name)
  and the fix seems complicated for very narrow use case.  Back-patch
  to 9.5 where the problem existed.  Review by Michael Paquier.
  Discussion:
  http://www.postgresql.org/message-id/CAHGQGwGxMKnVHGgTfiig2Bt_2djec0in3-DLJmtg7+nEiidFdQ@mail.gmail.com
  http://git.postgresql.org/pg/commitdiff/8650d161ae4369ec64a6fc7b7cbd0e6e55c3a7aa

- Remove incorrect warning from pg_archivecleanup document.  The
  .backup file name can be passed to pg_archivecleanup even if it
  includes the extension which is specified in -x option.  However,
  previously the document incorrectly warned a user not to do that.
  Back-patch to 9.2 where pg_archivecleanup's -x option and the
  warning were added.
  http://git.postgresql.org/pg/commitdiff/906e9249494bda975914b78fdd743609e1f83016

Andrew Dunstan pushed:

- Allow MSVC's contribcheck and modulescheck to run independently.
  These require a temp install to have been done, so we now make sure
  it is done before proceeding.  Michael Paquier.
  http://git.postgresql.org/pg/commitdiff/d5d00294b05a54396f83db8abdf37c379a739794

Joe Conway pushed:

- Whitespace fix - replace tab with spaces in CREATE TABLE command.
  http://git.postgresql.org/pg/commitdiff/1fd0d5ec0373666fe00db4f641490d9e82f53e01

- Make RLS related error messages more consistent and compliant.  Also
  updated regression expected output to match. Noted and patch by
  Daniele Varrazzo.
  http://git.postgresql.org/pg/commitdiff/02eac01f91923592f93abf8d325ab806b058f948

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Amit Langote sent in a patch to adjust the errorcode for the error
related to checking the flag bgw_flags in
BackgroundWorkerInitializeConnection*() functions so that it matches
the treatment in SanityCheckBackgroundWorker().

Jeff Janes sent in a patch to that implements the vm scan for
truncation.

Michael Paquier and Heikki Linnakangas traded patches to fix some
infelicities exposed by pg_rewind.

Amit Kapila sent in a patch to reduce ProcArrayLock contention by
adding a mechanism to GroupClear the Xid during ProcArrayEndTransaction().

Jeff Janes sent in a patch to make a crash scenario he'd found easier
to reproduce.

Franck Verrot sent in a patch to mention column name in error
messages.

Peter Geoghegan sent in a patch to fix a bug in
bttext_abbrev_convert().

Andres Freund sent in a patch to rework the way multixact truncations
work.

Michael Paquier sent in a patch to add a couple of return value checks
that were missing for JsonbIteratorNext in jsonfuncs.c.

Michael Paquier sent in a patch to add missing checks on return value
of timestamp2tm in datetime.c.

Amit Kapila sent in a patch to extend pg_stat_activity to include
wait_event.

Michael Paquier and Petr Jelinek traded fix a possible NULL pointer
dereferernce in tablesample.c

Jeff Janes sent in another revision of a patch to update pg_trgm to
use more modern facilities for a speed boost.

Michael Paquier sent in a patch to remove an unneeded NULL-pointer
check in FreeSpaceMapTruncateRel.

Peter Eisentraut sent in a patch to allow the -X stream method to
specify a replication slot and create it in the same run if needed.

Simon Riggs sent in a patch to reduce ClogControlLock contention at
commit time.

Rahila Syed sent in a POC patch to allow tracking VACUUM progress.

Amit Kapila sent in two more revisions of a patch to rename mapfile if
backupfile not present.

SAWADA Masahiko sent in three more revisions of a patch to add a
"frozen" bit to the visibility map.

Kyotaro HORIGUCHI sent in another revision of a patch to allow
asynchronous execution on a FDW.

Etsuro Fujita sent in a patch to fix an issue it's possible that the
result of SELECT ...  ORDER BY ... FOR UPDATE is not sorted correctly
due to concurrent updates' having replaced the sort key columns with
new values.

Robbie Harwood sent in a patch to add GSSAPI encryption support.

Amit Kapila sent in another revision of a patch to allow assessing
parallel-safety.

Fabien COELHO sent in another revision of a patch to allow
backslash-continuations in custom pgbench scripts.

Peter Geoghegan sent in a patch to make sorting text under a non-C
locale faster than in 9.5.

Noah Misch sent in a patch to fix some strxfrm overflow bugs.

Michael Paquier sent in two revisions of a patch to fix an issue where
table constraints and other objects were not being persisted over
ALTERs.

Jan de Visser sent in another revision of a patch to let pg_ctl check
the result of a postmaster config reload.

Amit Kapila sent in another revision of a patch to implement parallel
seq scan.

Noah Misch sent in two revisions of a patch to implement xlc atomics.

Marco Atzeri sent in a patch to fix a 9.5alpha1 build failure with
Perl 5.22.

Julien Rouhaud sent in a patch to allow using the PID of the backend
in psql.

David Rowley sent in a patch to fix some infelicities in an as yet
uncommitted memory accounting patch.

Joe Conway and Michael Paquier traded patches to add polymorphic
functions to dblink.

Uriy Zhuravlev sent in another revision of a patch to enhance ALTER
OPERATOR to allow setting some of the operator's parameters.

David Christensen sent in a patch to add \ddp to the tab completions
in psql.

Pavel Stehule sent in another revision of a patch to allow raw output
from COPY.



pgsql-announce by date:

Previous
From: Dave Page
Date:
Subject: PostgreSQL 9.5 Alpha 1 Released
Next
From: Jeff Ferguson
Date:
Subject: Open-Source Streaming-SQL Database PipelineDB Now Available!