PostgreSQL Weekly News December 20, 2009
authorDavid Fetter <david@fetter.org>
Mon, 21 Dec 2009 06:16:20 +0000 (06:16 +0000)
committerDavid Fetter <david@fetter.org>
Mon, 21 Dec 2009 06:16:20 +0000 (06:16 +0000)
git-svn-id: file:///Users/dpage/pgweb/svn-repo/trunk@2607 8f5c7a92-453e-0410-a47f-ad33c8a6b003

portal/files/weeklynews.xml
portal/template/en/community/weeklynews.html
portal/template/en/community/weeklynews/pwn20091220.html [new file with mode: 0644]

index 3c6266c8c2a37c4705df94fa917aed3d97dd7a7b..532b101d5823c4b584c1c80e37943d4cadb21040 100644 (file)
 <description></description>
 <language>en</language>
 
+<item>
+<title>PostgreSQL Weekly News December 20th 2009</title>
+<description>
+Commitfest 2009-11 is now closed.  Kudos to Greg Smith for managing
+this one, and to all who reviewed, patched, and otherwise
+participated.
+
+
+</description>
+<guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20091220</guid>
+<pubDate>Sun, 20 Dec 2009 00:00:00 PST</pubDate>
+</item>
 <item>
 <title>PostgreSQL Weekly News December 13th 2009</title>
 <description>
@@ -111,16 +123,5 @@ patches now :)
 <guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20091018</guid>
 <pubDate>Sun, 18 Oct 2009 00:00:00 PST</pubDate>
 </item>
-<item>
-<title>PostgreSQL Weekly News October 11th 2009</title>
-<description>
-The current commitfest ends this week, with alpha2 soon to follow.
-Get ready to test!
-
-
-</description>
-<guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20091011</guid>
-<pubDate>Sun, 11 Oct 2009 00:00:00 PST</pubDate>
-</item>
 </channel>
 </rss>
\ No newline at end of file
index 313b60d710d21fccec52480f0e399b57b5cdc015..73e32c5aee5c8884d2a72bd652320a42facb14f5 100644 (file)
@@ -9,6 +9,7 @@ Weekly News
 <p>To receive the Weekly News in your inbox, please subscribe to the <a href="/community/lists/subscribe">pgsql-announce@postgresql.org</a> mailing list.</p>
 
 <ul>
+    <li><a href="/community/weeklynews/pwn20091220">December 20th 2009</a></li>
     <li><a href="/community/weeklynews/pwn20091213">December 13th 2009</a></li>
     <li><a href="/community/weeklynews/pwn20091206">December 6th 2009</a></li>
     <li><a href="/community/weeklynews/pwn20091129">November 29th 2009</a></li>
