== PostgreSQL Weekly News - October 10 2010 == - Mailing list pgsql-announce

From David Fetter
Subject == PostgreSQL Weekly News - October 10 2010 ==
Date
Msg-id 20101011061655.GH29408@fetter.org
Whole thread Raw
List pgsql-announce
== PostgreSQL Weekly News - October 10 2010 ==

The deadline for the CfP for MySQL Conf is October 25, 2010.  Mail
Selena Deckelman selenamarie <AT> gmail <DOT> com for feedback, help
with submissions, or help generating ideas.
http://en.oreilly.com/mysql2011/public/cfp/126

== PostgreSQL Product News ==

Another PostgreSQL Diff Tool 2.2.2, a tool for database diffs, released.
http://apgdiff.startnet.biz/

Slony-I 2.0.5, a master-to-multiple-cascading-replica system for
PostgreSQL, released.
http://www.slony.info/

== PostgreSQL Jobs for October ==

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

== PostgreSQL Local ==

Michael Renner will be doing a talk on Database Replication with PostgreSQL 9.0
on the 12th of October at the Metalab in Vienna, Austria.  Link & Info in de_AT:
http://metalab.at/wiki/PostgreSQL_repliziert_9.0

PgDay.IT 2010 will be in Rome this year December 10th.  The Call for
Papers is now open.
http://www.pgday.it/

Early bird registration for JDCon West 2010 is now open.
https://www.postgresqlconference.org/content/pgwest-2010-registration

Call for Papers for PGDay.EU 2010 held on December 6-8 in Stuttgart,
Germany is open.
http://2010.pgday.eu/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@fetter.org, German language
to pwn@pgug.de, Italian language to pwn@itpug.org.  Spanish language
to pwn@arpug.com.ar.

== Reviews ==

ITAGAKI Takahiro reviewed the patch to fix some access control leaks
in views.

== Applied Patches ==

Tom Lane pushed:

- Undo some poorly-thought-out "proofreading improvements".  Per
  Tatsuhito Kasahara.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=d79a1a138e5dc9bc190b907e754268e819678a2a

- Use a separate interpreter for each calling SQL userid in plperl and
  pltcl.  There are numerous methods by which a Perl or Tcl function
  can subvert the behavior of another such function executed later;
  for example, by redefining standard functions or operators called by
  the target function.  If the target function is SECURITY DEFINER, or
  is called by such a function, this means that any ordinary SQL user
  with Perl or Tcl language usage rights can do essentially anything
  with the privileges of the target function's owner.  To close this
  security hole, create a separate Perl or Tcl interpreter for each
  SQL userid under which plperl or pltcl functions are executed within
  a session.  However, all plperlu or pltclu functions run within a
  session still share a single interpreter, since they all execute at
  the trust level of a database superuser anyway.  Note: this change
  results in a functionality loss when libperl has been built without
  the "multiplicity" option: it's no longer possible to call plperl
  functions under different userids in one session, since such a
  libperl can't support multiple interpreters in one process.
  However, such a libperl already failed to support concurrent use of
  plperl and plperlu, so it's likely that few people use such versions
  with Postgres.  Security: CVE-2010-3433
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=50595b5fce2e15b5ef26b057799b4a4cdd1c10e8

- Reduce the memory requirement for large ispell dictionaries.  This
  patch eliminates per-chunk palloc overhead for most small
  allocations needed in the representation of an ispell dictionary.
  This saves close to a factor of 2 on the current Czech ispell data.
  While it doesn't cover every last small allocation in the ispell
  code, we are at the point of diminishing returns, because about 95%
  of the allocations are covered already.  Pavel Stehule, rather
  heavily revised by Tom Lane.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=3e5f9412d0a818be77c974e5af710928097b91f3

- Clean up temporary-memory management during ispell dictionary
  loading.  Add explicit initialization and cleanup functions to
  spell.c, and keep all working state in the already-existing
  ISpellDict struct.  This lets us get rid of a static variable along
  with some extremely shaky assumptions about usage of child memory
  contexts.  This commit is just code beautification and has no impact
  on functionality or performance, but it opens the way to a
  less-grotty implementation of Pavel Stehule's memory-saving hack,
  which will follow shortly.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9b910def24e85c1c4ff993eae0fe511271fc8682

- Teach CLUSTER to use seqscan-and-sort when it's faster than
  indexscan.  ... or at least, when the planner's cost estimates say
  it will be faster.  Leonardo Francalanci, reviewed by Itagaki
  Takahiro and Tom Lane
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=3ba11d3df2115b04171a8eda8e0389e02578d8d0

- Eliminate some repetitive coding in tuplesort.c.  Use a macro
  LogicalTapeReadExact() to encapsulate the error check when we want
  to read an exact number of bytes from a "tape".  Per a suggestion of
  Takahiro Itagaki.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=26a7b48e10bea67be719f5bb88cbaa8d4ec1c9b3

- Improve logging in VACUUM FULL VERBOSE and CLUSTER VERBOSE.  This
  patch resurrects some of the information that could be logged by the
  old, now-dead implementation of VACUUM FULL, in particular counts of
  live and dead tuples and the time taken for the table rebuild
  proper.  There's still no logging about the ensuing index rebuilds,
  though.  Itagaki Takahiro.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=9cc8c84e738737baed4b7edeaaa2bee35ad38847

