== PostgreSQL Weekly News - April 05 2015 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - April 05 2015 ==
Date: 2015-04-05 23:28:51
Message-ID: 20150405232851.GA7404@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

== PostgreSQL Weekly News - April 05 2015 ==

== PostgreSQL Product News ==

PostgreSQL Data Sync 15.3, a Windows GUI for PostgreSQL database
contents comparison and synchronization, released.
http://www.sqlmaestro.com/products/postgresql/datasync/

pgBadger 6.3, a parallel PostgreSQL log analyzer written in Perl, released:
https://sourceforge.net/projects/pgbadger/
Development:
https://github.com/dalibo/pgbadger/

The Call for Papers for PGDay in Belfort, France ends April 13, 2015.
The conference will be held June 2, 2015.
http://select-2-6-2015-as-pgday.org

"PostgreSQL Troubleshooting," a book by Hans-Jürgen Schönig, released.
http://www.cybertec.at/media/buecher/

== PostgreSQL Jobs for April ==

http://archives.postgresql.org/pgsql-jobs/2015-04/threads.php

== PostgreSQL Local ==

The second Swiss Postgres Conference will be held June 25-26, 2015 at
HSR Rapperswil.
http://www.postgres-conference.ch/

The constituent assembly of the Swiss PostgreSQL
Users Group (SwissPUG) will be Friday, April 10, 2015
http://www.swisspug.org

India PostgreSQL UserGroup will hold a PGday in Bengaluru, Karnataka,
India on April 11, 2015. RSVP at
http://www.meetup.com/India-PUG/events/220553997/

There is a Postgres track in a database technology conference(DTCC) in
April 18, 2015 in Beijing, China.
http://dtcc.it168.com/list_jiabin.html

pgDay Paris will be held in Paris France on April 21, 2015.
http://pgday.paris/

PGCon 2015 is June 16-20 in Ottawa, Canada.
http://www.pgcon.org/2015/

PGDay UK, Conference will be taking place on 7th July 2015 – it is aimed at
the UK PostgreSQL Community. The CfP is open until 13 April 2015.
http://www.postgresqlusergroup.org.uk

The Call For Papers for PostgresOpen 2015, being held in Dallas, Texas
from September 16th to 18th, is now open.
http://2015.postgresopen.org/callforpapers/

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

Tom Lane pushed:

- Fix multiple bugs and infelicities in pg_rewind. Bugs all spotted
by Coverity, including wrong realloc() size request and memory
leaks. Cosmetic improvements by me. The usage of the global
variable "filemap" here is still pretty awful, but at least I got
rid of the gratuitous aliasing in several routines (which was
helping to annoy Coverity, as well as being a bug risk).
http://git.postgresql.org/pg/commitdiff/c67f366fa9f748257861ee233b47b80eb5ffa857

- Clean up all the cruft after a pg_rewind test run. regress_log temp
directory was properly .gitignore'd, which may explain why it got
left out of the "make clean" action.
http://git.postgresql.org/pg/commitdiff/1c41e2a998a0de16d9d33949a7b98a5be3d2477c

- Fix rare core dump in BackendIdGetTransactionIds().
BackendIdGetTransactionIds() neglected the possibility that the PROC
pointer in a ProcState array entry is null. In current usage, this
could only crash if the other backend had exited since
pgstat_read_current_status saw it as active, which is a pretty
narrow window. But it's reachable in the field, per bug #12918 from
Vladimir Borodin. Back-patch to 9.4 where the faulty code was
introduced.
http://git.postgresql.org/pg/commitdiff/701dcc983eb4d08dd36bb3a0ddba255819797760