diff --git a/portal/template/en/community/weeklynews/pwn20091220.html b/portal/template/en/community/weeklynews/pwn20091220.html
new file mode 100644 (file)
index 0000000..272652a
--- /dev/null
@@ -0,0 +1,569 @@
+<!-- BEGIN page_title_block -->
+Weekly News - December 20 2009
+<!-- END page_title_block -->
+
+<h1>PostgreSQL Weekly News - December 20 2009</h1>
+
+<p>
+Commitfest 2009-11 is now closed.  Kudos to Greg Smith for managing
+this one, and to all who reviewed, patched, and otherwise
+participated.
+</p>
+
+<p>
+The Call for Papers for East is open until January 30, 2010.  Details at:
+<a href="http://www.postgresqlconference.org/">http://www.postgresqlconference.org/</a>
+</p>
+
+<p>
+PgUS 2009 Board Elections are happening now.
+<a href="https://www.postgresql.us/elections/2009">https://www.postgresql.us/elections/2009</a>
+</p>
+
+<p>
+Seeking booth staffers for Open Day Linux Conf AU in Wellington, NZ
+January 23, 2009, 11-2pm, Contact selena -at- postgresql.org to
+volunteer.
+</p>
+
+<h2>PostgreSQL Product News</h2>
+<p>
+Alerce 1.0.0, a synchronous replication system for Python, released.
+<a href="http://pgfoundry.org/projects/pyreplica/">http://pgfoundry.org/projects/pyreplica/</a>
+</p>
+
+<p>
+Gluster Storage Platform 3.0 released.
+<a href="http://www.gluster.org/">http://www.gluster.org/</a>
+</p>
+
+<p>
+pgpool-II 2.3.1, a connection pooler and more, released.
+<a href="http://pgfoundry.org/projects/pgpool/">http://pgfoundry.org/projects/pgpool/</a>
+</p>
+
+<p>
+pg_rman 1.1.1, an online backup and restore tool for PostgreSQL, released.
+<a href="http://code.google.com/p/pg-rman/">http://code.google.com/p/pg-rman/</a>
+</p>
+
+<p>
+Devrim GUNDUZ has created a new LiveCD based on Fedora 12 and
+PostgreSQL 8.4.2.
+<a href="http://pglivecd.org/">http://pglivecd.org/</a>
+</p>
+
+<h2>PostgreSQL 8.5 Feature of the Week</h2>
+<p>
+WHEN clauses on Triggers.  In 8.5Alpha3, you will be able to create
+triggers with a WHEN clause so that they will only execute if specific
+values or conditions occur.  Thanks Itagaki Takahiro and the NTT team.
+</p>
+
+<h2>PostgreSQL Tip of the Week</h2>
+<p>
+Tip Of The Week: PostgreSQL comes with 3 ways to handle trees: WITH
+RECURSIVE queries, the ltree contrib module, and the connect_by()
+function in the tablefunc supplied module.
+</p>
+
+<h2>PostgreSQL Jobs for December</h2>
+<p>
+<a href="http://archives.postgresql.org/pgsql-jobs/2009-12/threads.php">http://archives.postgresql.org/pgsql-jobs/2009-12/threads.php</a>
+</p>
+
+<h2>PostgreSQL Local</h2>
+<p>
+The New York Capital District PUG's first meeting will be January 7,
+2010.
+<a href="http://nycdpug.x10hosting.com/">http://nycdpug.x10hosting.com/</a>
+</p>
+
+<p>
+Stefan Keller will be teach a course called, "Introducion to 
+PostGIS/PostgreSQL" at the University of Applied Sciences Rapperswil
+(HSR) on January 14, 2010 in Zurich, Switzerland.
+<a href="http://www.gis.hsr.ch/wiki/Agenda">http://www.gis.hsr.ch/wiki/Agenda</a>
+</p>
+
+<p>
+PGDay-Cuba 2010 will be held 4-6 February 2010, in La Havana at the
+University of Science Informatic.  Attendees from Cuba, the Dominican
+Republic and Venezuela are invited.
+</p>
+
+<p>
+FOSDEM 2010 will be in Brussels, Belgium on February 6-7, 2010.
+<a href="http://www.fosdem.org/">http://www.fosdem.org/</a>
+</p>
+
+<p>
+Chemnitzer Linuxtage will be in Chemnitz, Germany on March 13-14, 2010.
+<a href="http://chemnitzer.linux-tage.de/">http://chemnitzer.linux-tage.de/</a>
+</p>
+
+<p>
+PgCon 2010 will be held May 20-21 2010 in Ottawa with tutorials before
+on the 18th and 19th.  The RfP is open!
+<a href="http://www.pgcon.org/2010/papers.php">http://www.pgcon.org/2010/papers.php</a>
+</p>
+
+<h2>PostgreSQL in the News</h2>
+<p>
+Planet PostgreSQL: <a href="http://planet.postgresql.org/">http://planet.postgresql.org/</a>
+</p>
+
+<p>
+PostgreSQL Weekly News is brought to you this week by David Fetter
+and Josh Berkus.
+</p>
+
+<p>
+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.
+</p>
+
+<h2>Reviews</h2>
+<p>
+Greg Smith reviewed ITAGAKI Takahiro's latest patch to enable pgbench
+to launch shell commands.
+</p>
+
+<p>
+Marko Kreen reviewed Kurt Harriman's patch to remove the gcc
+dependency in the definition of inline functions.
+</p>
+
+<p>
+Hiroyuki Yamada found a bug in hot standby where it can freeze when
+the startup process calls LockBufferForCleanup(), complete with repro.
+</p>
+
+<h2>Applied Patches</h2>
+<p>
+ITAGAKI Takahiro committed:
+</p>
+
+<p>
+- In pgsql/src/bin/pg_ctl/pg_ctl.c, fix pg_ctl initdb without options.
+  Passing NULL string to snprintf is avoided.
+</p>
+
+<p>
+- Add \shell and \setshell meta commands to pgbench.  \shell command
+  runs an external shell command.  \setshell also does the same and
+  sets the result to a variable.  Original patch by Michael Paquier
+  with some editorialization by ITAGAKI Takahiro, and reviewed by Greg
+  Smith.
+</p>
+
+<p>
+- In pgsql/doc/src/sgml/ref/alter_large_object.sgml, add missing Id
+  keyword to alter_large_object.sgml.
+</p>
+
+<p>
+- Add a whitespace to fix the query to dump large objects.
+  PL/pgSQL-by-default patch broke the code for 8.3 <= server_version <
+  8.5.
+</p>
+
+<p>
+Robert Haas committed:
+</p>
+
+<p>
+- Add an EXPLAIN (BUFFERS) option to show buffer-usage statistics.
+  This patch also removes buffer-usage statistics from the
+  track_counts output, since this (or the global server statistics) is
+  deemed to be a better interface to this information.  Itagaki
+  Takahiro, reviewed by Euler Taveira de Oliveira.
+</p>
+
+<p>
+- Several fixes for EXPLAIN (FORMAT YAML), plus one for EXPLAIN
+  (FORMAT JSON).  ExplainSeparatePlans() was busted for both JSON and
+  YAML output - the present code is a holdover from the original
+  version of my machine-readable explain patch, which didn't have the
+  grouping_stack machinery.  Also, fix an odd distribution of labor
+  between ExplainBeginGroup() and ExplainYAMLLineStarting() when
+  marking lists with "- ", with each providing one character.  This
+  broke the output format for multi-query statements.  Also, fix
+  ExplainDummyGroup() for the YAML output format.  Along the way, make
+  the YAML format use escape_yaml() in situations where the JSON
+  format uses escape_json().  Right now, it doesn't matter because all
+  the values are known not to need escaping, but it seems safer this
+  way.  Finally, I added some comments to better explain what the YAML
+  output format is doing.  Greg Sabino Mullane reported the issues
+  with multi-query statements.  Analysis and remaining cleanups by
+  Robert Haas.
+</p>
+
+<p>
+- Improve documentation for pg_largeobject changes.  Rewrite the
+  documentation in more idiomatic English, and in the process make it
+  somewhat more succinct.  Move the discussion of specific large
+  object privileges out of the "server-side functions" section, where
+  it certainly doesn't belong, and into "implementation features".
+  That might not be exactly right either, but it doesn't seem worth
+  creating a new section for this amount of information. Fix a few
+  spelling and layout problems, too.
+</p>
+
+<p>
+- Fix a few typos in the latest 8.5alpha3 release notes.
+</p>
+
+<p>
+- In pgsql/doc/src/sgml/backup.sgml, fix two small typos in Hot
+  Standby docs.  John Naylor.
+</p>
+
+<p>
+- More cleanups for the recent large object permissions patch.
+  Rewrite or adjust various comments for clarity.  Remove one bogus
+  comment that doesn't reflect what the code actually does.  Improve
+  the description of the lo_compat_privileges option.
+</p>
+
+<p>
+Tom Lane committed:
+</p>
+
+<p>
+- In pgsql/doc/src/sgml/pgbench.sgml, fix broken markup.
+</p>
+
+<p>
+- Support ORDER BY within aggregate function calls, at long last
+  providing a non-kluge method for controlling the order in which
+  values are fed to an aggregate function.  At the same time eliminate
+  the old implementation restriction that DISTINCT was only supported
+  for single-argument aggregates.  Possibly release-notable behavioral
+  change: formerly, agg(DISTINCT x) dropped null values of x
+  unconditionally.  Now, it does so only if the agg transition
+  function is strict; otherwise nulls are treated as DISTINCT normally
+  would, ie, you get one copy.  Andrew Gierth, reviewed by Hitoshi
+  Harada.
+</p>
+
+<p>
+- Add a hook to let loadable modules get control at ProcessUtility
+  execution, and use it to extend contrib/pg_stat_statements to track
+  utility commands.  Itagaki Takahiro, reviewed by Euler Taveira de
+  Oliveira.
+</p>
+
+<p>
+- In pgsql/src/backend/tsearch/wparser_def.c, avoid unnecessary
+  copying of source string when generating a cloned TParser.  For long
+  source strings the copying results in O(N^2) behavior, and the
+  multiplier can be significant if wide-char conversion is involved.
+  Andres Freund, reviewed by Kevin Grittner.
+</p>
+
+<p>
+- Avoid a premature coercion failure in transformSetOperationTree()
+  when presented with an UNKNOWN-type Var, which can happen in cases
+  where an unknown literal appeared in a subquery.  While many such
+  cases will fail later on anyway in the planner, there are some cases
+  where the planner is able to flatten the query and replace the Var
+  by the constant before it has to coerce the union column to the
+  final type.  I had added this check in 8.4 to provide earlier/better
+  error detection, but it causes a regression for some cases that
+  worked OK before.  Fix by not making the check if the input node is
+  UNKNOWN type and not a Const or Param.  If it isn't going to work,
+  it will fail anyway at plan time, with the only real loss being
+  inability to provide an error cursor.  Per gripe from Britt Piehler.
+  In passing, rename a couple of variables to remove confusion from an
+  inner scope masking the same variable names in an outer scope.
+</p>
+
+<p>
+- Force the TZ environment variable to be set during initdb.  This is
+  to short-circuit the rather expensive identify_system_timezone()
+  procedure, which we have no real need for during initdb since
+  nothing done here depends on the timezone setting.  Since we launch
+  quite a few standalone backends during the initdb sequence, this
+  adds up to a significant savings, and seems worth doing to save
+  developer time even though it will hardly matter to end users.  Per
+  my report today on pgsql-hackers.
+</p>
+
+<p>
+- Fix link that doesn't work in standalone INSTALL document.
+</p>
+
+<p>
+- Bump catversion to reflect the fact that Hiroshi Saito patch changed
+  pg_proc contents, and PG_CONTROL_VERSION to reflect the fact that it
+  changed pg_control contents.  (I see we did at least remember to
+  change XLOG_PAGE_MAGIC for the WAL contents changes.)
+</p>
+
+<p>
+- Adjust some more places in the documentation to match the fact that
+  plpgsql is now installed by default.
+</p>
+
+<p>
+- Join in the fun of editorializing on the alpha release notes.
+</p>
+
+<p>
+- plpgsql patch broke the MSVC build, too.
+</p>
+
+<p>
+- Sigh, I managed to break the no-links-in-plain-text-docs rule too...
+</p>
+
+<p>
+- There is no good reason for the CREATE TABLE LIKE INCLUDING COMMENTS
+  code to have hard-wired knowledge of the rules for naming index
+  columns.  It can just look at the actual names in the source index,
+  instead.  Do some minor formatting cleanup too.
+</p>
+
+<p>
+Peter Eisentraut committed:
+</p>
+
+<p>
+- Python 3 support in PL/Python.  Behaves more or less unchanged
+  compared to Python 2, but the new language variant is called
+  plpython3u.  Documentation describing the naming scheme is included.
+</p>
+
+<p>
+- If there is no sigdelset(), define it as a macro.  This removes some
+  duplicate code that recreated the identical workaround when the
+  newer signal API is missing.
+</p>
+
+<p>
+- Don't unblock SIGQUIT in the SIGQUIT handler.  This was possibly
+  linked to a deadlock-like situation in glibc syslog code invoked by
+  the ereport call in quickdie().  In any case, a signal handler
+  should not unblock its own signal unless there is a specific reason
+  to.
+</p>
+
+<p>
+- 8.5alpha3 release notes up to Fri Dec 18 21:37:38 2009 +0000
+</p>
+
+<p>
+- Translation updates
+</p>
+
+<p>
+- Add hot standby to release notes
+</p>
+
+<p>
+- Add documentation why reassigning PL/Python function parameters in
+  the function body can have undesirable outcomes. (bug #5232)
+</p>
+
+<p>
+Michael Meskes committed:
+</p>
+
+<p>
+- Fixed auto-prepare to not try preparing statements that are not
+  preparable. Bug found and solved by Zoltan Boszormenyi some small
+  adjustments by Michael Meskes.
+</p>
+
+<p>
+- Reverting accidently commited changes.
+</p>
+
+<p>
+Magnus Hagander committed:
+</p>
+
+<p>
+- In pgsql/doc/src/sgml/hstore.sgml, remove spurious '22' that clearly
+  shouldn't be there.  David E. Wheeler.
+</p>
+
+<p>
+Bruce Momjian committed:
+</p>
+
+<p>
+- Install server-side language PL/pgSQL by default.
+</p>
+
+<p>
+- Add comments about places where system oids have to be preserved for
+  binary migration.
+</p>
+
+<p>
+- Convert tabs to spaces in SGML.
+</p>
+
+<p>
+Alvaro Herrera committed:
+</p>
+
+<p>
+- In pgsql/doc/src/sgml/start.sgml, update tutorial on the fact that
+  backslash commands are no longer listed in psql's startup banner.
+</p>
+
+<p>
+- Update ecpg regression tests to plpgsql installed by default.
+</p>
+
+<p>
+Simon Riggs committed:
+</p>
+
+<p>
+- Allow read only connections during recovery, known as Hot Standby.
+  Enabled by recovery_connections = on (default) and forcing archive
+  recovery using a recovery.conf. Recovery processing now emulates the
+  original transactions as they are replayed, providing full locking
+  and MVCC behaviour for read only queries. Recovery must enter
+  consistent state before connections are allowed, so there is a
+  delay, typically short, before connections succeed. Replay of
+  recovering transactions can conflict and in some cases deadlock with
+  queries during recovery; these result in query cancellation after
+  max_standby_delay seconds have expired. Infrastructure changes have
+  minor effects on normal running, though introduce four new types of
+  WAL record.  New test mode "make standbycheck" allows regression
+  tests of static command behaviour on a standby server while in
+  recovery. Typical and extreme dynamic behaviours have been checked
+  via code inspection and manual testing. Few port specific behaviours
+  have been utilised, though primary testing has been on Linux only so
+  far.  This commit is the basic patch. Additional changes will follow
+  in this release to enhance some aspects of behaviour, notably
+  improved handling of conflicts, deadlock detection and query
+  cancellation. Changes to VACUUM FULL are also required.  Simon
+  Riggs, with significant and lengthy review by Heikki Linnakangas,
+  including streamlined redesign of snapshot creation and two-phase
+  commit.  Important contributions from Florian Pflug, Mark Kirkwood,
+  Merlin Moncure, Greg Stark, Gianni Ciolli, Gabriele Bartolini, Hannu
+  Krosing, Robert Haas, Tatsuo Ishii, Hiroyuki Yamada plus support and
+  feedback from many other community members.
+</p>
+
+<h2>Rejected Patches (for now)</h2>
+<p>
+No one was disappointed this week :-)
+</p>
+
+<h2>Pending Patches</h2>
+<p>
+Zoltan Boszormenyi sent in four more revisions of the ECPG patch for
+SQLDA, this time as an ECPG native feature rather than
+compat-mode-only.
+</p>
+
+<p>
+Michael Paquier sent in another revision of the patch to enable
+pgbench to launch shell commands.
+</p>
+
+<p>
+Robert Haas sent in a patch to fix explain output for multi-plan
+statements.
+</p>
+
+<p>
+ITAGAKI Takahiro sent in another revision of the patch which reworks
+VACUUM FULL.
+</p>
+
+<p>
+Kurt Harriman sent in another revision of the patch to remove the gcc
+dependency in definitions of inline functions.
+</p>
+
+<p>
+Zoltan Boszormenyi sent in another revision of the ECPG patch to
+support DESCRIBE [OUTPUT].
+</p>
+
+<p>
+Zoltan Boszormenyi sent in four more revisions of the ECPG patch to
+support out-of-scope cursor support in Informix mode.
+</p>
+
+<p>
+Peter Eisentraut sent in three patches to fix a bug where recovery
+gets stuck when children are not processing SIGQUIT from a previous
+crash.  The first defines sigdelset as a macro if it's not already there.
+The second moves the operation of unblocking SIGQUIT out of the
+SIGQUIT handler.  The third times out the ereport call in quickdie
+after 60 seconds.
+</p>
+
+<p>
+KaiGai Kohei sent in a patch to clean up existing privilege checks and
+consolidate same.
+</p>
+
+<p>
+KaiGai Kohei sent in a patch to make EnableDisableRule() check the
+ownership of the relation which owns the rule.
+</p>
+
+<p>
+KaiGai Kohei sent in a patch which removes obscure permission checks
+in FindConversion().
+</p>
+
+<p>
+David Wheeler sent in a patch to add hstore_to_json().
+</p>
+
+<p>
+KaiGai Kohei sent in a patch to fix an issue with ALTER TABLE...ALTER
+COLUMN...RENAME TO which happened in situations where the table in
+question is the child, via table inheritance, of multiple tables.
+</p>
+
+<p>
+KaiGai Kohei sent in a patch to remove redundant ownership checks.
+</p>
+
+<p>
+Robert Haas sent in a patch to clean up comments with non-standard
+version names.
+</p>
+
+<p>
+KaiGai Kohei sent in a patch to help pg_dump work with the new large
+object (lo) ACLs.
+</p>
+
+<p>
+James Pye sent in a patch to add some new SPI functions to
+PL/Python3U.
+</p>
+
+<p>
+Martin Pihlak sent in a patch to fix a bug in foreign data wrappers.
+</p>
+
+<p>
+Florian Pflug sent in a WIP patch that allows easier introspection of
+composite types from SQL and PL/pgsql.
+</p>
+
+<p>
+John Naylor sent in another patch to revamp the BKI infrastructure.
+</p>
+
+<p>
+Tom Lane sent in a WIP patch to choose better default names for
+indexes, per discussion.
+
+</p>
+