== PostgreSQL Weekly News - July 20 2008 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - July 20 2008 ==
Date
Msg-id 20080721051004.GA21917@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - July 20 2008 ==

New Survey: How do you usually install or update PostgreSQL?
http://www.posgresql.org/community

Peter Eisentraut of the Core Team today took a PostgreSQL development
job at Sun Microsystems.  At the same time, Josh Berkus left Sun, but
he hasn't said yet where he's going.

== PostgreSQL Product News ==

check_postgres 2.0.1 released.
http://bucardo.org/check_postgres/

Code Factory 8.7 for Windows released.
http://www.sqlmaestro.com/products/postgresql/codefactory/

Markus Wanner (ne Schiltknecht) has released a patch vs. CVS HEAD for Postgres-R.
http://www.postgres-r.org/downloads/

2ndQuandrant PostgreSQL Administration using Navicat training released.
http://www.2ndQuadrant.com/training.htm

== PostgreSQL Jobs for July ==

http://archives.postgresql.org/pgsql-jobs/2008-07/threads.php

== PostgreSQL Local ==

Sponsor the European PGDay!
http://www.pgday.org/en/sponsors/campaign

The Call for Papers for European PGDay has begun.
http://www.pgday.org/en/call4papers

TorontoPUG meeting will be on July 28.
http://pugs.postgresql.org/torontopug

pgDay San Francisco will be August 5.  Schedule:
http://pugs.postgresql.org/node/447
Register here:
http://www.linuxworldexpo.com/live/12/ehall//SN460564

PGCon Brazil 2008 will be on September 26-27 at Unicamp in Campinas.
http://pgcon.postgresql.org.br/index.en.html

PGDay.(IT|EU) 2008 will be October 17 and 18 in Prato.
http://www.pgday.org/it/

== PostgreSQL in the News ==

Planet PostgreSQL: http://www.planetpostgresql.org/

General Bits, Archives and occasional new articles:
http://www.varlena.com/GeneralBits/

PostgreSQL Weekly News is brought to you this week by David Fetter
and Josh Berkus.

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