- Be more careful about printing constants in ruleutils.c. The
previous coding in get_const_expr() tried to avoid quoting integer,
float, and numeric literals if at all possible. While that looks
nice, it means that dumped expressions might re-parse to something
that's semantically equivalent but not the exact same parsetree; for
example a FLOAT8 constant would re-parse as a NUMERIC constant with
a cast to FLOAT8. Though the result would be the same after
constant-folding, this is problematic in certain contexts. In
particular, Jeff Davis pointed out that this could cause unexpected
failures in ALTER INHERIT operations because of child tables having
not-exactly-equivalent CHECK expressions. Therefore, favor
correctness over legibility and dump such constants in quotes except
in the limited cases where they'll be interpreted as the same type
even without any casting. This results in assorted small changes in
the regression test outputs, and will affect display of user-defined
views and rules similarly. The odds of that causing problems in the
field seem non-negligible; given the lack of previous complaints, it
seems best not to change this in the back branches.
http://git.postgresql.org/pg/commitdiff/542320c2bd0b3796a8a9a4617cdb23fbad473390

- Fix bogus concurrent use of _hash_getnewbuf() in bucket split code.
_hash_splitbucket() obtained the base page of the new bucket by
calling _hash_getnewbuf(), but it held no exclusive lock that would
prevent some other process from calling _hash_getnewbuf() at the
same time. This is contrary to _hash_getnewbuf()'s API spec and
could in fact cause failures. In practice, we must only call that
function while holding write lock on the hash index's metapage. An
additional problem was that we'd already modified the metapage's
bucket mapping data, meaning that failure to extend the index would
leave us with a corrupt index. Fix both issues by moving the
_hash_getnewbuf() call to just before we modify the metapage in
_hash_expandtable(). Unfortunately there's still a large problem
here, which is that we could also incur ENOSPC while trying to get
an overflow page for the new bucket. That would leave the index
corrupt in a more subtle way, namely that some index tuples that
should be in the new bucket might still be in the old one. Fixing
that seems substantially more difficult; even preallocating as many
pages as we could possibly need wouldn't entirely guarantee that the
bucket split would complete successfully. So for today let's just
deal with the base case. Per report from Antonin Houska.
Back-patch to all active branches.
http://git.postgresql.org/pg/commitdiff/ed9cc2b5df59fdbc50cce37399e26b03ab2c1686

- Fix incorrect markup in documentation of window frame clauses.
You're required to write either RANGE or ROWS to start a frame
clause, but the documentation incorrectly implied this is optional.
Noted by David Johnston.
http://git.postgresql.org/pg/commitdiff/f6caf5acf1def92d7425151a92fd990c566fdcc3

- Provide real selectivity estimators for inet/cidr operators. This
patch fills in the formerly-stub networksel() and networkjoinsel()
estimation functions. Those are used for << <<= >> >>= and &&
operators on inet/cidr types. The estimation is not perfect,
certainly, because we rely on the existing statistics collected for
the inet btree operators. But it's a long way better than nothing,
and it's not clear that asking ANALYZE to collect separate stats for
these operators would be a win. Emre Hasegeli, with reviews from
Dilip Kumar and Heikki Linnakangas, and some further hacking by me
http://git.postgresql.org/pg/commitdiff/89840d7d3fa943cb932f6a00707fdb17a9cab001

- Fix rare startup failure induced by MVCC-catalog-scans patch. While
a new backend nominally participates in sinval signaling starting
from the SharedInvalBackendInit call near the top of InitPostgres,
it cannot recognize sinval messages for unshared catalogs of its
database until it has set up MyDatabaseId. This is not problematic
for the catcache or relcache, which by definition won't have loaded
any data from or about such catalogs before that point. However,
commit 568d4138c646cd7c introduced a mechanism for re-using MVCC
snapshots for catalog scans, and made invalidation of those depend
on recognizing relevant sinval messages. So it's possible to
establish a catalog snapshot to read pg_authid and pg_database, then
before we set MyDatabaseId, receive sinval messages that should
result in invalidating that snapshot --- but do not, because we
don't realize they are for our database. This mechanism explains
the intermittent buildfarm failures we've seen since commit
31eae6028eca4365. That commit was not itself at fault, but it
introduced a new regression test that does reconnections
concurrently with the "vacuum full pg_am" command in vacuum.sql.
This allowed the pre-existing error to be exposed, given just the
right timing, because we'd fail to update our information about how
to access pg_am. In principle any VACUUM FULL on a system catalog
could have created a similar hazard for concurrent incoming
connections. Perhaps there are more subtle failure cases as well.
To fix, force invalidation of the catalog snapshot as soon as we've
set MyDatabaseId. Back-patch to 9.4 where the error was introduced.
http://git.postgresql.org/pg/commitdiff/bc49d9324a464fce8f60e1bc14531631883021d4

