== PostgreSQL Weekly News - September 04 2016 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - September 04 2016 ==
Date: 2016-09-05 05:43:01
Message-ID: 20160905054301.GA25294@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

== PostgreSQL Weekly News - September 04 2016 ==

PostgreSQL 9.6 Release Candidate 1 released. Test!
http://www.postgresql.org/docs/devel/static/release-9-6.html

== PostgreSQL Product News ==

pgpool-II 3.5.4, 3.4.8, 3.3.12, 3.2.17 and 3.1.20 released.
http://pgpool.net/mediawiki/index.php/Main_Page

== PostgreSQL Jobs for September ==

http://archives.postgresql.org/pgsql-jobs/2016-09/threads.php

== PostgreSQL Local ==

PostgresOpen 2016 in will be held in Dallas, Texas September 13-16.
https://2016.postgresopen.org/

PostgreSQL Session will be held on September 22th, 2016, in Lyon,
France.
http://blog.dalibo.com/2016/05/13/CFP-pgsession-lyon.html

Postgres Vision 2016 will be held October 11-13, 2016, in San Francisco.
http://postgresvision.com/

PostgreSQL Conference Europe will take place in Tallin, Estonia, on
November 1-4, 2016. Early bird registration is open until September
14th, 2016.
http://2016.pgconf.eu/registration/

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

CHAR(16) will take place in New York, December 6, 2016. Call for
papers is open until midnight (EDT) September 13, 2016.
http://charconference.org/

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

== Applied Patches ==

Tom Lane pushed:

- Make another editorial pass over the 9.6 release notes. I think
they're pretty much release-quality now.
http://git.postgresql.org/pg/commitdiff/39d866433e6fb1c385eee8dc67843097b8703add

- Fix stray reference to the old genbki.sh script. Per Tomas Vondra.
http://git.postgresql.org/pg/commitdiff/b899ccbb49cbcf8431b3af43fcf3faf91e6a28c6

- Make AllocSetContextCreate throw an error for bad context-size
parameters. The previous behavior was to silently change them to
something valid. That obscured the bugs fixed in commit ea268cdc9,
and generally seems less useful than complaining. Unlike the
previous commit, though, we'll do this in HEAD only --- it's a bit
too late to be possibly breaking third-party code in 9.6.
Discussion:
<CA+TgmobNcELVd3QmLD3tx=w7+CokRQiC4_U0txjz=WHpfdkU=w(at)mail(dot)gmail(dot)com>
http://git.postgresql.org/pg/commitdiff/cf34fdbbe1452b9e19c0956bc48494889e1b2777

- Fix initdb misbehavior when user mis-enters superuser password.
While testing simple_prompt() revisions, I happened to notice that
current initdb behaves rather badly when --pwprompt is specified and
the user miskeys the second password. It complains about the
mismatch, does "rm -rf" on the data directory, and exits. The
problem is that since commit c4a8812cf, there's a standalone backend
sitting waiting for commands at that point. It gets unhappy about
its datadir having gone away, and spews a PANIC message at the user,
which is not nice. (And the shell then adds to the mess with
meaningless bleating about a core dump...) We don't really want
that sort of thing to happen unless there's an internal failure in
initdb, which this surely is not. The best fix seems to be to move
the collection of the password earlier, so that it's done
essentially as part of argument collection, rather than at the
rather ad-hoc time it was done before. Back-patch to 9.6 where the
problem was introduced.
http://git.postgresql.org/pg/commitdiff/37f6fd1eaab698983ca1fb2a036d52381347ac71

