== PostgreSQL Weekly News - February 21 2016 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - February 21 2016 ==
Date: 2016-02-22 00:29:55
Message-ID: 20160222002955.GC10490@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

== PostgreSQL Weekly News - February 21 2016 ==

PGDay Paris 2016, on March 31 in Paris, has opened registration.
http://www.pgday.paris/registration/ (scroll down for English)

pgDay Asia Sponsorship and Registration details updated.
http://2016.pgday.asia/sponsorship.html
http://2016.pgday.asia/index.html#registration

== PostgreSQL Product News ==

pgbouncer 1.7.1, a light-weight connection pooler for PostgreSQL,
released.
https://pgbouncer.github.io/changelog.html

Postgres-XL 9.5 R1 Beta1 released.
http://2ndquadrant.com/en-us/resources/postgres-xl/

== PostgreSQL Jobs for February ==

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

== PostgreSQL Local ==

The annual Indian PGday will be held in Bengaluru, Karnataka, India on
February 26, 2016.
http://pgday.in

The first pan-Asian PostgreSQL conference will be held March 17-19,
2016 in Singapore. Registration is open.
http://2016.pgday.asia/

Nordic PGDay 2016 is a one day one track conference which will be held in
Helsinki, Finland, on March 17, 2016. Registration is still open.
http://2016.nordicpgday.org/

The 8th PostgreSQL Session will be held on April 6th, 2016, in Lyon,
France. The CfP is open until February 29, 2016 at call-for-paper
<AT> postgresql-sessions <DOT> org.

PGConf US 2016 will take place April 18-20, 2016 in NYC. Registration
is open.
http://www.pgconf.us/2016/

LinuxFest Northwest will take place April 23-24, 2016 at Bellingham
Technical College in Bellingham, Washington, USA. The CfP is now
open.
http://www.linuxfestnorthwest.org/2016/present

FOSS4G NA, will be held May 2-5, 2016 in Raleigh, North Carolina.
The CfP is still open.
https://2016.foss4g-na.org/cfp

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).
The CfP is open.
http://www.pgday.ch/

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

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

== Applied Patches ==

Noah Misch pushed:

- Replace broken link in comment.
http://git.postgresql.org/pg/commitdiff/9449c4b1ec7114ae6927a563b43d1fbd4d5bbae4

- Call xlc __isync() after, not before, associated compare-and-swap.
Architecture reference material specifies this order, and s_lock.h
inline assembly agrees. The former order failed to provide mutual
exclusion to lwlock.c and perhaps to other clients. The two xlc
buildfarm members, hornet and mandrill, have failed sixteen times
with duplicate key errors involving pg_class_oid_index or
pg_type_oid_index. Back-patch to 9.5, where commit
b64d92f1a5602c55ee8b27a7ac474f03b7aee340 introduced atomics.
Reviewed by Andres Freund and Tom Lane.
http://git.postgresql.org/pg/commitdiff/5882ca66868e1f6fe287dfb41ebaab0bcb1784b2

Magnus Hagander pushed:

- Fix typo
http://git.postgresql.org/pg/commitdiff/57c932475504d63d8f8a68fc6925d7decabc378a

Fujii Masao pushed:

- Make concurrent refresh check early that there is a unique index on
matview. In REFRESH MATERIALIZED VIEW command, CONCURRENTLY option
is only allowed if there is at least one unique index with no WHERE
clause on one or more columns of the matview. Previously, concurrent
refresh checked the existence of a unique index on the matview after
filling the data to new snapshot, i.e., after calling
refresh_matview_datafill(). So, when there was no unique index, we
could need to wait a long time before we detected that and got the
error. It was a waste of time. To eliminate such wasting time, this
commit changes concurrent refresh so that it checks the existence of
a unique index at the beginning of the refresh operation, i.e.,
before starting any time-consuming jobs. If CONCURRENTLY option is
not allowed due to lack of a unique index, concurrent refresh can
immediately detect it and emit an error. Author: Masahiko Sawada
Reviewed-by: Michael Paquier, Fujii Masao
http://git.postgresql.org/pg/commitdiff/31b6606c48edf7c008ffe91907c080404a8c8046