- Remove unnecessary variables in _hash_splitbucket(). Commit
ed9cc2b5df59fdbc50cce37399e26b03ab2c1686 made it unnecessary to pass
start_nblkno to _hash_splitbucket(), and for that matter unnecessary
to have the internal nblkno variable either. My compiler didn't
complain about that, but some did. I also rearranged the use of
oblkno a bit to make that case more parallel. Report and initial
patch by Petr Jelinek, rearranged a bit by me. Back-patch to all
branches, like the previous patch.
http://git.postgresql.org/pg/commitdiff/b7e1652d5de8b618c0204588969c8b59d12e9361

- Fix TAP tests to use only standard command-line argument ordering.
Some of the TAP tests were supposing that PG programs would accept
switches after non-switch arguments on their command lines. While
GNU getopt_long() does allow that, our own implementation does not,
and it's nowhere suggested in our documentation that such cases
should work. Adjust the tests to use only the documented syntax.
Back-patch to 9.4, since without this the TAP tests fail when run
with src/port's getopt_long() implementation. Michael Paquier
http://git.postgresql.org/pg/commitdiff/c67a86f7da90c30b81f91957023fb752f06f0598

- Fix incorrect matching of subexpressions in outer-join plan nodes.
Previously we would re-use input subexpressions in all expression
trees attached to a Join plan node. However, if it's an outer join
and the subexpression appears in the nullable-side input, this is
potentially incorrect for apparently-matching subexpressions that
came from above the outer join (ie, targetlist and qpqual
expressions), because the executor will treat the subexpression
value as NULL when maybe it should not be. The case is fairly hard
to hit because (a) you need a non-strict subexpression (else NULL is
correct), and (b) we don't usually compute expressions in the
outputs of non-toplevel plan nodes. But we might do so if the
expressions are sort keys for a mergejoin, for example. Probably in
the long run we should make a more explicit distinction between Vars
appearing above and below an outer join, but that will be a major
planner redesign and not at all back-patchable. For the moment,
just hack set_join_references so that it will not match any non-Var
expressions coming from nullable inputs to expressions that came
from above the join. (This is somewhat overkill, in that a strict
expression could still be matched, but it doesn't seem worth the
effort to check that.) Per report from Qingqing Zhou. The added
regression test case is based on his example. This has been broken
for a very long time, so back-patch to all active branches.
http://git.postgresql.org/pg/commitdiff/ca6805338fba010cc3f8b842905d7a62e280b7ab

- Suppress clang's unhelpful gripes about -pthread switch being
unused. Considering the number of cases in which "unused" command
line arguments are silently ignored by compilers, it's fairly
astonishing that anybody thought this warning was useful; it's
certainly nothing but an annoyance when building Postgres. One such
case is that neither gcc nor clang complain about unrecognized
-Wno-foo switches, making it more difficult to figure out whether
the switch does anything than one could wish. Back-patch to 9.3,
which is as far back as the patch applies conveniently (we'd have to
back-patch PGAC_PROG_CC_VAR_OPT to go further, and it doesn't seem
worth that).
http://git.postgresql.org/pg/commitdiff/73b416b2e41237b657d29d8f42a4bb34bf700928

Heikki Linnakangas pushed:

- Add index-only scan support to range type GiST opclass. Andreas
Karlsson
http://git.postgresql.org/pg/commitdiff/0633a60f4d2a2677db45d9261c94be9287e36d7c

- Remove spurious semicolons. Petr Jelinek
http://git.postgresql.org/pg/commitdiff/1d0db8de043c28c1e665451663ec101da5adc5ab

- Move inet/cidr GiST opclass functions to correct place in header
file. They were accidentally placed under the GIN heading. Andreas
Karlsson
http://git.postgresql.org/pg/commitdiff/f770870d9e4d01f4b255a3df6c2c4a2dcfcbcce0

Álvaro Herrera pushed:

- Fix lost persistence setting during REINDEX INDEX. ReindexIndex()
trusts a parser-built RangeVar with the persistence to use for the
new copy of the index; but the parser naturally does not know what's
the persistence of the original index. To find out the correct
persistence, grab it from relcache. This bug was introduced by
commit 85b506bbfc2937c9, and therefore no backpatch is necessary.
Bug reported by Thom Brown, analysis and patch by Michael Paquier;
test case provided by Fabrízio de Royes Mello.
http://git.postgresql.org/pg/commitdiff/0853630159944bb3652336602ff5f7f62cd27a5a

- Change array_offset to return subscripts, not offsets ... and rename
it and its sibling array_offsets to array_position and
array_positions, to account for the changed behavior. Having the
functions return subscripts better matches existing practice, and is
better suited to using the result value as a subscript into the
array directly. For one-based arrays, the new definition is
identical to what was originally committed. (We use the term
"subscript" in the documentation, which is what we use whenever we
talk about arrays; but the functions themselves are named using the
word "position" to match the standard-defined POSITION() functions.)
Author: Pavel Stěhule. Behavioral problem noted by Dean Rasheed.
http://git.postgresql.org/pg/commitdiff/97690ea6e86c412461dd5dc99953b829564d1a55

- psql: fix \connect with URIs and conninfo strings. psql was already
accepting conninfo strings as the first parameter in \connect, but
the way it worked wasn't sane; some of the other parameters would
get the previous connection's values, causing it to connect to a
completely unexpected server or, more likely, not finding any server
at all because of completely wrong combinations of parameters. Fix
by explicitely checking for a conninfo-looking parameter in the
dbname position; if one is found, use its complete specification
rather than mix with the other arguments. Also, change
tab-completion to not try to complete conninfo/URI-looking "dbnames"
and document that conninfos are accepted as first argument. There
was a weak consensus to backpatch this, because while the behavior
of using the dbname as a conninfo is nowhere documented for
\connect, it is reasonable to expect that it works because it does
work in many other contexts. Therefore this is backpatched all the
way back to 9.0. To implement this, routines previously private to
libpq have been duplicated so that psql can decide what looks like a
conninfo/URI string. In back branches, just duplicate the same code
all the way back to 9.2, where URIs where introduced; 9.0 and 9.1
have a simpler version. In master, the routines are moved to
src/common and renamed. Author: David Fetter, Andrew Dunstan. Some
editorialization by me (probably earning a Gierth's "Sloppy" badge
in the process.) Reviewers: Andrew Gierth, Erik Rijkers, Pavel
Stěhule, Stephen Frost, Robert Haas, Andrew Dunstan.
http://git.postgresql.org/pg/commitdiff/fcef1617295c074f2684c887627184d2fc26ac04