- Simplify correct use of simple_prompt(). The previous API for this
function had it returning a malloc'd string. That meant that
callers had to check for NULL return, which few of them were doing,
and it also meant that callers had to remember to free() the string
later, which required extra logic in most cases. Instead, make
simple_prompt() write into a buffer supplied by the caller.
Anywhere that the maximum required input length is reasonably small,
which is almost all of the callers, we can just use a local or
static array as the buffer instead of dealing with malloc/free. A
fair number of callers used "pointer == NULL" as a proxy for
"haven't requested the password yet". Maintaining the same behavior
requires adding a separate boolean flag for that, which adds back
some of the complexity we save by removing free()s. Nonetheless,
this nets out at a small reduction in overall code size, and
considerably less code than we would have had if we'd added the
missing NULL-return checks everywhere they were needed. In passing,
clean up the API comment for simple_prompt() and get rid of a
very-unnecessary malloc/free in its Windows code path. This is
nominally a bug fix, but it does not seem worth back-patching,
because the actual risk of an OOM failure in any of these places
seems pretty tiny, and all of them are client-side not server-side
anyway. This patch is by me, but it owes a great deal to Michael
Paquier who identified the problem and drafted a patch for fixing it
the other way. Discussion:
<CAB7nPqRu07Ot6iht9i9KRfYLpDaF2ZuUv5y_+72uP23ZAGysRg(at)mail(dot)gmail(dot)com>
http://git.postgresql.org/pg/commitdiff/9daec77e165de461fca9d5bc3ece86a91aba5804

- Fix a bunch of places that called malloc and friends with no NULL
check. Where possible, use palloc or pg_malloc instead; otherwise,
insert explicit NULL checks. Generally speaking, these are places
where an actual OOM is quite unlikely, either because they're in
client programs that don't allocate all that much, or they're very
early in process startup so that we'd likely have had a fork()
failure instead. Hence, no back-patch, even though this is
nominally a bug fix. Michael Paquier, with some adjustments by me
Discussion:
<CAB7nPqRu07Ot6iht9i9KRfYLpDaF2ZuUv5y_+72uP23ZAGysRg(at)mail(dot)gmail(dot)com>
http://git.postgresql.org/pg/commitdiff/052cc223d5ce1b727f62afff75797c88d82f880b

- Prevent starting a standalone backend with standby_mode on. This
can't really work because standby_mode expects there to be more WAL
arriving, which there will not ever be because there's no WAL
receiver process to fetch it. Moreover, if standby_mode is on then
hot standby might also be turned on, causing even more strangeness
because that expects read-only sessions to be executing in parallel.
Bernd Helmle reported a case where
btree_xlog_delete_get_latestRemovedXid got confused, but rather than
band-aiding individual problems it seems best to prevent getting
anywhere near this state in the first place. Back-patch to all
supported branches. In passing, also fix some omissions of errcodes
in other ereport's in readRecoveryCommandFile(). Michael Paquier
(errcode hacking by me) Discussion:
<00F0B2CEF6D0CEF8A90119D4(at)eje(dot)credativ(dot)lan>
http://git.postgresql.org/pg/commitdiff/0e0f43d6fdc2e1fbd5261245ed4cf85302a3f653

- Remove no-longer-useful SSL-specific Port.count field. Since we
removed SSL renegotiation, there's no longer any reason to keep
track of the amount of data transferred over the link. Daniel
Gustafsson Discussion:
<FEA7F89C-ECDF-4799-B789-2F8DDCBA467F(at)yesql(dot)se>
http://git.postgresql.org/pg/commitdiff/679226337ac3f44e784de0a95a8599dfd86401e8

- Try to fix portability issue in enum renumbering (again). The hack
embodied in commit 4ba61a487 no longer works after today's change to
allow DatumGetFloat4/Float4GetDatum to be inlined (commit
14cca1bf8). Probably what's happening is that the faulty compilers
are deciding that the now-inlined assignment is a no-op and so
they're not required to round to float4 width. We had a bunch of
similar issues earlier this year in the degree-based trig functions,
and eventually settled on using volatile intermediate variables as
the least ugly method of forcing recalcitrant compilers to do what
the C standard says (cf commit 82311bcdd). Let's see if that method
works here. Discussion: <4640(dot)1472664476(at)sss(dot)pgh(dot)pa(dot)us>
http://git.postgresql.org/pg/commitdiff/65a588b4c3b06aefe0b00d6222598d4cff3542c2

