Umair Shahid | 2 May 12:07 2016

Announcing the release of pglogical 1.1

2ndQuadrant, the leading developers of PostgreSQL, are delighted to announce the release of pglogical 1.1 – the next generation in replication systems for PostgreSQL.  


The 1.1 release brings new features along with bug fixes to pglogical. Same salient features are listed below:


- Sequence replication support

- Support for replica triggers

- Foreign keys are no longer checked on the replica

- Multiple subscriptions between single pair of nodes

- The create_subscription function does not synchronize structure change by default

- User can specify affected replication sets in replicate_ddl_command function

- New functions for manipulating connection strings of nodes

- PGLogical processes are clearly marked in the pg_stat_activity

- Better behavior on worker crashes

- Logging improvements

- Ubuntu Xenial package


pglogical offers Logical Replication as a PostgreSQL extension, which provides the flexibility of trigger-based replication with the efficiency of log-based replication. This ground-breaking new technology has benefits for many key use cases


- UPGRADE      Upgrade PostgreSQL from 9.4 to 9.5, without downtime

- SCALE OUT    Copy all or a selection of database tables to other nodes in a cluster

- AGGREGATE    Accumulate changes from sharded database servers into a Data Warehouse

- INTEGRATE    Feed database changes in real-time to other systems

- PROTECT      Provide backup or high availability for clusters, replacing earlier technologies


pglogical is open source and available for download as binary packages for PostgreSQL 9.4 and 9.5 versions. Visit http://2ndquadrant.com/pglogical/ for more detail.


2ndQuadrant’s respected 24/7 Production Support provides the fastest and highest rated response service for PostgreSQL anywhere and is available now worldwide.


2ndQuadrant leads the drive for improving the enterprise functionality for PostgreSQL, contributing major features every year in performance, replication, business intelligence and usability.

David Fetter | 2 May 07:48 2016
Gravatar

== PostgreSQL Weekly News - May 01 2016 ==

== PostgreSQL Weekly News - May 01 2016 ==

== PostgreSQL Product News ==

BigSQL integrated PostgreSQL distribution from SCG released.
http://www.bigsql.org

jpgAgent is a job scheduler for PostgreSQL written in Java.
https://github.com/Tostino/jpgAgent

Ora2PG 18.4 a migration system for moving from Oracle and MySQL to
PostgreSQL, released.
https://github.com/darold/ora2pg/blob/master/changelog

pgBadger 8.1, a parallel PostgreSQL log analyzer written in Perl, released:
https://github.com/dalibo/pgbadger/blob/master/ChangeLog
Development:
https://github.com/dalibo/pgbadger/

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

pgpool-II 3.5.2, 3.4.6, 3.3.10, 3.2.15, 3.1.18, and pgpoolAdmin 3.5.2
released.  pgpool-II is a connection pooler and replication system for
PostgreSQL.
http://pgpool.net/mediawiki/index.php/Downloads

== PostgreSQL Jobs for May ==

http://archives.postgresql.org/pgsql-jobs/2016-05/

== PostgreSQL Local ==

FOSS4G NA, will be held May 2-5, 2016 in Raleigh, North Carolina.
https://2016.foss4g-na.org/

PGCon 2016 will be held May 17-21, 2016 in Ottawa.
http://www.pgcon.org/

This year's Swiss PGDay will be held on June 24, 2016 at the
University of Applied Sciences in Rapperswil (Switzerland).
http://www.pgday.ch/

"5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016.
Registration is open.
http://5432meet.us/

PG Day UK 2016 will be 5th July 2016.
http://www.pgconf.uk/

PostgresOpen 2016 in will be held in Dallas, Texas September 13-16.
The CfP is open.
https://2016.postgresopen.org/callforpapers/

PostgreSQL Session will be held on September 22th, 2016, in Lyon,
France.  The submission deadline is May 20, 2016. Send proposals to
call-for-paper AT postgresql-sessions DOT org.

PgConf Silicon Valley 2016 will be held on November 14-16, 2016.
http://www.pgconfsv.com/

== 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 <at> fetter.org, German language
to pwn <at> pgug.de, Italian language to pwn <at> itpug.org.  Spanish language
to pwn <at> arpug.com.ar.

== Applied Patches ==

Peter Eisentraut pushed:

- doc: Fix typo From: Andreas Seltenreich
  <andreas.seltenreich <at> credativ.de>
  http://git.postgresql.org/pg/commitdiff/96687497b640b24772da4e086c7690ee8d840f1c

- Update GETTEXT_FILES after config and controldata refactoring.
  http://git.postgresql.org/pg/commitdiff/63417b4b2e38897ea02fef416bd96113baa3ed45

- pg_dump: Message style improvements.
  http://git.postgresql.org/pg/commitdiff/b6dacc173b6830c515d970698cead9a85663c553

- pg_dump: Message style improvements forgotten in
  b6dacc173b6830c515d970698cead9a85663c553
  http://git.postgresql.org/pg/commitdiff/3019f432d6fffe6d8e04f5ccc592eb385af96492

- doc: Minor wording changes.  From: Dmitry Igrishin <dmitigr <at> gmail.com>
  http://git.postgresql.org/pg/commitdiff/82881b2b432c9433b45abc96acf49d5d690eb918

Tom Lane pushed:

- Try harder to detect a port conflict in PostgresNode.pm.  Commit
  fab84c7787f25756 tried to get away without doing an actual bind(),
  but buildfarm results show that that doesn't get the job done.  So
  we must really bind to the target port --- and at least on my Linux
  box, we need a listen() as well, or conflicts won't be detected.  We
  rely on SO_REUSEADDR to prevent problems from starting a postmaster
  on the socket immediately after we've bound to it in the test code.
  (There may be platforms where that doesn't work too well.  But
  fortunately, we only really care whether this works on Windows, and
  there the default behavior should be OK.)
  http://git.postgresql.org/pg/commitdiff/40e89e2ab89cb2801f6bc02f08dcc24d547530fc

- New method for preventing compile-time calculation of degree
  constants.  Commit 65abaab547a5758b tried to prevent the scaling
  constants used in the degree-based trig functions from being
  precomputed at compile time, because some compilers do that with
  functions that don't yield results identical-to-the-last-bit to what
  you get at runtime.  A report from Peter Eisentraut suggests that
  some recent compilers are smart enough to see through that trick,
  though.  Instead, let's put the inputs to these calculations into
  non-const global variables, which should be a more reliable way of
  convincing the compiler that it can't assume that they are
  compile-time constants.  (If we really get desperate, we could mark
  these variables "volatile", but I do not believe we should have to.)
  http://git.postgresql.org/pg/commitdiff/6b1a213bbd6599228b2b67f7552ff7cc378797bf

- Yet more portability hacking for degree-based trig functions.  The
  true explanation for Peter Eisentraut's report of inexact asind
  results seems to be that (a) he's compiling into x87 instruction
  set, which uses wider-than-double float registers, plus (b) the
  library function asin() on his platform returns a result that is
  wider than double and is not rounded to double width.  To fix, we
  have to force the function's result to be rounded comparably to what
  happened to the scaling constant asin_0_5.  Experimentation suggests
  that storing it into a volatile local variable is the least ugly way
  of making that happen.  Although only asin() is known to exhibit an
  observable inexact result, we'd better do this in all the places
  where we're hoping to get an exact result by scaling.
  http://git.postgresql.org/pg/commitdiff/82311bcdd76904b2cee7567e14e9fb0cf6c6178c

- Fix order of shutdown cleanup operations in PostgresNode.pm.
  Previously, database clusters created by a TAP test were shut down
  by DESTROY methods attached to the PostgresNode objects representing
  them.  The trouble with that is that if the objects survive into the
  final global destruction phase (which they do), Perl executes the
  DESTROY methods in an unspecified order.  Thus, the order of
  shutdown of multiple clusters was indeterminate, which might lead to
  not-very-reproducible errors getting logged (eg from a slave whose
  master might or might not get killed first).  Worse, the File::Temp
  objects representing the temporary PGDATA directories might get
  destroyed before the PostgresNode objects, resulting in attempts to
  delete PGDATA directories that still have live servers in them.  On
  Windows, this would lead to directory deletion failures; on Unix, it
  usually had no effects worse than erratic "could not open temporary
  statistics file "pg_stat/global.tmp": No such file or directory" log
  messages.  While none of this would affect the reported result of
  the TAP test, which is already determined, it could be very
  confusing when one is trying to understand from the logs what went
  wrong with a failed test.  To fix, do the postmaster shutdowns in an
  END block rather than at object destruction time.  The END block
  will execute at a well-defined (and reasonable) time during script
  termination, and it will stop the postmasters in order of
  PostgresNode object creation.  (Perhaps we should change that to be
  reverse order of creation, but the main point here is that we now
  have control which we did not before.)  Use "pg_ctl stop", not an
  asynchronous kill(SIGQUIT), so that we wait for the postmasters to
  shut down before proceeding with directory deletion.  Deletion of
  temporary directories still happens in an unspecified order during
  global destruction, but I can see no reason to care about that once
  the postmasters are stopped.
  http://git.postgresql.org/pg/commitdiff/08af9219060a9526c69f5408b80eee0aa8f707e9

- Add a --brief option to git_changelog.  In commit c0b050192, Andres
  introduced the idea of including one-line commit references in our
  major release notes.  Teach git_changelog to emit a (lightly
  adapted) version of that format, so that we don't have to
  laboriously add it to the notes after the fact.  The default output
  isn't changed, since I anticipate still using that for minor release
  notes.
  http://git.postgresql.org/pg/commitdiff/8067c8f86b5f4516ee204a119a750329f7d126ee

