== PostgreSQL Weekly News - April 04 2010 ==

From: David Fetter <david(at)fetter(dot)org>
To: PostgreSQL Announce <pgsql-announce(at)postgresql(dot)org>
Subject: == PostgreSQL Weekly News - April 04 2010 ==
Date: 2010-04-05 05:02:46
Message-ID: 20100405050246.GC31389@fetter.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-announce

== PostgreSQL Weekly News - April 04 2010 ==

The CfP is open for CHAR(10) in Oxford, England on July 1-3 2010.
Proposals are due April 20.
http://www.char10.org

Bruce Momjian will be speaking about PostgreSQL Replication Solutions
at the NYPUG meeting on April 20th at 6:30-8:30pm at Penn Plaza.
Details and RSVP below.
http://postgresql.meetup.com/3/calendar/12788352/

Southeast Linuxfest 2010 will take place in Spartanburg, SC, USA on
June 12-13.  Booths and sponsorships are still available.
http://southeastlinuxfest.org/

== PostgreSQL 9.0 Feature of the Week ==

There is now an ALTER DEFAULT PRIVILEGES command which allows you to
adjust the privileges that will be applied to future objects.

== PostgreSQL Jobs for April ==

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

== PostgreSQL Local ==

Linuxfest Northwest 2010 will take place in Bellingham, Washington,
USA on April 24 and 25. Session, Booth and Sponsorship are available.
http://linuxfestnorthwest.org/

Andreas (ads) Scherbaum will be teaching a "PostgreSQL for Corporate
Use" course at the adult education center in Magdeburg, Germany May
3-7, 2010. Details below:
http://andreas.scherbaum.la/blog/archives/650-PostgreSQL-Schulung-als-Bildungsurlaub-03.-07.05.2010-in-Magdeburg.html

PgCon 2010 will be held May 20-21 2010 in Ottawa with tutorials before
on the 18th and 19th.
http://www.pgcon.org/2010/registration.php

The CfP for OSBridge is open! OSBridge will be June 1-4, 2010 in
Portland, Oregon.
http://opensourcebridge.org/events/2010/proposals/

OSCON will take place in Portland, Oregon July 19-23, 2010.
http://www.oscon.com/oscon2010

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

- Rework join-removal logic as per recent discussion. In particular
this fixes things so that it works for cases where nested removals
are possible. The overhead of the optimization should be
significantly less, as well.

- Fix "constraint_exclusion = partition" logic so that it will also
attempt constraint exclusion on an inheritance set that is the
target of an UPDATE or DELETE query. Per gripe from Marc Cousin.
Back-patch to 8.4 where the feature was introduced.

- In pgsql/contrib/pgstattuple/pgstattuple.c, ensure that
contrib/pgstattuple functions respond to cancel interrupts
reasonably promptly, by adding CHECK_FOR_INTERRUPTS in the per-page
loops. Tatsuhito Kasahara.

- In pgsql/src/bin/psql/command.c, \ddp should be recognized as such
even if user appends S or + to it. Those options do nothing right
now, but might be wanted later, and in any case it's confusing for
the command to be interpreted as \dd if anything is appended. Per
Jaime Casanova.

- In pgsql/doc/src/sgml/ref/alter_default_privileges.sgml, minor
wording improvement.

- In pgsql/src/backend/commands/async.c, improve phrasing of warning
message for NOTIFY queue getting too full. Per gripe from Peter
Eisentraut.

- Fix updateAclDependencies() to not assume that ACL role dependencies
can only be added during GRANT and can only be removed during
REVOKE; and fix its callers to not lie to it about the existing set
of dependencies when instantiating a formerly-default ACL. The
previous coding accidentally failed to malfunction so long as
default ACLs contain only references to the object's owning role,
because that role is ignored by updateAclDependencies. However this
is obviously pretty fragile, as well as being an undocumented
assumption. The new coding is a few lines longer but IMO much
clearer.