- Improve memory management for PL/Tcl functions. Formerly, the
memory used to represent a PL/Tcl function was allocated with
malloc() or in TopMemoryContext, and we'd leak it all if the
function got redefined during the session. Instead, create a
per-function context and keep everything in or under that context.
Add a reference-counting mechanism (like the one plpgsql has long
had) so that we can safely clean up an old function definition,
either immediately if it's not being executed or at the end of the
outermost execution. Currently, we only detect that a cached
function is obsolete when we next attempt to call that function. So
this covers the updated-definition case but leaves cruft around
after DROP FUNCTION. It's not clear whether it's worth installing a
syscache invalidation callback to watch for drops; none of the other
PLs do, so for now we won't do it here either. Michael Paquier and
Tom Lane Discussion:
<CAB7nPqSOyAsHC6jL24J1B+oK3p=yyNoFU0Vs_B6fd2kdd5g5WQ(at)mail(dot)gmail(dot)com>
http://git.postgresql.org/pg/commitdiff/d062245b5bd591edf6f78bab8d6b8bb3ff69c7a6

- Improve memory management for PL/Perl functions. Unlike PL/Tcl,
PL/Perl at least made an attempt to clean up after itself when a
function gets redefined. But it was still using TopMemoryContext
for the fn_mcxt of argument/result I/O functions, resulting in the
potential for memory leaks depending on what those functions did,
and the retail alloc/free logic was pretty bulky as well. Fix
things to use a per-function memory context like the other PLs now
do. Tweak a couple of places where things were being done in a
not-very-safe order (on the principle that a memory leak is better
than leaving global state inconsistent after an error). Also make
some minor cosmetic adjustments, mostly in field names, to make the
code look similar to the way PL/Tcl does now wherever it's
essentially the same logic. Michael Paquier and Tom Lane
Discussion:
<CAB7nPqSOyAsHC6jL24J1B+oK3p=yyNoFU0Vs_B6fd2kdd5g5WQ(at)mail(dot)gmail(dot)com>
http://git.postgresql.org/pg/commitdiff/6f7c0ea32f808a7dad3ec07db7e5fdf6514d2af0

- Change API of ShmemAlloc() so it throws error rather than returning
NULL. A majority of callers seem to have believed that this was the
API spec already, because they omitted any check for a NULL result,
and hence would crash on an out-of-shared-memory failure. The
original proposal was to just add such error checks everywhere, but
that does nothing to prevent similar omissions in future. Instead,
let's make ShmemAlloc() throw the error (so we can remove the
caller-side checks that do exist), and introduce a new function
ShmemAllocNoError() that has the previous behavior of returning
NULL, for the small number of callers that need that and are
prepared to do the right thing. This also lets us remove the rather
wishy-washy behavior of printing a WARNING for out-of-shmem, which
never made much sense: either the caller has a strategy for dealing
with that, or it doesn't. It's not ShmemAlloc's business to decide
whether a warning is appropriate. The v10 release notes will need
to call this out as a significant source-code change. It's likely
that it will be a bug fix for extension callers too, but if not,
they'll need to change to using ShmemAllocNoError(). This is
nominally a bug fix, but the odds that it's fixing any live bug are
actually rather small, because in general the requests being made by
the unchecked callers were already accounted for in determining the
overall shmem size, so really they ought not fail. Between that and
the possible impact on extensions, no back-patch. Discussion:
<24843(dot)1472563085(at)sss(dot)pgh(dot)pa(dot)us>
http://git.postgresql.org/pg/commitdiff/6c03d981a6b64ed8caaed4e94b54ef926202c9f3