- Correct the formulas for System V IPC parameters SEMMNI and SEMMNS
in docs. In runtime.sgml, the old formulas for calculating the
reasonable values of SEMMNI and SEMMNS were incorrect. They have
forgotten to count the number of semaphores which both the
checkpointer process (introduced in 9.2) and the background worker
processes (introduced in 9.3) need. This commit fixes those
formulas so that they count the number of semaphores which the
checkpointer process and the background worker processes need.
Report and patch by Kyotaro Horiguchi. Only the patch for 9.3 was
modified by me. Back-patch to 9.2 where the checkpointer process was
added and the number of needed semaphores was increased. Author:
Kyotaro Horiguchi Reviewed-by: Fujii Masao Backpatch: 9.2
Discussion:
http://www.postgresql.org/message-id/20160203.125119.66820697.horiguchi.kyotaro@lab.ntt.co.jp
http://git.postgresql.org/pg/commitdiff/597f7e3a6ec393cf9ff3e11552faf69ff0ab652b

Joe Conway pushed:

- Correct Copyright year from 2015 to 2016. Looks like this patch
went in after Copyright messages were updated for 2016 and it missed
the boat. Fixed.
http://git.postgresql.org/pg/commitdiff/cfafd8beadcd6f8c8a570ab2504a75c33c58e504

- Move DATA entry to correct position. In commit 7b4bfc87 the DATA
and DESCR entries for the new row_security_active() function were
inadvertantly put after the PROVOLATILE defines, rather than before
as they should have been placed. Move them up where they belong.
Backpatch to 9.5 where the new entries were introduced.
http://git.postgresql.org/pg/commitdiff/851636bfdaa9aa62d5adfaa0aa8c06b408e0d8a9

- Revert inadvertant change in pg_config behavior. In commit a5c43b88
the behavior of command line pg_config was inadvertantly changed to
include the config name when specific configs are requested, similar
to when none are requested and all are emitted. This breaks scripts
that expect to use pg_config for e.g. PGXS. Revert the behavior to
the previous.
http://git.postgresql.org/pg/commitdiff/fc8a81e3e73e30ac083cc60837ecf98b33d5cc7e

- Add new system view, pg_config. Move and refactor the underlying
code for the pg_config client application to src/common in support
of sharing it with a new system information SRF called pg_config()
which makes the same information available via SQL. Additionally
wrap the SRF with a new system view, as called pg_config. Patch by
me with extensive input and review by Michael Paquier and additional
review by Alvaro Herrera.
http://git.postgresql.org/pg/commitdiff/a5c43b886942e96ec5c745041f2d6a50c3205147

Andres Freund pushed:

- Allow SetHintBits() to succeed if the buffer's LSN is new enough.
Previously we only allowed SetHintBits() to succeed if the commit
LSN of the last transaction touching the page has already been
flushed to disk. We can't generally change the LSN of the page,
because we don't necessarily have the required locks on the page.
But the required LSN interlock does not mean the commit record has
to be flushed immediately, it just requires that the commit record
will be flushed before the page is written out. Therefore if the
buffer LSN is newer than the commit LSN, the hint bit can be safely
set. In a number of scenarios (e.g. pgbench) this noticeably
increases the number of hint bits are set. But more importantly it
also keeps the success rate up when flushing WAL less frequently.
That was the original reason for commit 4de82f7d7, which has
negative performance consequences in a number of scenarios. This
will allow a followup commit to reduce the flush rate. Discussion:
20160118163908(dot)GW10941(at)awork2(dot)anarazel(dot)de
http://git.postgresql.org/pg/commitdiff/db76b1efbbab2441428a9ef21f7ac9ba43c52482