- Clean up parsing of synchronous_standby_names GUC variable.  Commit
  989be0810dffd08b added a flex/bison lexer/parser to interpret
  synchronous_standby_names.  It was done in a pretty crufty way,
  though, making assorted end-use sites responsible for calling the
  parser at the right times.  That was not only vulnerable to errors
  of omission, but made it possible that lexer/parser errors occur at
  very undesirable times, and created memory leakages even if there
  was no error.  Instead, perform the parsing once during
  check_synchronous_standby_names and let guc.c manage the resulting
  data.  To do that, we have to flatten the parsed representation into
  a single hunk of malloc'd memory, but that is not very hard.  While
  at it, work a little harder on making useful error reports for
  parsing problems; the previous code felt that
  "synchronous_standby_names parser returned 1" was an appropriate
  user-facing error message.  (To be fair, it did also log a syntax
  error message, but separately from the GUC problem report, which is
  at best confusing.)  It had some outright bugs in the face of
  invalid input, too.  I (tgl) also concluded that we need to restrict
  unquoted names in synchronous_standby_names to be just SQL
  identifiers.  The previous coding would accept darn near anything,
  which (1) makes the quoting convention both nearly-unnecessary and
  formally ambiguous, (2) makes it very hard to understand what is a
  syntax error and what is a creative interpretation of the input as a
  standby name, and (3) makes it impossible to further extend the
  syntax in future without a compatibility break.  I presume that
  we're intending future extensions of the syntax, else this parsing
  infrastructure is massive overkill, so (3) is an important
  objection.  Since we've taken a compatibility hit for non-identifier
  names with this change anyway, we might as well lock things down now
  and insist that users use double quotes for standby names that
  aren't identifiers.  Kyotaro Horiguchi and Tom Lane
  http://git.postgresql.org/pg/commitdiff/4c804fbdfb472cf71db33609258b8e1aaad81943

- Use memmove() not memcpy() to slide some pointers down.  The
  previous coding here was formally undefined, though it seems to
  accidentally work on most platforms in the buildfarm.  Caught by
  some OpenBSD platforms in which libc contains an assertion check for
  overlapping areas passed to memcpy().  Thomas Munro
  http://git.postgresql.org/pg/commitdiff/ad520ec4acb8f0cdb143b63519be95a9549fa826

- Revert "Convert contrib/seg's bool-returning SQL functions to V1
  call convention." This reverts commit
  c8e81afc60093b199a128ccdfbb692ced8e0c9cd.  That turns out to have
  been based on a faulty diagnosis of why the VS2015 build was
  misbehaving.  Instead, we need to fix DatumGetBool().
  http://git.postgresql.org/pg/commitdiff/f050423052bc9265d4cd27555058435edd4bef87

- Adjust DatumGetBool macro, this time for sure.  Commit 23a41573c
  attempted to fix the DatumGetBool macro to ignore bits in a Datum
  that are to the left of the actual bool value.  But it did that by
  casting the Datum to bool; and on compilers that use C99 semantics
  for bool, that ends up being a whole-word test, not a 1-byte test.
  This seems to be the true explanation for contrib/seg failing in
  VS2015.  To fix, use GET_1_BYTE() explicitly.  I think in the
  previous patch, I'd had some idea of not having to commit to bool
  being exactly 1 byte wide, but regardless of what the compiler's
  bool is, boolean columns and Datums are certainly 1 byte wide.  The
  previous fix was (eventually) back-patched into all active versions,
  so do likewise with this one.
  http://git.postgresql.org/pg/commitdiff/23b09e15b9f40baeff527ca4dbc40afc823dd962

- Fix mishandling of equivalence-class tests in parameterized plans.
  Given a three-or-more-way equivalence class, such as X.Y = Y.Y =
  Z.Z, it was possible for the planner to omit one of the quals needed
  to enforce that all members of the equivalence class are actually
  equal.  This only happened in the case of a parameterized join node
  for two of the relations, that is a plan tree like Nested Loop ->
  Scan X ->  Nested Loop ->  Scan Y ->  Scan Z Filter: Z.Z = X.X The
  eclass machinery normally expects to apply X.X = Y.Y when those two
  relations are joined, but in this shape of plan tree they aren't
  joined until the top node --- and, if the lower nested loop is
  marked as parameterized by X, the top node will assume that the
  relevant eclass condition(s) got pushed down into the lower node.
  On the other hand, the scan of Z assumes that it's only responsible
  for constraining Z.Z to match any one of the other eclass members.
  So one or another of the required quals sometimes fell between the
  cracks, depending on whether consideration of the eclass in
  get_joinrel_parampathinfo() for the lower nested loop chanced to
  generate X.X = Y.Y or X.X = Z.Z as the appropriate constraint there.
  If it generated the latter, it'd erroneously suppose that the Z scan
  would take care of matters.  To fix, force X.X = Y.Y to be generated
  and applied at that join node when this case occurs.  This is
  *extremely* hard to hit in practice, because various planner
  behaviors conspire to mask the problem; starting with the fact that
  the planner doesn't really like to generate a parameterized plan of
  the above shape.  (It might have been impossible to hit it before we
  tweaked things to allow this plan shape for star-schema cases.)
  Many thanks to Alexander Kirkouski for submitting a reproducible
  test case.  The bug can be demonstrated in all branches back to 9.2
  where parameterized paths were introduced, so back-patch that far.
  http://git.postgresql.org/pg/commitdiff/207d5a656e2ecc98a1db5bdc22ea306f7f7c8d62

- Remove warning about num_sync being too large in
  synchronous_standby_names.  If we're not going to reject such setups
  entirely, throwing a WARNING in check_synchronous_standby_names() is
  unhelpful, because it will cause the warning to be logged again
  every time the postmaster receives SIGHUP.  Per discussion, just
  remove the warning.  In passing, improve the documentation for
  synchronous_commit, which had not gotten the word that now there can
  be more than one synchronous standby.
  http://git.postgresql.org/pg/commitdiff/17d5db352c1780f4721664f67bc3a3f3b1cf933c

- Fix planner crash from pfree'ing a partial path that a GatherPath
  uses.  We mustn't run generate_gather_paths() during
  add_paths_to_joinrel(), because that function can be invoked
  multiple times for the same target joinrel.  Not only is it wasteful
  to build GatherPaths repeatedly, but a later add_partial_path()
  could delete the partial path that a previously created GatherPath
  depends on.  Instead establish the convention that we do
  generate_gather_paths() for a rel only just before set_cheapest().
  The code was accidentally not broken for baserels, because as of
  today there never is more than one partial path for a baserel.  But
  that assumption obviously has a pretty short half-life, so move the
  generate_gather_paths() calls for those cases as well.  Also add
  some generic comments explaining how and why this all works.  Per
  fuzz testing by Andreas Seltenreich.  Report:
  <871t5pgwdt.fsf <at> credativ.de>
  http://git.postgresql.org/pg/commitdiff/c45bf5751b6338488bd79ce777210285531da373

- Small improvements to OPTIMIZER_DEBUG code.  Now that Paths have
  their own rows field, print that rather than the parent relation's
  rowcount.  Show the relid sets associated with Paths using table
  names rather than numbers; since this code is able to print simple
  Var references using table names, it seems a bit silly that
  print_relids can't.  Print the cheapest_parameterized_paths list for
  a RelOptInfo, and include information about a parameterized path's
  required_outer rels.  Noted while trying to use this feature to
  debug Alexander Kirkouski's recent bug report.
  http://git.postgresql.org/pg/commitdiff/2a2435e6995133c9d872ef9cb51432f0b678b978

- Update contrib/unaccent documentation about its unaccent.rules file.
  Commit 1bbd52cb9a4aa61a didn't bother with such niceties.
  http://git.postgresql.org/pg/commitdiff/6376a16ba24a5a097fc739b9c79ab555be4d9f1a

- Add a --non-master-only option to git_changelog.  This has the
  inverse effect of --master-only.  It's needed to help find cases
  where a commit should not be described in major release notes
  because it was back-patched into older branches, though not at the
  same time as the HEAD commit.
  http://git.postgresql.org/pg/commitdiff/8473b7f95fbe8ef25dccd23ff94a4e363797bd90

Kevin Grittner pushed:

- Fix C comment typo and redundant test
  http://git.postgresql.org/pg/commitdiff/e65953be4f540dce31f17db2934ee58365077272

- Add a few entries to the tail of time mapping, to see old values.
  Without a few entries beyond old_snapshot_threshold, the lookup
  would often fail, resulting in the more aggressive pruning or vacuum
  being skipped often enough to matter.  This was very clearly shown
  by a python test script posted by Ants Aasma, and was likely a
  factor in an earlier but somewhat less clear-cut test case posted by
  Jeff Janes.  This patch makes no change to the logic, per se -- it
  just makes the array of mapping entries big enough to make lookup
  misses based on timing much less likely.  An occasional miss is
  still possible if a thread stalls for more than 10 minutes, but that
  does not create any problem with correctness of behavior.  Besides,
  if things are so busy that a thread is stalling for more than 10
  minutes, it is probably OK to skip the more aggressive cleanup at
  that particular point in time.
  http://git.postgresql.org/pg/commitdiff/7c3e8039f450eb99b3a73272d0a1661195747d1b

Magnus Hagander pushed:

- Fix typo in comment.  Author: Daniel Gustafsson
  http://git.postgresql.org/pg/commitdiff/b7351ced425f3937f0a61adb4ade1d4b93bf751d

- Fix typo.  Author: Thomas Munro
  http://git.postgresql.org/pg/commitdiff/a03bda323b0713aeaacfd0050be76df9e6b06a13

Robert Haas pushed:

- Enable parallel query by default.  Change max_parallel_degree
  default from 0 to 2.  It is possible that this is not a good idea,
  or that we should go with 1 worker rather than 2, but we won't find
  out without trying it.  Along the way, reword the documentation for
  max_parallel_degree a little bit to hopefully make it more clear.
  Discussion: 20160420174631.3qjjhpwsvvx5bau5 <at> alap3.anarazel.de
  http://git.postgresql.org/pg/commitdiff/77cd477c4ba885cfa1ba67beaa82e06f2e182b85

- Fix pg_get_functiondef to dump parallel-safety markings.  Ashutosh
  Sharma
  http://git.postgresql.org/pg/commitdiff/2ac3be2e763d9b971352819f285dd51519e0aeb9