- Don't require dynamic timezone abbreviations to match underlying
time zone. Previously, we threw an error if a dynamic timezone
abbreviation did not match any abbreviation recorded in the
referenced IANA time zone entry. That seemed like a good
consistency check at the time, but it turns out that a number of the
abbreviations in the IANA database are things that Olson and crew
made up out of whole cloth. Their current policy is to remove such
names in favor of using simple numeric offsets. Perhaps
unsurprisingly, a lot of these made-up abbreviations have varied in
meaning over time, which meant that our commit b2cbced9e and later
changes made them into dynamic abbreviations. So with newer IANA
database versions that don't mention these abbreviations at all, we
fail, as reported in bug #14307 from Neil Anderson. It's worse than
just a few unused-in-the-wild abbreviations not working, because the
pg_timezone_abbrevs view stops working altogether (since its
underlying function tries to compute the whole view result in one
call). We considered deleting these abbreviations from our
abbreviations list, but the problem with that is that we can't stay
ahead of possible future IANA changes. Instead, let's leave the
abbreviations list alone, and treat any "orphaned" dynamic
abbreviation as just meaning the referenced time zone. It will
behave a bit differently than it used to, in that you can't any
longer override the zone's standard vs. daylight rule by using the
"wrong" abbreviation of a pair, but that's better than failing
entirely. (Also, this solution can be interpreted as adding a small
new feature, which is that any abbreviation a user wants can be
defined as referencing a time zone name.) Back-patch to all
supported branches, since this problem affects all of them when
using tzdata 2016f or newer. Report:
<20160902031551(dot)15674(dot)67337(at)wrigleys(dot)postgresql(dot)org> Discussion:
<6189(dot)1472820913(at)sss(dot)pgh(dot)pa(dot)us>
http://git.postgresql.org/pg/commitdiff/39b691f251167bbb3d49203abfb39d430f68f411

- Fix corrupt GIN_SEGMENT_ADDITEMS WAL records on big-endian hardware.
computeLeafRecompressWALData() tried to produce a uint16 WAL log
field by memcpy'ing the first two bytes of an int-sized variable.
That accidentally works on little-endian hardware, but not at all on
big-endian. Replay then thinks it's looking at an ADDITEMS action
with zero entries, and reads the first two bytes of the first TID
therein as the next segno/action, typically leading to "unexpected
GIN leaf action" errors during replay. Even if replay failed to
crash, the resulting GIN index page would surely be incorrect. To
fix, just declare the variable as uint16 instead. Per bug #14295
from Spencer Thomason (much thanks to Spencer for turning his
problem into a self-contained test case). This likely also explains
a previous report of the same symptom from Bernd Helmle. Back-patch
to 9.4 where the problem was introduced (by commit 14d02f0bb).
Discussion: <20160826072658(dot)15676(dot)7628(at)wrigleys(dot)postgresql(dot)org>
Possible-Report: <2DA7350F7296B2A142272901(at)eje(dot)land(dot)credativ(dot)lan>
http://git.postgresql.org/pg/commitdiff/60893786d5180f5dd5aefd44d9cb6955d77b0473

- Fix multiple bugs in numeric_poly_deserialize(). These were
evidently introduced by yesterday's commit 9cca11c91, which perhaps
needs more review than it got. Per report from Andreas Seltenreich
and additional examination of nearby code. Report:
<87oa45qfwq(dot)fsf(at)credativ(dot)de>
http://git.postgresql.org/pg/commitdiff/600dc4c0da3b8c094ccc1ae75b47c8320898c714

- Improve readability of the output of psql's \timing command. In
addition to the existing decimal-milliseconds output value, display
the same value in mm:ss.fff format if it exceeds one second. Tack
on hours and even days fields if the interval is large enough. This
avoids needing mental arithmetic to convert the values into
customary time units. Corey Huinker, reviewed by Gerdan Santos;
bikeshedding by many Discussion:
<CADkLM=dbC4R8sbbuFXQVBFWoJGQkTEW8RWnC0PbW9nZsovZpJQ(at)mail(dot)gmail(dot)com>
http://git.postgresql.org/pg/commitdiff/6591f4226c81104f7746da6a5c00519919c560ae