- pgsql/src/include/storage/bufpage.h, clean up buildfarm failures
  arising from the seemingly straightforward page macros patch :-(.
  Results from both baiji and mastodon imply that MSVC fails to
  perceive offsetof(PageHeaderData, pd_linp[0]) as a constant
  expression in some contexts where offsetof(PageHeaderData, pd_linp)
  works fine.  Sloth, thy name is Macro.

- Support "variadic" functions, which can accept a variable number of
  arguments so long as all the trailing arguments are of the same
  (non-array) type.  The function receives them as a single array
  argument (which is why they have to all be the same type).  It might
  be useful to extend this facility to aggregates, but this patch
  doesn't do that.  This patch imposes a noticeable slowdown on
  function lookup --- a follow-on patch will fix that by adding a
  redundant column to pg_proc.  Pavel Stehule

- Add a "provariadic" column to pg_proc to eliminate the remarkably
  expensive need to deconstruct proargmodes for each pg_proc entry
  inspected by FuncnameGetCandidates().  Fixes function lookup
  performance regression caused by yesterday's variadic-functions
  patch.  In passing, make pg_proc.probin be NULL, rather than a dummy
  value '-', in cases where it is not actually used for the particular
  type of function.  This should buy back some of the space cost of
  the extra column.

- In pgsql/src/backend/commands/tablecmds.c, fix previous patch so
  that it actually works --- consider TRUNCATE foo, public.foo.

- In pgsql/src/backend/nodes/outfuncs.c, add dump support for SortBy
  nodes.  Needed this while debugging a reported problem with
  DISTINCT, so might as well commit it.

- Implement SQL-spec RETURNS TABLE syntax for functions.  (Unlike the
  original submission, this patch treats TABLE output parameters as
  being entirely equivalent to OUT parameters -- tgl) Pavel Stehule.

- In pgsql/src/bin/psql/describe.c, suppress compiler warning, and not
  incidentally make the code more robust.  The previous coding was
  quite risky because it was testing conditions different from 'is the
  array really allocated?'.

- In pgsql/src/backend/storage/ipc/sinvaladt.c, fix a race condition
  that I introduced into sinvaladt.c during the recent rewrite.  When
  called from SIInsertDataEntries, SICleanupQueue releases the write
  lock if it has to issue a kill() to signal some laggard backend.
  That still seems like a good idea --- but it's possible that by the
  time we get the lock back, there are no longer enough free message
  slots to satisfy SIInsertDataEntries' requirement.  Must recheck,
  and repeat the whole SICleanupQueue process if not.  Noted while
  reading code.

- Provide a function hook to let plug-ins get control around
  ExecutorRun.  ITAGAKI Takahiro

- Adjust things so that the query_string of a cached plan and the
  sourceText of a portal are never NULL, but reliably provide the
  source text of the query.  It turns out that there was only one
  place that was really taking a short-cut, which was the 'EXECUTE'
  utility statement.  That doesn't seem like a sufficiently critical
  performance hotspot to justify not offering a guarantee of validity
  of the portal source text.  Fix it to copy the source text over from
  the cached plan.  Add Asserts in the places that set up cached plans
  and portals to reject null source strings, and simplify a bunch of
  places that formerly needed to guard against nulls.  There may be a
  few places that cons up statements for execution without having any
  source text at all; I found one such in ConvertTriggerToFK().  It
  seems sufficient to inject a phony source string in such a case, for
  instance ProcessUtility((Node *) atstmt, "(generated ALTER TABLE ADD
  FOREIGN KEY command)", NULL, false, None_Receiver, NULL); We should
  take a second look at the usage of debug_query_string, particularly
  the recently added current_query() SQL function.  ITAGAKI Takahiro
  and Tom Lane

- Avoid substituting NAMEDATALEN, FLOAT4PASSBYVAL, and FLOAT8PASSBYVAL
  into the postgres.bki file during build, because we want that file
  to be entirely platform- and configuration-independent; else it
  can't safely be put into /usr/share on multiarch machines.  We can
  do the substitution during initdb, instead.  FLOAT4PASSBYVAL and
  FLOAT8PASSBYVAL are new breakage as of 8.4, while the NAMEDATALEN
  hazard has been there all along but I guess no one tripped over it.
  Noticed while trying to build "universal" OS X binaries.

- Add a pg_dump option --lock-wait-timeout to allow failing the dump
  if unable to acquire shared table locks within a specified amount of
  time.  David Gould.

- Code review for array_fill patch: fix inadequate check for array
  size overflow and bogus documentation (dimension arrays are int[]
  not anyarray).  Also the errhint() messages seem to be really
  errdetail(), since there is nothing heuristic about them.  Some
  other trivial cosmetic improvements.

Bruce Momjian committed:

- Mark TODO as done, per Simon Riggs: "Fix server restart problem when
  the server was shutdown during a PITR backup."

- Add URL for TODO: "Consider allowing control of upper/lower case
  folding of unquoted identifiers."

- Mark TODO as done: "Add temporal versions of generate_series()."

- In psql, rename trans_* variables to translate_* for clarity.

- In pgsql/src/bin/psql/describe.c, add column storage type to psql
  \d+ display.  Gregory Stark.

- Add to TODO: "Improve ability to modify views via ALTER TABLE."

- In pgsql/src/bin/psql/describe.c, add comment about literal strings
  in our syntax not being translated in psql.

- In pgsql/doc/src/sgml/charset.sgml, clarify that locale names on
  Windows are more verbose.  Report from Martin Saschek

- In pgsql/src/bin/psql/describe.c, have psql \d show the value of
  sequence columns.  Dickson S. Guedes.

- Mark TODO as done: "Have psql show current values for a sequence."

- Add TODO: "Consider decreasing the I/O caused by updating tuple hint
  bits."

- In pgsql/src/bin/psql/describe.c, addendum:  psql sequence value
  display patch was originally written by Euler Taveira de Oliveira.

- Add to TODO: "Reduce PITR WAL file size by removing full page writes
  and by removing trailing bytes to improve compression."

- In pgsql/doc/src/sgml/charset.sgml, add Swedish_Sweden.1252 Windows
  locale example to docs.

- In pgsql/doc/src/sgml/func.sgml, fix alignment of SGML array docs.

- Add array_fill() to create arrays initialized with a value.  Pavel
  Stehule.

- Add to TODO: "Add external tool to auto-tune some postgresql.conf
  parameters."

- In pgsql/src/backend/commands/tablecmds.c, allow TRUNCATE foo, foo
  to succeed, per report from Nikhils.

- Add URL for TODO: "Implement SQL:2003 window functions."

- Add to TODO: "Reduce locking requirements for creating a trigger."

- Add URL for TODO: "Implement SQL:2003 window functions."

- In psql, run .psqlrc _after_ printing warnings and banner.

- Properly document archive/restore command examples on Windows.
  ITAGAKI Takahiro

- In pgsql/src/bin/psql/startup.c, revert patch so .psqlrc can
  suppress startup banner.  Run .psqlrc _after_ printing warnings and
  banner.

Alvaro Herrera committed:

- In pgsql/src/backend/postmaster/autovacuum.c, avoid crashing when a
  table is deleted while we're on the process of checking it.  Per
  report from Tom Lane based on buildfarm evidence.

- Add MSVC++ debug libraries to .cvsignore.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

ITAGAKI Takahiro sent in another revision of his patch executor_hook
for pg_stat_statements patch.

Xiao Meng sent in three revisions of his patch to improve the
performance of hash indexes.

David Wheeler sent in another revision of his case-insensitive text
patch.

Sushant Sinha sent in three patches to update the tsearch2
documentation and add regression testing for the case when cover size
is larger than MaxWords.

Simon Riggs sent in two revisions of a patch designed to report when
we're doing an anti-wraparound VACUUM.

Jan Urbanski sent in a WIP patch to create an oprrest function for
tsvector @@ tsquery and tsquery @@ tsvector.

Simon Riggs sent in another revision of his patch to add pg_dump
options --schema-pre-load and --schema-post-load.


pgsql-announce by date:

Previous
From: Simon Riggs
Date:
Subject: PostgreSQL Administration using Navicat
Next
From: Simon Riggs
Date:
Subject: Sponsorship for Replication