- Allow the WAL writer to flush WAL at a reduced rate. Commit
4de82f7d7 increased the WAL flush rate, mainly to increase the
likelihood that hint bits can be set quickly. More quickly set hint
bits can reduce contention around the clog et al. But unfortunately
the increased flush rate can have a significant negative performance
impact, I have measured up to a factor of ~4. The reason for this
slowdown is that if there are independent writes to the underlying
devices, for example because shared buffers is a lot smaller than
the hot data set, or because a checkpoint is ongoing, the
fdatasync() calls force cache flushes to be emitted to the storage.
This is achieved by flushing WAL only if the last flush was longer
than wal_writer_delay ago, or if more than wal_writer_flush_after
(new GUC) unflushed blocks are pending. Based on some tests the
default for wal_writer_delay is 1MB, which seems to work well both
on SSD and rotational media. To avoid negative performance impact
due to 4de82f7d7 an earlier commit (db76b1e) made SetHintBits() more
likely to succeed; preventing performance regressions in the pgbench
tests I performed. Discussion:
20160118163908(dot)GW10941(at)awork2(dot)anarazel(dot)de
http://git.postgresql.org/pg/commitdiff/7975c5e0a992ae9a45e03d145e0d37e2b5a707f5

Tom Lane pushed:

- Suppress compiler warnings about useless comparison of unsigned to
zero. Reportedly, some compilers warn about tests like "c < 0" if c
is unsigned, and hence complain about the character range checks I
added in commit 3bb3f42f3749d40b8d4de65871e8d828b18d4a45. This is a
bit of a pain since the regex library doesn't really want to assume
that chr is unsigned. However, since any such reconfiguration would
involve manual edits of regcustom.h anyway, we can put it on the
shoulders of whoever wants to do that to adjust this new
range-checking macro correctly. Per gripes from Coverity and
Andres.
http://git.postgresql.org/pg/commitdiff/8c95ae81fab11b75a611b57d6aaa0ef77e8b8e41

- Improve documentation about CREATE INDEX CONCURRENTLY. Clarify the
description of which transactions will block a CREATE INDEX
CONCURRENTLY command from proceeding, and mention that the index
might still not be usable after CREATE INDEX completes. (This
happens if the index build detected broken HOT chains, so that
pg_index.indcheckxmin gets set, and there are open old transactions
preventing the xmin horizon from advancing past the index's initial
creation. I didn't want to explain what broken HOT chains are,
though, so I omitted an explanation of exactly when old transactions
prevent the index from being used.) Per discussion with Chris
Travers. Back-patch to all supported branches, since the same text
appears in all of them.
http://git.postgresql.org/pg/commitdiff/a65313f28bfc264573a066271a11172d109dc2c4

- Make plpython cope with funny characters in function names. A
function name that's double-quoted in SQL can contain almost any
characters, but we were using that name directly as part of the name
generated for the Python-level function, and Python doesn't like
anything that isn't pretty much a standard identifier. To fix,
replace anything that isn't an ASCII letter or digit with an
underscore in the generated name. This doesn't create any risk of
duplicate Python function names because we were already appending
the function OID to the generated name to ensure uniqueness. Per
bug #13960 from Jim Nasby. Patch by Jim Nasby, modified a bit by
me. Back-patch to all supported branches.
http://git.postgresql.org/pg/commitdiff/66f503868b2ac1163aaf48a2f76d8be02af0bc81