- Remove useless pg_strdup() operations. split_to_stringlist()
doesn't modify its first argument nor expect it to remain valid
after exit, so there's no need to duplicate the optarg string at the
call sites. Per Coverity. (This has been wrong all along, but
commit 052cc223d changed the useless calls from "strdup" to
"pg_strdup", which apparently made Coverity think it's a new bug.
It's not, but it's also not worth back-patching.)
http://git.postgresql.org/pg/commitdiff/a2d75b67bccd24d17e328360080e4877d23bc369

- Update release notes to mention need for ALTER EXTENSION UPDATE.
Maybe we ought to make pg_upgrade do this for you, but it won't
happen in 9.6, so call out the need for it as a migration
consideration.
http://git.postgresql.org/pg/commitdiff/5a072244919a92b2c757b2e3985191f02d674627

- Remove vestigial references to "zic" in favor of "IANA database".
Commit b2cbced9e instituted a policy of referring to the timezone
database as the "IANA timezone database" in our user-facing
documentation. Propagate that wording into a couple of places that
were still using "zic" to refer to the database, which is definitely
not right (zic is the compilation tool, not the data). Back-patch,
not because this is very important in itself, but because we
routinely cherry-pick updates to the tznames files and I don't want
to risk future merge failures.
http://git.postgresql.org/pg/commitdiff/da6ea70c32bed99ca040a5e04d83c0edd5dfc615

- Add regression test coverage for non-default timezone abbreviation
sets. After further reflection about the mess cleaned up in commit
39b691f25, I decided the main bit of test coverage that was still
missing was to check that the non-default abbreviation-set files we
supply are usable. Add that. Back-patch to supported branches,
just because it seems like a good idea to keep this all in sync.
http://git.postgresql.org/pg/commitdiff/c7f68bea22bf680a4eab4b8b1592b3c90bc634ac

- Remove duplicate code from ReorderBufferCleanupTXN(). Andres is
apparently the only hacker who thinks this code is better as-is. I
(tgl) follow some of his logic, but the fact that it's setting off
warnings from static code analyzers seems like a sufficient reason
to put the complexity into a comment rather than the code.
Aleksander Alekseev Discussion: <20160404190345(dot)54d84ee8(at)fujitsu>
http://git.postgresql.org/pg/commitdiff/b6182081be4a795d70b966be2542ad32d1ffbc20

Fujii Masao pushed:

- Fix pg_xlogdump so that it handles cross-page
XLP_FIRST_IS_CONTRECORD record. Previously pg_xlogdump failed to
dump the contents of the WAL file if the file starts with the
continuation WAL record which spans more than one pages. Since
pg_xlogdump assumed that the continuation record always fits on a
page, it could not find the valid WAL record to start reading from
in that case. This patch changes pg_xlogdump so that it can handle
a continuation WAL record which crosses a page boundary and find the
valid record to start reading from. Back-patch to 9.3 where
pg_xlogdump was introduced. Author: Pavan Deolasee Reviewed-By:
Michael Paquier and Craig Ringer Discussion:
CABOikdPsPByMiG6J01DKq6om2+BNkxHTPkOyqHM2a4oYwGKsqQ(at)mail(dot)gmail(dot)com
http://git.postgresql.org/pg/commitdiff/bab7823a49bb210b8920ae59e5126d27e4d63833

- Fix typos in comments.
http://git.postgresql.org/pg/commitdiff/bd082231edbaf25626a023913394b611fe7928e8

Simon Riggs pushed:

- Fix pg_receivexlog --synchronous. Make pg_receivexlog work
correctly with --synchronous without slots. Backpatch to 9.5
Gabriele Bartolini, reviewed by Michael Paquier and Simon Riggs
http://git.postgresql.org/pg/commitdiff/49340627f9821e447f135455d942f7d5e96cae6d