- Arrange to remove pg_default_acl entries completely if their ACL
setting is changed to match the hard-wired default. This avoids
accumulating useless catalog entries, and also provides a path for
dropping the owning role without using DROP OWNED BY. Per
yesterday's complaint from Jaime Casanova, the need to use DROP
OWNED BY for that is less than obvious, so providing this
alternative method might save some user frustration.

- In pgsql/doc/src/sgml/release-9.0.sgml, clean up description of
9.0's incompatible changes in SIMILAR TO and SQL-style substring().

Simon Riggs committed:

- In pgsql/src/backend/access/transam/recovery.conf.sample, edit
recovery.conf.sample so it matches docs. Change standby_mode
example to 'on or 'off' rather than 'true' or 'false', as shown in
docs. Add restartpoint_command. Add section header for recovery
target parameters, matching docs.

- In pgsql/src/backend/access/transam/xlog.c, move system startup
message prior to any calls out of data directory. This allows us to
see what mode the server is in before it starts to perform actions
that can block or hang. Otherwise server messages may not appear
until after messages that say FATAL the database server is starting
up.

- Clarify some behaviours of REASSIGN OWNED and DROP OWNED BY.

- In pgsql/src/backend/access/transam/xlog.c, check compulsory
parameters in recovery.conf in standby_mode, per docs.

- In pgsql/doc/src/sgml/stylesheet-man.xsl, allow for more room in the
man page title, so that "CREATE TEXT SEARCH CONFIGURATION" is not
truncated.

Peter Eisentraut committed:

- In pgsql/doc/src/sgml/plpython.sgml, add some documentation about
PL/Python limitations. Suggested by Steve White (bug #5272)

- In pgsql/doc/src/sgml/plpython.sgml, add some information about what
it means for PL/Python to be untrusted. Similar information already
appears in the PL/Perl and PL/Tcl chapters.

- In pgsql/doc/src/sgml/datatype.sgml, add note that XML Schema
validation is not supported. Requested by Andrew Lardinois.

- Separate targets "make docs" and "make install-docs" for the
documentation. It is no longer installed by default, but included
in "make world"/"make install-world". Documentation updated
accordingly. Also, fix vpathsearch function to work when calling
make install-docs without previous make docs.

- In pgsql/src/backend/libpq/auth.c, message tuning.

- In pgsql/doc/src/sgml/Makefile, fix the build and install rules for
man pages with SQL section != 7. The previous coding failed in
various scenarios possibly including vpath builds and doing make
install without preceding make all.

- Remove unnecessary xref endterm attributes and title ids. The
endterm attribute is mainly useful when the toolchain does not
support automatic link target text generation for a particular
situation. In the past, this was required by the man page tools for
all reference page links, but that is no longer the case, and it now
actually gets in the way of proper automatic link text generation.
The only remaining use cases are currently xrefs to refsects.

- In pgsql/doc/src/sgml/func.sgml, clarify documentation of to_char
EEEE pattern.

- In pgsql/src/interfaces/ecpg/preproc/type.c, message quoting style
tuning.

Bruce Momjian committed:

- In pgsql/src/backend/utils/misc/postgresql.conf.sample, add comma
missing from postgresql.conf comment.

- In pgsql/src/backend/access/nbtree/nbtxlog.c, properly initialize
local varaible in btree_xlog_delete_get_latestRemovedXid(). This
variable was only tested in assert builds.

- Change recovery.conf.sample to match postgresql.conf by showing only
default values, with example comments.

- In pgsql/doc/src/sgml/backup.sgml, document why 'cp -i </dev/null'
is suggested for archive command.

- In pgsql/doc/src/sgml/backup.sgml, clarify ellipses use in
archive_command example, per Josh Kupershmidt.

- In pgsql/doc/src/sgml/backup.sgml, Revert change that prevented
ellipses from looking like ../.

- Improve 9.0 release notes by removing extra parentheses and linking
to a more appropriate place for exclusion constraints.

- In pgsql/doc/src/sgml/backup.sgml, use test -e rather than test -f.

- In pgsql/doc/src/sgml/release-9.0.sgml, add full names for release
note item authors.

- In pgsql/doc/src/sgml/ddl.sgml, add contraint exclusion section to
contraint docs. ITAGAKI Takahiro.

- In pgsql/doc/src/sgml/backup.sgml, change test -e to test -f in
docs, for portability.

Heikki Linnakangas committed:

- In pgsql/src/backend/access/transam/xlog.c, change the retry-loop in
standby mode to also try restoring files from pg_xlog directory.
This is essential for replaying WAL records that were streamed from
the master, after a standby server restart. If a corrupt record is
seen in a file restored from the archive or streamed from the
master, log it as a WARNING and keep retrying. If the corruption is
permanent, and not just a glitch in the whatever copies the files to
the archive or a network error not caught by CRC checks in TCP for
example, we will keep retrying and logging the WARNING indefinitely.
But that's better than shutting down completely, the standby is
still useful for running read-only queries. In PITR the recovery
ends at such a corrupt record, which is a bit questionable, but
that's the behavior we had in previous releases and we don't feel
like chaning it now. It does make sense for tools like pg_standby.

- In pgsql/doc/src/sgml/high-availability.sgml, enhance documentation
of the built-in standby mode, explaining the retry loop in standby
mode, trying to restore from archive, pg_xlog and streaming. Move
sections around to make the high availability chapter more coherent:
the most prominent part is now a "Log-Shipping Standby Servers"
section that describes what a standby server is (like the old "Warm
Standby Servers for High Availability" section), and how to set up a
warm standby server, including streaming replication, using the
built-in standby mode. The pg_standby method is described in
another section called "Alternative method for log shipping", with
the added caveat that it doesn't work with streaming replication.

- In pgsql/doc/src/sgml/client-auth.sgml, mention that if special
keywords like "sameuser" and "replication" are quoted in
pg_hba.conf, they lose their special meaning.

- In pgsql/doc/src/sgml/high-availability.sgml, enhance standby
documentation. Original patch by Fujii Masao, with heavy editing
and bitrot-fixing after my other commit.

- In pgsql/doc/src/sgml/high-availability.sgml, fix typos, spotted by
Thom Brown.

- In pgsql/src/backend/postmaster/syslogger.c, don't pass an invalid
file handle to dup2(). That causes a crash on Windows, thanks to a
feature in CRT called Parameter Validation. Backpatch to 8.2, which
is the oldest version supported on Windows. In 8.2 and 8.3 also
backpatch the earlier change to use DEVNULL instead of NULL_DEV
#define for a /dev/null-like device. NULL_DEV was hard-coded to
"/dev/null" regardless of platform, which didn't work on Windows,
while DEVNULL works on all platforms. Restarting syslogger didn't
work on Windows on versions 8.3 and below because of that.

Michael Meskes committed:

- Give a more precise error message if a variable is re-used as cursor
name in ecpg.

- Applied Zoltan's patch to make ecpg spit out warnings if a local
variable hides a global one with the same name.

- Zoltan Boszormenyi beautified his hidden-variable-patch for ecpg.
This also makes sure we get an error message instead of a warning if
the variable have different types.

- In pgsql/src/interfaces/ecpg/preproc/type.c, FATAL errors are meant
to stop ecpg immediately, e.g. because the syntax is corrupted.
This error, however, does is not a compilation problem but a runtime
one, so we can keep compiling but still have to declare ERROR.

- In pgsql/src/interfaces/ecpg/preproc/ecpg.c, make ecpg in line with
other compilers in that it deletes its output if there was an error
processing the input file. Work done by Zoltan Boszormenyi.

Robert Haas committed:

- Refer to max_wal_senders in a more consistent fashion. The error
message now makes explicit reference to the GUC that must be changed
to fix the problem, using wording suggested by Tom Lane. Along the
way, rename the GUC from MaxWalSenders to max_wal_senders for
consistency and grep-ability.

- Version stamp 9.0alpha5.

Andrew Dunstan committed:

- Use a file of patterns of filenames to exclude from pgindent runs,
instead if using multiple invocations of egrep. Add perl ppport.h
to the current list.

- Sync perl's ppport.h on all branches back to 7.4 with recent update
on HEAD, ensuring we can build older branches with modern Perl
installations.

- In pgsql/contrib/fuzzystrmatch/dmetaphone.c, make dmetaphone.c safe
for pgindent and fussy compilers. Still to do: make it properly
encoding aware w.r.t. chars U+00C7 and U+00D1.

- In pgsql/src/tools/pgindent/pgindent, exclude unwanted typedef
symbols in pgindent, including FD_SET which is found on some Windows
platforms. Also, silence unnecessary messages and +make awk happier
about literal '*' on some platforms.

Magnus Hagander committed:

- In pgsql/contrib/pageinspect/heapfuncs.c, fix minor typos in
comments. Josh Kupershmidt.

- Update a number of broken links in comments. Josh Kupershmidt.

ITAGAKI Takahiro committed:

- In pgsql/src/bin/pg_ctl/pg_ctl.c, use a new API rather than a
deprecated one in in cygwin. cygwin_conv_to_full_win32_path should
be replaced with cygwin_conv_path.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

David Christensen sent in a patch for 9.1 to add a -C option to
initdb, which would then allow people to set various postgresql.conf
directives.

Robert Haas sent in a patch to add the maximum number of keys for a
syscache from 4 to 5. This is support infrastructure, at first, for
K-Nearest Neighbor GiST searches.

ITAGAKI Takahiro sent in a patch to fix an issue with PG_MODULE_MAGIC
on Windows builds with MSVC.

Pavel Stehule sent in a patch to allow psql's \ef (edit function) to
take an optional "lines offset" option, and adds a \sf[+] to show the
body.

Fujii Masao sent in a doc patch for streaming replication.

Fujii Masao sent in two updated patches to add a new smart shutdown
mode for hot standby and streaming replication.

Fujii Masao sent in another revision of a patch for streaming
replication which adds handling for timeline and location to
pg_xlogfile_name().

Mike Lewis sent in two revisions of a patch to detoast the headers for
arrays in contrib/intarray before detoasting what's needed of the
rest. This makes accesses to large arrays faster.

Fujii Masao and Thom Brown traded patches to clarify messages around
error conditions for streaming replication.

ITAGAKI Takahiro sent in a doc patch which adds exclusion constraints
as a primary index term.

Zoltan Boszormenyi sent in a patch for ECPG intended to resolve an
issue with standard DECLARE behavior on cursors.

Pavel Stehule sent in two more revisions of the fulltext dictionary
preload patch using mmap().

Zoltan Boszormenyi sent in another revision of the ECPG patch to check
for variables hidden by local ones.

Peter Eisentraut sent in a patch to change casts and operators to
include pg_catalog qualification.

Fujii Masao sent in a patch per Heikki Linnakangas's suggestion to
make ReservedBackends = superuser_reserved_connections +
max_wal_senders and MaxBackends = max_connections +
autovacuum_max_workers + max_wal_senders + 1.

Yeb Havinga sent in another version of the patch to make EXPLAIN's
subplans clearer.

Zoltan Boszormenyi sent in a WIP patch for ECPG which deletes the
output file when certain kinds of error occur.

Browse pgsql-announce by date

  From Date Subject
Next Message Greg Sabino Mullane 2010-04-06 19:56:57 GnuPG / PGP signed checksums for PostgreSQL 8.4.3, 8.3.10, 8.2.16, 8.1.20, 8.0.24, and 7.4.28
Previous Message Hans-Juergen Schoenig -- PostgreSQL 2010-04-02 09:47:56 ODBC-Link 1.0 for PostgreSQL released