- Fix multiple bugs in contrib/pgstattuple's pgstatindex() function.
Dead or half-dead index leaf pages were incorrectly reported as
live, as a consequence of a code rearrangement I made (during a
moment of severe brain fade, evidently) in commit d287818eb514d431.
The index metapage was not counted in index_size, causing that
result to not agree with the actual index size on-disk. Index root
pages were not counted in internal_pages, which is inconsistent
compared to the case of a root that's also a leaf (one-page index),
where the root would be counted in leaf_pages. Aside from that
inconsistency, this could lead to additional transient discrepancies
between the reported page counts and index_size, since it's possible
for pgstatindex's scan to see zero or multiple pages marked as
BTP_ROOT, if the root moves due to a split during the scan. With
these fixes, index_size will always be exactly one page more than
the sum of the displayed page counts. Also, the index_size result
was incorrectly documented as being measured in pages; it's always
been measured in bytes. (While fixing that, I couldn't resist doing
some small additional wordsmithing on the pgstattuple docs.)
Including the metapage causes the reported index_size to not be zero
for an empty index. To preserve the desired property that the
pgstattuple regression test results are platform-independent (ie,
BLCKSZ configuration independent), scale the index_size result in
the regression tests. The documentation issue was reported by
Otsuka Kenji, and the inconsistent root page counting by Peter
Geoghegan; the other problems noted by me. Back-patch to all
supported branches, because this has been broken for a long time.
http://git.postgresql.org/pg/commitdiff/48e6c943e5f11f5d80cabdbcd98f79e3dbad1988

- Add an explicit representation of the output targetlist to Paths.
Up to now, there's been an assumption that all Paths for a given
relation compute the same output column set (targetlist). However,
there are good reasons to remove that assumption. For example, an
indexscan on an expression index might be able to return the value
of an expensive function "for free". While we have the ability to
generate such a plan today in simple cases, we don't have a way to
model that it's cheaper than a plan that computes the function from
scratch, nor a way to create such a plan in join cases (where the
function computation would normally happen at the topmost join
node). Also, we need this so that we can have Paths representing
post-scan/join steps, where the targetlist may well change from one
step to the next. Therefore, invent a "struct PathTarget"
representing the columns we expect a plan step to emit. It's
convenient to include the output tuple width and tlist evaluation
cost in this struct, and there will likely be additional fields in
future. While Path nodes that actually do have custom outputs will
need their own PathTargets, it will still be true that most Paths
for a given relation will compute the same tlist. To reduce the
overhead added by this patch, keep a "default PathTarget" in
RelOptInfo, and allow Paths that compute that column set to just
point to their parent RelOptInfo's reltarget. (In the patch as
committed, actually every Path is like that, since we do not yet
have any cases of custom PathTargets.) I took this opportunity to
provide some more-honest costing of PlaceHolderVar evaluation. Up
to now, the assumption that "scan/join reltargetlists have cost
zero" was applied not only to Vars, where it's reasonable, but also
PlaceHolderVars where it isn't. Now, we add the eval cost of a
PlaceHolderVar's expression to the first plan level where it can be
computed, by including it in the PathTarget cost field and adding
that to the cost estimates for Paths. This isn't perfect yet but
it's much better than before, and there is a way forward to improve
it more. This costing change affects the join order chosen for a
couple of the regression tests, changing expected row ordering.
http://git.postgresql.org/pg/commitdiff/19a541143a09c067ec8cac77ec6a64eb5b1b662b

- Cosmetic improvements in new config_info code. Coverity griped
about use of unchecked strcpy() into a local variable. There's
unlikely to be any actual bug there, since no caller would be
passing a path longer than MAXPGPATH, but nonetheless use of
strlcpy() seems preferable. While at it, get rid of unmaintainable
separation between list of field names and list of field values in
favor of initializing them in parallel. And we might as well
declare get_configdata()'s path argument as const char *, even
though no current caller needs that.
http://git.postgresql.org/pg/commitdiff/c7a1c5a6b6aa4bbc2c9619edc94368fccc1c8c8e