- Fix wording of logical decoding concepts. Be specific about
conditions under which we emit >1 copy of message. Craig Ringer
http://git.postgresql.org/pg/commitdiff/0c40ab3a88edf654165e562deee0c303a6ebef5e

- New recovery target recovery_target_lsn. Michael Paquier
http://git.postgresql.org/pg/commitdiff/35250b6ad7a8ece5cfe54c0316c180df19f36c13

Heikki Linnakangas pushed:

- Remove support for OpenSSL versions older than 0.9.8. OpenSSL
officially only supports 1.0.1 and newer. Some OS distributions
still provide patches for 0.9.8, but anything older than that is not
interesting anymore. Let's simplify things by removing compatibility
code. Andreas Karlsson, with small changes by me.
http://git.postgresql.org/pg/commitdiff/9b7cd59af1afcfbd786921d5cf73befb5fefa2f7

- Use static inline functions for float <-> Datum conversions. Now
that we are OK with using static inline functions, we can use them
to avoid function call overhead of pass-by-val versions of
Float4GetDatum, DatumGetFloat8, and Float8GetDatum. Those functions
are only a few CPU instructions long, but they could not be written
into macros previously, because we need a local union variable for
the conversion. I kept the pass-by-ref versions as regular
functions. They are very simple too, but they call palloc() anyway,
so shaving a few instructions from the function call doesn't seem so
important there. Discussion:
<dbb82a4a-2c15-ba27-dd0a-009d2aa72b77(at)iki(dot)fi>
http://git.postgresql.org/pg/commitdiff/14cca1bf8e31ed39dbc26dd6c610f1113e759972

- Support multiple iterators in the Red-Black Tree implementation.
While we don't need multiple iterators at the moment, the interface
is nicer and less dangerous this way. Aleksander Alekseev, with
some changes by me.
http://git.postgresql.org/pg/commitdiff/9f85784cae4d057f307b83b0d33edede33434f04

- Speed up SUM calculation in numeric aggregates. This introduces a
numeric sum accumulator, which performs better than repeatedly
calling add_var(). The performance comes from using wider digits and
delaying carry propagation, tallying positive and negative values
separately, and avoiding a round of palloc/pfree on every value.
This speeds up SUM(), as well as other standard aggregates like
AVG() and STDDEV() that also calculate a sum internally.
Reviewed-by: Andrey Borodin Discussion:
<c0545351-a467-5b76-6d46-4840d1ea8aa4(at)iki(dot)fi>
http://git.postgresql.org/pg/commitdiff/9cca11c915e458323d0e746c68203f2c11da0302

- Move code shared between libpq and backend from backend/libpq/ to
common/. When building libpq, ip.c and md5.c were symlinked or
copied from src/backend/libpq into src/interfaces/libpq, but now
that we have a directory specifically for routines that are shared
between the server and client binaries, src/common/, move them
there. Some routines in ip.c were only used in the backend. Keep
those in src/backend/libpq, but rename to ifaddr.c to avoid
confusion with the file that's now in common. Fix the comment in
src/common/Makefile to reflect how libpq actually links those files.
There are two more files that libpq symlinks directly from
src/backend: encnames.c and wchar.c. I don't feel compelled to move
those right now, though. Patch by Michael Paquier, with some
changes by me. Discussion:
<69938195-9c76-8523-0af8-eb718ea5b36e(at)iki(dot)fi>
http://git.postgresql.org/pg/commitdiff/ec136d19b21791c845b1deeff43df137add0639e

- Clarify the new Red-Black post-order traversal code a bit. Coverity
complained about the for(;;) loop, because it never actually
iterated. It was used just to be able to use "break" to exit it
early. I agree with Coverity, that's a bit confusing, so refactor
the code to use if-else instead. While we're at it, use a local
variable to hold the "current" node. That's shorter and clearer than
referring to "iter->last_visited" all the time.
http://git.postgresql.org/pg/commitdiff/e21db14b8a6696a2b704b89df9c4be9cd0ea8a33

Álvaro Herrera pushed:

- Split hash.h → hash_xlog.h. Since the hash AM is going to be revamped
to have WAL, this is a good opportunity to clean up the include file
a little bit to avoid including a lot of extra stuff in the future.
Author: Amit Kapila
http://git.postgresql.org/pg/commitdiff/8e1e3f958fb3749fe01e9f2473f4554859c685a8

Robert Haas pushed:

- Update comments to reflect code rearrangement. Commit
f9143d102ffd0947ca904c62b1d3d6fd587e0c80 falsified these. KaiGai
Kohei
http://git.postgresql.org/pg/commitdiff/530fb68e0f10ba921922e7b88403fcd2bd263742

Kevin Grittner pushed:

- Improve tab completion for BEGIN & START|SET TRANSACTION. Andreas
Karlsson with minor change by me for SET TRANSACTION SNAPSHOT.
http://git.postgresql.org/pg/commitdiff/76f9dd4fa82270899f7b56b002b5d34226dc99d8

== Pending Patches ==

Vik Fearing sent in a patch to fix some misbehaviors by using
autovacuum better.

Haribabu Kommi sent in a patch to ensure that ecpg -? option works on
Windows.

Craig Ringer sent in two revisions of a patch to report
server_version_num alongside server_version in startup packet.

Andrew Borodin sent in three revisions of a patch to improve the
performance of GiST penalty functions.

Vik Fearing sent in a patch to update sample configuration files to
more modern settings.

KaiGai Kohei sent in a patch to add an optional callback to support a
special optimization when a ForeignScan/CustomScan is located under
the Limit node in plan tree.

Craig Ringer sent in six more revisions of a patch to add
txid_status(bigint).

Michaël Paquier sent in two more revisions of a patch to rename
pg_xlog and pg_clog to things that look less removable.

Tom Lane sent in a patch to fix some corner cases that cube_in
rejects.

Michaël Paquier sent in another revision of a patch to fix a case that
crashed pg_basebackup.

Andreas Karlsson sent in a patch to allow compiling with OpenSSL 1.1,
remove OpenSSL 1.1 deprecation warnings, and remove
px_get_pseudo_random_bytes.

Martín Marqués sent in another revision of a patch to fix the fact
that extensions' tables are reloaded twice: once when restoring the
extension, the other when the tables themselves get picked up.

Michaël Paquier sent in another revision of a patch to fix
pg_receivelog.

Kyotaro HORIGUCHI sent in another revision of a patch to start on
asynchronous and vectorized execution.

Kyotaro HORIGUCHI sent in a patch to fix some comments in
GatherPath.single_copy.

Fujii Masao sent in three revisions of a patch to fix a GIN bug.

Maksim Milyutin sent in a patch to enable extraction of the state of a
query execution from an external session via signals.

Peter Eisentraut sent in a patch to upgrade SERIALs to the new format.

Heikki Linnakangas sent in two revisions of a patch to reflect his
conclusion that pinning a buffer in TupleTableSlot is unnecessary.

Jesper Pedersen sent in a patch to add hash index support in
pageinspect.

Peter Eisentraut sent in another revision of a patch to add IDENTITY
columns.

Mithun Cy sent in a patch to ensure that ecpg passes make.

Jeevan Chalke sent in a patch to push aggregates to a foreign server
under some circumstances.

Peter Eisentraut sent in a patch to allow the use of ICU for sorting
and other locale things.

Peter Eisentraut sent in a patch to add CREATE SEQUENCE AS <data type>
clause.

Peter Eisentraut sent in a patch to add autonomous transactions.

Heikki Linnakangas sent in a patch to use static inline functions for
Float <-> Datum conversions.

Ivan Kartyshov sent in a patch to make async slave wait for lsn to be
replayed.

Peter Eisentraut sent in a PoC patch to support C++ builds of
PostgreSQL.

Heikki Linnakangas and Andres Freund traded patches to optimize
aggregates.

