Hiroshi Saito | 30 Oct 13:50 2014

psqlODBC 09.03.0400 Released

Hi, all.

We are release of psqlODBC 09.03.0400. this is a some bugfix release.
please see the notes at:

psqlODBC may be downloaded from
http://www.postgresql.org/ftp/odbc/versions/ in source, Windows
Installer, merge module, and basic zip file formats.

New Windows installer installs both 32-bit and 64-bit driver at once
on 64-bit OS. Both drivers may be needed on 64-bit OS because 32-bit
applications require 32-bit driver and 64-bit applications require
64-bit driver.

Please post any bug reports to the pgsql-odbc <at> postgresql.org mailing list.

I'd like to take this opportunity to thank all those involved with the
development, testing and bug fixing of the updated driver.

We are grateful to the help of many peoples. Thanks!

psqlODBC team.


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

(Continue reading)

Andreas 'ads' Scherbaum | 29 Oct 07:52 2014

FOSDEM PGDay and Devroom 2015 - Announcement & Call for Papers

FOSDEM PGDay is a one day conference that will be held ahead of FOSDEM 
in Brussels, Belgium, on Jan 3th, 2015. This will be a one-day focused 
PostgreSQL event, with a single track of talks. This conference day will 
be for-charge and cost 50€, and will be held at the Brussels Marriott 
Hotel. Registration is required to attend, the registration is open. 
Since we have a limited number of seats available for this event, we 
urge everybody to register as soon as possible once open.

PostgreSQL Europe will also have our regular devroom at FOSDEM on 
Saturday the 31st, which will be held at the main FOSDEM venue at ULB. 
This day will, of course, continue to be free of charge and open to all 
FOSDEM entrants. No registration is required to attend this day.

For full details about the conference, venue and hotel, see 
http://fosdem2015.pgconf.eu/ .

The call for papers is now open for both these events. We are looking 
for talks to fill both these days with content for both insiders and new 
users. Please see http://fosdem2015.pgconf.eu/callforpapers/ for details 
and submission information.

The deadline for submissions is November 24th, 2014, but we may as usual 
pre-approve some talks, so get your submissions in soon!

We also have negotiated rate with the Brussels Marriott Hotel. For 
details, see http://fosdem2015.pgconf.eu/venue/ .


				Andreas 'ads' Scherbaum
(Continue reading)

Virginie Jourdan | 28 Oct 15:06 2014

POWA 1.2 is out !

Paris, October 28th 2014

DALIBO is proud to present a new release of POWA, a performance tool for PostgreSQL.

Realtime traffic analysis and dynamic graphs

POWA is a workload analyzer that gives a clear view of the current activity of your PostgreSQL servers with a query runtime graph and a block hit/read graph along with a chart of time consuming requests over the specified time period.

If you zoom anywhere in one of the graphs, the chart will adjust and show you which queries were running at that time. If you click on a specific query, you will get additional graphs such as read/write time, number of rows affected, local and shared hit, etc.

A bunch of PL functions are also available to access and manage the stats.

New metrics and a better UI

This release includes some new features and some fixes since the first public release.

The core is responsible of statistics gathering. It relies on pg_stat_statements. As a first change, in order to avoid storing useless informations, DEALLOCATE and BEGIN statements are now ignored by the core. The snapshot timestamps were fixed. In order to ease backups and diagnostics, now PoWA history tables are now marked as "to be dumped" by pg_dump. Performance for "per database aggregated stats" were also improved. And last thing, some more metrics were made available throught the SQL API : temporary data, I/O time, average runtime.

The UI was also improved. In addition to displaying the new available metrics, several features were added. First, the UI follows the selected time interval from page to page. The displayed metrics are now human readable. Also, the query metrics are now displayed on each query page. Each page now has a different title, regarding its context. In order to get a better display area, the original database selector as been removed. A menu entry now permits the user to navigate between databases. Several bugs were fixed, like the empty graph bug. Note that the configuration file has changed since the previous release.

For the complete list of changes, please checkout the release notes

For complete installation and upgrading instructions, please checkout the documentation


DALIBO would like to thank the users and developers who contributed to this release, especially Christopher Liu, menardorama, Victor D, Justin Miller, Arthur Lutz.

POWA is an open project available under the PostgreSQL License. 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 to powa <at> dalibo.com


About POWA

PoWA is PostgreSQL Workload Analyzer that gathers performance stats and provides real-time charts and graph to help monitor and tune your PostgreSQL servers. It is similar to Oracle AWR or SQL Server MDW.

Code & Demo at http://dalibo.github.io/powa/


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
David Fetter | 27 Oct 05:43 2014

== PostgreSQL Weekly News - October 26 2014 ==

== PostgreSQL Weekly News - October 26 2014 ==

== PostgreSQL Product News ==

walbouncer 0.9, a WAL-based partial replication tool, released.

== PostgreSQL Jobs for October ==


== PostgreSQL Local ==

PGDay.IT 2014 will take place in Prato on November the 7th 2014.

PG-Cuba will be November 25 and 26, 2014

The CfP for PGConf US 2015 is open through December 17th, 2014
Notifications will go out on January 10, 2014.  The event takes place
March 25-27, 2015 in NYC.

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

Robert Haas pushed:

- Fix typos.  Etsuro Fujita

- Fix typos.  David Rowley

- Add a function to get the authenticated user ID.  Previously, this
  was not exposed outside of miscinit.c.  It is needed for the pending
  pg_background patch, and will also be needed for parallelism.
  Without it, there's no way for a background worker to re-create the
  exact authentication environment that was present in the process
  that started it, which could lead to security exposures.

- Perform less setup work for AFTER triggers at transaction start.
  Testing reveals that the memory allocation we do at transaction
  start has small but measurable overhead on simple transactions.  To
  cut down on that overhead, defer some of that work to the point when
  AFTER triggers are first used, thus avoiding it altogether if they
  never are.  Patch by me.  Review by Andres Freund.

- Fix off-by-one error in 2781b4bea7db357be59f9a5fd73ca1eb12ff5a79.
  Spotted by Tom Lane.

Tom Lane pushed:

- Fix file-identification comment in
  contrib/pgcrypto/pgcrypto--1.2.sql.  Cosmetic oversight in commit
  32984d8fc3dbb90a3fafb69fece0134f1ea790f9.  Marko Tiikkaja

