== PostgreSQL Weekly News - February 17 2013 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - February 17 2013 ==
Date: 2013-02-18 05:02:46
Message-ID: 20130218050246.GF6677@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

== PostgreSQL Weekly News - February 17 2013 ==

== PostgreSQL Product News ==

Precog 1.1.0, a data science platform for PostgreSQL, released.
http://www.precog.com/postgresql

== PostgreSQL Jobs for February ==

http://archives.postgresql.org/pgsql-jobs/2013-02/threads.php

== PostgreSQL Local ==

PyPgDay will be held on March 13th at the Santa Clara Convention
Center, the first day of PyCon. Info here:
http://wiki.postgresql.org/wiki/PyPgDay2013

PGDay NYC 2013 will be held on March 22, 2013 in New York City.
http://pgday.nycpug.org/

PG Day France is the major French-speaking PostgreSQL community event.
The deadline for sending proposals is Saturday, March 24, 2013 at
23:59 CEST.
http://pgday.fr/call_for_papers

PostgreSQL Session will be held on March 28th, 2013 in Paris,
France. The Call for Papers is open.
http://www.postgresql-sessions.org/en/5/

PGCon 2013 will be held May 23-24 2013, in Ottawa at the University of
Ottawa.
http://www.pgcon.org/2013/

The 6th annual "Prague PostgreSQL Developers Day" conference,
organized by CSPUG (Czech and Slovak PostgreSQL Users Group), will be
held on May 30, 2013 at Faculty of Mathematics and Physics, Charles
University (Malostranske namesti 25, Prague). The CfP is open until
April 14, 2013 <info AT p2d2 DOT cz>. More information in Czech is at
http://www.p2d2.cz/

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

Heikki Linnakangas pushed:

- Fix checkpoint after fast promotion. The intention was to request a
regular online checkpoint immediately after end of recovery, when
performing "fast promotion". However, because the checkpoint was
requested before other backends were allowed to write WAL, the
checkpointer process performed a restartpoint rather than a
checkpoint. Delay the RequestCheckPoint call until after recovery
has truly ended, so that you get a real checkpoint.
http://git.postgresql.org/pg/commitdiff/b669f416cee77ef9025b80f9c4201688578447d1

- Support unlogged GiST index. The reason this wasn't supported
before was that GiST indexes need an increasing sequence to detect
concurrent page-splits. In a regular WAL- logged GiST index, the LSN
of the page-split record is used for that purpose, and in a
temporary index, we can get away with a backend-local counter.
Neither of those methods works for an unlogged relation. To provide
such an increasing sequence of numbers, create a "fake LSN" counter
that is saved and restored across shutdowns. On recovery, unlogged
relations are blown away, so the counter doesn't need to survive
that either. Jeevan Chalke, based on discussions with Robert Haas,
Tom Lane and me.
http://git.postgresql.org/pg/commitdiff/62401db45c4feff9be296fa78a8bb7b9947d69de

- Update visibility map in the second phase of vacuum. There's a high
chance that a page becomes all-visible when the second phase of
vacuum removes all the dead tuples on it, so it makes sense to check
for that. Otherwise the visibility map won't get updated until the
next vacuum. Pavan Deolasee, reviewed by Jeff Janes.
http://git.postgresql.org/pg/commitdiff/fdf9e21196a6f58c6021c967dc5776a16190f295

- Don't delete unarchived WAL files during crash recovery. Bug
reported by Jehan-Guillaume (ioguix) de Rorthais. This was
introduced with the change to keep WAL files restored from archive
in pg_xlog, in 9.2.
http://git.postgresql.org/pg/commitdiff/c9cc7e05c6d82a9781883a016c70d95aa4923122

- Force archive_status of .done for xlogs created by
dearchival/replication. This is a forward-patch of commit
6f4b8a4f4f7a2d683ff79ab59d3693714b965e3d, applied to 9.2 back in
August. The plan was to do something else in master, but it looks
like it's not going to happen, so let's just apply the 9.2 solution
to master as well. Fujii Masao
http://git.postgresql.org/pg/commitdiff/c2f79ba2691a4863db53003f25538f8806ebd2db

