Skip to content

Wöchentlicher PostgreSQL Newsletter - 04. April 2010

Der Originalartikel befindet sich unter:

== Wöchentlicher PostgreSQL Newsletter - 04. April 2010 ==

Der CfP für CHAR(10) in Oxford, England vom 1. bis 3. Juli 2010
ist offen. Proposals sind bis zum 20. April einzureichen.

Bruce Momjian wird über PostgreSQL Replikationslösungen auf dem
NYPUG Treffen am 20. April um 18:30-20:30 im Penn Plaza sprechen.
Details und Anmeldung unter:

Das Southeast Linuxfest 2010 findet in Spartanburg, SC, USA am
12. und 13. Juni statt. Stände und Sponsoringmöglichkeiten sind
noch verfügbar.

== PostgreSQL 9.0 Feature der Woche ==

Es gibt jetzt einen ALTER DEFAULT PRIVILEGES Befehl, welcher es dir
erlaubt, die Zugriffsrechte für zukünftig erstellte Objekte festzulegen.

== PostgreSQL Jobs im April ==

== PostgreSQL Lokal ==

Linuxfest Nordwest 2010 findet in Bellingham, Washington, USA am
24. und 25. April statt. Vortragsreihen, Stände und Sponsoring
sind verfügbar.

Andreas (ads) Scherbaum hält einen Kurs "PostgreSQL im
Unternehmenseinsatz" an der VHS Magdeburg, Deutschland, vom 03. bis 07.
Mai 2010. Details unter:

PgCon 2010 findet vom 20.-21. Mai 2010 in Ottawa statt mit Tutorials
vorher am 18. und 19.

Der CfP für OSBridge ist eröffnet! OSBridge findet vom 1. bis 4.
Juni 2010 in Portland, Oregon statt.

OSCON wird in Portland, Oregon vom 19. bis 23. Juli 2010 stattfinden.

== PostgreSQL in den News ==

Planet PostgreSQL:

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David

Sende Neuigkeiten und Ankündigungen bis Sonntag, 15 Uhr Pazifischer
Zeit. Bitte sende englische Beiträge an, deutsche an, italienische an

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

- 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

- 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

- 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

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

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

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

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

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

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

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

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.


No Trackbacks


Display comments as Linear | Threaded

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
Form options