- Fix EXPLAIN VERBOSE output for parallel aggregate.  The way that
  PartialAggregate and FinalizeAggregate plan nodes were displaying
  output columns before was bogus.  Now, FinalizeAggregate produces
  the same outputs as an Aggregate would have produced, while
  PartialAggregate produces each of those outputs prefixed by the word
  PARTIAL.  Discussion: 12585.1460737650 <at> sss.pgh.pa.us Patch by me,
  reviewed by David Rowley.
  http://git.postgresql.org/pg/commitdiff/59eb55127906b943ff155240eebc161df8edb62f

- Remove mergeHyperLogLog.  It's buggy.  If somebody needs this later,
  they'll need to put back a non-buggy vesion of it.  Discussion:
  CAM3SWZT-i6R9JU5YXa8MJUou2_r3LfGJZpQ9tYa1BYxfkj0=cQ <at> mail.gmail.com
  Discussion:
  CAM3SWZRUOLsYoTT83QgdUy9D8ehYWm_nvbrrfcOOzikiRfFY7g <at> mail.gmail.com
  Peter Geoghegan
  http://git.postgresql.org/pg/commitdiff/360ca27a9b9793f3939c9f70de77c1272a110362

- Clean up a few parallelism-related things that pgindent wants to
  mangle.  In nodeFuncs.c, pgindent wants to introduce spurious
  indentation into the definitions of planstate_tree_walker and
  planstate_walk_subplans.  Fix that by spreading the definition out
  across several lines, similar to what is already done for other
  walker functions in that file.  In execParallel.c, in the definition
  of SharedExecutorInstrumentation, pgindent wants to insert more
  whitespace between the type name and the member name.  That causes
  it to mangle comments later on the line.  Fix by moving the comments
  out of line.  Now that we have a bit more room, add some more
  details that may be useful to the next person reading this code.
  http://git.postgresql.org/pg/commitdiff/8126eaee2fed7cbc4e9fd6ba8713977ccacd77fe

- Update typedefs.list file in preparation for pgindent run In
  addition to adding new typedefs, I also re-sorted the file so that
  various entries add piecemeal, mostly or entirely by me, were
  alphabetized the same way as other entries in the file.
  http://git.postgresql.org/pg/commitdiff/acb51bd71d16921cc18cd434d8e70ab0705d6856

- Remove inadvertently commited vim swapfile.  If you were wondering
  what editor I use, now you know.
  http://git.postgresql.org/pg/commitdiff/b33dc7766509be27bda62a8de7889b26dc2a366c

- Tighten up sanity checks for parallel aggregate in execQual.c.
  David Rowley
  http://git.postgresql.org/pg/commitdiff/cf402ba7340f66defe25bffa8621a54fd579196e

- Change postgresql.conf.sample to say that fsync=off will corrupt
  data.  Discussion: 24748.1461764666 <at> sss.pgh.pa.us Per a suggestion
  from Craig Ringer.  This wording from Tom Lane, following
  discussion.
  http://git.postgresql.org/pg/commitdiff/a31212b429cd3397fb3147b1a584ae33224454a6

- Fix wrong word.  Commit a31212b429cd3397fb3147b1a584ae33224454a6 was
  a little too hasty.  Per report from Tom Lane.
  http://git.postgresql.org/pg/commitdiff/372ff7cae254ac110e2dd25f81cb000c61b60413

Teodor Sigaev pushed:

- Fix tsearch docs.  Remove mention of setweight(tsquery) which wasn't
  included in 9.6. Also replace old forgotten phrase operator to new
  one.  Dmitry Ivanov
  http://git.postgresql.org/pg/commitdiff/f1e3c76066f0066a8a9bb09b80cd97f11e4b2dc4

- Prevent multiple cleanup process for pending list in GIN.
  Previously, ginInsertCleanup could exit early if it detects that
  someone else is cleaning up the pending list, without waiting for
  that someone else to finish the job. But in this case vacuum could
  miss tuples to be deleted.  Cleanup process now locks metapage with
  a help of heavyweight LockPage(ExclusiveLock), and it guarantees
  that there is no another cleanup process at the same time. Lock is
  taken differently depending on caller of cleanup process: any
  vacuums and gin_clean_pending_list() will be blocked until lock
  becomes available, ordinary insert uses conditional lock to prevent
  indefinite waiting on lock.  Insert into pending list doesn't use
  this lock, so insertion isn't blocked.  Also, patch adds stopping of
  cleanup process when at-start-cleanup-tail is reached in order to
  prevent infinite cleanup in case of massive insertion. But it will
  stop only for automatic maintenance tasks like autovacuum.  Patch
  introduces choice of limit of memory to use: autovacuum_work_mem,
  maintenance_work_mem or work_mem depending on call path.  Patch for
  previous releases should be reworked due to changes between 9.6 and
  previous ones in this area.  Discover and diagnostics by Jeff Janes
  and Tomas Vondra Patch by me with some ideas of Jeff Janes
  http://git.postgresql.org/pg/commitdiff/e2c79e14d998cd31f860854bc9210b37b457bb01

- Prevent to use magic constants.  Use macroses for definition
  amstrategies/amsupport fields instead of hardcoded values.  Author:
  Nikolay Shaplov with addition for contrib/bloom
  http://git.postgresql.org/pg/commitdiff/f8467f7da8685dbc47187864e5afe130d9c63fff

Noah Misch pushed:

- Impose a full barrier in generic-xlc.h atomics functions.
  pg_atomic_compare_exchange_*_impl() were providing only the
  semantics of an acquire barrier.  Buildfarm members hornet and
  mandrill revealed this deficit beginning with commit
  008608b9d51061b1f598c197477b3dc7be9c4a64.  While we have no report
  of symptoms in 9.5, we can't rule out the possibility of certain
  compilers, hardware, or extension code relying on these functions'
  specified barrier semantics.  Back-patch to 9.5, where commit
  b64d92f1a5602c55ee8b27a7ac474f03b7aee340 introduced atomics.
  Reviewed by Andres Freund.
  http://git.postgresql.org/pg/commitdiff/213c7df0337278c71c98e90605dc83023db1a80e

Andres Freund pushed:

- Don't open formally non-existent segments in _mdfd_getseg().  Before
  this commit _mdfd_getseg(), in contrast to mdnblocks(), did not
  verify whether all segments leading up to the to-be-opened one, were
  RELSEG_SIZE sized. That is e.g. not the case after truncating a
  relation, because later segments just get truncated to zero length,
  not removed.  Once a "non-existent" segment has been opened in a
  session, mdnblocks() will return wrong results, causing errors like
  "could not read block %u in file" when accessing blocks. Closing the
  session, or the later arrival of relevant invalidation messages,
  would "fix" the problem.  That, so far, was mostly harmless, because
  most segment accesses are only done after an mdnblocks() call. But
  since 428b1d6b29ca we try to open segments that might have been
  deleted, to trigger kernel writeback from a backend's queue of
  recent writes.  To fix check segment sizes in _mdfd_getseg() when
  opening previously unopened segments. In practice this shouldn't
  imply a lot of additional lseek() calls, because mdnblocks() will
  most of the time already have opened all relevant segments.  This
  commit also fixes a second problem, namely that _mdfd_getseg(
  EXTENSION_RETURN_NULL) extends files during recovery, which is not
  desirable for the mdwriteback() case.  Add
  EXTENSION_REALLY_RETURN_NULL, which does not behave that way, and
  use it.  Reported-By: Thom Brown Author: Andres Freund, Abhijit
  Menon-Sen Reviewd-By: Robert Haas, Fabien Coehlo Discussion:
  CAA-aLv6Dp_ZsV-44QA-2zgkqWKQq=GedBX2dRSrWpxqovXK=Pg <at> mail.gmail.com
  Fixes: 428b1d6b29ca599c5700d4bc4f4ce4c5880369bf
  http://git.postgresql.org/pg/commitdiff/72a98a639574d2e25ed94652848555900c81a799

- Emit invalidations to standby for transactions without xid.  So far,
  when a transaction with pending invalidations, but without an
  assigned xid, committed, we simply ignored those invalidation
  messages. That's problematic, because those are actually sent for a
  reason.  Known symptoms of this include that existing sessions on a
  hot-standby replica sometimes fail to notice new concurrently built
  indexes and visibility map updates.  The solution is to WAL log such
  invalidations in transactions without an xid. We considered to
  alternatively force-assign an xid, but that'd be problematic for
  vacuum, which might be run in systems with few xids.  Important:
  This adds a new WAL record, but as the patch has to be back-patched,
  we can't bump the WAL page magic. This means that standbys have to
  be updated before primaries; otherwise "PANIC: standby_redo: unknown
  op code 32" errors can be encountered.  XXX: Reported-By: Васильев
  Дмитрий, Masahiko Sawada Discussion:
  CAB-SwXY6oH=9twBkXJtgR4UC1NqT-vpYAtxCseME62ADwyK5OA <at> mail.gmail.com
  CAD21AoDpZ6Xjg=gFrGPnSn4oTRRcwK1EBrWCq9OqOHuAcMMC=w <at> mail.gmail.com
  http://git.postgresql.org/pg/commitdiff/c6ff84b06a68b71719aa1aaa5f6704d8db1b51f8

- Remember asking for feedback during walsender shutdown.  Since
  5a991ef8 we're explicitly asking for feedback from the receiving
  side when shutting down walsender, if there's not yet replicated
  data.  Unfortunately we didn't remember (i.e. set
  waiting_for_ping_response to true) having asked for feedback,
  leading to scenarios in which replies were requested at a high
  frequency.  I can't reproduce this problem on my laptop, I think
  that's because the problem requires a significant TCP window to
  manifest due to the !pq_is_send_pending() condition. But since this
  clearly is a bug, let's fix it.  There's quite possibly more wrong
  than just this though.  While fiddling with WalSndDone(), I rewrote
  a hard to understand comment about looking at the flush vs. the
  write position.  Reported-By: Nick Cleaton, Magnus Hagander Author:
  Nick Cleaton Discussion:
  CAFgz3kus=rC_avEgBV=+hRK5HYJ8vXskJRh8yEAbahJGTzF2VQ <at> mail.gmail.com
  CABUevExsjROqDcD0A2rnJ6HK6FuKGyewJr3PL12pw85BHFGS2Q <at> mail.gmail.com
  Backpatch: 9.4, were 5a991ef8 introduced the use of feedback
  messages during shutdown.
  http://git.postgresql.org/pg/commitdiff/59455018a8120bb3c02680b0f9764492c5283d99