- Better fix for "unarchived WAL files get deleted on crash recovery"
bug. Revert my earlier fix for the bug that unarchived WAL files
get deleted on crash recovery, commit
c9cc7e05c6d82a9781883a016c70d95aa4923122. We create a .done file for
files streamed or restored from archive, so the WAL file recycling
logic used during normal operation works just as well during archive
recovery. Per Fujii Masao's suggestion.
http://git.postgresql.org/pg/commitdiff/1bd42cd70abdbc946ad64c3c8eaefed4bb8b1145

- Include previous TLI in end-of-recovery and shutdown checkpoint
records. This isn't used for anything but a sanity check at the
moment, but it could be highly valuable for debugging purposes. It
could also be used to recreate timeline history by traversing WAL,
which seems useful.
http://git.postgresql.org/pg/commitdiff/7803e9327db3788f68d820c19f4081afb79edd12

Peter Eisentraut pushed:

- Add noreturn attributes to some error reporting functions
http://git.postgresql.org/pg/commitdiff/0cb1fac3b19f01025b63d2cdceabb8767185da28

- doc: Add make target to produce EPUB from DocBook
http://git.postgresql.org/pg/commitdiff/ff64fd49ce91534ebbfd5774a8715b11bfc09b97

- pgindent: Fix order in instructions. The previous order of steps
didn't literally work, because git clean -fdx would delete the
downloaded typedefs.list. Also, pgindent needs to be called with a
path when one is in at the top of the build tree.
http://git.postgresql.org/pg/commitdiff/8e6c8da16a51e24a33bf4afeb311ca5d0ecd2b21

Alvaro Herrera pushed:

- Don't build libpgcommon_srv.a just yet. It's empty, and some
archivers do not support that case.
http://git.postgresql.org/pg/commitdiff/0f980b0e17d95e77dc2822eb7855d072a5874d9a

- Rename "string" pstrdup argument to "in". The former name collides
with a symbol also used in the isolation test's parser, causing
assorted failures in certain platforms.
http://git.postgresql.org/pg/commitdiff/0e81ddde2c62ada7f818114ca961d80d42370e32

- Create libpgcommon, and move pg_malloc et al to it. libpgcommon is
a new static library to allow sharing code among the various
frontend programs and backend; this lets us eliminate duplicate
implementations of common routines. We avoid libpgport, because
that's intended as a place for porting issues; per discussion, it
seems better to keep them separate. The first use case, and the
only implemented by this patch, is pg_malloc and friends, which many
frontend programs were already using. At the same time, we can use
this to provide palloc emulation functions for the frontend; this
way, some palloc-using files in the backend can also be used by the
frontend cleanly. To do this, we change palloc() in the backend to
be a function instead of a macro on top of MemoryContextAlloc().
This was previously believed to cause loss of performance, but this
implementation has been tweaked by Tom and Andres so that on modern
compilers it provides a slight improvement over the previous one.
This lets us clean up some places that were already with localized
hacks. Most of the pg_malloc/palloc changes in this patch were
authored by Andres Freund. Zoltán Böszörményi also independently
provided a form of that. libpgcommon infrastructure was authored by
Álvaro.
http://git.postgresql.org/pg/commitdiff/8396447cdbdff0b62914748de2fec04281dc9114

Tom Lane pushed:

- Create libpgcommon, and move pg_malloc et al to it libpgcommon is a
new static library to allow sharing code among the various frontend
programs and backend; this lets us eliminate duplicate
implementations of common routines. We avoid libpgport, because
that's intended as a place for porting issues; per discussion, it
seems better to keep them separate. The first use case, and the
only implemented by this patch, is pg_malloc and friends, which many
frontend programs were already using. At the same time, we can use
this to provide palloc emulation functions for the frontend; this
way, some palloc-using files in the backend can also be used by the
frontend cleanly. To do this, we change palloc() in the backend to
be a function instead of a macro on top of MemoryContextAlloc().
This was previously believed to cause loss of performance, but this
implementation has been tweaked by Tom and Andres so that on modern
compilers it provides a slight improvement over the previous one.
This lets us clean up some places that were already with localized
hacks. Most of the pg_malloc/palloc changes in this patch were
authored by Andres Freund. Zoltán Böszörményi also independently
provided a form of that. libpgcommon infrastructure was authored by
Álvaro Herrera.
http://git.postgresql.org/pg/commitdiff/8396447cdbdff0b62914748de2fec04281dc9114