- Fix mishandling of FieldSelect-on-whole-row-Var in nested lateral
  queries.  If an inline-able SQL function taking a composite argument
  is used in a LATERAL subselect, and the composite argument is a
  lateral reference, the planner could fail with "variable not found
  in subplan target list", as seen in bug #11703 from Karl Bartel.
  (The outer function call used in the bug report and in the committed
  regression test is not really necessary to provoke the bug --- you
  can get it if you manually expand the outer function into "LATERAL
  (SELECT inner_function(outer_relation))", too.) The cause of this is
  that we generate the reltargetlist for the referenced relation
  before doing eval_const_expressions() on the lateral sub-select's
  expressions (cf find_lateral_references()), so what's scheduled to
  be emitted by the referenced relation is a whole-row Var, not the
  simplified single-column Var produced by optimizing the function's
  FieldSelect on the whole-row Var.  Then setrefs.c fails to match up
  that lateral reference to what's available from the outer scan.
  Preserving the FieldSelect optimization in such cases would require
  either major planner restructuring (to recursively do expression
  simplification on sub-selects much earlier) or some amazingly ugly
  kluge to change the reltargetlist of a possibly-already-planned
  relation.  It seems better just to skip the optimization when the
  Var is from an upper query level; the case is not so common that
  it's likely anyone will notice a few wasted cycles.  AFAICT this
  problem only occurs for uplevel LATERAL references, so back-patch to
  9.3 where LATERAL was added.

- Update expected/sequence_1.out.  The last three updates to the
  sequence regression test have all forgotten to touch the alternate
  expected-output file.  Sigh.  Michael Paquier

- Ensure libpq reports a suitable error message on unexpected socket
  EOF.  The EOF-detection logic in pqReadData was a bit confused about
  who should set up the error message in case the kernel gives us
  read-ready-but-no-data rather than ECONNRESET or some other explicit
  error condition.  Since the whole point of this situation is that
  the lower-level functions don't know there's anything wrong,
  pqReadData itself must set up the message.  But keep the assumption
  that if an errno was reported, a message was set up at lower levels.
  Per bug #11712 from Marko Tiikkaja.  It's been like this for a very
  long time, so back-patch to all supported branches.

- Improve ispell dictionary's defenses against bad affix files.  Don't
  crash if an ispell dictionary definition contains flags but not any
  compound affixes.  (This isn't a security issue since only
  superusers can install affix files, but still it's a bad thing.)
  Also, be more careful about detecting whether an affix-file FLAG
  command is old-format (ispell) or new-format (myspell/hunspell).
  And change the error message about mixed old-format and new-format
  commands into something intelligible.  Per bug #11770 from Emre
  Hasegeli.  Back-patch to all supported branches.

- In type_sanity, check I/O functions of built-in types are not
  volatile.  We have a project policy that I/O functions must not be
  volatile, as per commit aab353a60b95aadc00f81da0c6d99bde696c4b75,
  but we weren't doing anything to enforce that.  In most usage the
  marking of the function doesn't matter as long as its behavior is
  sane --- but I/O casts can expose the marking as user-visible
  behavior, as per today's complaint from Joe Van Dyk about
  contrib/ltree.  This test as such will only protect us against
  future errors in built-in data types.  To catch the same error in
  contrib or third-party types, perhaps we should make CREATE TYPE
  complain?  But that's a separate issue from enforcing the policy for
  built-in types.

- Improve planning of btree index scans using ScalarArrayOpExpr quals.
  Since we taught btree to handle ScalarArrayOpExpr quals natively
  (commit 9e8da0f75731aaa7605cf4656c21ea09e84d2eb1), the planner has
  always included ScalarArrayOpExpr quals in index conditions if
  possible.  However, if the qual is for a non-first index column,
  this could result in an inferior plan because we can no longer take
  advantage of index ordering (cf. commit
  807a40c551dd30c8dd5a0b3bd82f5bbb1e7fd285).  It can be better to omit
  the ScalarArrayOpExpr qual from the index condition and let it be
  done as a filter, so that the output doesn't need to get sorted.
  Indeed, this is true for the query introduced as a test case by the
  latter commit.  To fix, restructure get_index_paths and
  build_index_paths so that we consider paths both with and without
  ScalarArrayOpExpr quals in non-first index columns.  Redesign the
  API of build_index_paths so that it reports what it found, saving
  useless second or third calls.  Report and patch by Andrew Gierth
  (though rather heavily modified by me).  Back-patch to 9.2 where
  this code was introduced, since the issue can result in significant
  performance regressions compared to plans produced by 9.1 and

- Fix undersized result buffer in pset_quoted_string().  The malloc
  request was 1 byte too small for the worst-case output.  This seems
  relatively unlikely to cause any problems in practice, as the worst
  case only occurs if the input string contains no characters other
  than single-quote or newline, and even then malloc alignment padding
  would probably save the day.  But it's definitely a bug.  David

- Avoid unportable strftime() behavior in pg_dump/pg_dumpall.  Commit
  ad5d46a4494b0b480a3af246bb4227d9bdadca37 thought that we could get
  around the known portability issues of strftime's %Z specifier by
  using %z instead.  However, that idea seems to have been innocent of
  any actual research, as it certainly missed the facts that (1) %z is
  not portable to pre-C99 systems, and (2) %z doesn't actually act
  differently from %Z on Windows anyway.  Per failures on buildfarm
  member hamerkop.  While at it, centralize the code defining what
  strftime format we want to use in pg_dump; three copies of that
  string seems a bit much.

Andrew Dunstan pushed:

- Correct volatility markings of a few json functions.  json_agg and
  json_object_agg and their associated transition functions should
  have been marked as stable rather than immutable, as they call IO
  functions indirectly. Changing this probably isn't going to make
  much difference, as you can't use an aggregate function in an index
  expression, but we should be correct nevertheless.  json_object, on
  the other hand, should be marked immutable rather than stable, as it
  does not call IO functions.  As discussed on -hackers, this change
  is being made without bumping the catalog version, as we don't want
  to do that at this stage of the cycle, and  the changes are very
  unlikely to affect anyone.

Peter Eisentraut pushed:

- pg_test_fsync: Update output format.  Apparently, computers are now
  a bit faster than when this was first added, so we need to make room
  for a digit or two in the ops/sec format.  While we're at it, adjust
  some of the other output for a more consistent line length.

- doc: Update Red Hat documentation tools information.  The old text
  was written in ancient times when RPM packages could be shared more
  or less freely across a plethora of RPM-based Linux distributions.
  This isn't really the case anymore, so just make this information
  more concrete for the Red Hat family.

- doc: Update FreeBSD documentation tools information.  based on patch
  from Dag-Erling Smørgrav <des <at> des.no>

- doc: Check DocBook XML validity during the build.  Building the
  documentation with XSLT does not check the DTD, like a DSSSL build
  would.  One can often get away with having invalid XML, but the
  stylesheets might then create incorrect output, as they are not
  designed to handle that.  Therefore, check the validity of the XML
  against the DTD, using xmllint, during the build.  Add xmllint
  detection to configure, and add some documentation.  xmllint comes
  with libxml2, which is already in use, but it might be in a separate
  package, such as libxml2-utils on Debian.  Reviewed-by: Fabien
  COELHO <coelho <at> cri.ensmp.fr>

- Allow input format xxxx-xxxx-xxxx for macaddr type.  Author: Herwin
  Weststrate <herwin <at> quarantainenet.nl> Reviewed-by: Ali Akbar
  <the.apaan <at> gmail.com>

- Minimize calls of pg_class_aclcheck to minimum necessary.  In a
  couple of code paths, pg_class_aclcheck is called in succession with
  multiple different modes set.  This patch combines those modes to
  have a single call of this function and reduce a bit process
  overhead for permission checking.  Author: Michael Paquier
  <michael <at> otacoo.com> Reviewed-by: Fabrízio de Royes Mello
  <fabriziomello <at> gmail.com>

- Add tests for sequence privileges

- Fix TAP tests with Perl 5.8.  The prove program included in Perl 5.8
  does not support the --ext option, so don't use that and use
  wildcards on the command line instead.  Note that the tests will
  still all be skipped, because, for instance, the version of
  Test::More is too old, but at least the regular mechanisms for
  handling that will apply, instead of failing to call prove

- Fix TAP tests with Perl 5.12.  Perl 5.12 ships with a somewhat
  broken version of Test::Simple, so skip the tests if that is found.
  The relevant fix is 0.98  Wed, 23 Feb 2011 14:38:02 +1100 Bug Fixes:
  subtest() should not fail if $? is non-zero. (Aaron Crane)

Andres Freund pushed:

- Flush unlogged table's buffers when copying or moving databases.
  database directory on the filesystem level. To ensure the on disk
  state is consistent they block out users of the affected database
  and force a checkpoint to flush out all data to disk. Unfortunately,
  up to now, that checkpoint didn't flush out dirty buffers from
  unlogged relations.  That bug means there could be leftover dirty
  buffers in either the template database, or the database in its old
  location. Leading to problems when accessing relations in an
  inconsistent state; and to possible problems during shutdown in the
  SET TABLESPACE case because buffers belonging files that don't exist
  anymore are flushed.  This was reported in bug #10675 by Maxim
  Boguk.  Fix by Pavan Deolasee, modified somewhat by me. Reviewed by
  MauMau and Fujii Masao.  Backpatch to 9.1 where unlogged tables were

- Renumber CHECKPOINT_* flags.  Commit 7dbb6069382 added a new
  CHECKPOINT_FLUSH_ALL flag. As that commit needed to be backpatched I
  didn't change the numeric values of the existing flags as that could
  lead to nastly problems if any external code issued checkpoints.
  That's not a concern on master, so renumber them there.  Also add a
  comment about CHECKPOINT_FLUSH_ALL above CreateCheckPoint().

- Don't duplicate log_checkpoint messages for both of restart and
  checkpoints.  The duplication originated in cdd46c765, where
  restartpoints were introduced.  In LogCheckpointStart's case the
  duplication actually lead to the compiler's format string checking
  not to be effective because the format string wasn't constant.
  Arguably these messages shouldn't be elog(), but ereport() style
  messages. That'd even allow to translate the messages... But as
  there's more mistakes of that kind in surrounding code, it seems
  better to change that separately.

- Add native compiler and memory barriers for solaris studio.
  Discussion: 20140925133459.GB9633 <at> alap3.anarazel.de Author: Oskari

Noah Misch pushed:

- MinGW: Link with shell32.dll instead of shfolder.dll.  This improves
  consistency with the MSVC build.  On buildfarm member narwhal, since
  commit 846e91e0223cf9f2821c3ad4dfffffbb929cb027,
  shfolder.dll:SHGetFolderPath() crashes when dblink calls it by way
  of pqGetHomeDirectory().  Back-patch to 9.4, where that commit first
  appeared.  How it caused this regression remains a mystery.  This is
  a partial revert of commit 889f03812916b146ae504c0fad5afdc7bf2e8a2a,
  which adopted shfolder.dll for Windows NT 4.0 compatibility.
  PostgreSQL 8.2 dropped support for that operating system.

- MinGW: Use -static-libgcc when linking a DLL.  When commit
  846e91e0223cf9f2821c3ad4dfffffbb929cb027 switched the linker driver
  from dlltool/dllwrap to gcc, it became possible for linking to
  choose shared libgcc.  Backends having loaded a module dynamically
  linked to libgcc can exit abnormally, which the postmaster treats
  like a crash.  Resume use of static libgcc exclusively, like 9.3 and
  earlier.  Back-patch to 9.4.

Heikki Linnakangas pushed:

- Update comment.  The _bt_tuplecompare() function mentioned in
  comment hasn't existed for a long time.  Peter Geoghegan

- Complain if too many options are passed to pg_controldata or

- Oops, the commit accept pg_controldata -D datadir missed code
  changes.  I updated the docs and usage blurp, but forgot to commit
  the code changes required.  Spotted by Michael Paquier.

- Forgot #include "pg_getopt.h", now that pg_controldata uses getopt.
  Needed at least on Windows.

- Work around Windows locale name with non-ASCII character.  Windows
  has one a locale whose name contains a non-ASCII character:
  "Norwegian (Bokmål)" (that's an 'a' with a ring on top). That causes
  trouble; when passing it setlocale(), it's not clear what encoding
  the argument should be in. Another problem is that the locale name
  is stored in pg_database catalog table, and the encoding used there
  depends on what server encoding happens to be in use when the
  database is created. For example, if you issue the CREATE DATABASE
  when connected to a UTF-8 database, the locale name is stored in
  pg_database in UTF-8. As long as all locale names are pure ASCII,
  that's not a problem.  To work around that, map the troublesome
  locale name to a pure-ASCII alias of the same locale,
  "norwegian-bokmal".  Now, this doesn't change the existing values
  that are already in pg_database and in postgresql.conf. Old clusters
  will need to be fixed manually. Instructions for that need to be put
  in the release notes.  This fixes bug #11431 reported by Alon
  Siman-Tov. Backpatch to 9.2; backpatching further would require more
  work than seems worth it.

Michael Meskes pushed:

- Small code cleanup.  Declare static variable as static and external
  as extern.

Fujii Masao pushed:

- Prevent the already-archived WAL file from being archived again.
  Previously the archive recovery always created .ready file for the
  last WAL file of the old timeline at the end of recovery even when
  it's restored from the archive and has .done file. That is, there
  was the case where the WAL file had both .ready and .done files.
  This caused the already-archived WAL file to be archived again.
  This commit prevents the archive recovery from creating .ready file
  for the last WAL file if it has .done file, in order to prevent it
  from being archived again.  This bug was added when cascading
  replication feature was introduced, i.e., the commit
  5286105800c7d5902f98f32e11b209c471c0c69c.  So, back-patch to 9.2,
  where cascading replication was added.  Reviewed by Michael Paquier

- Remove the unused argument of PSQLexec().  This commit simply
  removes the second argument of PSQLexec that was set to the same
  value everywhere. Comments and code blocks related to this parameter
  are removed.  Noticed by Heikki Linnakangas, reviewed by Michael

Álvaro Herrera pushed:

- Update README.tuplock.  This file was documenting an older version
  of patch 0ac5ad5134; update it to match what was really committed
  Author: Florian Pflug

- psql: complain if pg_dump custom-format is detected.  Apparently,
  this is a very common mistake for users to make; it is better to
  have it fail reasonably rather than throw potentially a large number
  of errors.  Since we have a magic string at the start of the file,
  we can detect the case easily and there's no other possible useful
  behavior anyway.  Author: Craig Ringer

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Marko (johto) Tiikkaja sent in another revision of a patch to
implement PGP signatures in the pgcrypto contrib extension.

David Wheeler sent in two revisions of a patch to add launchd support
for OSX.

Adam Brightwell sent in another revision of a patch to add directory
and file access permissions for COPY and generic file access

Jim Nasby sent in a patch to remove a spurious set in

Jim Nasby sent in a patch to optimize CacheInvalidateHeapTuple.

Tom Lane sent in a patch to get rid of "accept incoming network
connections" prompts on OS X.

Teodor Sigaev sent in a patch to speed up tidbitmap by caching a page.

Teodor Sigaev sent in a patch to speed up tidbitmap by hashing

Teodor Sigaev sent in a patch to add a compress method for SP-GiST.

David Rowley and Craig Ringer traded patches to use a higher-precision
timer API on Windows when available.

Teodor Sigaev sent in a patch to add GIN support contains operator for
ranges over scalar column.

Robert Haas sent in another revision of a patch to implement

Andreas Karlsson sent in a patch to reduce the lock strength needed
for adding foreign keys.

Etsuro Fujita sent in a patch to fix an incorrect comment in

Pavel Stehule sent in a patch to allow AS label inside a row

Fujii Masao sent in another revision of a patch to implement REINDEX

Florian Pflug sent in a patch to update README.tuplock to reflect
current realities.

Etsuro Fujita sent in another revision of a patch to allow foreign
tables to be part of table inheritance hierarchies.

Michael Paquier sent in two revisions of a patch to fix some typos in
the recvlogical documentation.

Peter Geoghegan sent in another revision of a patch to implement

Kyotaro HORIGUCHI sent in another revision of a patch to add ALTER

Jim Nasby sent in a patch to add some detail to a comment in

Ali Akbar and Pavel Stehule traded patches to implement

Andreas Karlsson sent in a WIP patch to use 128-bit integers for sum,
avg and statistics aggregates where available.

Michael Paquier sent in another revision of a patch to make
pg_controldata accept "-D dirname".

Andrew Dunstan sent in two more revisions of a patch to add strip
nulls functions for json and jsonb.

Marti Raudsepp sent in another revision of a patch to simplify EXISTS
subqueries containing LIMIT.

David Rowley sent in a patch to fix an issue where pset_quoted_string
was broken in psql.


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


walbouncer: WAL filtering ...

hello everybody,

we are proud to announce walbouncer 0.9 - a tool to filter transaction log.
at this point we are moving rapidly closer to a production-ready tool.

the key advantage of walbouncer is:
	-  it is not necessary anymore to replicate entire database instances. 
		you can filter out entire databases and tablespaces and selectively
		replicate stuff.

walbouncer can act as a WAL proxy distributing data flexible to various servers containing different
subsets of data.

walbouncer is open source and can be downloaded freely from http://www.cybertec.at/postgresql_produkte/walbouncer/

currently PostgreSQL 9.4 is supported.

	best regards,


Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de


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

David Fetter | 20 Oct 06:28 2014

== PostgreSQL Weekly News - October 19 2014 ==

== PostgreSQL Weekly News - October 19 2014 ==

== PostgreSQL Product News ==

pgpool-II 3.3.4 beta1

== PostgreSQL Jobs for October ==


== PostgreSQL Local ==

PGConf.EU 2014 in Madrid, Spain on October 21-24 is now open for

PGDay.IT 2014 will take place in Prato on November the 7th 2014.

The CfP for PGConf US 2015 is open through December 17th, 2014
Notifications will go out on January 10, 2014.  The event takes place
March 25-27, 2015 in NYC.

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

Kevin Grittner pushed:

- Increase number of hash join buckets for underestimate.  If we
  expect batching at the very beginning, we size nbuckets for "full
  work_mem" (see how many tuples we can get into work_mem, while not
  breaking NTUP_PER_BUCKET threshold).  If we expect to be fine
  without batching, we start with the 'right' nbuckets and track the
  optimal nbuckets as we go (without actually resizing the hash
  table). Once we hit work_mem (considering the optimal nbuckets
  value), we keep the value.  At the end of the first batch, we check
  whether (nbuckets != nbuckets_optimal) and resize the hash table if
  needed. Also, we keep this value for all batches (it's OK because it
  assumes full work_mem, and it makes the batchno evaluation trivial).
  So the resize happens only once.  There could be cases where it
  would improve performance to allow the NTUP_PER_BUCKET threshold to
  be exceeded to keep everything in one batch rather than spilling to
  a second batch, but attempts to generate such a case have so far
  been unsuccessful; that issue may be addressed with a follow-on
  patch after further investigation.  Tomas Vondra with minor format
  and comment cleanup by me Reviewed by Robert Haas, Heikki
  Linnakangas, and Kevin Grittner

Heikki Linnakangas pushed:

- Add --latency-limit option to pgbench.  This allows transactions
  that take longer than specified limit to be counted separately. With
  --rate, transactions that are already late by the time we get to
  execute them are skipped altogether. Using --latency-limit with
  --rate allows you to "catch up" more quickly, if there's a hickup in
  the server causing a lot of transactions to stall momentarily.
  Fabien COELHO, reviewed by Rukh Meski and heavily refactored by me.

- Fix typo in docs.  Shigeru Hanada

- Fix deadlock with LWLockAcquireWithVar and LWLockWaitForVar.
  LWLockRelease should release all backends waiting with
  LWLockWaitForVar, even when another backend has already been woken
  up to acquire the lock, i.e. when releaseOK is false.
  LWLockWaitForVar can return as soon as the protected value changes,
  even if the other backend will acquire the lock.  Fix that by
  resetting releaseOK to true in LWLockWaitForVar, whenever adding
  itself to the wait queue.  This should fix the bug reported by
  MauMau, where the system occasionally hangs when there is a lot of
  concurrent WAL activity and a checkpoint.  Backpatch to 9.4, where
  this code was added.

Bruce Momjian pushed:

- doc: improve USING and NATURAL JOIN descriptions.  Patch by David G

- doc:  mention TM is ignored for to_date/to_timestamp().  Report by
  Goulven Guillard

- doc:  mention more changes needed to use huge pages.  Report by
  Laurence Parry

- C comments: adjust execTuples.c for new structure.  Report by Peter

- docs: error for adding  _validated_ domains for existing uses.
  Report by David G Johnston

- Consistently use NULL for invalid GUC unit strings.  Patch by Euler

- doc:  restrictions on alter database moving default tablespace.
  Mention tablespace must be empty and no one connected to the
  database.  Report by Josh Berkus

- interval:  tighten precision specification.  interval precision can
  only be specified after the "interval" keyword if no units are
  specified.  Previously we incorrectly checked the units to see if
  the precision was legal, causing confusion.  Report by Alvaro

- Shorten warning about hash creation.  Also document that PITR is
  also affected.

Peter Eisentraut pushed:

- psql: Fix \? output alignment.  This was inadvertently changed in
  commit c64e68fd.

- doc: Fix copy-and-paste mistakes

- doc: Improve ALTER VIEW / SET documentation.  The way the ALTER VIEW
  / SET options were listed in the synopsis was very confusing.  Move
  the list to the main description, similar to how the ALTER TABLE
  reference page does it.

- doc: Clean up pg_recvlogical reference page.  This needed a general
  cleanup of wording, typos, outdated terminology, formatting, and
  hard-to-understand and borderline incorrect information.  Also tweak
  the pg_receivexlog page a bit to make the two more consistent.

- Allow setting effective_io_concurrency even on unsupported systems.
  This matches the behavior of other parameters that are unsupported
  on some systems (e.g., ssl).  Also document the default value.

- psql: Improve \pset without arguments.  Revert the output of the
  individual backslash commands that change print settings back to the
  9.3 way (not showing the command name in parentheses).  Implement
  \pset without arguments separately, showing all settings with values
  in a table form.

- initdb: Fix compiler error in USE_PREFETCH case.

Álvaro Herrera pushed:

- pg_dump: Reduce use of global variables.  Most pg_dump.c global
  variables, which were passed down individually to dumping routines,
  are now grouped as members of the new DumpOptions struct, which is
  used as a local variable and passed down into routines that need it.
  This helps future development efforts; in particular it is said to
  enable a mode in which a parallel pg_dump run can output multiple
  streams, and have them restored in parallel.  Also take the
  opportunity to clean up the pg_dump header files somewhat, to avoid
  circularity.  Author: Joachim Wieland, revised by Álvaro Herrera
  Reviewed by Peter Eisentraut

- Blind attempt at fixing Win32 pg_dump issues.  Per buildfarm

Tom Lane pushed:

- Print planning time only in EXPLAIN ANALYZE, not plain EXPLAIN.
  We've gotten enough push-back on that change to make it clear that
  it wasn't an especially good idea to do it like that.  Revert plain
  EXPLAIN to its previous behavior, but keep the extra output in
  EXPLAIN ANALYZE.  Per discussion.  Internally, I set this up as a
  separate flag ExplainState.summary that controls printing of
  planning time and execution time.  For now it's just copied from the
  ANALYZE option, but we could consider exposing it to users.

- Support timezone abbreviations that sometimes change.  Up to now, PG
  has assumed that any given timezone abbreviation (such as "EDT")
  represents a constant GMT offset in the usage of any particular
  region; we had a way to configure what that offset was, but not for
  it to be changeable over time.  But, as with most things
  horological, this view of the world is too simplistic: there are
  numerous regions that have at one time or another switched to a
  different GMT offset but kept using the same timezone abbreviation.
  Almost the entire Russian Federation did that a few years ago, and
  later this month they're going to do it again.  And there are
  similar examples all over the world.  To cope with this, invent the
  notion of a "dynamic timezone abbreviation", which is one that is
  referenced to a particular underlying timezone (as defined in the
  IANA timezone database) and means whatever it currently means in
  that zone.  For zones that use or have used daylight-savings time,
  the standard and DST abbreviations continue to have the property
  that you can specify standard or DST time and get that time offset
  whether or not DST was theoretically in effect at the time.
  However, the abbreviations mean what they meant at the time in
  question (or most recently before that time) rather than being
  absolutely fixed.  The standard abbreviation-list files have been
  changed to use this behavior for abbreviations that have actually
  varied in meaning since 1970.  The old simple-numeric definitions
  are kept for abbreviations that have not changed, since they are a
  bit faster to resolve.  While this is clearly a new feature, it
  seems necessary to back-patch it into all active branches, because
  otherwise use of Russian zone abbreviations is going to become even
  more problematic than it already was.  This change supersedes the
  changes in commit 513d06ded et al to modify the fixed meanings of
  the Russian abbreviations; since we've not shipped that yet, this
  will avoid an undesirably incompatible (not to mention incorrect)
  change in behavior for timestamps between 2011 and 2014.  This patch
  makes some cosmetic changes in ecpglib to keep its usage of datetime
  lookup tables as similar as possible to the backend code, but
  doesn't do anything about the increasingly obsolete set of timezone
  abbreviation definitions that are hard-wired into ecpglib.  Whatever
  we do about that will likely not be appropriate material for
  back-patching.  Also, a potential free() of a garbage pointer after
  an out-of-memory failure in ecpglib has been fixed.  This patch also
  fixes pre-existing bugs in DetermineTimeZoneOffset() that caused it
  to produce unexpected results near a timezone transition, if both
  the "before" and "after" states are marked as standard time.  We'd
  only ever thought about or tested transitions between standard and
  DST time, but that's not what's happening when a zone simply
  redefines their base GMT offset.  In passing, update the SGML
  documentation to refer to the Olson/zoneinfo/ zic timezone database
  as the "IANA" database, since it's now being maintained under the
  auspices of IANA.

- Re-pgindent src/bin/pg_dump/*.  Seems to have gotten rather messy
  lately, as a consequence of a couple of large recent commits.

- Fix core dump in pg_dump --binary-upgrade on zero-column composite
  type.  This reverts nearly all of commit
  28f6cab61ab8958b1a7dfb019724687d92722538 in favor of just using the
  typrelid we already have in pg_dump's TypeInfo struct for the
  composite type.  As coded, it'd crash if the composite type had no
  attributes, since then the query would return no rows.  Back-patch
  to all supported versions.  It seems to not really be a problem in
  9.0 because that version rejects the syntax "create type t as ()",
  but we might as well keep the logic similar in all affected
  branches.  Report and fix by Rushabh Lathia.

- Avoid core dump in _outPathInfo() for Path without a parent
  RelOptInfo.  Nearly all Paths have parents, but a ResultPath
  representing an empty FROM clause does not.  Avoid a core dump in
  such cases.  I believe this is only a hazard for debugging usage,
  not for production, else we'd have heard about it before.
  Nonetheless, back-patch to 9.1 where the troublesome code was
  introduced.  Noted while poking at bug #11703.

- Declare mkdtemp() only if we're providing it.  Follow our usual
  style of providing an "extern" for a standard library function only
  when we're also providing the implementation.  This avoids issues
  when the system headers declare the function slightly differently
  than we do, as noted by Caleb Welton.  We might have to go to the
  extent of probing to see if the system headers declare the function,
  but let's not do that until it's demonstrated to be necessary.
  Oversight in commit 9e6b1bf258170e62dac555fc82ff0536dfe01d29.
  Back-patch to all supported branches, as that was.

Stephen Frost pushed:

- Fix pg_dump for UPDATE policies.  pg_dump had the wrong character
  for update and so was failing when attempts were made to pg_dump
  databases with UPDATE policies.  Pointed out by Fujii Masao

Fujii Masao pushed:

- Fix bug in handling of connections that pg_receivexlog creates.
  Previously pg_receivexlog created new connection for WAL streaming
  even though another connection which had been established to create
  or delete the replication slot was being left. This caused the
  unused connection to be left uselessly until pg_receivexlog exited.
  This bug was introduced by the commit d9f38c7.  This patch changes
  pg_receivexlog so that the connection for the replication slot is
  reused for WAL streaming.  Andres Freund, slightly modified by me,
  reviewed by Michael Paquier

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Petr (PJMODOS) Jelinek sent in another revision of a patch to track
commit timestamps.

Petr (PJMODOS) Jelinek sent in a patch to add an access method for

Andrew Dunstan and Pavel Stehule traded patches to add some missing
functionality to JSON[B].

Michael Paquier sent in another revision of a patch to add
generate_series(numeric, numeric).

Michael Paquier sent in another revision of a patch to split
builtins.h to quote.h.

SAWADA Masahiko sent in a patch to drop any statistics of a table
after it's truncated.

Fabrízio de Royes Mello sent in another revision of a patch to add
CINE for materialized views.

Marco Nenciarini sent in another WIP revision of a patch to implement
incremental backup.

Marti Raudsepp sent in a patch to unify checks for catalog

Amit Kapila sent in another revision of a patch to scale shared buffer

Etsuro Fujita sent in two more revisions of a patch to allow foreign
tables to be in a table inheritance hierarchy.

Dimitri Fontaine sent in two revisions of a patch to add a new type of
event trigger: table_rewrite.

Robert Haas sent in a patch to implement group locking, a support for

Stephen Frost sent in a patch to add a few additional role attributes
(all requested by users or clients in various forums) for common
operations which currently require superuser privileges.

Robert Haas sent in a WIP patch to create a dynahash replacement for
buffer table.

Abhijit Menon-Sen sent in another revision of a patch to implement
pg_audit, an extension.

David Rowley sent in another revision of a patch to enable inner join
removals under certain conditions.

Alexander Korotkov sent in a WIP patch to re-add access method
extensibility, and an extension using this machinery.

Álvaro Herrera sent in another revision of a patch to enable
replicating DROP commands across servers.

Lucas Lersch sent in a patch to log buffer request trace data.

Atri Sharma sent in a patch to implement UPDATE table SET(*)= and
similar constructs.

Adam Brightwell sent in a patch to implement a directory permission
system that allows for providing a directory read/write capability to
directories for COPY TO/FROM and Generic File Access Functions to

Jeff Davis sent in another revision of a patch to allow better memory
accounting for use in an eventual memory-bounded hash aggregate.

SAWADA Masahiko and Fabrízio de Royes Mello traded patches to

Michael Banck sent in a patch to log a notice that checkpoint is to be
written on shutdown.

Michael Paquier sent in another revision of a patch to give better
support of exported snapshots to pg_dump.

Rahila Syed sent in another revision of a patch to compress full-page

Craig Ringer sent in a patch to detect custom-format dumps in psql and
emit a useful error.

Pavel Stehule sent in another revision of a patch to add an Assert
statement to PL/pgsql.

Craig Ringer sent in a patch to add an errhint_log, akin to
errdetail_log.  This allows a different HINT to be sent to the server
error log and to the client, which will be useful where there's
security sensitive information that's more appropriate for a HINT than
a DETAIL message.

Furuya Osamu sent in another revision of a patch to pg_receivexlog
--status-interval to add fsync feedback.

Fujii Masao sent in a patch to fix an infelicity between RETURNING and

Fujii Masao sent in a patch to fix a bug in recovery mode.

Andreas 'ads' Scherbaum sent in another revision of a patch to better
describe PostgreSQL's rounding behavior.

Dag-Erling Smørgrav sent in a patch to add ssl_protocols configuration

Adam Brightwell sent in another revision of a patch to add a
has_privs_of_role() function.

Ali Akbar sent in another revision of a patch to add array_agg()
functionality for array types.

Emre Hasegeli sent in a patch to add a BRIN range operator class.

Marko (johto) Tiikkaja sent in a patch to fix a bug where a comment in
the pg_crypto extension refers to the wrong file.


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

Tatsuo Ishii | 17 Oct 04:52 2014

pgpool-II 3.4 beta1 released

Pgpool Global Development Group is pleased to announce the availability
of pgpool-II 3.4 beta1.

You can download the source code from:

This is the first beta version of 3.4.0 and users are encouraged to
test it and send feed back to pgpool-II developers. Please do not use
for it for production, however.  Enjoy!

                                Release Notes


                        3.4.0 (tataraboshi) 2014/10/XX

* Version 3.4.0

      This is the first version of pgpool-II 3.4 series.
      That is, a "major version up" from 3.3 series.


* Incompatible changes

    - Parallel query mode is obsoleted and is removed from
      pgpool.conf. This is due to the very few users using the mode
      (and the relatively high cost to maintain it).  Actual codes for
      the mode are still there and users can use the mode if they
      specify necessary parameters in pgpool.conf. Note, however, the
      next version of pgpool-II (will be 3.5.0) will actually remove
      the code.

    - "print_timestamp" parameter is removed. Instead new
      "log_line_prefix" should be used.

    - Recovery script now accepts 4 parameters, rather than 3 (the 4th
      parameter is the port number of master PostgreSQL). Existing
      3-parameter-style recovery scripts can be used if you don't care
      about information provided by the 4th parameter.

* New features

    - Allow fine control of load balancing by using application name
      or database name. For example, if a client has particular
      application name, read queries can be redirect to master node,
      rather than to one of slave nodes (Tatsuo Ishii)

    - Allow to print pgpool-II process names in the log output. New
      parameter "log_line_prefix", which is the printf-style string
      that is output at the beginning of each log line (Muhammad Usama)

    - Allow to control log verbosity like PostgreSQL. For this purpose
      new parameters "log_error_verbosity", "client_min_messages",
      "log_min_messages" are added (Muhammad Usama)

    - Allow to use SQL comments without disturbing load balancing if
      new parameter "allow_sql_comments" is on. If it's off, previous
      behavior is kept (Tatsuo Ishii)

    - Allow to skip unlogged tables checking by using new parameter
      "check_unlogged_table". This reduces the number of pgpool-II's
      internal catalog look up queries and enhances performance
      (Tatsuo Ishii)

    - Prevent listen backlog overflow by using new parameter
      "listen_backlog_multiplier" for very busy systems (Tatsuo Ishii)

    - Prevent connection timeout to backend by using new parameter
      "connect_timeout". This is useful in unstable networks
      (Tatsuo Ishii)

* Enhancements

    - Builtin SQL parser is now compatible with PostgreSQL 9.4 (Muhammad Usama)

    - Import PostgreSQL's memory manager and exception manager (Muhammad Usama)

    - Reorganize source code tree (Muhammad Usama)

    - The status file "pgpool_status" is now a plain ASCII file. This
      allows to register down PostgreSQL nodes before pgpool-II
      starts for example (Tatsuo Ishii)

    - Allow to use IPv6 address for PostgreSQ (Michael Stapelberg)

    - Allow to use IPv6 bind address for pgpool-II (Michael Stapelberg)

    - Rename all occurrence of "on memory query cache" to "in memory
      query cache" because latter is more correct in English (Tatsuo Ishii)

    - Add 4th paramter "master node port number" to recovery script
      (Tatsuo Ishii)

    - Allow to handle more than 3 database nodes in pgpool_setup
      (Tatsuo Ishii)

* Bug fixes (since 3.3.4)

    - Fix failover deadlock problem in watchdog (Muhammad Usama). See
      bug #105 and [pgpool-committers: 2195] for more details.

    - As per the PostgreSQL specification, calling close on non
      existing portals is not an error. So on the same footings this
      commit ignores all such packets and return the 'close complete'
      message to client with out going to backend (Muhammad Usama)

    - Fix many issues/bugs found by Coverity (Muhammad Usama, Tatsuo Ishii)

Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php


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

galylee | 14 Oct 13:09 2014

Postgres Conference China 2014 will be held from December 12 to December 13

Hi All

Postgres Conference China 2014 will be held from December 12 to December 13 ,2014 in Shenzhen, China.

There is a Chinese page about this event(sorry no English):

For more information about this event, please send mail to me.

Galy Lee

Sent via pgsql-announce mailing list (pgsql-announce <at> postgresql.org)
To make changes to your subscription:
David Fetter | 13 Oct 07:30 2014

== PostgreSQL Weekly News - October 12 2014 ==

== PostgreSQL Weekly News - October 12 2014 ==

PostgreSQL 9.4 Beta 3 released.  TEST!

The CfP for PGConf NYC 2015 is open through December 17th, 2014
Notifications will go out on January 10, 2014.  The event takes place
March 25-27, 2015 in NYC.

== PostgreSQL Product News ==

pgBadger 6.2, a parallel PostgreSQL log analyzer written in Perl, released:

== PostgreSQL Jobs for October ==


== PostgreSQL Local ==

The fifth edition of the Argentinian PostgreSQL Day will be held on
November 28th, 2014 in Santa Fe, Argentina.  The International CfP is
open through September 28th, 2014.

The 4th PgDay Ecuador will be held on Tuesday 7th in October at the
city of Quito, as part of the 5th International Congress of Free
Software.  Send talk proposals to ecpug AT postgresql DOT org.

The sixth PGDay Cubano be held on 13 and 14 October 2014 in Habana.

PGConf.EU 2014 in Madrid, Spain on October 21-24 is now open for

PGDay.IT 2014 will take place in Prato on November the 7th 2014.  The
International Call For Papers is now open:

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

Andres Freund pushed:

- Rename pg_recvlogical's --create/--drop to
  --create-slot/--drop-slot.  A future patch (9.5 only) adds slot
  management to pg_receivexlog.  The verbs create/drop don't seem
  descriptive enough there. It seems better to rename pg_recvlogical's
  commands now, in beta, than live with the inconsistency forever.
  The old form (e.g. --drop) will still be accepted by virtue of most
  getopt_long() options accepting abbreviations for long commands.
  Backpatch to 9.4 where pg_recvlogical was introduced.  Author:
  Michael Paquier and Andres Freund Discussion:
  CAB7nPqQtt79U6FmhwvgqJmNyWcVCbbV-nS72j_jyPEopERg9rg <at> mail.gmail.com

- Add support for managing physical replication slots to
  pg_receivexlog.  pg_receivexlog already has the capability to use a
  replication slot to reserve WAL on the upstream node. But the used
  slot currently has to be created via SQL.  To allow using slots
  directly, without involving SQL, add --create-slot and --drop-slot
  actions, analogous to the logical slot manipulation support in
  pg_recvlogical.  Author: Michael Paquier Discussion:
  CABUevEx+zrOHZOQg+dPapNPFRJdsk59b=TSVf30Z71GnFXhQaw <at> mail.gmail.com

Stephen Frost pushed:

- Clean up Create/DropReplicationSlot query buffer.
  CreateReplicationSlot() and DropReplicationSlot() were not cleaning
  up the query buffer in some cases (mostly error conditions) which
  meant a small leak.  Not generally an issue as the error case would
  result in an immediate exit, but not difficult to fix either and
  reduces the number of false positives from code analyzers.  In
  passing, also add appropriate PQclear() calls to
  RunIdentifySystem().  Pointed out by Coverity.

Tom Lane pushed:

- Fix array overrun in ecpg's version of ParseDateTime().  The code
  wrote a value into the caller's field[] array before checking to see
  if there was room, which of course is backwards.  Per report from
  Michael Paquier.  I fixed the equivalent bug in the backend's
  version of this code way back in 630684d3a130bb93, but failed to
  think about ecpg's copy.  Fortunately this doesn't look like it
  would be exploitable for anything worse than a core dump: an
  external attacker would have no control over the single word that
  gets written.

- Fix bogus optimization in JSONB containment tests.  When determining
  whether one JSONB object contains another, it's okay to make a quick
  exit if the first object has fewer pairs than the second: because we
  de-duplicate keys within objects, it is impossible that the first
  object has all the keys the second does.  However, the code was
  applying this rule to JSONB arrays as well, where it does *not* hold
  because arrays can contain duplicate entries.  The test was really
  in the wrong place anyway; we should do it within JsonbDeepContains,
  where it can be applied to nested objects not only top-level ones.
  Report and test cases by Alexander Korotkov; fix by Peter Geoghegan
  and Tom Lane.

- Improve documentation about JSONB array containment behavior.  Per
  gripe from Josh Berkus.

Robert Haas pushed:

- Fix typo in elog message.

- Extend shm_mq API with new functions shm_mq_sendv,
  shm_mq_set_handle.  shm_mq_sendv sends a message to the queue
  assembled from multiple locations.  This is expected to be used by
  forthcoming patches to allow frontend/backend protocol messages to
  be sent via shm_mq, but might be useful for other purposes as well.
  shm_mq_set_handle associates a BackgroundWorkerHandle with an
  already-existing shm_mq_handle.  This solves a timing problem when
  creating a shm_mq to communicate with a newly-launched background
  worker: if you attach to the queue first, and the background worker
  fails to start, you might block forever trying to do I/O on the
  queue; but if you start the background worker first, but then die
  before attaching to the queue, the background worrker might block
  forever trying to do I/O on the queue.  This lets you attach before
  starting the worker (so that the worker is protected) and then
  associate the BackgroundWorkerHandle later (so that you are also
  protected).  Patch by me, reviewed by Stephen Frost.

Álvaro Herrera pushed:

- Implement SKIP LOCKED for row-level locks This clause changes the
  behavior of SELECT locking clauses in the presence of locked rows:
  instead of causing a process to block waiting for the locks held by
  other processes (or raise an error, with NOWAIT), SKIP LOCKED makes
  the new reader skip over such rows.  While this is not appropriate
  behavior for general purposes, there are some cases in which it is
  useful, such as queue-like tables.  Catalog version bumped because
  this patch changes the representation of stored rules.  Reviewed by
  Craig Ringer (based on a previous attempt at an implementation by
  Simon Riggs, who also provided input on the syntax used in the
  current patch), David Rowley, and Álvaro Herrera.  Author: Thomas

- Split builtins.h to a new header ruleutils.h.  The new header
  contains many prototypes for functions in ruleutils.c that are not
  exposed to the SQL level.  Reviewed by Andres Freund and Michael

Fujii Masao pushed:

- Fix broken example in PL/pgSQL document.  Back-patch to all
  supported branches.  Marti Raudsepp, per a report from Marko

Heikki Linnakangas pushed:

- Change the way encoding and locale checks are done in pg_upgrade.
  Lc_collate and lc_ctype have been per-database settings since server
  version 8.4, but pg_upgrade was still treating them as cluster-wide
  options.  It fetched the values for the template0 databases in old
  and new cluster, and compared them. That's backwards; the encoding
  and locale of the template0 database doesn't matter, as template0 is
  guaranteed to contain only ASCII characters. But if there are any
  other databases that exist on both clusters (in particular template1
  and postgres databases), their encodings and locales must be
  compatible.  Also, make the locale comparison more lenient. If the
  locale names are not equal, try to canonicalize both of them by
  passing them to setlocale(). We used to do that only when upgrading
  from 9.1 or below, but it seems like a good idea even with newer
  versions. If we change the canonical form of a locale, this allows
  pg_upgrade to still work. I'm about to do just that to fix bug
  #11431, by mapping a locale name that contains non-ASCII characters
  to a pure-ASCII alias of the same locale.  No backpatching, because
  earlier versions of pg_upgrade still support upgrading from 8.3
  servers. That would be more complicated, so it doesn't seem worth
  it, given that we haven't received any complaints about this from

- Remove unnecessary initialization of local variables.  Oops, forgot
  these in the previous commit.

Bruce Momjian pushed:

- docs:  remove mention that attnotnull should be changed.  Report by
  Andres Freund

- regression:  adjust polygon diagrams to not use tabs.  Also, small
  diagram adjustments.  Patch by Emre Hasegeli

- pg_upgrade:  prefix Unix shell script name output with "./".  This
  more clearly suggests the current directory.  While this also works
  on Windows, it might be confusing.  Report by Christoph Berg

Peter Eisentraut pushed:

- Message improvements

- pg_recvlogical: Improve --help output.  List the actions first, as
  they are the most important options.  Group the other options more
  sensibly, consistent with the man page.  Correct a few typographical
  errors, clarify some things.  Also update the pg_receivexlog --help
  output to make it a bit more consistent with that of pg_recvlogical.

Noah Misch pushed:

- pg_ctl: Cast DWORD values to avoid -Wformat warnings.  This affects
  pg_ctl alone, because pg_ctl takes the exceptional step of calling
  Windows API functions in a Cygwin build.

- Suppress dead, unportable src/port/crypt.c code.  This file used
  __int64, which is specific to native Windows, rather than int64.
  Suppress the long-unused union field of this type.  Noticed on
  Cygwin x86_64 with -lcrypt not installed.  Back-patch to 9.0 (all
  supported versions).

- Fix quoting in the add_to_path Makefile macro.  The previous quoting
  caused "make -C src/bin check" to ignore, rather than add to, any
  LD_LIBRARY_PATH content from the environment.  Back-patch to 9.4,
  where the macro was introduced.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Etsuro Fujita sent in a patch to improve the autoanalyze messages on
inheritance trees.

Heikki Linnakangas sent in another revision of a patch to change the
format and API of WALs.

Heikki Linnakangas sent in another revision of a patch to implement an
SSL regression test suite.

Fabrízio de Royes Mello sent in another revision of a patch to
implement CINE for indexes.

Ali Akbar sent in two more revisions of a patch to implement
generate_series(numeric, numeric).

Ali Akbar sent in another revision of a patch to fix xpath() to return
namespace definitions.

Dilip Kumar sent in another revision of a patch to allow parallel
cores to be used by vacuumdb.

Álvaro Herrera sent in another revision of a patch to implement BRIN

Feike Steenbergen sent in a patch to add regression tests for
autocommit-off mode for psql and fix some omissions, and another to
backpatch it to 9.2+.

Peter Geoghegan sent in another revision of a patch to implement

Heikki Linnakangas sent in a patch to implement page inspection
functions for GIN indexes.

Tom Lane sent in a patch to help fix the mess that is timezone

Álvaro Herrera sent in three more revisions of a patch to refactor
pg_dump to remove global variables.

Fujii Masao sent in another revision of a patch to add a
pending_list_cleanup_size GUC and associated machinery.

Heikki Linnakangas sent in a patch to fix the CRC algorithm so it
matches what the documents say it is.

Michael Paquier sent in three more revisions of a patch to ensure that
.ready files not appear on replicas.

Robert Haas sent in two patches to defer some AtStart* allocations.

Kyotaro HORIGUCHI sent in another revision of a patch to fix a
situation where it was impossible to escape from a blocked send().

Andres Freund sent in three more revisions of a patch to implement
wait-free LW_SHARED acquisition.

Heikki Linnakangas sent in another revision of a patch to add a
throttling latency limit to pgbench.

Fujii Masao sent in a patch to allow ALTER ROLE/DATABASE SET to set

Amit Kapila sent in another revision of a patch to scale buffer

Peter Geoghegan sent in a patch to remove an obsolete reference to
_bt_tuplecompare() within tuplesort.c.

Kyotaro HORIGUCHI sent in a patch to arrange things so ALTER USER/ROLE
now takes CURRENT_USER as user name, rewrite the sysnopsis of the
documents for ALTER USER and ALTER ROLE so as to they have exactly
same syntax, and modify the syntax of ALTER USER so as to be an alias

Craig Ringer sent in another revision of a patch to use a faster,
higher precision timer API on Windows.

Michael Paquier sent in a patch to fix some docs around row-level

Peter Geoghegan sent in a patch to see that B-Tree index builds use

Noah Misch sent in a patch to fix an error caused by the fact that
Darwin's setlocale() can start a thread.

Fabrízio de Royes Mello sent in a patch to get rid the toast table for

Peter Geoghegan sent in a patch to make B-Tree and CLUSTER sortsupport
use abbreviation and fix PG_CACHE_LINE_SIZE bit rot.

Bruce Momjian and Peter Eisentraut traded patches to deal with some
psql output changes in 9.4-to-be.

Ali Akbar sent in two revisions of a patch to create array_agg() for

Michael Paquier sent in a patch to create a new header quote.h
in include/utils that groups all the quote-related functions.

Tomas Vondra sent in a WIP patch to implement multivariate statistics.

Álvaro Herrera sent in another revision of a patch to add CREATE
support to event triggers.

SAWADA Masahiko sent in a patch to implement REINDEX SCHEMA.


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

Jonathan S. Katz | 10 Oct 07:02 2014

Announcing PGConf US 2015: Mar 25 - 27, NYC - Call for Presentations Open

The United States PostgreSQL Association announces that PGConf US 2015 will be held from March 25 to March 27, 2015 at the New York Marriott Downtown in New York City.

Please visit http://www.pgconf.us for more information about PGConf US 2015.

Thanks to the support of our attendees, speakers, volunteers, and sponsors, PGConf NYC 2014 was the largest PostgreSQL conference ever in the United States, with 259 attendees representing 140 different companies from 5 continents gathering in New York last year.  With the support of the United States PostgreSQL Association, we have renamed the conference to PGConf US to reflect the growth and excitement around PostgreSQL in the United States and to help build a stronger community.

PGConf US 2015 will feature the familiar two-day conference format on March 26 - 27 with a mix of specialized sessions, keynotes, and the ability to connect with PostgreSQL fans at various receptions throughout the day.  As with past PostgreSQL conferences in NYC, we will feature presentations from the perspective of developers, DBAs, systems administrators, business-intelligence analysts, and decisions makers.

We have added on an additional day to the conference on March 25 for hosting trainings and summits.  Trainings will occur at the conference venue and the training schedule will be announced in the near future.  We are also launching the "First Annual Regulated Industry Summit: Finance, Government, Healthcare, and PostgreSQL" hosted at the Goldman Sachs headquarters across from the PGConf US 2015 venue, which will bring together PostgreSQL contributors and enterprise developers to discuss challenges and solutions in utilizing PostgreSQL in regulated environments.  For more information about the summit and how to attend, please visit http://www.pgconf.us/2015/training/

And with that, the call for presentations is now open!  For more information, please visit http://www.pgconf.us/2015/submit/

Presentation submissions will be allowed until December 17th, 2014.  All speakers will be confirmed by January 10, 2015, when we will announce the schedule.  As with our past conferences, there will be no extensions of the submission deadline, so we suggest you get your submissions in early!

PGConf US 2015 would not be possible without the generous support of our sponsors, which allows us to continue to produce a high-quality event while keeping registraiton fees low to encourage growing our community.  We extend a very warm thank you to our launch sponsors:

* Platinum
   * EnterpriseDB
   * 2ndQuadrant
   * Citus Data
* Silver
   * Crunchy Data Solutions
   * CartoDB
   * Command Prompt, Inc.
   * credativ
* Bronze
   * OmniTI
* Video Sponsor
   * OmniTI

For more information about sponsorship, we invite you to view our sponsorship prospectus slideshow at http://www.pgconf.us/static/prospectus/PGConf-US-2015-Prospectus.pdf

We look forward to seeing everyone in March to make this the best PostgreSQL conference in the United States to date!

For more information, please visit http://www.pgconf.us/
Dave Page | 9 Oct 14:50 2014

PostgreSQL 9.4 Beta 3 Released

The PostgreSQL Global Development Group has released 9.4 Beta 3, the
next beta release of the new version.  This beta contains previews of
all of the features which will be available in version 9.4, plus
corrections for many of the issues discovered by users who tested Beta
2.  Please download, test, and report what you find.

The primary change in Beta 3 is a modification of the JSONB data type
format in order to make JSONB fields more compressable and reduce
storage requirements.  This change is not backwards-compatible, so
users who loaded data into JSONB fields using 9.4 Beta 1 or Beta 2
will need to pg_dump and restore to upgrade to Beta 3.

Among the other changes made since 9.4 Beta 2 are:

* Rename pg_recvlogical's --create/--drop to --create-slot/--drop-slot
* Prevent unbounded delay when starting background worker
* Remove num_xloginsert_locks GUC, replace with a #define
* Fix pg_dump's --if-exists for large objects
* Remove ban on zero length JSON object keys
* Return NULL from json_object_agg if it gets no rows
* Log ALTER SYSTEM statements as DDL
* Fix failure of contrib/auto_explain to print per-node timing information
* Multiple fixes for TAP checks
* Support ALTER SYSTEM RESET command
* Fix power_var_int() for large integer exponents
* Fix vacuumdb --analyze-in-stages --all order
* Change the way latency is calculated with pgbench --rate option
* Support ALTER ... ALL IN with event triggers
* Remove superuser-only restriction from pg_is_xlog_replay_paused()
* Fix FOR UPDATE NOWAIT on updated tuple chains
* Fix Var handling for security barrier views
* Fix superuser concurrent refresh of matview owned by another
* Don't track DEALLOCATE in pg_stat_statements
* Fix corner-case behaviors in JSON/JSONB field extraction operators
* Change the way pg_basebackup's tablespace mapping is implemented
* Fix core dump in jsonb #> operator
* Revert psql changes to support wrapped expanded mode
* Expose -S option in pg_receivexlog
* Reject duplicate column names in foreign key referenced-columns lists
* Fix checkpointer crash
* Many minor fixes to JSON and JSONB functionality
* Many minor fixes to logical decoding
* Multiple bug fixes for older issues to be included in an upcoming
minor release.
* More documentation improvements and changes

Beta 3 includes changes to pg_control and to the system catalogs.  As
such, users who have been testing Beta 1 or Beta 2 will need to
upgrade in order to test Beta 3.  We suggest using pg_upgrade for this
upgrade in order to test that as well.

For a full listing of the features in version 9.4 Beta, please see the
release notes (http://www.postgresql.org/docs/devel/static/release-9-4.html).
Additional descriptions and notes on the new features are available on
the 9.4 Features Wiki Page

We depend on our community to help test the next version in order to
guarantee that it is high-performance and bug-free.  Please download
PostgreSQL 9.4 Beta 3 and try it with your workloads and applications
as soon as you can, and give feedback to the PostgreSQL developers.
Features and APIs in Beta 3 will not change substantially before final
release, so it is now safe to start building applications against the
new features. More information on how to test and report issues

Get the PostgreSQL 9.4 Beta 3, including binaries and installers for
Windows, Linux and Mac from our download page

Full documentation of the new version is available online
(http://www.postgresql.org/docs/9.4/static/), and also installs with

Dave Page
PostgreSQL Core Team


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