Andrew Dunstan pushed:

- Support building with Visual Studio 2015.  Adjust the way we detect
  the locale. As a result the minumum Windows version supported by
  VS2015 and later is Windows Vista. Add some tweaks to remove new
  compiler warnings. Remove documentation references to the now
  obsolete msysGit.  Michael Paquier, somewhat edited by me, reviewed
  by Christian Ullrich.  Backpatch to 9.5
  http://git.postgresql.org/pg/commitdiff/0fb54de9aa4ffb792ea63af853146021ae501f12

- Fix typo in VS2015 patch.  reported by Christian Ullrich
  http://git.postgresql.org/pg/commitdiff/7dc549238eabe6a634af3e24520f2c3f5667f76f

- Fix comment whitespace in VS2105 patch.  per gripe from Michael
  Paquier.
  http://git.postgresql.org/pg/commitdiff/d34e7b2812467279b95060a4db8d9f4fc4be0e40

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Stephen Frost sent in another revision of a patch to fix pg_dump for
catalog ACLs.

Sehrope Sarkuni sent in a patch to add jsonb_compact(...) for
whitespace-free jsonb to text.

Peter Eisentraut sent in another revision of a patch to fix an OpenSSL
error queue bug.

Kyotaro HORIGUCHI sent in two more revisions of a patch to fix
synchronous replication update configuration.

Ashutosh Sharma sent in a patch to allow pg_basebackup to create
pg_stat_tmp and pg_replslot as an empty directories if they are
symbolic links.

Etsuro Fujita sent in a patch to fix subtransaction callbacks in the
PostgreSQL FDW.

Christian Ullrich sent in three revisions of a patch to enable
parallel builds with MSVC.

Dean Rasheed sent in a patch to fix an issue in psql's \ev feature
which adds support for missing VIEW options like WITH CHECK OPTION.

Daniel Gustafsson sent in a patch to remove some unused macros from
contrib.

Julien Rouhaud sent in two revisions of a patch to fix an issue with
FK joins that could cause a segfault.

Craig Ringer sent in a patch to allow a stop LSN to be specified to
pg_recvlogical.

Andreas Karlsson sent in a patch to fix the parallel safety markings
for some built-in functions that got missed in the shuffle.

Ian Lawrence Barwick sent in a patch to add tab completion to psql's
\l command.

Amit Kapila sent in a patch to fix an issue sqlsmith uncovered in
apply_projection_to_path.

--