- Fix contrib/pg_trgm's similarity() function for trigram-free
strings. Cases such as similarity('', '') produced a NaN result due
to computing 0/0. Per discussion, make it return zero instead.
This appears to be the basic cause of bug #7867 from Michele
Baravalle, although it remains unclear why her installation doesn't
think Cyrillic letters are letters. Back-patch to all active
branches.
http://git.postgresql.org/pg/commitdiff/9728eda7925b6d42621b38c48e91ef9ab8d90cbc

- Fix CVE-2013-0255 properly. Revert commit
ab0f7b6089fd215f6ce6081e2e222c38d643a526 (in HEAD only) in favor of
the proper solution, which is to declare enum_recv() correctly in
the system catalogs. It should be declared to take type "internal"
not "cstring". Also improve the type_sanity regression test, which
should have caught this typo, so that it actually would. Most of
the relevant checks on the signature of type I/O functions should
not have been restricted to basetypes/pseudotypes, as they should
apply to any type's I/O functions.
http://git.postgresql.org/pg/commitdiff/71627f3d1964ef9831ea7997d2f4ac5617c718cc

- Invent pre-commit/pre-prepare/pre-subcommit events for xact
callbacks. Currently it's only possible for loadable modules to get
control during post-commit cleanup of a transaction. That doesn't
work too well if they want to do something that could throw an
error; for example, an FDW might need to issue a remote commit,
which could well fail. To improve matters, extend the existing APIs
for XactCallback and SubXactCallback functions to provide new
pre-commit events for this purpose. The release notes will need to
mention that existing callback functions should be checked to make
sure they don't do something unwanted when one of the new event
types occurs. In the examples within our source tree,
contrib/sepgsql was fine but plpgsql had been a bit too cute.
http://git.postgresql.org/pg/commitdiff/fdaf44862beba24c12434d31df556fab25fd3ee7

Bruce Momjian pushed:

- Fix pg_upgrade log file cleanup code. Recent pg_upgrade parallel
improvements introduced a bug that prevented cleanup of per-database
log files.
http://git.postgresql.org/pg/commitdiff/74205266d4925b54bf1d77bae7b0e7f60f68840a

- pg_upgrade: conditionally create cluster delete script. If users
create tablespaces inside the old cluster directory, it is
impossible for the delete script to delete _only_ the old cluster
files, so don't create a script in that case, and issue a message to
the user.
http://git.postgresql.org/pg/commitdiff/4765dd79219b9697d84f5c2c70f3fe00455609a1

- Warn about initdb using mount-points. Add code to detect and warn
about trying to initdb or create pg_xlog on mount points.
http://git.postgresql.org/pg/commitdiff/17f15239325a88581bb4f9cf91d38005f1f52d69

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Jeff Janes sent in a patch to bgbench which allows any arbitrary
command to be executed upon the start up of each connection intended
for benchmarking.

Andrew Dunstan sent in another revision of a patch to add a JSON API.

Manlio Perillo sent in a patch against libpq to send a Describe Portal
message in PQsendPrepare.

Pavel Stehule and Dean Rasheed traded patches to fix the behavior of
the width specifier in the format function in cases of mixed
positional and ordered placeholders.

Michael Paquier sent in two more revisions of a patch to add REINDEX
CONCURRENTLY.

Amit Kapila sent in another revision of a patch to implement identity
projection.

Alvaro Herrera and Andres Freund traded patches to implement xlogdump.

Jonathan Rogers sent in a WIP patch to use BTRFS file cloning
facilities to speed up CREATE DATABASE operations.

Amit Kapila sent in another revision of a patch to allow changing
postgresql.conf settings via SQL.

David Fetter sent in two more revisions of a patch to add an optional
FILTER clause to aggregates.

Alvaro Herrera and Tomas Vondra traded patches to split stats file per
database.

Fujii Masao sent in another revision of a patch to prevent archiving
restored WALs.

Bruce Momjian sent in a patch to go with subtle hints about mounting
a PGDATA directories and similar at the root as opposed to a previous
version that looked for filesystem-specific things like "lost+found".

Kevin Grittner sent in another revision of a patch to implement
materialized views.

Andres Freund sent in an RfC patch to implement indirect TOAST
support.

Pavel Stehule sent in another revision of a patch to implement
function body checking for PL/pgsql.

Browse pgsql-announce by date

  From Date Subject
Next Message Pavel Golub 2013-02-20 06:56:45 PostgresDAC v2.9.3 is immediately available
Previous Message Fábio Telles Rodriguez 2013-02-14 18:06:52 PGBR2013 - Call for papers