- Docs: make prose discussion match the ordering of Table 9-58. The
"Session Information Functions" table seems to be sorted mostly
alphabetically (although it's not perfect), which would be all right
if it didn't lead to some related functions being described in a
pretty nonintuitive order. Also, the prose discussions after the
table were in an order that hardly matched the table at all.
Rearrange to make things a bit easier to follow.
http://git.postgresql.org/pg/commitdiff/64a169d1313d6b99b48c2d270df121ef43c03269

Álvaro Herrera pushed:

- pgbench: avoid FD_ISSET on an invalid file descriptor The original
code wasn't careful to test the file descriptor returned by
PQsocket() for an invalid socket. If an invalid socket did turn up,
that would amount to calling FD_ISSET with fd = -1, whereby
undefined behavior can be invoked. To fix, test file descriptor for
validity and stop further processing if that fails. Problem noticed
by Coverity. There is an existing FD_ISSET callsite that does check
for invalid sockets beforehand, but the error message reported by it
was strerror(errno); in testing the aforementioned change, that
turns out to result in "bad socket: Success" which isn't terribly
helpful. Instead use PQerrorMessage() in both places which is more
likely to contain an useful error message. Backpatch-through: 9.1.
http://git.postgresql.org/pg/commitdiff/5df44d14ba9fd3f6149c3fa0919745c9e24bcffe

Tatsuo Ishii pushed:

- Improve wording in the planner doc Change "In this case" to "In the
example above" to clarify what it actually refers to.
http://git.postgresql.org/pg/commitdiff/bdc309c7dc849a7362a624846ebc9170a8c353f3

- Fix wording in the Tutorial document. With suggentions from Tom
Lane.
http://git.postgresql.org/pg/commitdiff/902fd1f4e2457f6f04a988920491fffb90028035

Michael Meskes pushed:

- Changed expected result to list IPv6 local interface too.
http://git.postgresql.org/pg/commitdiff/868898739a8da9ab74c105b8349b7b5c711f265a

- Change ecpg lexer to accept comments with line breaks in CPP lines.
http://git.postgresql.org/pg/commitdiff/fc1ae7d2eb6a3de47f5f5cd6ebf2d18d226b8036

Bruce Momjian pushed:

- release notes: fix 9.5 SGML comment about commit Reported-by:
Tatsuo Ishii Backpatch-through: 9.5
http://git.postgresql.org/pg/commitdiff/ab0757c1f1bf6b9b7c86e51c9fb5b082c87c5109

- pg_upgrade: suppress creation of delete script Suppress creation of
the pg_upgrade delete script when the new data directory is inside
the old data directory. Reported-by: IRC Backpatch-through: 9.3,
where delete script tests were added
http://git.postgresql.org/pg/commitdiff/3386f34cdcf162e895a8d998532796076057913d

Robert Haas pushed:

- Reuse abbreviated keys in ordered [set] aggregates. When processing
ordered aggregates following a sort that could make use of the
abbreviated key optimization, only call the equality operator to
compare successive pairs of tuples when their abbreviated keys were
not equal. Peter Geoghegan, reviewd by Andreas Karlsson and by me.
http://git.postgresql.org/pg/commitdiff/f1f5ec1efafe74ca45e24e0bf3371b1d6985c8ee

- postgres_fdw: Avoid sharing list substructure.
list_concat(list_concat(a, b), c) destructively changes both a and
b; to avoid such perils, copy lists of remote_conds before
incorporating them into larger lists via list_concat(). Ashutosh
Bapat, per a report from Etsuro Fujita
http://git.postgresql.org/pg/commitdiff/dd077ef832e1ec7f5ba2a706152d22647a3b80f5

- Cosmetic improvements to group locking. Reflow text in lock manager
README so that it fits within 80 columns. Correct some mistakes.
Expand the README to explain not only why group locking exists but
also the data structures that support it. Improve comments related
to group locking several files. Change the name of a macro argument
for improved clarity. Most of these problems were reported by Tom
Lane, but I found a few of them myself. Robert Haas and Tom Lane
http://git.postgresql.org/pg/commitdiff/d91a4a6c85d360678310470854d5d932d1833aa8

- Fix incorrect decision about which lock to take. Spotted by Tom
Lane.
http://git.postgresql.org/pg/commitdiff/88aca5662d6a6362ce8c5aba08f469e92f44a1e7

Peter Eisentraut pushed:

- Improve error message about active replication slot The old phrasing
was awkward if a replication slot is activated and deactivated
repeatedly.
http://git.postgresql.org/pg/commitdiff/18777c38e9cc2e032b919a7f532971745b32aec0

- pg_dump: Fix inconsistent sscanf() conversions It was using %u to
read a string that was earlier produced by snprintf with %d into a
signed integer variable. This seems to work in practice but is
incorrect. found by cppcheck
http://git.postgresql.org/pg/commitdiff/a914a0414232e30943f7b2ffd997d74bd018a7b1

- doc: Improve CSS style of option element Prevent wrapping of the
element content to avoid confusing line breaks between hyphens.
http://git.postgresql.org/pg/commitdiff/091b6055e3e52338850370f17835e833ca66ac55

Simon Riggs pushed:

- Correct StartupSUBTRANS for page wraparound StartupSUBTRANS()
incorrectly handled cases near the max pageid in the subtrans data
structure, which in some cases could lead to errors in startup for
Hot Standby. This patch wraps the pageids correctly, avoiding any
such errors. Identified by exhaustive crash testing by Jeff Janes.
Jeff Janes
http://git.postgresql.org/pg/commitdiff/481725c0ba731b77fb32cadb12013373e378011a

Dean Rasheed pushed:

- Further fixing to make pg_size_bytes() portable. Not all compilers
support "long long" and the "LL" integer literal suffix, so use a
cast to int64 instead.
http://git.postgresql.org/pg/commitdiff/740d71842b8e0e798c80f4f841227b6de81b5f43

- Add pg_size_bytes() to parse human-readable size strings. This will
parse strings in the format produced by pg_size_pretty() and return
sizes in bytes. This allows queries to be written with clauses like
"pg_total_relation_size(oid) > pg_size_bytes('10 GB')". Author:
Pavel Stehule with various improvements by Vitaly Burovoy
Discussion:
http://www.postgresql.org/message-id/CAFj8pRD-tGoDKnxdYgECzA4On01_uRqPrwF-8LdkSE-6bDHp0w@mail.gmail.com
Reviewed-by: Vitaly Burovoy, Oleksandr Shulgin, Kyotaro Horiguchi,
Michael Paquier and Robert Haas
http://git.postgresql.org/pg/commitdiff/53874c5228fe16589a4d01b3e1fab3678e0fd8e3

- Fix pg_size_bytes() to be more portable. Commit
53874c5228fe16589a4d01b3e1fab3678e0fd8e3 broke various 32-bit
buildfarm machines because it incorrectly used an 'L' suffix for
what needed to be a 64-bit literal. Thanks to Michael Paquier for
helping to diagnose this.
http://git.postgresql.org/pg/commitdiff/ad7cc1c554980145b226a066afe56d9c777ce7ae

Andrew Dunstan pushed:

- Fix two-argument jsonb_object when called with empty arrays Some
over-eager copy-and-pasting on my part resulted in a nonsense result
being returned in this case. I have adopted the same pattern for
handling this case as is used in the one argument form of the
function, i.e. we just skip over the code that adds values to the
object. Diagnosis and patch from Michael Paquier, although not
quite his solution. Fixes bug #13936. Backpatch to 9.5 where
jsonb_object was introduced.
http://git.postgresql.org/pg/commitdiff/94c745eb189e2122a3ff86c24443b11408ea2376

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Craig Ringer sent in two more revisions of a patch to implement
failover slots.

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

Etsuro Fujita and Ashutosh Bapat traded patches to fix some breakage
in foreign_join_ok.

Teodor Sigaev sent in another revision of a patch to add support for
box type in SP-GiST index.

Dmitry Ivanov sent in a patch to implement ALTER ... OWNER TO ...
CASCADE.

Eugene Kazakov sent in a patch to add an m4 check for the TAP perl
modules.

Martin Liška sent in a patch to clean up for -sanitize=use-after-scope.

Fabien COELHO and Robert Haas traded patches to extend pgbench with
expressions.

SAWADA Masahiko sent in another revision of a patch to allow N>1
synchronous standby servers.

Alexander Korotkov sent in three more revisions of a patch to
implement access method extensibility.

Robbie Harwood sent in another revision of a patch to implement GSSAPI
encryption support.

Filip Rembiałkowski sent in two more revisions of a patch to make
NOTIFY list de-duplication optional.

Tom Lane sent in two revisions of a patch to add a new function that
reports the set of PIDs directly blocking a given PID.

Ashutosh Bapat sent in another revision of a patch to fix the docs for
GetExistingLocalJoinPath().

Sehrope Sarkuni sent in a patch to add tab completion for CREATE
DATABASE ... TEMPLATE ... to psql.

Julien Rouhaud sent in two more revisions of a patch to add an
auto_explain sample rate.

Haribabu Kommi sent in another revision of a patch to implement
aggregation in parallel.

Kyotaro HORIGUCHI sent in a patch to add an additional member in the
struct ErrorData to hold a message id.

Artur Zakirov sent in two more revisions of a patch to improve
Hunspell dictionary support.

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

Jim Nasby and Pavel Stěhule traded patches to add a parse_ident()
function.

Pavel Stěhule sent in three more revisions of a patch to add an
ereport function to PL/PythonU.

Ashutosh Bapat sent in a patch to allow pushing down sorted joins to
the PostgreSQL FDW.

Michaël Paquier sent in another revision of a patch to add in-core
regression tests.

Amit Kapila sent in a patch to add prepared statement support for
parallel query.

Artur Zakirov sent in another revision of a patch to add fuzzy
substring searching to the pg_trgm extension.

Stas Kelvich sent in another revision of a patch to add tsvector
editing functions.

Constantin S. Pan sent in two more revisions of a patch to speed up
building GIN indexes with parallel workers.

Etsuro Fujita sent in another revision of a patch to speed up writes
to foreign tables.

Kyotaro HORIGUCHI sent in a patch to make the SQL parser part of
psqlscan independent of psql, get pgbench to use same, and change the
way to hold a command list from an array to a linked list.

Suraj Kharage sent in a patch to add regression tests for multisync
(>1 synchronous replica) replication.

Dmitry Dolgov sent in a patch to enable inserting a new value into an
array at arbitrary position in jsonb.

Anastasia Lubennikova sent in two more revisions of a patch to store
duplicates more efficiently in a B-tree index.

Takashi Horikawa sent in two revisions of a patch to fix a typo in
bufmgr.c that results in waste of memory.

Christoph Berg sent in three revisions of a patch to relax the
permission checks on SSL keys.

Kyotaro HORIGUCHI sent in a patch to add a mult-socket version of
WaitLatchOrSocket.

Corey Huinker sent in a patch to add \gexec to psql.

Peter Eisentraut sent in a patch to fix some warnings generated by GCC 6.

Andres Freund sent in another revision of a patch to allow to trigger
kernel writeback after a configurable number of writes, and atop this,
allow checkpoint sorting and balancing.

Amit Kapila sent in another revision of a patch to speed up clog
Access by increasing CLOG buffers.

Pavel Stěhule sent in another revision of a patch to allow PL/pgsql to
use %ARRAYTYPE and %ELEMENTTYPE in declarations.

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

Tom Lane sent in a patch to get rid of lockGroupLeaderIdentifier.

Browse pgsql-announce by date

  From Date Subject
Next Message Gilles Darold 2016-02-22 12:36:44 pgBadger 8.0 released
Previous Message Vik Fearing 2016-02-19 13:24:02 Registration open for pgDay Paris 2016