-- 
Sent via pgsql-announce mailing list (pgsql-announce <at> postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-announce

Gilles Darold | 27 Apr 18:25 2016

pgCluu release 2.5

Paris, April 27th 2016

pgCluu 2.5 released
-------------------

PostgreSQL Cluster Utilization

pgCluu is a Perl program used to perform a full audit of a PostgreSQL
Cluster performances. It is divided in two parts, a collector used to
grab statistics on the PostgreSQL server using psql and sar, a reports
builder that will generate all HTML and charts output.

This release fixes some issues reported by users over past year and a
full replacement of the flotr2 javascript chart library with jqplot.

There's also some new interesting reports:

  * Add report for hash indexes.
  * Keep track of pg_settings and database/roles settings changes and
    show diff in the the reports.
  * Add report of pending restart in pg settings view.
  * Add information about percentage of timed against requested
    checkpoints.
  * Split database menu in submenu per set of 10 databases.
  * Add report of tables without indexes and tables with more than
    five indexes.
  * Add report about invalid index after concurrency build.
  * Add report of system and PostgreSQL uptime.
  * Add report of last statistics reset per database and report of
    last autovacuum and autoanalyze.
  * Add report of bgwriter last statistics reset in Home/Cluster view.
  * Add a non default configuration settings report.

and useful features:

  * Autodetect timezone from csv data files and automatic adjustment
    of chart axis.
  * Add systemd start script.
  * Add collect of crontab information.
  * Add support to daylight saving.
  * Add compatibility with PostgreSQL 9.5
  * Add ablity to export plots data as csv
  * Set legend table outside the graph.
  * Display specific titles and description for overall graphs.

Note that a CGI script have been added to be able to perform temporal
lookup in incremental pgCluu statistics, with predefined year, month,
day and hour views. This is a work in progress, it will be available
in next major release.

Upgrade: you can safely override previous installation, backward
compatibility with 2.4 version is preserved.

See ChangeLog for a complete list of changes and bug fixes.

The goal of this project is to provide a complete PostgreSQL auditing
tool that don't need any dependency to be run easily to audit a local
or remote server.

If you just have a sar output file, pgCluu can be use to draw graphs
about the system utilization only.

pgCluu is an original collection of tools built during my work at
Dalibo. Those tools are published under the PostgreSQL License to
be shared, any one is welcome to contribute.

For more information take a look at http://pgcluu.darold.net/

View a sample report at http://pgcluu.darold.net/example/index.html

About:
------

pgCluu is created and maintained by Gilles Darold.

  * Web/Demo site: http://pgcluu.darold.net/
  * Download: https://github.com/darold/pgcluu/releases
  * Development: https://github.com/darold/pgcluu
  * Documentation: https://github.com/darold/pgcluu/blob/master/README

-- 
Gilles Darold
Consultant PostgreSQL
http://dalibo.com - http://dalibo.org

--

-- 
Sent via pgsql-announce mailing list (pgsql-announce <at> postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-announce

Bo Peng | 26 Apr 10:53 2016
Picon

pgpool-II 3.5.2, 3.4.6, 3.3.10, 3.2.15, 3.1.18, and pgpoolAdmin 3.5.2 released

Hi,

Pgpool Global Development Group is pleased to announce the availability
of pgpool-II 3.5.2, 3.4.6, 3.3.10, 3.2.15, 3.1.18, and pgpoolAdmin 3.5.2.
These are the latest  stable minor versions of each major versions of pgpool-II.

Pgpool-II is a tool to add usefull features to PostgreSQL, including
connection pooling, load balancing, automatic fail over and more.

You can download them from:
http://pgpool.net/mediawiki/index.php/Downloads

                        3.5.2 (ekieboshi) 2016/04/26

* Version 3.5.2

    This is a bugfix release against pgpool-II 3.5.1.

    __________________________________________________________________

* Bug fixes

    - Fix for segfault during trusted_servers check  (Muhammad Usama)

      PostgreSQL's memory and exception manager APIs adopted by the
      pgpool 3.4 are not thread safe and are causing the segmentation fault
      in the watchdog lifecheck process, as it uses the threads to ping
      configured trusted hosts for checking the upstream connections.
      Fix is to remove threads and use the child process approach instead.

      See [pgpool-general: 4569] for more details.

    - Removing the limit on the maximum number of items in the
      black_function_list and white_function_list lists. (Muhammad Usama)

      extract_string_tokens in pool_config uses the fixed size malloc on
      the array to hold the black_function_list/white_function_list items.
      This imposes a limit of maximum items in these lists.
      The fix is to use realloc to increase the array size when it gets full.

    - Fix extended protocol hang with empty query (Tatsuo Ishii)

      The fixes related to extended protocol cases in 3.5.1 broke the case
      of empty query.  In this case backend replies with "empty query
      response" which is same meaning as a command complete message. Problem
      is, when empty query response is received, pgpool does not reset the
      query in progress flag thus keeps on waiting for backend. However,
      backend will not send the ready for query message until it receives a
      sync message. Fix is, resetting the in progress flag after receiving
      the empty query response and reads from frontend expecting it sends a
      sync message.

      Per bug #190.

    - Redirect all user queries to primary server (Tatsuo Ishii)

      Up to now some user queries are sent to other than the primary server
      even if load_balance_mode = off. This commit changes the behavior: if
      load_balance_mode = off in streaming replication mode, now all the
      user queries are sent to the primary server only.

      Per bug #189.

    - Change the PID length of pcp_proc_count command result to 6 characters
      long (Bo Peng)

      If the pgpool process ID are over 5 characters, the 6th character of each
      process ID will be removed. This commit changes the process ID length of
      pcp_proc_count command result to 6 characters long.

      Per bug #188.

===============================================================================

                        3.4.6 (tataraboshi) 2016/04/26

* Version 3.4.6

    This is a bugfix release against pgpool-II 3.4.5.

    __________________________________________________________________

* Bug fixes

    - Fix for segfault during trusted_servers check  (Muhammad Usama)

      PostgreSQL's memory and exception manager APIs adopted by the
      pgpool 3.4 are not thread safe and are causing the segmentation fault
      in the watchdog lifecheck process, as it uses the threads to ping
      configured trusted hosts for checking the upstream connections.
      Fix is to remove threads and use the child process approach instead.

      See [pgpool-general: 4569] for more details.

    - Removing the limit on the maximum number of items in the
      black_function_list and white_function_list lists. (Muhammad Usama)

      extract_string_tokens in pool_config uses the fixed size malloc on
      the array to hold the black_function_list/white_function_list items.
      This imposes a limit of maximum items in these lists.
      The fix is to use realloc to increase the array size when it gets full.

    - Redirect all user queries to primary server (Tatsuo Ishii)

      Up to now some user queries are sent to other than the primary server
      even if load_balance_mode = off. This commit changes the behavior: if
      load_balance_mode = off in streaming replication mode, now all the
      user queries are sent to the primary server only.

      Per bug #189.

    - Change the PID length of pcp_proc_count command result to 6 characters
      long (Bo Peng)

      If the pgpool process ID are over 5 characters, the 6th character of each
      process ID will be removed. This commit changes the process ID length of
      pcp_proc_count command result to 6 characters long.

      Per bug #188.

===============================================================================

                        3.3.10 (tokakiboshi) 2016/04/26

* Version 3.3.10

    This is a bugfix release against pgpool-II 3.3.9.

    __________________________________________________________________

* Bug fixes

    - Removing the limit on the maximum number of items in the
      black_function_list and white_function_list lists. (Muhammad Usama)

      extract_string_tokens in pool_config uses the fixed size malloc on
      the array to hold the black_function_list/white_function_list items.
      This imposes a limit of maximum items in these lists.
      The fix is to use realloc to increase the array size when it gets full.

    - Redirect all user queries to primary server (Tatsuo Ishii)

      Up to now some user queries are sent to other than the primary server
      even if load_balance_mode = off. This commit changes the behavior: if
      load_balance_mode = off in streaming replication mode, now all the
      user queries are sent to the primary server only.

      Per bug #189.

    - Change the PID length of pcp_proc_count command result to 6 characters
      long (Bo Peng)

      If the pgpool process ID are over 5 characters, the 6th character of each
      process ID will be removed. This commit changes the process ID length of
      pcp_proc_count command result to 6 characters long.

      Per bug #188.

===============================================================================

                        3.2.15 (namameboshi) 2016/04/26

* Version 3.2.15

    This is a bugfix release against pgpool-II 3.2.14.

    __________________________________________________________________

* Bug fixes

    - Removing the limit on the maximum number of items in the
      black_function_list and white_function_list lists. (Muhammad Usama)

      extract_string_tokens in pool_config uses the fixed size malloc on
      the array to hold the black_function_list/white_function_list items.
      This imposes a limit of maximum items in these lists.
      The fix is to use realloc to increase the array size when it gets full.

    - Redirect all user queries to primary server (Tatsuo Ishii)

      Up to now some user queries are sent to other than the primary server
      even if load_balance_mode = off. This commit changes the behavior: if
      load_balance_mode = off in streaming replication mode, now all the
      user queries are sent to the primary server only.

      Per bug #189.

    - Change the PID length of pcp_proc_count command result to 6 characters
      long (Bo Peng)

      If the pgpool process ID are over 5 characters, the 6th character of each
      process ID will be removed. This commit changes the process ID length of
      pcp_proc_count command result to 6 characters long.

      Per bug #188.

===============================================================================

                        3.1.18 (hatsuiboshi) 2016/04/26

* Version 3.1.18

    This is a bugfix release against pgpool-II 3.1.17.

    __________________________________________________________________

* Bug fixes

    - Removing the limit on the maximum number of items in the
      black_function_list and white_function_list lists. (Muhammad Usama)

      extract_string_tokens in pool_config uses the fixed size malloc on
      the array to hold the black_function_list/white_function_list items.
      This imposes a limit of maximum items in these lists.
      The fix is to use realloc to increase the array size when it gets full.

    - Redirect all user queries to primary server (Tatsuo Ishii)

      Up to now some user queries are sent to other than the primary server
      even if load_balance_mode = off. This commit changes the behavior: if
      load_balance_mode = off in streaming replication mode, now all the
      user queries are sent to the primary server only.

      Per bug #189.

    - Change the PID length of pcp_proc_count command result to 6 characters
      long (Bo Peng)

      If the pgpool process ID are over 5 characters, the 6th character of each
      process ID will be removed. This commit changes the process ID length of
      pcp_proc_count command result to 6 characters long.

      Per bug #188.

===============================================================================

-- 
Bo Peng <pengbo <at> sraoss.co.jp>
SRA OSS, Inc. Japan

--

-- 
Sent via pgsql-announce mailing list (pgsql-announce <at> postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-announce

Scott Mead | 25 Apr 17:56 2016
Gravatar

PostgreSQL packaged by BigSQL - Windows, OSX and Linux installers

OpenSCG announces the release of Postgres packaged by BigSQL, a complete and developer-friendly PostgreSQL distribution with a Graphical Installer for Windows and OSX and a powerful command line interface for finding and installing community projects.

The BigSQL Postgres distribution is 100% open source, with no commercial dependencies. Native installers are consistent across Windows, OSX, and Linux, to make it easy for PostgreSQL developers, DBAs, and operations teams to install and configure Postgres 9.5, 9.4, 9.3 & 9.2.

Download from: http://www.bigsql.org

In addition to the PostgreSQL core, the BigSQL package includes more than 20 open source Postgres community projects that make it easier to do development, integration, and management. All BigSQL included components are 100% open source, pre-integrated and tested, and include advanced features from some of the leading Postgres-centric projects today, including:

 - Easy to use update and package manager
 - Integrated foreign data wrappers:
    Oracle, Sybase & SQL Server, Hadoop, and Cassandra
 - Integrated stored procedure development languages:
    pl/Perl, pl/Python, pl/Java, pl/V8, and pl/Tcl
 - Integrated plprofiler and pldebugger
 - Integrated geospatial toolset from PostGIS

The pgc command line interface and graphical BigSQL Manager enable users to easily find and download additional PostgreSQL community applications and manage their Postgres servers simply.

Questions or comments contact info <at> bigsql.org
Adam Brusselback | 25 Apr 16:48 2016
Picon

jpgAgent (job scheduler) released.

jpgAgent is a job scheduler for PostgreSQL written in Java. It is low overhead, and aims to be fully compatible with pgAgent.

In addition to being compatible with the existing pgAgent functionality, jpgAgent extends and enhances it further with annotations to support a much richer job scheduling workflow.

Here are a few of the additional features implemented:
  1. Timeouts - Specify an amount of time that a job/step can run for. If it runs longer the job/step will be killed by the scheduler.
  2. Parallel steps - Run multiple job steps in parallel.
  3. Email notifications - Send an email on job/step completion based on the status of the job/step (only if failed, all status, etc).
  4. Kill a running job - The ability to kill a job by sending a NOTIFY. Works for both batch, and sql steps.
Gilles Darold | 24 Apr 23:05 2016

Ora2Pg v18.4 has been released

Paris, France - April 24th, 2016

**Ora2Pg 18.4 released**

Version 18.4 of Ora2Pg, a free and reliable tool used to migrate an
Oracle database to PostgreSQL, has been officially released and is
publicly available for download.

This is a maintenance release to fix several issues reported by users.
There is also some major data export speed improvement thanks to the
work of PostgreSQL Pro and a new RPM spec file provided by Devrim
Gündüz to be able to build RPM package for Ora2Pg.

Details of data export speed improvement are explained in the following
article:
http://blog.dalibo.com/2016/04/06/Ora2Pg_data_export_improvement.html

There is a new configuration directive:

  * EMPTY_LOB_NULL: when enabled force empty_clob() and empty_blob()
    to be exported as NULL instead as empty string.

Here is the complete list of other changes:

  - Put parenthesis around AT TIME ZONE expression
  - Add EMPTY_LOB_NULL directive to force empty_clob and empty_blob()
    to be exported as NULL instead as empty string. This might improve
    data export speed if you have lot of empty lob. Thanks to Alex
    Ignatov for the report.
  - Fix import_all.sh script to import grant and tablespace separately
    as postgres user and just after indexes and constraints creation.
  - Add parsing of tablespace from "alter table ... add constraint"
    with DDL input file. Thanks to Felipe Lavoura.
  - Remove --single-transaction in import_all.sh with TABLESPACE
    import. Thanks to Guillaume Lelarge for the report.
  - Fix Makefile.PL to used with latest spec file from Devrim Gündüz
    and following the advice of calbiston.
  - Update spec file to v17.4 and latest change to Makefile.PL
  - Replace ora2pg.spec by postgressql.org spec file by Devrim Gunduz.
  - Generate man page to avoids rpmbuild error.
  - Fix Windows install. Thanks to Lorena Figueredo for the report.
  - Remove "deferrability" call for mysql foreign keys. Thanks to
    Jean-Eric Cuendet for the report.
  - Fix issue in restoring foreign key for mysql data export. Thanks
    to Jean-Eric Cuendet for the report.
  - Remove connection test to PostgreSQL instance as postgres or any
  - Fix creation of configuration directory.
  - Fix Makefile to dissociate CONFDIR and DOCDIR from PREFIX or
    DESTDIR. Thanks to Stephane Schildknecht for the report.
  - Fix date_trunc+add_month replacement issue. Thanks to Lorena
    Figueredo for the report.
  - Do not replace configuration directory in scripts/ora2pg if this
    is a RPM build. Thanks to calbiston for the report.
  - Return empty bytea when a LOB is empty and not NULL.
  - Regular expressions and conditions checks improvement in method
    format_data_type() to make it a bit faster on huge tables. Thanks
    to Svetlana Shorina for the patch.
  - Fix INSERT using on the fly data import with boolean values.
    Thanks to jecuendet for the report.
  - Allow MySQL data type to be converted into boolean. Thanks to
    jecuendet for the report.
  - Fix export of BIT mysql data type into bit bit varying. Thanks
    to jecuendet for the report.
  - Fix call to escape_copy/escape_insert function call.

As usual these also some bug fixes and Oracle to PostgreSQl conversion
adjustments, see https://github.com/darold/ora2pg/blob/master/changelog
for a complete list.

Thanks to all contributors, they are all cited in the changelog file.

Useful Links:

    - Website: http://ora2pg.darold.net/
    - Download: http://sourceforge.net/projects/ora2pg/
    - Development: https://github.com/darold/ora2pg
    - Changelog: https://github.com/darold/ora2pg/blob/master/changelog
    - Documentation: https://github.com/darold/ora2pg/blob/master/README

About Ora2Pg :

Ora2Pg is an easy and reliable tool to migrate from Oracle to PostgreSQL.
It is developed since 2001 and can export most of the Oracle objects
(table, view, materialized view, tablespace, sequence, indexes, trigger,
grant, function, procedure, package, partition, data, blob and external
table).

Ora2Pg works on any platform and is available under the GPL v3 licence.

Docs, Download & Support at http://ora2pg.darold.net/

-- 
Gilles Darold
Consultant PostgreSQL
http://dalibo.com - http://dalibo.org

--

-- 
Sent via pgsql-announce mailing list (pgsql-announce <at> postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-announce

Gilles Darold | 24 Apr 23:14 2016

pgBadger v8.1 was released

Paris, France - April 24th, 2016

pgBadger is a PostgreSQL performance analyzer, built for speed with
fully detailed reports based on your PostgreSQL log files.

pgBadger 8.1 was released today, this is a maintenance release that
fix a major issue introduced with support to pgbouncer that was
breaking the parsing of compressed log files. There's also some
improvements.

Here are the complete list of changes:

  - Fix one case where pid file remain after dying.
  - Add requirement of log_error_verbosity = default to documentation.
  - Report message "LOG: using stale statistics instead of current
    ones because stats collector is not responding" in events view.
  - Remove obsolete days when we are in binary mode with --noreport
  - Fix wrong report of statements responsible of temporary files.
    Thanks to Luan Nicolini Marcondes for the report. This patch also
    exclude line with log level LOCATION to be parsed.
  - Fix limit on number of sample at report generation and remove
    pending LAST_PARSED.tmp file.
  - Update load_stat() function and global variables to support
    pgbouncer statistics. Update version to 2.0.
  - Handle more kind or query types. Thanks to julien Rouhaud for
    the patch.
  - Fix pgbouncer log parser to handle message: FATAL: the database
    system is shutting down
  - Fix whitespace placed in between the E and the quote character.
    Thanks to clijunky for the report.
  - Fix a major issue introduced with support to pgbouncer that
    prevent parsing of compressed PostgreSQL log files. Thanks to
    Levente Birta for the report.

===== Links & Credits =====

DALIBO would like to thank the developers who submitted patches and the
users who reported bugs and feature requests.

pgBadger is an open project. Any contribution to build a better tool is
welcome. You just have to send your ideas, features requests or patches
using the GitHub tools or directly on our mailing list.

Links :

  * Download : https://github.com/dalibo/pgbadger/releases/
  * Mailing List :
https://groups.google.com/forum/?hl=fr#!forum/pgbadger
(pgbadger <at> googlegroups.com)

--------------

**About pgBadger** :

pgBagder is a new generation log analyzer for PostgreSQL, created by
Gilles Darold (also author of ora2pg, the powerful migration tool).
pgBadger is a fast and easy tool to analyze your SQL traffic and create
HTML5 reports with dynamics graphs. pgBadger is the perfect tool to
understand the behavior of your PostgreSQL servers and identify which
SQL queries need to be optimized.

Docs, Download & Demo at http://dalibo.github.io/pgbadger/

--------------

**About DALIBO** :

DALIBO is the leading PostgreSQL company in France, providing support,
trainings and consulting to its customers since 2005. The company
contributes to the PostgreSQL community in various ways, including :
code, articles, translations, free conferences and workshops

Check out DALIBO's open source projects at http://dalibo.github.io

-- 
Gilles Darold
Consultant PostgreSQL
http://dalibo.com - http://dalibo.org

--

-- 
Sent via pgsql-announce mailing list (pgsql-announce <at> postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-announce

David Fetter | 24 Apr 23:50 2016
Gravatar

== PostgreSQL Weekly News - April 24 2016 ==

== PostgreSQL Weekly News - April 24 2016 ==

PostgreSQL Session will be held on September 22th, 2016, in Lyon,
France.  The submission deadline is May 20, 2016. Send proposals to
call-for-paper AT postgresql-sessions DOT org.

PostgresOpen 2016 in will be held in Dallas, Texas September 13-16.
The CfP is open.
https://2016.postgresopen.org/callforpapers/

== PostgreSQL Product News ==

Benetl 4.7, a free ETL tool for postgreSQL, released.
http://www.benetl.net

pgBackRest 1.0, reliable PostgreSQL Backup and Restore, released.
http://www.pgbackrest.org/

PGroonga 1.0.6 a fast full text search platform for all languages,
released.
http://groonga.org/en/blog/2016/04/15/pgroonga-1.0.6.html

Postgres-XL 9.5 R1 released.
http://www.postgres-xl.org/2016/04/postgres-xl-9-5-r1-released/

== PostgreSQL Jobs for April ==

http://archives.postgresql.org/pgsql-jobs/2016-04/

== PostgreSQL Local ==

FOSS4G NA, will be held May 2-5, 2016 in Raleigh, North Carolina.
https://2016.foss4g-na.org/

PGCon 2016 will be held May 17-21, 2016 in Ottawa.
http://www.pgcon.org/

This year's Swiss PGDay will be held on June 24, 2016 at the
University of Applied Sciences in Rapperswil (Switzerland).
http://www.pgday.ch/

"5432 ... Meet us!", will take place in Milan, Italy on June 28-29, 2016.
Registration is open.
http://5432meet.us/

PG Day UK 2016 will be 5th July 2016.
http://www.pgconf.uk/

PostgreSQL Session will be held on September 22th, 2016, in Lyon,
France.  The submission deadline is May 20, 2016. Send proposals to
call-for-paper AT postgresql-sessions DOT org.

PgConf Silicon Valley 2016 will be held on November 14-16, 2016.
http://www.pgconfsv.com/

== 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 <at> fetter.org, German language
to pwn <at> pgug.de, Italian language to pwn <at> itpug.org.  Spanish language
to pwn <at> arpug.com.ar.

== Applied Patches ==

Peter Eisentraut pushed:

- doc: Document that sequences can also be extension configuration
  tables.  From: Michael Paquier <michael.paquier <at> gmail.com>
  http://git.postgresql.org/pg/commitdiff/d460c7cc0fd43a7f7184818c67705a878e938b2d

- doc: Fix typos.  From: Erik Rijkers <er <at> xs4all.nl>
  http://git.postgresql.org/pg/commitdiff/b87b2f4bda1a3b98f8dea867b8bc419ace7a9ea9

Fujii Masao pushed:

- Fix typo in docs.  Artur Zakirov
  http://git.postgresql.org/pg/commitdiff/8ce8307bd4d6028371c6e8b51bdc6ad260baa03a

Tom Lane pushed:

- Further reduce the number of semaphores used under
  --disable-spinlocks.  Per discussion, there doesn't seem to be much
  value in having NUM_SPINLOCK_SEMAPHORES set to 1024: under any
  scenario where you are running more than a few backends
  concurrently, you really had better have a real spinlock
  implementation if you want tolerable performance.  And 1024
  semaphores is a sizable fraction of the system-wide SysV semaphore
  limit on many platforms.  Therefore, reduce this setting's default
  value to 128 to make it less likely to cause out-of-semaphores
  problems.
  http://git.postgresql.org/pg/commitdiff/75c24d0f7491f77dfbc0acdf6c18439f288353ef

- Make partition-lock-release coding more transparent in
  BufferAlloc().  Coverity complained that oldPartitionLock was
  possibly dereferenced after having been set to NULL.  That actually
  can't happen, because we'd only use it if (oldFlags & BM_TAG_VALID)
  is true.  But nonetheless Coverity is justified in complaining,
  because at line 1275 we actually overwrite oldFlags, and then still
  expect its BM_TAG_VALID bit to be a safe guide to whether to release
  the oldPartitionLock.  Thus, the code would be incorrect if someone
  else had changed the buffer's BM_TAG_VALID flag meanwhile.  That
  should not happen, since we hold pin on the buffer throughout this
  sequence, but it's starting to look like a rather shaky chain of
  logic.  And there's no need for such assumptions, because we can
  simply replace the (oldFlags & BM_TAG_VALID) tests with
  (oldPartitionLock != NULL), which has identical results and makes it
  plain to all comers that we don't dereference a null pointer.  A
  small side benefit is that the range of liveness of oldFlags is
  greatly reduced, possibly allowing the compiler to save a register.
  This is just cleanup, not an actual bug fix, so there seems no need
  for a back-patch.
  http://git.postgresql.org/pg/commitdiff/a0382e2d7e330de13e15cea0921a95faa9da3570

- Improve regression tests for degree-based trigonometric functions.
  Print the actual value of each function result that's expected to be
  exact, rather than merely emitting a NULL if it's not right.
  Although we print these with extra_float_digits = 3, we should not
  trust that the platform will produce a result visibly different from
  the expected value if it's off only in the last place; hence, also
  include comparisons against the exact values as before.  This is a
  bit bulkier and uglier than the previous printout, but it will
  provide more information and be easier to interpret if there's a
  test failure.  Discussion: <18241.1461073100 <at> sss.pgh.pa.us>
  http://git.postgresql.org/pg/commitdiff/4db0d2d2fe935e086dfd26c00f707dab298b443c

- Fix memory leak and other bugs in ginPlaceToPage() & subroutines.
  Commit 36a35c550ac114ca turned the interface between ginPlaceToPage
  and its subroutines in gindatapage.c and ginentrypage.c into a royal
  mess: page-update critical sections were started in one place and
  finished in another place not even in the same file, and the very
  same subroutine might return having started a critical section or
  not.  Subsequent patches band-aided over some of the problems with
  this design by making things even messier.  One user-visible
  resulting problem is memory leaks caused by the need for the
  subroutines to allocate storage that would survive until
  ginPlaceToPage calls XLogInsert (as reported by Julien Rouhaud).
  This would not typically be noticeable during retail index updates.
  It could be visible in a GIN index build, in the form of memory
  consumption swelling to several times the commanded
  maintenance_work_mem.  Another rather nasty problem is that in the
  internal-page-splitting code path, we would clear the child page's
  GIN_INCOMPLETE_SPLIT flag well before entering the critical section
  that it's supposed to be cleared in; a failure in between would
  leave the index in a corrupt state.  There were also assorted
  coding-rule violations with little immediate consequence but
  possible long-term hazards, such as beginning an XLogInsert sequence
  before entering a critical section, or calling elog(DEBUG) inside a
  critical section.  To fix, redefine the API between ginPlaceToPage()
  and its subroutines by splitting the subroutines into two parts.
  The "beginPlaceToPage" subroutine does what can be done outside a
  critical section, including full computation of the result pages
  into temporary storage when we're going to split the target page.
  The "execPlaceToPage" subroutine is called within a critical section
  established by ginPlaceToPage(), and it handles the actual page
  update in the non-split code path.  The critical section, as well as
  the XLOG insertion call sequence, are both now always started and
  finished in ginPlaceToPage().  Also, make ginPlaceToPage() create
  and work in a short-lived memory context to eliminate the leakage
  problem.  (Since a short-lived memory context had been getting
  created in the most common code path in the subroutines, this
  shouldn't cause any noticeable performance penalty; we're just
  moving the overhead up one call level.) In passing, fix a bunch of
  comments that had gone unmaintained throughout all this klugery.
  Report: <571276DD.5050303 <at> dalibo.com>
  http://git.postgresql.org/pg/commitdiff/bde361fef5ea3c65074a0c95c724fae5ac8a1bb5

- Honor PGCTLTIMEOUT environment variable for pg_regress' startup
  wait.  In commit 2ffa86962077c588 we made pg_ctl recognize an
  environment variable PGCTLTIMEOUT to set the default timeout for
  starting and stopping the postmaster.  However, pg_regress uses
  pg_ctl only for the "stop" end of that; it has bespoke code for
  starting the postmaster, and that code has historically had a
  hard-wired 60-second timeout.  Further buildfarm experience says
  it'd be a good idea if that timeout were also controlled by
  PGCTLTIMEOUT, so let's make it so.  Like the previous patch,
  back-patch to all active branches.  Discussion:
  <13969.1461191936 <at> sss.pgh.pa.us>
  http://git.postgresql.org/pg/commitdiff/cbabb70f35bb0e5bac84b9f15ecadc82868ad9f9

- PGDLLIMPORT-ify old_snapshot_threshold.  Revert commit
  7cb1db1d9599f0a09d6920d2149d956ef6d88b0e, which represented a
  misunderstanding of the problem (if snapmgr.h weren't already
  included in bufmgr.h, things wouldn't compile anywhere).  Instead
  install what I think is the real fix.
  http://git.postgresql.org/pg/commitdiff/14216649f3dc8bd9839702440dd593e958b0920b

- Fix ruleutils.c's dumping of ScalarArrayOpExpr containing an
  EXPR_SUBLINK.  When we shoehorned "x op ANY (array)" into the SQL
  syntax, we created a fundamental ambiguity as to the proper
  treatment of a sub-SELECT on the righthand side: perhaps what's
  meant is to compare x against each row of the sub-SELECT's result,
  or perhaps the sub-SELECT is meant as a scalar sub-SELECT that
  delivers a single array value whose members should be compared
  against x.  The grammar resolves it as the former case whenever the
  RHS is a select_with_parens, making the latter case hard to reach
  --- but you can get at it, with tricks such as attaching a no-op
  cast to the sub-SELECT.  Parse analysis would throw away the no-op
  cast, leaving a parsetree with an EXPR_SUBLINK SubLink directly
  under a ScalarArrayOpExpr.  ruleutils.c was not clued in on this
  fine point, and would naively emit "x op ANY ((SELECT ...))", which
  would be parsed as the first alternative, typically leading to
  errors like "operator does not exist: text = text[]" during
  dump/reload of a view or rule containing such a construct.  To fix,
  emit a no-op cast when dumping such a parsetree.  This might well be
  exactly what the user wrote to get the construct accepted in the
  first place; and even if she got there with some other dodge, it is
  a valid representation of the parsetree.  Per report from Karl
  Czajkowski.  He mentioned only a case involving RLS policies, but
  actually the problem is very old, so back-patch to all supported
  branches.  Report: <20160421001832.GB7976 <at> moraine.isi.edu>
  http://git.postgresql.org/pg/commitdiff/1f7c85b820814810f985a270e92cde4c12ceded4

- Remove dead code in win32.h.  There's no longer a need for the
  MSVC-version-specific code stanza that forcibly redefines errno code
  symbols, because since commit 73838b52 we're unconditionally
  redefining them in the stanza before this one anyway.  Now it's
  merely confusing and ugly, so get rid of it; and improve the comment
  that explains what's going on here.  Although this is just cosmetic,
  back-patch anyway since I'm intending to back-patch some
  less-cosmetic changes in this same hunk of code.
  http://git.postgresql.org/pg/commitdiff/e54528155a3c4159b01327534691c3342a371cab

- Improve TranslateSocketError() to handle more Windows error codes.
  The coverage was rather lean for cases that bind() or listen() might
  return.  Add entries for everything that there's a direct equivalent
  for in the set of Unix errnos that elog.c has heard of.
  http://git.postgresql.org/pg/commitdiff/125ad539a275db5ab8f4647828b80a16d02eabd2

- Fix planner failure with full join in RHS of left join.  Given a
  left join containing a full join in its righthand side, with the
  left join's joinclause referencing only one side of the full join
  (in a non-strict fashion, so that the full join doesn't get
  simplified), the planner could fail with "failed to build any N-way
  joins" or related errors.  This happened because the full join was
  seen as overlapping the left join's RHS, and then recent changes
  within join_is_legal() caused that function to conclude that the
  full join couldn't validly be formed.  Rather than try to rejigger
  join_is_legal() yet more to allow this, I think it's better to fix
  initsplan.c so that the required join order is explicit in the
  SpecialJoinInfo data structure.  The previous coding there
  essentially ignored full joins, relying on the fact that we don't
  flatten them in the joinlist data structure to preserve their
  ordering.  That's sufficient to prevent a wrong plan from being
  formed, but as this example shows, it's not sufficient to ensure
  that the right plan will be formed.  We need to work a bit harder to
  ensure that the right plan looks sane according to the
  SpecialJoinInfos.  Per bug #14105 from Vojtech Rylko.  This was
  apparently induced by commit 8703059c6 (though now that I've seen
  it, I wonder whether there are related cases that could have failed
  before that); so back-patch to all active branches.  Unfortunately,
  that patch also went into 9.0, so this bug is a regression that
  won't be fixed in that branch.
  http://git.postgresql.org/pg/commitdiff/80f66a9ad06eafa91ffc5ff19c725c7f393c242e

- Fix unexpected side-effects of operator_precedence_warning.  The
  implementation of that feature involves injecting nodes into the raw
  parsetree where explicit parentheses appear.  Various places in
  parse_expr.c that test to see "is this child node of type Foo" need
  to look through such nodes, else we'll get different behavior when
  operator_precedence_warning is on than when it is off.  Note that we
  only need to handle this when testing untransformed child nodes,
  since the AEXPR_PAREN nodes will be gone anyway after
  transformExprRecurse.  Per report from Scott Ribe and additional
  code-reading.  Back-patch to 9.5 where this feature was added.
  Report: <ED37E303-1B0A-4CD8-8E1E-B9C4C2DD9A17 <at> elevated-dev.com>
  http://git.postgresql.org/pg/commitdiff/abb164655c703a5013b7fcf83f855a071895dc91

- Convert contrib/seg's bool-returning SQL functions to V1 call
  convention.  It appears that we can no longer get away with using V0
  call convention for bool-returning functions in newer versions of
  MSVC.  The compiler seems to generate code that doesn't clear the
  higher-order bits of the result register, causing the bool result
  Datum to often read as "true" when "false" was intended.  This is
  not very surprising, since the function thinks it's returning a
  bool-width result but fmgr_oldstyle assumes that V0 functions return
  "char *"; what's surprising is that that hack worked for so long on
  so many platforms.  The only functions of this description in
  core+contrib are in contrib/seg, which we'd intentionally left
  mostly in V0 style to serve as a warning canary if V0 call
  convention breaks.  We could imagine hacking things so that they're
  still V0 (we'd have to redeclare the bool-returning functions as
  returning some suitably wide integer type, like size_t, at the C
  level).  But on the whole it seems better to convert 'em to V1.  We
  can still leave the pointer- and int-returning functions in V0
  style, so that the test coverage isn't gone entirely.  Back-patch to
  9.5, since our intention is to support VS2015 in 9.5 and later.
  There's no SQL-level change in the functions' behavior so
  back-patching should be safe enough.  Discussion:
  <22094.1461273324 <at> sss.pgh.pa.us> Michael Paquier, adjusted some by
  me
  http://git.postgresql.org/pg/commitdiff/c8e81afc60093b199a128ccdfbb692ced8e0c9cd

- Rename strtoi() to strtoint().  NetBSD has seen fit to invent a libc
  function named strtoi(), which conflicts with the long-established
  static functions of the same name in datetime.c and ecpg's
  interval.c.  While muttering darkly about intrusions on application
  namespace, we'll rename our functions to avoid the conflict.
  Back-patch to all supported branches, since this would affect
  attempts to build any of them on recent NetBSD.  Thomas Munro
  http://git.postgresql.org/pg/commitdiff/0ab3595e5bb53a8fc2cd231320b1af1ae3ed68e0

- Improve PostgresNode.pm's logic for detecting already-in-use ports.
  Buildfarm members bowerbird and jacana have shown intermittent
  "could not bind IPv4 socket" failures in the BinInstallCheck stage
  since mid-December, shortly after commits 1caef31d9e550408 and
  9821492ee417a591 changed the logic for selecting which port to use
  in temporary installations.  One plausible explanation is that we
  are randomly selecting ports that are already in use for some
  non-Postgres purpose.  Although the code tried to defend against
  already-in-use ports, it used pg_isready to probe the port which is
  quite unhelpful: if some non-Postgres server responds at the given
  address, pg_isready will generally say "no response", leading to
  exactly the wrong conclusion about whether the port is free.
  Instead, let's use a simple TCP connect() call to see if anything
  answers without making assumptions about what it is.  Note that this
  means there's no direct check for a conflicting Unix socket, but
  that should be okay because there should be no other Unix sockets in
  use in the temporary socket directory created for a test run.  This
  is only a partial solution for the TCP case, since if the port
  number is in use for an outgoing connection rather than a listening
  socket, we'll fail to detect that.  We could try to bind() to the
  proposed port as a means of detecting that case, but that would
  introduce its own failure modes, since the system might consider the
  address to remain reserved for some period of time after we drop the
  bound socket.  Close study of the errors returned by bowerbird and
  jacana suggests that what we're seeing there may be conflicts with
  listening not outgoing sockets, so let's try this and see if it
  improves matters.  It's certainly better than what's there now, in
  any case.  Michael Paquier, adjusted by me to work on non-Windows as
  well as Windows
  http://git.postgresql.org/pg/commitdiff/fab84c7787f25756a9d7bcb8bc89145d237e8e85

Kevin Grittner pushed:

- Revert no-op changes to BufferGetPage().  The reverted changes were
  intended to force a choice of whether any newly-added
  BufferGetPage() calls needed to be accompanied by a test of the
  snapshot age, to support the "snapshot too old" feature.  Such an
  accompanying test is needed in about 7% of the cases, where the page
  is being used as part of a scan rather than positioning for other
  purposes (such as DML or vacuuming).  The additional effort required
  for back-patching, and the doubt whether the intended benefit would
  really be there, have indicated it is best just to rely on
  developers to do the right thing based on comments and existing
  usage, as we do with many other conventions.  This change should
  have little or no effect on generated executable code.  Motivated by
  the back-patching pain of Tom Lane and Robert Haas
  http://git.postgresql.org/pg/commitdiff/a343e223a5c33a7283a6d8b255c9dbc48dbc5061

- Inline initial comparisons in TestForOldSnapshot().  Even with
  old_snapshot_threshold = -1 (which disables the "snapshot too old"
  feature), performance regressions were seen at moderate to high
  concurrency.  For example, a one-socket, four-core system running
  200 connections at saturation could see up to a 2.3% regression,
  with larger regressions possible on NUMA machines.  By inlining the
  early (smaller, faster) tests in the TestForOldSnapshot() function,
  the i7 case dropped to a 0.2% regression, which could easily just be
  noise, and is clearly an improvement.  Further testing will show
  whether more is needed.
  http://git.postgresql.org/pg/commitdiff/11e178d0dc4bc2328ae4759090b3c48b07023fab

- Include snapmgr.h in blscan.c.  Windows builds on buildfarm are
  failing because old_snapshot_threshold is not found in the bloom
  filter contrib module.
  http://git.postgresql.org/pg/commitdiff/7cb1db1d9599f0a09d6920d2149d956ef6d88b0e

Magnus Hagander pushed:

- Update backup documentation for new APIs.  This includes the rest of
  the documentation that was not included in 7117685. A larger
  restructure would still be wanted, but with this commit the
  documentation of the new features is complete.
  http://git.postgresql.org/pg/commitdiff/cfb863f20a2a005ac89f393265d4c37ad9baab41

- Add putenv support for msvcrt from Visual Studio 2013.  This was
  missed when VS 2013 support was added.  Michael Paquier
  http://git.postgresql.org/pg/commitdiff/9f633b404cb3be6139f8dfdea00538489ffef9ab

Robert Haas pushed:

- Forbid parallel Hash Right Join or Hash Full Join.  That won't work.
  You'll get bogus null-extended rows.  Mithun Cy
  http://git.postgresql.org/pg/commitdiff/9c75e1a36b6b2f3ad9f76ae661f42586c92c6f7c

- Add pg_dump support for the new PARALLEL option for aggregates.
  This was an oversight in commit
  41ea0c23761ca108e2f08f6e3151e3cb1f9652a1.  Fabrízio de Royes Mello,
  per a report from Tushar Ahuja
  http://git.postgresql.org/pg/commitdiff/b4e0f183826e85fd43248d5047eddf393c3d8a30

- postgres_fdw: Don't push down certain full joins.  If there's a
  filter condition on either side of a full outer join, it is neither
  correct to attach it to the join's ON clause nor to throw it into
  the toplevel WHERE clause.  Just don't push down the join in that
  case.  To maximize the number of cases where we can still push down
  full joins, push inner join conditions into the ON clause at the
  first opportunity rather than postponing them to the top-level WHERE
  clause.  This produces nicer SQL, anyway.  This bug was introduced
  in e4106b2528727c4b48639c0e12bf2f70a766b910.  Ashutosh Bapat, per
  report from Rajkumar Raghuwanshi.
  http://git.postgresql.org/pg/commitdiff/5b1f9ce1d9e8dcae2bcd93b2becffaba5e4f3049

- Allow queries submitted by postgres_fdw to be canceled.  This fixes
  a problem which is not new, but with the advent of direct foreign
  table modification in 0bf3ae88af330496517722e391e7c975e6bad219, it's
  somewhat more likely to be annoying than previously.  So, arrange
  for a local query cancelation to propagate to the remote side.
  Michael Paquier, reviewed by Etsuro Fujita.      Original report by
  Thom Brown.
  http://git.postgresql.org/pg/commitdiff/f039eaac7131ef2a4cf63a10cf98486f8bcd09d2

- Fix assorted defects in 09adc9a8c09c9640de05c7023b27fb83c761e91c.
  That commit increased all shared memory allocations to the next
  higher multiple of PG_CACHE_LINE_SIZE, but it didn't ensure that
  allocation started on a cache line boundary.  It also failed to
  remove a couple other pieces of now-useless code.  BUFFERALIGN() is
  perhaps obsolete at this point, and likely should be removed at some
  point, too, but that seems like it can be left to a future cleanup.
  Mistakes all pointed out by Andres Freund.  The patch is mine, with
  a few extra assertions which I adopted from his version of this fix.
  http://git.postgresql.org/pg/commitdiff/9f84280ae94b43b75dcf32aef433545335e7bb16

- Comment improvements for ForeignPath.  It's not necessarily just
  scanning a base relation any more.  Amit Langote and Etsuro Fujita
  http://git.postgresql.org/pg/commitdiff/36f69faeff540cd93de0b6aa7c2d2a7781d637a6

- Prevent possible crash reading pg_stat_activity.  Also, avoid
  reading PGPROC's wait_event field twice, once for the wait event and
  again for the wait_event_type, because the value might change in the
  middle.  Petr Jelinek and Robert Haas
  http://git.postgresql.org/pg/commitdiff/c4a586c4860477ddae6d4f9cef88486f0e37c37e

Bruce Momjian pushed:

- Properly mark initRectBox() as taking 'void' args.  Was part of box
  type in SP-GiST index patch.  Reported-by: Emre Hasegeli
  http://git.postgresql.org/pg/commitdiff/915cee4595060fd536a7c997e37e4a535c3e0d4f

Andres Freund pushed:

- Fix documentation & config inconsistencies around 428b1d6b2.
  Several issues: 1) checkpoint_flush_after doc and code disagreed
  about the default 2) new GUCs were missing from
  postgresql.conf.sample 3) Outdated source-code comment about
  bgwriter_flush_after's default 4) Sub-optimal categories assigned to
  new GUCs 5) Docs suggested backend_flush_after is PGC_SIGHUP, but
  it's PGC_USERSET.  6) Spell out int as integer in the docs, as done
  elsewhere Reported-By: Magnus Hagander, Fujii Masao Discussion:
  CAHGQGwETyTG5VYQQ5C_srwxWX7RXvFcD3dKROhvAWWhoSBdmZw <at> mail.gmail.com
  http://git.postgresql.org/pg/commitdiff/8f91d87d43d021db92c6edd966a4bb8c3a81ae39

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Michaël Paquier sent in a patch to ensure that a reserved role is
never a member of another role or group.

Kyotaro HORIGUCHI sent in a patch to fix the documentation for
synchronous_standby_names.

Kyotaro HORIGUCHI sent in two more revisions of a patch to fix
synchronous replication update configuration.

Michaël Paquier sent in another revision of a patch to fix an OOM in
libpq and infinite loop with getCopyStart().

Fujii Masao sent in a patch to add error checks to BRIN summarize new
values.

Michaël Paquier sent in another revision of a patch to do hot standby
checkpoints.

Amit Langote sent in two more revisions of a patch to implement
declarative partitioning.

Amit Langote sent in two revisions of a patch to fix some issues in
the Bloom documentation.

David Rowley sent in two more revisions of a patch to fix EXPLAIN
VERBOSE with parallel aggregate.

Ants Aasma sent in another revision of a patch to update old snapshot
map once per tick.

Dmitry Ivanov sent in a patch to fix some of the documentation for the
new phrase search capability.

Michaël Paquier sent in a patch to change contrib/seg/ to convert
functions to use the V1 declaration.

Juergen Hannappel sent in a patch to add an option to pg_dumpall to
exclude tables from the dump.

Andres Freund sent in a patch to keep from opening formally
non-existant segments in _mdfd_getseg().

Thomas Munro sent in a patch to implement kqueue for *BSD.

Amit Kapila sent in a patch to fix an old snapshot threshold
performance issue.

Noah Misch sent in a patch to add xlc atomics.

Andres Freund sent in a patch to emit invalidations to standby for
transactions without xid.

Andrew Dunstan sent in a patch to add transactional enum additions.

Andrew Dunstan sent in a patch to add VS2015 support.

Simon Riggs sent in a patch to fix some suspicious behaviour on
applying XLOG_HEAP2_VISIBLE.

--

-- 
Sent via pgsql-announce mailing list (pgsql-announce <at> postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-announce

Dan Langille | 21 Apr 03:40 2016
Gravatar

PGCon 2016 - don't forget your travel visa

Hello,

PGCon 2016 is now 4 weeks away.  Some tutorial sessions are filling up faster than expected, but there's still room in all.

As in previous years, we have a strong lineup of talks, with a wide range of topics:


When booking your travel to PGCon 2016, do not forget to get your Electronic Travel Authorization (eTA). Feedback from attendees 
indicates the process is straight forward and quick.

   "Starting March 15, 2016, visa-exempt foreign nationals who fly to or transit through Canada will need an 
    Electronic Travel Authorization (eTA). Exceptions include U.S. citizens and travellers with a valid visa. Read 
    about the changes and how they may affect you."


We look forward to seeing you at PGCon 2016.

-- 
Dan Langille - BSDCan / PGCon




Benoît Carpentier | 20 Apr 15:22 2016
Picon

Benetl, a free ETL tool for postgreSQL, out in version 4.7

Dear all,

Benetl, a free ETL tool for postgreSQL, is out in version 4.7.

This new version is providing some code optimizations, performance and tests coverage improvement.
This version provides also two corrections :

- correcting one bug in debug mode.
- correcting one bug in logging system.

You should really update.

Benetl is freely dowloadable at: http://www.benetl.net

You can learn more about ETL tools at: http://en.wikipedia.org/wiki/Extract,_transform,_load

Thanks for your interest.

Regards,

-- Benoît Carpentier http://www.benetl.net Founder of Benetl and Java project manager

Gmane