== PostgreSQL Weekly News - February 26 2017 ==
== PostgreSQL Jobs for February ==
http://archives.postgresql.org/pgsql-jobs/2017-02/
== PostgreSQL Local ==
The first pgDay Israel 2017 will take place on March 2, 2017. Registration is
open.
http://pgday.org.il/
PGConf India 2017 will be on March 2-3, 2017 in Bengaluru, Karnataka.
http://pgconf.in/
PostgreSQL@SCaLE will take place on March 2-3, 2017, at Pasadena Convention
Center, as part of SCaLE 15X.
http://www.socallinuxexpo.org/scale/15x/
PgConf.Russia 2017 will take place on 15-17 March 2017 in Moscow.
https://pgconf.ru/en
PGDay Asia 2017 will be held March 17-18 in Singapore.
http://2017.pgday.asia/
Nordic PGDay 2017 will be held in Stockholm, Sweden, at the Sheraton
Hotel, on March 21, 2017.
https://2017.nordicpgday.org/
pgDay Paris 2017 will be held in Paris, France on March 23, 2017.
http://2017.pgday.paris/
PGConf US 2017 will be on March 28-31 in Jersey City, New Jersey.
http://www.pgconf.us/2017/
PGCon 2017 will take place in Ottawa on 23-26 May.
http://www.pgcon.org/2017/
Postgres Vision will take place in Boston, June 26 - 28, 2017.
http://postgresvision.com/
Swiss PGDay in Rapperswil will take place June 30, 2017.
The CfP is open through April 14, 2017.
http://www.pgday.ch/2017/
== PostgreSQL in the News ==
Planet PostgreSQL: http://planet.postgresql.org/
PostgreSQL Weekly News is brought to you this week by David Fetter
Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david@fetter.org, German language
to pwn@pgug.de, Italian language to pwn@itpug.org.
== Applied Patches ==
Tom Lane pushed:
- Fix documentation of to_char/to_timestamp TZ, tz, OF formatting patterns.
These are only supported in to_char, not in the other direction, but the
documentation failed to mention that. Also, describe TZ/tz as printing the
time zone "abbreviation", not "name", because what they print is elsewhere
referred to that way. Per bug #14558.
http://git.postgresql.org/pg/commitdiff/10257fc5ff74487a46594bd8c8c041878f409c17
- Improve error message for misuse of TZ, tz, OF formatting patterns. Be
specific about which pattern is being complained of, and avoid saying "it's
not supported in to_date", which is just confusing if the error is actually
coming out of to_timestamp. We can phrase it as "is only supported in
to_char", instead. Also, use the term "formatting field" not "format
pattern", because other error messages in the same file prefer that
terminology. (This isn't terribly consistent with the documentation, so maybe
we should change all these error messages?)
http://git.postgresql.org/pg/commitdiff/1c073505e8e4fa8a03312fea714da25ab83cb5fa
- Reject too-old Python versions a bit sooner. Commit 04aad4018 added this
check after the search for a Python shared library, which seems to me to be a
pretty unfriendly ordering. The search might fail for what are basically
version-related reasons, and in such a case it'd be better to say "your Python
is too old" than "could not find shared library for Python".
http://git.postgresql.org/pg/commitdiff/4e5ce3c1aeadf81b504bc9d683b67950bd3f8766
- Use less-generic table name in new regression test case. Creating global
objects named "foo" isn't an especially wise thing, but especially not in a
test script that has already used that name for something else, and most
especially not in a script that runs in parallel with other scripts that use
that name :-( Per buildfarm.
http://git.postgresql.org/pg/commitdiff/1c95f0b478a91b58391720dcda35bc032e582564
- Fix sloppy handling of corner-case errors in fd.c. Several places in fd.c had
badly-thought-through handling of error returns from lseek() and close(). The
fact that those would seldom fail on valid FDs is probably the reason we've
not noticed this up to now; but if they did fail, we'd get quite confused.
LruDelete and LruInsert actually just Assert'd that lseek never fails, which
is pretty awful on its face. In LruDelete, we indeed can't throw an error,
because that's likely to get called during error abort and so throwing an
error would probably just lead to an infinite loop. But by the same token,
throwing an error from the close() right after that was ill-advised, not to
mention that it would've left the LRU state corrupted since we'd already
unlinked the VFD from the list. I also noticed that really, most of the time,
we should know the current seek position and it shouldn't be necessary to do
an lseek here at all. As patched, if we don't have a seek position and an
lseek attempt doesn't give us one, we'll close the file but then subsequent
re-open attempts will fail (except in the somewhat-unlikely case that a
FileSeek(SEEK_SET) call comes between and allows us to re-establish a known
target seek position). This isn't great but it won't result in any state
corruption. Meanwhile, having an Assert instead of an honest test in
LruInsert is really dangerous: if that lseek failed, a subsequent read or
write would read or write from the start of the file, not where the caller
expected, leading to data corruption. In both LruDelete and FileClose, if
close() fails, just LOG that and mark the VFD closed anyway. Possibly leaking
an FD is preferable to getting into an infinite loop or corrupting the VFD
list. Besides, as far as I can tell from the POSIX spec, it's unspecified
whether or not the file has been closed, so treating it as still open could be
the wrong thing anyhow. I also fixed a number of other places that were being
sloppy about behaving correctly when the seekPos is unknown. Also, I changed
FileSeek to return -1 with EINVAL for the cases where it detects a bad offset,
rather than throwing a hard elog(ERROR). It seemed pretty inconsistent that
some bad-offset cases would get a failure return while others got elog(ERROR).
It was missing an offset validity check for the SEEK_CUR case on a closed
file, too. Back-patch to all supported branches, since all this code is
fundamentally identical in all of them. Discussion:
https://postgr.es/m/2982.1487617365@sss.pgh.pa.us
http://git.postgresql.org/pg/commitdiff/f97de05a14bbd26cf0252906b44643e8923bdf85
- Suppress unused-variable warning. Rearrange so we don't have an unused
variable in disable-cassert case. Discussion:
https://postgr.es/m/CAMkU=1x63f2QyFTeas83xJqD+Hm1PBuok1LrzYzS-OngDzYOVA@mail.gmail.com
http://git.postgresql.org/pg/commitdiff/c56ac2913a1f3adce674a2eb27257d0bca81317f
- Fix contrib/pg_trgm's extraction of trigrams from regular expressions. The
logic for removing excess trigrams from the result was faulty. It intends to
avoid merging the initial and final states of the NFA, which is necessary, but
in testing whether removal of a specific trigram would cause that, it failed
to consider the combined effects of all the state merges that that trigram's
removal would cause. This could result in a broken final graph that would
never match anything, leading to GIN or GiST indexscans not finding anything.
To fix, add a "tentParent" field that is used only within this loop, and set
it to show state merges that we are tentatively going to do. While examining
a particular arc, we must chase up through tentParent links as well as regular
parent links (the former can only appear atop the latter), and we must account
for state init/fin flag merges that haven't actually been done yet. To
simplify the latter, combine the separate init and fin bool fields into a
bitmap flags field. I also chose to get rid of the "children" state list,
which seems entirely inessential. Per bug #14563 from Alexey Isayko, which
the added test cases are based on. Back-patch to 9.3 where this code was
added. Report:
https://postgr.es/m/20170222111446.1256.67547@wrigleys.postgresql.org
Discussion: https://postgr.es/m/8816.1487787594@sss.pgh.pa.us
http://git.postgresql.org/pg/commitdiff/9e43e8714c9e976e41b7429fa7c426c9a6e5e8e6
- De-support floating-point timestamps. Per discussion, the time has come to do
this. The handwriting has been on the wall at least since 9.0 that this would
happen someday, whenever it got to be too much of a burden to support the
float-timestamp option. The triggering factor now is the discovery that there
are multiple bugs in the code that attempts to implement use of integer
timestamps in the replication protocol even when the server is built for float
timestamps. The internal float timestamps leak into the protocol fields in
places. While we could fix the identified bugs, there's a very high risk of
introducing more. Trying to build a wall that would positively prevent mixing
integer and float timestamps is more complexity than we want to undertake to
maintain a long-deprecated option. The fact that these bugs weren't found
through testing also indicates a lack of interest in float timestamps. This
commit disables configure's --disable-integer-datetimes switch (it'll still
accept --enable-integer-datetimes, though), removes direct references to
USE_INTEGER_DATETIMES, and removes discussion of float timestamps from the
user documentation. A considerable amount of code is rendered dead by this,
but removing that will occur as separate mop-up. Discussion:
https://postgr.es/m/26788.1487455319@sss.pgh.pa.us
http://git.postgresql.org/pg/commitdiff/b6aa17e0ae367afdcea07118e016111af4fa6bc3
- Remove pg_control's enableIntTimes field. We don't need it any more.
pg_controldata continues to report that date/time type storage is "64-bit
integers", but that's now a hard-wired behavior not something it sees in the
data. This avoids breaking pg_upgrade, and perhaps other utilities that
inspect pg_control this way. Ditto for pg_resetwal. I chose to remove the
"bigint_timestamps" output column of pg_control_init(), though, as that
function hasn't been around long and probably doesn't have ossified users.
Discussion: https://postgr.es/m/26788.1487455319@sss.pgh.pa.us
http://git.postgresql.org/pg/commitdiff/d28aafb6dda326688e2f042c95c93ea57963c03c
- Remove now-dead code for !HAVE_INT64_TIMESTAMP. This is a basically
mechanical removal of #ifdef HAVE_INT64_TIMESTAMP tests and the negative-case
controlled code. Discussion:
https://postgr.es/m/26788.1487455319@sss.pgh.pa.us
http://git.postgresql.org/pg/commitdiff/b9d092c962ea3262930e3c31a8c3d79b66ce9d43
- Consistently declare timestamp variables as TimestampTz. Twiddle the
replication-related code so that its timestamp variables are declared
TimestampTz, rather than the uninformative "int64" that was previously used
for meant-to-be-always-integer timestamps. This resolves the
int64-vs-TimestampTz declaration inconsistencies introduced by commit
7c030783a, though in the opposite direction to what was originally suggested.
This required including datatype/timestamp.h in a couple more places than
before. I decided it would be a good idea to slim down that header by not
having it pull in <float.h> etc, as those headers are no longer at all
relevant to its purpose. Unsurprisingly, a small number of .c files turn out
to have been depending on those inclusions, so add them back in the .c files
as needed. Discussion: https://postgr.es/m/26788.1487455319@sss.pgh.pa.us
Discussion: https://postgr.es/m/27694.1487456324@sss.pgh.pa.us
http://git.postgresql.org/pg/commitdiff/c29aff959dc64f7321062e7f33d8c6ec23db53d3
- Add an Assert that enum_cmp_internal() gets passed an FmgrInfo pointer. If
someone were to try to call one of the enum comparison functions using
DirectFunctionCallN, it would very likely seem to work, because only in
unusual cases does enum_cmp_internal() need to access the typcache. But once
such a case occurred, code like that would crash with a null pointer
dereference. To make an oversight of that sort less likely to escape
detection, add a non-bypassable Assert that fcinfo->flinfo isn't NULL.
Discussion: https://postgr.es/m/25226.1487900067@sss.pgh.pa.us
http://git.postgresql.org/pg/commitdiff/6d493e1a013514a6f0abb5d30d08219c1831cfec
- Suppress compiler warnings in ecpg test on newer Windows toolchains.
nan_test.pgc supposed that it could unconditionally #define isnan() and
isinf() on WIN32. This was evidently copied at some point from
src/include/port/win32.h, but nowadays there's a test on _MSC_VER there. Make
nan_test.pgc look the same. Per buildfarm warnings. There's no evidence this
produces anything worse than a warning, and besides it's only a test case, so
I don't feel a need to back-patch.
http://git.postgresql.org/pg/commitdiff/c5658a0764d5ac5ea8c2c11d27c62d5472234227
- Fix unportable definition of BSWAP64() macro. We have a portable way of
writing uint64 constants, but whoever wrote this macro didn't know about it.
While at it, fix unsafe under-parenthesization of arguments. That might be
moot, because there are already good reasons not to use the macro on anything
more complicated than a simple variable, but it's still poor practice. Per
buildfarm warnings.
http://git.postgresql.org/pg/commitdiff/41c16edcf6c90d1f42810ea523b7e65c99edad50
- Remove useless duplicate inclusions of system header files. c.h #includes a
number of core libc header files, such as <stdio.h>. There's no point in
re-including these after having read postgres.h, postgres_fe.h, or c.h; so
remove code that did so. While at it, also fix some places that were ignoring
our standard pattern of "include postgres[_fe].h, then system header files,
then other Postgres header files". While there's not any great magic in doing
it that way rather than system headers last, it's silly to have just a few
files deviating from the general pattern. (But I didn't attempt to enforce
this globally, only in files I was touching anyway.) I'd be the first to say
that this is mostly compulsive neatnik-ism, but over time it might save enough
compile cycles to be useful.
http://git.postgresql.org/pg/commitdiff/9e3755ecb2d058f7d123dd35a2e1784006190962
- Remove some configure header-file checks that we weren't really using. We had
some AC_CHECK_HEADER tests that were really wastes of cycles, because the code
proceeded to #include those headers unconditionally anyway, in all or a large
majority of cases. The lack of complaints shows that those headers are
available on every platform of interest, so we might as well let configure run
a bit faster by not probing those headers at all. I suspect that some of the
tests I left alone are equally useless, but since all the existing #includes
of the remaining headers are properly guarded, I didn't touch them.
http://git.postgresql.org/pg/commitdiff/2bd7f85796ec373ecae61dd480437b3e668ec883
- Put back #include <windows.h> in dirmod.c. I removed this in commit
9e3755ecb, reasoning that the win32.h port-specific header file included by
c.h would have provided it. However, that's only true on native win32 builds,
not Cygwin builds. It may be that some of the other <windows.h> inclusions
also need to be put back on the same grounds; but this is the only one that is
clearly meant to be included #ifdef __CYGWIN__, so maybe this is the extent of
the problem. Awaiting further buildfarm results.
http://git.postgresql.org/pg/commitdiff/285ca26132abdd0a1adc11a21789f103c4e3f6d8
Simon Riggs pushed:
- Small correction to BRIN docs. Replace incorrect word "index" with "heap"
Takayuki Tsunakawa
http://git.postgresql.org/pg/commitdiff/0bf41dd1908a0c05833168b9972e1c52cb7547b7
Peter Eisentraut pushed:
- Drop support for Python 2.3. There is no specific reason for this right now,
but keeping support for old Python versions around indefinitely increases the
maintenance burden. The oldest supported Python version is now Python 2.4,
which is still shipped in RHEL/CentOS 5 by default. In configure, add a check
for the required Python version and give a friendly error message for an old
version, instead of relying on an obscure build error later on.
http://git.postgresql.org/pg/commitdiff/04aad401867ad3e1519615d8486e32b50dbcb5f5
- Make more use of castNode().
http://git.postgresql.org/pg/commitdiff/38d103763d14baddf3cbfe4b00b501059fc9447f
- doc: Update URL for plr.
http://git.postgresql.org/pg/commitdiff/7248099c169b40b8f70cdaf8e12d0deaab9b16e2
- Fix whitespace.
http://git.postgresql.org/pg/commitdiff/74321d87fb1a27746c9dd0853b2da3287a0940d9
- Remove deprecated COMMENT ON RULE syntax. This was only used for allowing
upgrades from pre-7.3 instances, which was a long time ago.
http://git.postgresql.org/pg/commitdiff/e8d016d81940e75c126aa52971b7903b7301002e
- Fix logical replication with different encodings. reported by Shinoda,
Noriyoshi <noriyoshi.shinoda@hpe.com>; partial patch by Kyotaro HORIGUCHI
<horiguchi.kyotaro@lab.ntt.co.jp>
http://git.postgresql.org/pg/commitdiff/c3368f9173c13e2e293df91f75f1a5c565c4ca18
Fujii Masao pushed:
- Remove confusing comment about unsupported feature. The initial table
synchronization feature has not been supported yet, but there was the
confusing header comment about it in logical/worker.c.
http://git.postgresql.org/pg/commitdiff/d36537008a8d53853d2fda49913cb54fa6e28f94
- Fix typo in comment. neha khatri
http://git.postgresql.org/pg/commitdiff/e14ec7d346f8686c9471c16a01579d6b1c3b4975
- Make walsender always initialize the buffers. Walsender uses the local
buffers for each outgoing and incoming message. Previously when creating
replication slot, walsender forgot to initialize one of them and which can
cause the segmentation fault error. To fix this issue, this commit changes
walsender so that it always initialize them before it executes the requested
replication command. Back-patch to 9.4 where replication slot was introduced.
Problem report and initial patch by Stas Kelvich, modified by me. Report:
https://www.postgresql.org/message-id/A1E9CB90-1FAC-4CAD-8DBA-9AA62A6E97C5@postgrespro.ru
http://git.postgresql.org/pg/commitdiff/1d04a59be31bf004b880226be0e3fe84acff2815
- Fix connection leak in DROP SUBSCRIPTION command. Previously the command
forgot to close the connection to the publisher when it failed to drop the
replication slot.
http://git.postgresql.org/pg/commitdiff/898a792eb8283e31efc0b6fcbc03bbcd5f7df667
Álvaro Herrera pushed:
- Add tests for two-phase commit. There's some ongoing performance work on this
area, so let's make sure we don't break things. Extracted from a larger patch
originally by Stas Kelvich. Authors: Stas Kelvich, Nikhil Sontakke, Michael
Paquier Discussion:
https://postgr.es/m/CAMGcDxfsuLLOg=h5cTg3g77Jjk-UGnt=RW7zK57zBSoFsapiWA@mail.gmail.com
http://git.postgresql.org/pg/commitdiff/30820982b295404ed00ddd28c8864211dc986dd3
Robert Haas pushed:
- doc: Add missing comma. Yugo Nagata
http://git.postgresql.org/pg/commitdiff/d912dd062b64287adcabab4180abafefd07cea14
- Shut down Gather's children before shutting down Gather itself. It turns out
that the original shutdown order here does not work well. Multiple people
attempting to develop further parallel query patches have discovered that they
need to do cleanup before the DSM goes away, and you can't do that if the
parent node gets cleaned up first. Patch by me, reviewed by KaiGai Kohei and
Dilip Kumar. Discussion:
http://postgr.es/m/CA+TgmoY6bOc1YnhcAQnMfCBDbsJzROQ3sYxSAL-SYB5tMJcTKg@mail.gmail.com
Discussion:
http://postgr.es/m/9A28C8860F777E439AA12E8AEA7694F8012AEB82@BPXM15GP.gisp.nec.co.jp
Discussion:
http://postgr.es/m/CA+TgmoYuPOc=+xrG1v0fCsoLbKAab9F1ddOeaaiLMzKOiBar1Q@mail.gmail.com
http://git.postgresql.org/pg/commitdiff/acf555bc53acb589b5a2827e65d655fa8c9adee0
- Fix incorrect typecast. Ashutosh Sharma, per a report from Mithun Cy.
Discussion:
http://postgr.es/m/CAD__OujgqNNnCujeFTmKpjNu+W4smS8Hbi=RcWAhf1ZUs3H4WA@mail.gmail.com
http://git.postgresql.org/pg/commitdiff/b4316928d57bec22e95875e6487a4d665bd03a52
- Pass the source text for a parallel query to the workers. With this change,
you can see the query that a parallel worker is executing in pg_stat_activity,
and if the worker crashes you can see what query it was executing when it
crashed. Rafia Sabih, reviewed by Kuntal Ghosh and Amit Kapila and slightly
revised by me.
http://git.postgresql.org/pg/commitdiff/4c728f382970b6346142fe4409212063ee3e92dc
- Make tablesample work with partitioned tables. This was an oversight in the
original partitioning commit. Amit Langote, reviewed by David Fetter
Discussion:
http://postgr.es/m/59af6590-8ace-04c4-c36c-ea35d435c60e@lab.ntt.co.jp
http://git.postgresql.org/pg/commitdiff/5dbdb2f799232cb1b6df7d7a85d59ade3234d30c
- Allow custom and foreign scans to have shutdown callbacks. This is expected
to be useful mostly when performing such scans in parallel, because in that
case it allows (in combination with commit
acf555bc53acb589b5a2827e65d655fa8c9adee0) nodes below a Gather to get control
just before the DSM segment goes away. KaiGai Kohei, except that I rewrote
the documentation. Reviewed by Claudio Freire. Discussion:
http://postgr.es/m/CADyhKSXJK0jUJ8rWv4AmKDhsUh124_rEn39eqgfC5D8fu6xVuw@mail.gmail.com
http://git.postgresql.org/pg/commitdiff/a315b967cc1bd43ecf3c10ea48b44a4fb0ff8d45
- Basic tab completion for partitioning. Amit Langote Discussion:
http://postgr.es/m/CA+TgmobYOj=A8GesiEs_V2Wq46-_w0+7MOwPiNWC+iuzJ-uWjA@mail.gmail.com
http://git.postgresql.org/pg/commitdiff/9d1fb11a95bafdae9889898361f70e9bcbef6993
- TAP tests for target_session_attrs connection parameter. Michael Paquier
http://git.postgresql.org/pg/commitdiff/caa6c1f193a9ab4b4fb9b8687f41e6d66bbeaade
Andrew Dunstan pushed:
- Correctly handle array pseudotypes in to_json and to_jsonb. Columns with
array pseudotypes have not been identified as arrays, so they have been
rendered as strings in the json and jsonb conversion routines. This change
allows them to be rendered as json arrays, making it possible to deal
correctly with the anyarray columns in pg_stats.
http://git.postgresql.org/pg/commitdiff/502a3832cc54c7115dacb8a2dae06f0620995ac6
Bruce Momjian pushed:
- pg_upgrade docs: clarify instructions on standby extensions. Previously the
pg_upgrade standby upgrade instructions said not to execute pgcrypto.sql, but
it should have referenced the extension command "CREATE EXTENSION pgcrypto".
This patch makes that doc change. Reported-by: a private bug report
Backpatch-through: 9.4, where standby instructions were added
http://git.postgresql.org/pg/commitdiff/5639ceddcb7f3efa8751b2ba6e50cc1d27cc2a45
Magnus Hagander pushed:
- Clarify the role of checkpoint at the begininng of base backups. Output a
message about checkpoint starting in verbose mode of pg_basebackup, and make
the documentation state more clearly that this happens. Author: Michael Banck
http://git.postgresql.org/pg/commitdiff/51e26c9c3d2904b65041fc4a19c72c62508f63d4
- Add missing progname prefix to some messages. Author: Michael Banck
http://git.postgresql.org/pg/commitdiff/1513dbea7f89053476a5e95e2f2e952135a5b34c
== Pending Patches ==
Rushabh Lathia sent in another revision of a patch to implement Gather Merge.
Michaël Paquier sent in another revision of a patch to make hba configuration
for SASL more extensible and implement SASLprep aka NFKC for SCRAM
authentication.
Amit Langote and Ashutosh Bapat traded patches to allow dropping partitioned
table without CASCADE.
Rushabh Lathia sent in another revision of a patch to implement wait events for
disk I/O.
Dave Page sent in a patch to implement pg_ls_wal_dir() and pg_ls_logdir().
Tomas Vondra sent in a patch to add page_checksum and bt_page_items(bytea) to
the pageinspect supplied module.
Pavel Stěhule sent in another revision of a patch to implement xmltable().
Takeshi Ideriha sent in another revision of a patch to allow DECLARE STATEMENT
to set up a connection in ECPG.
Michaël Paquier sent in another revision of a patch to add tab completion in
psql for the new SUBSCRIPTION commands.
Thomas Munro sent in another revision of a patch to make SERIALIZABLE work with
parallel query.
Etsuro Fujita and Rushabh Lathia traded patches to push down more
UPDATEs/DELETEs in postgres_fdw.
Petr Jelínek sent in a patch to smooth the transition from floating point
timestamps.
Amit Langote and Ashutosh Bapat traded patches to take note of the fact that
partitioned tables are empty themselves by preventing the from trying to do
things to them that need to access files, not allocating storage for partitioned
tables, and avoiding creating scan nodes for partitioned tables.
Simon Riggs sent in two revisions of a patch to ensure that SnapshotResetXmin()
is not issued at the end of xact and reduce the calls to SnapshotResetXmin()
using a simple heuristic to reduce the effects.
Beena Emerson sent in two more revisions of a patch to allow increasing the
default WAL segment size.
Peter Moser sent in another revision of a patch to add ALIGN and NORMALIZE
operators for temporal queries.
Tomas Vondra and Andres Freund traded patches to add two slab-like memory
allocators.
Dilip Kumar sent in another revision of a patch to implement parallel bitmap
heap scan.
Jim Mlodgenski sent in a patch to add system views for monitoring materialized
views.
Amit Langote sent in a patch to show only the partition key upon failing to find
a partition.
Mithun Cy sent in another revision of a patch to expand hash indexes
differently.
Tatsuo Ishii sent in a patch to improve the calculation of statement_timeout for
the extended query protocol.
Amit Langote sent in a patch to add regression tests foreign partition DDL.
Vaishnavi Prabakaran sent in another revision of a patch to add batch/pipelining
support to libpq.
Masahiko Sawada sent in two more revisions of a patch to fix an infelicity
between DROP SUBSCRIPTION and ROLLBACK.
Thomas Munro sent in two more revisions of a patch to measure replication lag.
Petr Jelínek sent in three more revisions of a patch to fix some snapbuild woes.
Pavan Deolasee sent in another revision of a patch to implement WARM.
Robins Tharakan and Simon Riggs traded patches to make pg_dumpall work without
access to pg_authid.
Rafia Sabih sent in two revisions of a patch to make parallelism work for
queries coming from functions (SQL and several PLs).
Michael Banck sent in two revisions of a patch to reorder tablespaces in
basebackup tar stream for backup_label.
Petr Jelínek sent in two more revisions of a patch to use asynchronous connect
API in libpqwalreceiver, fix after trigger execution in logical replication, and
add RENAME support for PUBLICATIONs and SUBSCRIPTIONs.
Pavan Deolasee sent in a patch to remove all direct references to ip_posid and
ip_blkid members of ItemPointerData struct and instead use
ItemPointerGetOffsetNumber and ItemPointerGetBlockNumber macros respectively to
access these members.
Peter Eisentraut sent in a patch to silence compiler warnings from gcc -O3.
Nikolay Shaplov sent in another revision of a patch to move all am-related
reloption code into src/backend/access/[am-name] and get rid of relopt_kind for
custom AM.
Jim Nasby sent in a patch to move refreshes of materialized views to last in
dbObjectTypePriority[].
Jim Nasby sent in a patch to standardize on one of objsubid, subobjid.
Takayuki Tsunakawa sent in another revision of a patch to support huge pages on
Windows.
Kyotaro HORIGUCHI sent in two more revisions of a patch to implement
asynchronous execution.
Yugo Nagata sent in two more revisions of a patch to fix a comment on the
JunkFilter struct.
Bernd Helmle sent in a patch to make subquery alias optional in FROM clause.
Chhatoi Pritam Baral sent in a patch to make the planner expand "foocol <@
'x,y'::foorange" into "foocol between x and y".
Petr Jelínek sent in two more revisions of a patch to add logical replication
support for initial data copy.
Mithun Cy sent in another revision of a patch to implement auto_prewarm.
Corey Huinker sent in four more revisions of a patch to add \if and friends to
psql.
Stephen Frost sent in another revision of a patch to fix pg_upgrade blob
comments.
Masahiko Sawada sent in a patch to report the number of skipped frozen pages by
manual VACUUM.
Craig Ringer sent in a patch to better detect timeouts in PostgresNode::psql
using regex.
Eiji Seki sent in another revision of a patch to add a GetOldestXminExtend for
ignoring arbitrary vacuum flags.
Haribabu Kommi sent in a patch to make it possible to have utility commands
benefit from a parallel plan.
Tom Lane sent in a patch to turn AllocBlockData from a linked list into a
doubly-linked list.
Andrew Dunstan sent in a patch to make enums indexable in the btree_gin and
btree_gist extensions.
Tom Lane sent in a patch to assert that an enum comparator can use cache.
Dave Page sent in a patch to add a default role called pg_monitor, complete with
a lot of things such a role should have.
Naoki Okano sent in a patch to add an --enable-parse-comment option to ECPG.
Pavel Stěhule sent in a patch to add a VERBOSE_SORT variable to psql.
Andrew Gierth sent in another revision of a patch to add hash support for
grouping sets.
Dilip Kumar sent in two more revisions of a patch to implement parallel merge
join.
David Rowley sent in a patch to add recognition of "range queries" like "x > 34
AND x < 42" and IS [NOT] NULL to clausesel.
Simon Riggs sent in another revision of a patch to make some changes to the
recovery.conf API.
Peter Eisentraut sent in another revision of a patch to enable DROP FUNCTION to
drop multiple functions at once.
Peter Eisentraut sent in a patch to add cursor and execute methods to plan
object in PL/PythonU.
Simon Riggs sent in another revision of a patch to reduce lock levels for
reloptions.
Andrew Dunstan sent in two revisions of a patch to turn the
DirectFunctionCall{n]Coll functions into macros calling these functions and
passing NULL as the flinfo param.
Petr Jelínek sent in a patch to prevent pg_dump -t from dumping publications.