- psql: fix \connect with URIs and conninfo strings. This is the
second try at this, after fcef1617295 failed miserably and had to be
reverted: as it turns out, libpq cannot depend on libpgcommon after
all. Instead of shuffling code in the master branch, make that one
just like 9.4 and accept the duplication. (This was all my own
mistake, not the patch submitter's). psql was already accepting
conninfo strings as the first parameter in \connect, but the way it
worked wasn't sane; some of the other parameters would get the
previous connection's values, causing it to connect to a completely
unexpected server or, more likely, not finding any server at all
because of completely wrong combinations of parameters. Fix by
explicitely checking for a conninfo-looking parameter in the dbname
position; if one is found, use its complete specification rather
than mix with the other arguments. Also, change tab-completion to
not try to complete conninfo/URI-looking "dbnames" and document that
conninfos are accepted as first argument. There was a weak
consensus to backpatch this, because while the behavior of using the
dbname as a conninfo is nowhere documented for \connect, it is
reasonable to expect that it works because it does work in many
other contexts. Therefore this is backpatched all the way back to
9.0. Author: David Fetter, Andrew Dunstan. Some editorialization
by me (probably earning a Gierth's "Sloppy" badge in the process.)
Reviewers: Andrew Gierth, Erik Rijkers, Pavel Stěhule, Stephen
Frost, Robert Haas, Andrew Dunstan.
http://git.postgresql.org/pg/commitdiff/e146ca682062ca1f5015f3820571c5359f5f9dba

- autovacuum: Fix polarity of "wraparound" variable. Commit
0d831389749a3 inadvertently reversed the meaning of the wraparound
variable. This causes vacuums which are not required for wraparound
to wait for locks to be acquired, and what is worse, it allows
wraparound vacuums to skip locked pages. Bug reported by Jeff Janes
in
http://www.postgresql.org/message-id/CAMkU=1xmTEiaY=5oMHsSQo5vd9V1Ze4kNLL0qN2eH0P_GXOaYw@mail.gmail.com
Analysis and patch by Kyotaro HORIGUCHI
http://git.postgresql.org/pg/commitdiff/00ee6c7672fe0bf9448bc744b5e3408f5ebffc2e

- Have autovacuum workers listen to SIGHUP, too. They have
historically ignored it, but it's been said to be useful at times to
change their settings mid-flight. Author: Michael Paquier
http://git.postgresql.org/pg/commitdiff/a75fb9b335db0e063ece283ebd207530abe1b53b

- Add log_min_autovacuum_duration per-table option. This is useful to
control autovacuum log volume, for situations where monitoring only
a set of tables is necessary. Author: Michael Paquier Reviewed by:
A team led by Naoya Anzai (also including Akira Kurosawa, Taiki
Kondo, Huong Dangminh), Fujii Masao.
http://git.postgresql.org/pg/commitdiff/4ff695b17d32a9c330952192dbc789d31a5e2f5e

- Transform ALTER TABLE/SET TYPE/USING expr during parse analysis.
This lets later stages have access to the transformed expression; in
particular it allows DDL-deparsing code during event triggers to
pass the transformed expression to ruleutils.c, so that the complete
command can be deparsed. This shuffles the timing of the transform
calls a bit: previously, nothing was transformed during parse
analysis, and only the RELKIND_RELATION case was being handled
during execution. After this patch, all expressions are transformed
during parse analysis (including those for relkinds other than
RELATION), and the error for other relation kinds is thrown only
during execution. So we do more work than before to reject some
bogus cases. That seems acceptable.
http://git.postgresql.org/pg/commitdiff/9550e8348b7965715789089555bb5a3fda8c269c

Andrew Dunstan pushed:

- Run pg_upgrade and pg_resetxlog with restricted token on Windows.
As with initdb these programs need to run with a restricted token,
and if they don't pg_upgrade will fail when run as a user with
Adminstrator privileges. Backpatch to all live branches. On the
development branch the code is reorganized so that the restricted
token code is now in a single location. On the stable bramches a
less invasive change is made by simply copying the relevant code to
pg_upgrade.c and pg_resetxlog.c. Patches and bug report from
Muhammad Asif Naeem, reviewed by Michael Paquier, slightly edited by
me.
http://git.postgresql.org/pg/commitdiff/fa1e5afa8a26d467aec7c8b36a0b749b690f636c

- Enable float8-byval as the default for 64 bit MSVC builds. This is
a long-standing inconsistency that was probably just missed when we
got 64 bit MSVC builds. This brings the platform into line with all
other systems.
http://git.postgresql.org/pg/commitdiff/cf376a4adc0805b0960a5f8e8325fae7d4456926

Bruce Momjian pushed:

- btree_gin: properly call DirectFunctionCall1(). Previously we
called DirectFunctionCall3() with dummy arguments. Fixed version of
previous patch. Report by Jon Nelson
http://git.postgresql.org/pg/commitdiff/0cf16b44cb749cac2ff9dcbbe92bfb94f72bb0d0

- psql: add asciidoc output format. Patch by Szymon Guz, adjustments
by me Testing by Michael Paquier, Pavel Stehule
http://git.postgresql.org/pg/commitdiff/9d9991c84e64c0c5f568b3cdaf46bb91a1368b5a

- pg_ctl: change default shutdown mode from 'smart' to 'fast'.
Retain the order of the options in the documentation.
http://git.postgresql.org/pg/commitdiff/0badb069bc9f590dbc1306ccbd51e99ed81f228c

- initdb: remove unnecessary VACUUM FULL. Report by Peter Eisentraut
http://git.postgresql.org/pg/commitdiff/ed7b3b3811c5836a54549caaa217314be3f16fd0

- pg_upgrade: call 'postgres' binary to get data directory location.
This matches the binary 'pg_ctl' calls. Previously we called the
'postmaster'. Report by Christoph Berg
http://git.postgresql.org/pg/commitdiff/a0efc714531d3dfd02fafd39e80d058cef6703b0

Fujii Masao pushed:

- Make pg_ctl use SIGINT as a default shutdown signal. The commit
0badb06 changed the default shutdown mode from smart to fast, but
forgot to change the default shutdown signal from SIGTERM to SIGINT.
http://git.postgresql.org/pg/commitdiff/7a245bfe76125e32bb26f63893ee9f9fb0fa3ce2

- Add markup for replaceable parameters to pg_rewind doc.
http://git.postgresql.org/pg/commitdiff/5e3d289f9b7d7e67ee0294e9221bb681594b7668

- Add palloc_extended for frontend and backend. This commit also adds
pg_malloc_extended for frontend. These interfaces can be used to
control at a lower level memory allocation using an interface
similar to MemoryContextAllocExtended. For example, the callers can
specify MCXT_ALLOC_NO_OOM if they want to suppress the "out of
memory" error while allocating the memory and handle a NULL return
value. Michael Paquier, reviewed by me.
http://git.postgresql.org/pg/commitdiff/8c8a886268dfa616193dadc98e44e0715f884614

- Rework handling of OOM when allocating record buffer in XLOG reader.
Commit 2c03216 changed allocate_recordbuf() so that it uses a palloc
to allocate the read buffer and fails immediately when an
out-of-memory error shows up, even though its callers still expect
that NULL is returned in that case. This bug is fixed making
allocate_recordbuf() use a palloc_extended with MCXT_ALLOC_NO_OOM
flag and return NULL in OOM case. Michael Paquier
http://git.postgresql.org/pg/commitdiff/9b8d4782ba0f75eb0f029c743bb85166999d9fa5

- Fix error handling of XLogReaderAllocate in case of OOM. Similarly
to previous fix 9b8d478, commit 2c03216 has switched
XLogReaderAllocate() to use a set of palloc calls instead of malloc,
causing any callers of this function to fail with an error instead
of receiving a NULL pointer in case of out-of-memory error. Fix this
by using palloc_extended with MCXT_ALLOC_NO_OOM that will safely
return NULL in case of an OOM. Michael Paquier, slightly modified
by me.
http://git.postgresql.org/pg/commitdiff/6e4bf4ecd3c2a266870139462a079809dfe7ab8c

Simon Riggs pushed:

- Correct comment to use RS_EPHEMERAL
http://git.postgresql.org/pg/commitdiff/7dae3cf68cf59c37163df42fb0d2b66fed9996f4

- Reduce lock levels of some trigger DDL and add FKs. Reduce lock
levels to ShareRowExclusive for the following SQL CREATE TRIGGER
(but not DROP or ALTER), ALTER TABLE ENABLE TRIGGER, ALTER TABLE
DISABLE TRIGGER, and ALTER TABLE … ADD CONSTRAINT FOREIGN KEY
Original work by Simon Riggs, extracted and refreshed by Andreas
Karlsson New test cases added by Andreas Karlsson Reviewed by Noah
Misch, Andres Freund, Michael Paquier and Simon Riggs
http://git.postgresql.org/pg/commitdiff/0ef0396ae1687bf738d4703773d55467c36b2bcd

- Add new test files for lock level patch
http://git.postgresql.org/pg/commitdiff/35ecc244073a25cc99d76e42f99eb9476a2f8ab3

- Remove extraneous >
http://git.postgresql.org/pg/commitdiff/e8fde1f6a0495d52ddfe46e38e9f281fc11400c9

Robert Haas pushed:

- Revert "psql: fix \connect with URIs and conninfo strings". This
reverts commit fcef1617295c074f2684c887627184d2fc26ac04, about which
both the buildfarm and my local machine are very unhappy.
http://git.postgresql.org/pg/commitdiff/4cd639baf4bd35dd7fc924009203349b81bdcd68

- Fix another bug in DSM_CREATE_NULL_IF_MAXSEGMENTS handling. Amit
Kapila
http://git.postgresql.org/pg/commitdiff/f272098e91708eecdfafb706b3a3409dd9593f10

- Add missing calls to DatumGetUInt32. These were inadvertently
ommitted from the commit that introduced abbreviated keys, commit
4ea51cdfe85ceef8afabceb03c446574daa0ac23. Peter Geoghegan
http://git.postgresql.org/pg/commitdiff/c02ef232c14d65741df939ddd633d8fed538a580

- Use abbreviated keys for faster sorting of numeric datums. Andrew
Gierth, reviewed by Peter Geoghegan, with further tweaks by me.
http://git.postgresql.org/pg/commitdiff/abd94bcac4582903765be7be959d1dbc121df0d0

- After a crash, don't restart workers with BGW_NEVER_RESTART. Amit
Khandekar
http://git.postgresql.org/pg/commitdiff/b3a5e76e126553d2a553694d3c54ac9e48b3a4a2

- Repair stupid mistake in preprocessor directive.
http://git.postgresql.org/pg/commitdiff/05cce2f9030abfb5e674afb5cdb98aaa6be3930f

- Improve pgbench error reporting. This would have been worth doing
on general principle anyway, but the recent addition of an
expression syntax to pgbench makes it an even better idea than it
would have been otherwise. Fabien Coelho
http://git.postgresql.org/pg/commitdiff/e41beea0ddb74ef975f08b917a354ec33cb60830

- Change the way we decide whether to give up on abbreviated text
keys. Be more aggressive about aborting early on if it looks like
it's not helping, but be less aggressive about aborting later on,
since it's more expensive at that point, and also since we're
currently aborting in some cases where abbreviation can still
deliver a substantial win. Peter Geoghegan. Extensive testing by
Tomas Vondra.
http://git.postgresql.org/pg/commitdiff/f85155e18cb71a599724536e598e8d6f5e140454

- Fix numeric abbreviation for --disable-float8-byval. When
committing abd94bcac4582903765be7be959d1dbc121df0d0, I tried to make
it decide what kind of abbreviation to use based only on
SIZEOF_DATUM, without regard to USE_FLOAT8_BYVAL. That attempt was
a few bricks short of a load, so try to fix it, and add a comment
explaining what we're about. Patch by me; review (but not a full
endorsement) by Andrew Gierth.
http://git.postgresql.org/pg/commitdiff/368b7c601e3a7ce927602b5399e4b117d71bae31

Andres Freund pushed:

- Define integer limits independently from the system definitions. In
83ff1618 we defined integer limits iff they're not provided by the
system. That turns out not to be the greatest idea because there's
different ways some datatypes can be represented. E.g. on OSX PG's
64bit datatype will be a 'long int', but OSX unconditionally uses
'long long'. That disparity then can lead to warnings, e.g. around
printf formats. One way to fix that would be to back int64 using
stdint.h's int64_t. While a good idea it's not that easy to
implement. We would e.g. need to include stdint.h in our external
headers, which we don't today. Also computing the correct int64
printf formats in that case is nontrivial. Instead simply prefix
the integer limits with PG_ and define them unconditionally. I've
adjusted all the references to them in code, but not the ones in
comments; the latter seems unnecessary to me. Discussion:
20150331141423(dot)GK4878(at)alap3(dot)anarazel(dot)de
http://git.postgresql.org/pg/commitdiff/62e2a8dc2c7f6b1351a0385491933af969ed4265

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Michael Paquier sent in a doc patch to describe more precisely the
rounding behavior of numeric and double precision.

Tomas Vondra sent in another revision of a patch to implement
multivariate statistics, useful for among other things cross-column
correlations.

Heikki Linnakangas sent in a patch to implement SCRAM authentication.

David Fetter sent in two more revisions of a patch to allow
make_date() to use negative years for BCE dates.

Craig Ringer sent in a patch to add views, materialized views, and
foreign tables to the meaning of pg_dump's -t command line argument.

Fabrízio de Royes Mello sent in a WIP patch to reduce lock level when
setting autovacuum reloptions in "ALTER TABLE .. SET ( .. )"
statement.

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

Michael Paquier sent in two revisions of a patch to add some tests for
pg_rewind.

Abhijit Menon-Sen sent in two more revisions of a patch to add
pgstatbloat to pgstattuple.

Haribabu Kommi sent in another revision of a patch to add a catalog
view to for pg_hba.conf.

Tomas Vondra sent in another revision of a patch to improve the
n-distinct estimator.

Jehan-Guillaume de Rorthais sent in a patch to document the maximum
number of files in the pg_xlog directory.

Stephen Frost sent in another revision of a patch to implement role
attributes.

Bruce Momjian sent in two more revisions of a patch to fix some
infelicities in zero-padding in to_char().

David Steele sent in another revision of a patch to implement
pg_audit.

Bruce Momjian sent in two revisions of a patch to fix an infelicity in
the SSPI error reporting code.

Heikki Linnakangas sent in another revision of a patch to use Intel
SSE4.2 CRC instructions where available.

Petr Jelinek sent in a patch to remove an unused variable in
src/backend/access/hash/hashpage.c.

Petr Jelinek sent in another revision of a patch to implement
TABLESAMPLE.

SAWADA Masahiko sent in a WIP patch to allow making read-only tables.

Shigeru HANADA sent in another revision of a patch to add join
push-down support to postgres_fdw.

Etsuro Fujita sent in another revision of a patch to fix some
infelicities in the way EvalPlanQual behaves for FDW queries involving
system columns.

SAWADA Masahiko sent in another revision of a patch to create a
pg_file_settings view.

Tomas Vondra sent in a patch to fix to get rid of the spurious
warnings caused by the recent change to _hash_splitbucket().

Peter Geoghegan sent in a patch to make trace_sort control
abbreviation debug output for the text opclass, making it consistent
with the numeric opclass.

Browse pgsql-announce by date

  From Date Subject
Next Message Devrim Gündüz 2015-04-07 03:23:00 PGDay.TR 2015 Istanbul -- last week for CfP
Previous Message Stéphane Schildknecht 2015-04-04 09:37:24 Call for papers for PGDay 2015 in Belfort, France