Pavel Stehule sent in a patch to add a \setfileref to psql.

Kevin Grittner sent in another revision of a patch to add trigger
transition tables.

Craig Ringer sent in another revision of a patch to enable logical
decoding to follow timelines.

Craig Ringer sent in another revision of a patch to add an optional
--endpos LSN argument to pg_reclogical.

Simon Riggs and Abhijit Menon-Sen traded patches to change the
recovery.conf API.

Pavan Deolasee sent in three revisions of a patch to add WARM, a
technique to reduce write amplification when an indexed column of a
table is updated.

Michael Banck sent in a patch to add -N (exclude schema(s)) to
pg_restore.

Ivan Kartyshov sent in a patch to make pg_buffercache cheaper with
large shmem.

Magnus Hagander sent in two revisions of a patch to pg_basebackup
stream xlog to tar.

Marko Tiikkaja sent in another revision of a patch to add an INSERT
... SET syntax.

Petr Jelinek and Erik Rijkers traded patches to add logical
replication.

Stephen Frost sent in a patch to add support for restrictive RLS
policies.

Peter Eisentraut sent in a patch to add a pg_sequence catalog.

Simon Riggs sent in a patch to reduce lock levels with some comments
as to how and why.

Kurt Roeckx sent in a patch to allow compiling with OpenSSL 1.1.

Amit Kapila sent in another revision of a patch to implement
WAL-logged hash indexes.

Michaël Paquier sent in another revision of a patch to disallow
database and role names with carriage return or linefeed in them.

Haribabu Kommi sent in a patch to add a new SQL counter statistics
view, pg_stat_sql.

Michaël Paquier sent in two more revisions of a patch to fix some
data durability issues in pg_basebackup and pg_receivexlog.

Rahila Syed sent in two revisions of a patch to cause psql to error
when autocommit is turned on inside a transaction.

Tom Lane sent in another revision of a patch to add a \timing interval
to psql.

Craig Ringer sent in three revisions of a patch to emit a HINT when
COPY can't find a file.

Simon Riggs sent in a patch to fix docs' incorrect assumption that
decoding slots cannot go backwards from SQL.

Etsuro Fujita sent in another revision of a patch to push down more
full joins in the PostgreSQL FDW.

Andy Grundman sent in a patch to avoid use of __attribute__ when
building with old Sun compiler versions.

Fabien COELHO sent in another revision of a patch to allow storing
select results into variables in pgbench.

Claudio Freire and Simon Riggs traded patches to allow setting
maintainance_work_mem or autovacuum_work_mem higher than 1GB (and be
effective).

Craig Ringer sent in two revisions of a patch to dirty replication
slots when accessed via sql interface.

Michaël Paquier sent in another revision of a patch to support
SCRAM-SHA-256 for passwords, along with supporting syntax.

Tomas Vondra sent in another revision of a patch to allow index-only
scans for expressions.

Vik Fearing sent in a patch to add --wait and --no-wait long options
to match the shorter corresponding -w and -W in pg_ctl.

Tom Lane sent in another revision of a patch to enable transaction
enum alters and renames.

Pavel Stehule sent in another revision of a patch to add xmltable().

Emre Hasegeli sent in another revision of a patch to fix some floating
point comparison inconsistencies for the geometric types.

Jim Nasby sent in a patch to fix some formatting in the comments of
execnodes.h.

Andreas Karlsson sent in two more revisions of a patch to fix
compilation with OpenSSL 1.1.

Amit Kapila sent in another revision of a patch to use granular
locking in CLOG.

Victor Wagner sent in another revision of a patch to implement
failover on libpq connect level.

Craig Ringer sent in a patch to send catalog_xmin separately in hot
standby feedback.

Browse pgsql-announce by date

  From Date Subject
Next Message Gilles Darold 2016-09-05 07:49:06 pgBadger v9.0 released
Previous Message Dave Page 2016-09-01 14:15:15 PostgreSQL 9.6 Release Candidate 1 Released!