- Fix sloppy usage of TRIGGER_FIRED_BEFORE/TRIGGER_FIRED_AFTER.
  Various places were testing TRIGGER_FIRED_BEFORE() where what they
  really meant was !TRIGGER_FIRED_AFTER(), or vice versa.  This needs
  to be cleaned up because there are about to be more than two
  possible states.  We might want to note this in the 9.1 release
  notes as something for trigger authors to double-check.  For
  consistency's sake I also changed some places that assumed that
  TRIGGER_FIRED_FOR_ROW and TRIGGER_FIRED_FOR_STATEMENT are
  necessarily mutually exclusive; that's not in immediate danger of
  breaking, but it's still sloppier than it should be.  Extracted from
  Dean Rasheed's patch for triggers on views.  I'm committing this
  separately since it's an identifiable separate issue, and is the
  only reason for the patch to touch most of these particular files.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=caaf2e84698940c093e6cf6203014883e4fb18c5

- Support triggers on views.  This patch adds the SQL-standard concept
  of an INSTEAD OF trigger, which is fired instead of performing a
  physical insert/update/delete.  The trigger function is passed the
  entire old and/or new rows of the view, and must figure out what to
  do to the underlying tables to implement the update.  So this
  feature can be used to implement updatable views using trigger
  programming style rather than rule hacking.  In passing, this patch
  corrects the names of some columns in the
  information_schema.triggers view.  It seems the SQL committee
  renamed them somewhere between SQL:99 and SQL:2003.  Dean Rasheed,
  reviewed by Bernd Helmle; some additional hacking by me.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=2ec993a7cbdd8e251817ac6bbc9a704ce8346f73

- Teach psql to do tab completion for names of psql variables.
  Completion is supported in the context of \set and when
  interpolating a variable value using :foo etc.  In passing, fix some
  places in tab-complete.c that weren't following project style for
  comment formatting.  Pavel Stehule, reviewed by Itagaki Takahiro.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=b48b9cb3a46d80401b122fd10780e8c623983a26

- Improve the planner's simplification of NOT constructs.  This patch
  merges the responsibility for NOT-flattening into
  eval_const_expressions' processing.  It wasn't done that way
  originally because prepqual.c is far older than
  eval_const_expressions.  But putting this work into
  eval_const_expressions saves one pass over the qual trees, and in
  fact saves even more than that because we can exploit the knowledge
  that the subexpressions have already been recursively simplified.
  Doing it this way also lets us do it uniformly over all expressions,
  whereas prepqual.c formerly just did it at top level to save cycles.
  That should improve the planner's ability to recognize
  logically-equivalent constructs.  While at it, also add the ability
  to fold a NOT into BooleanTest and NullTest constructs (the latter
  only for the scalar-datatype case).  Per discussion of bug #5702.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=220e45bf325b061b8dbd7451f87cedc07da61706

Simon Riggs pushed:

- Correct docs for behaviour of ALTER DATABASE .. RENAME during Hot
  Standby.  Actual behaviour did not match documented behaviour and we
  have agreed that it should be the docs that change.  Spotted by
  Bernd Helmle.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=bdf45797abe53a9e2bebd54e5475591e468a0ad1

Robert Haas pushed:

- Improve WAL reliability documentation, and add more cross-references
  to it.  In particular, we are now more explicit about the fact that
  you may need wal_sync_method=fsync_writethrough for crash-safety on
  some platforms, including MaxOS X.  There's also now an explicit
  caution against assuming that the default setting of wal_sync_method
  is either crash-safe or best for performance.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=694c56af2b586551afda624901d6dec951b58027

- Warn that views can be safely used to hide columns, but not rows.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=56ccff59806793198020a6a3d154bbce6dfb7a06

Bruce Momjian pushed:

- Single-word clarification in postgresql.conf
  log_truncate_on_rotation comment.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f7dbddac69d01fb27484ad27c1d042f36f55ea12

Peter Eisentraut pushed:

- Extensive ECPG documentation improvements.  Satoshi Nagayasu,
  reviewed and revised by Peter Eisentraut.  Since this introduces new
  refentries that we probably don't want to publish as man pages,
  tweak man page stylesheet to omit man pages without manvolnum
  element.  Peter Eisentraut.
  http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f7b15b5098ee89a2628129fbbef9901bded9d27b

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Dean Rasheed sent in three revsisions of a patch to implement median
and percentile aggregates.

Marko (johto) Tiikkaja sent in two revisions of a patch to fix
snapshot-taking inconsistencies, in the process deprecating
pg_parse_and_rewrite.

KaiGai Kohei sent in a patch to fix some of the access control leaks
in views, and Robert Haas sent in two revisions of a patch documenting
same.

Marko (johto) Tiikkaja and Hitoshi Harada traded patches to allow
top-level DML (INSERT, UPDATE, DELETE) in CTEs.

Bernd Helmle sent in another revision of the patch to extend NOT NULL
constraints.

Alexander Korotkov sent in two more revisions of the patch to improve
the Levenshtein functions to work with multi-byte character sets.

Craig Ringer sent in two revisions of a patch to enable crash dumps on
Windows.  Crash dumps are a Windows-specific debugging feature.

Gurjeet Singh sent in two revisions of a patch to allow labeling an
existing unique index, which could, for example, be created
concurrently, as a primary key.

Simon Riggs sent in a WIP patch to implement synchronous replication
with user-controlled durability specified on the master.


pgsql-announce by date:

Previous
From: Miroslav Šulc
Date:
Subject: Another PostgreSQL Diff Tool 2.2.2 released
Next
From: "Joshua D. Drake"
Date:
Subject: Alpha release of pure Javascript driver for PostgreSQL