PostgreSQL Weekly News February 13, 2011
authorDavid Fetter <david@fetter.org>
Mon, 14 Feb 2011 00:33:03 +0000 (00:33 +0000)
committerDavid Fetter <david@fetter.org>
Mon, 14 Feb 2011 00:33:03 +0000 (00:33 +0000)
git-svn-id: file:///Users/dpage/pgweb/svn-repo/trunk@2810 8f5c7a92-453e-0410-a47f-ad33c8a6b003

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

index dfd4daab4547ff5055261b127b96bce9bd854996..456ef3eca21d4fc6420867e6302c9f777d6a7e24 100644 (file)
 <description></description>
 <language>en</language>
 
+<item>
+<title>PostgreSQL Weekly News February 13th 2011</title>
+<description>
+Selena Deckelmann is offering an online class through CodeLesson:
+&#x3C;a href=&#x22;http://codelesson.com/courses/view/introduction-to-postgresql&#x22;&#x3E;http://codelesson.com/courses/view/introduction-to-postgresql&#x3C;/a&#x3E;
+
+
+</description>
+<guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20110213</guid>
+<pubDate>Sun, 13 Feb 2011 00:00:00 PST</pubDate>
+</item>
 <item>
 <title>PostgreSQL Weekly News February 6th 2011</title>
 <description>
@@ -118,16 +129,5 @@ your proposals to fosdem AT postgresql DOT eu.
 <guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20101212</guid>
 <pubDate>Sun, 12 Dec 2010 00:00:00 PST</pubDate>
 </item>
-<item>
-<title>PostgreSQL Weekly News December 5th 2010</title>
-<description>
-MicroOLAP Database Designer 1.3.0 for PostgreSQL released.
-&#x3C;a href=&#x22;http://microolap.com/products/database/postgresql-designer/&#x22;&#x3E;http://microolap.com/products/database/postgresql-designer/&#x3C;/a&#x3E;
-
-
-</description>
-<guid isPermaLink="true">http://www.postgresql.org/community/weeklynews/pwn20101205</guid>
-<pubDate>Sun, 05 Dec 2010 00:00:00 PST</pubDate>
-</item>
 </channel>
 </rss>
\ No newline at end of file
index 2440ffe4d7f5a95f60d2b2af0ad5b78c836321a5..4a1d84a95496ef8d57bc3c6b6cad858f66d39aa7 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/pwn20110213">February 13th 2011</a></li>
     <li><a href="/community/weeklynews/pwn20110206">February 6th 2011</a></li>
     <li><a href="/community/weeklynews/pwn20110130">January 30th 2011</a></li>
     <li><a href="/community/weeklynews/pwn20110123">January 23rd 2011</a></li>
diff --git a/portal/template/en/community/weeklynews/pwn20110213.html b/portal/template/en/community/weeklynews/pwn20110213.html
new file mode 100644 (file)
index 0000000..96d2ec0
--- /dev/null
@@ -0,0 +1,771 @@
+<!-- BEGIN page_title_block -->
+Weekly News - February 13 2011
+<!-- END page_title_block -->
+
+<h1>PostgreSQL Weekly News - February 13 2011</h1>
+
+<p>
+Selena Deckelmann is offering an online class through CodeLesson:
+<a href="http://codelesson.com/courses/view/introduction-to-postgresql">http://codelesson.com/courses/view/introduction-to-postgresql</a>
+</p>
+
+<h2>PostgreSQL Jobs for February</h2>
+<p>
+<a href="http://archives.postgresql.org/pgsql-jobs/2011-02/threads.php">http://archives.postgresql.org/pgsql-jobs/2011-02/threads.php</a>
+</p>
+
+<h2>PostgreSQL Local</h2>
+<p>
+NYPUG is having a meetup on February 15, 2011 at 6:15PM at the Yodle
+offices on 50 W 23rd St, New York, NY.  More info and RSVP at:
+<a href="http://www.meetup.com/postgresql-3/events/16123790/">http://www.meetup.com/postgresql-3/events/16123790/</a>
+</p>
+
+<p>
+PGDay is scheduled at this year's Southern California Linux Exposition
+(SCALE) held in the LAX Hilton Hotel in the city of Los Angeles,
+California, on Friday February 25th, 2011.
+</p>
+
+<p>
+PostgreSQL Conference East 2011: NYC March 22nd - 25th
+<a href="http://www.postgresqlconference.org">http://www.postgresqlconference.org</a>
+</p>
+
+<p>
+Open Database Camp will be on May 7-9, 2011 in Sardinia, Italy
+<a href="http://datacharmer.blogspot.com/2011/01/announcing-open-database-camp-sardinia.html">http://datacharmer.blogspot.com/2011/01/announcing-open-database-camp-sardinia.html</a>
+</p>
+
+<p>
+PGCon will be May 19-20, 2011 at the University of Ottawa, preceded by
+two days of tutorials on May 17-18.
+<a href="http://www.pgcon.org/2011/">http://www.pgcon.org/2011/</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
+</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.  Spanish language
+to pwn@arpug.com.ar.
+</p>
+
+<h2>Reviews</h2>
+<p>
+Erik Rijkers reviewed the patch to add range types.
+</p>
+
+<p>
+
+== Applied Patches ==
+</p>
+
+<p>
+Bruce Momjian pushed:
+</p>
+
+<p>
+- remove tags.
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=ad762426333aac5bd8e1ceac753bebe4a6411c28">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=ad762426333aac5bd8e1ceac753bebe4a6411c28</a>
+</p>
+
+<p>
+- Remove tabs in SGML file.
+  <a href="http://git.postgresql.org/pg/commitdiff/ee4b67fcff9cce85812639b3a0ef14f5bcf85f99">http://git.postgresql.org/pg/commitdiff/ee4b67fcff9cce85812639b3a0ef14f5bcf85f99</a>
+</p>
+
+<p>
+- Remove more SGML tabs.
+  <a href="http://git.postgresql.org/pg/commitdiff/70802e0dbef0af4bf73ce25489b8be6e40eca2be">http://git.postgresql.org/pg/commitdiff/70802e0dbef0af4bf73ce25489b8be6e40eca2be</a>
+</p>
+
+<p>
+- Fix pg_get_encoding_from_locale() function call parameters to match
+  prototype for cases where there is no multi-language support.
+  <a href="http://git.postgresql.org/pg/commitdiff/2432d10bf243ad0ca9b5ccc2816e4e38e1d80b5e">http://git.postgresql.org/pg/commitdiff/2432d10bf243ad0ca9b5ccc2816e4e38e1d80b5e</a>
+</p>
+
+<p>
+- Fix "variable not used" warnings when USE_WIDE_UPPER_LOWER is not
+  defined.
+  <a href="http://git.postgresql.org/pg/commitdiff/135724ec357f9b9c8800567444724c72da2cc6be">http://git.postgresql.org/pg/commitdiff/135724ec357f9b9c8800567444724c72da2cc6be</a>
+</p>
+
+<p>
+- Properly handle Win32 paths of 'E:abc', which can be either absolute
+  or relative, by creating a function path_is_relative_and_below_cwd()
+  to check for specific requirements.  It is unclear if this fixes a
+  security problem or not but the new code is more robust.
+  <a href="http://git.postgresql.org/pg/commitdiff/0de0cc150af46122238f2fe03605bf14e1a7c276">http://git.postgresql.org/pg/commitdiff/0de0cc150af46122238f2fe03605bf14e1a7c276</a>
+</p>
+
+<p>
+- Fix reverse 'if' test in path_is_relative_and_below_cwd(), per Tom
+  Lane.
+  <a href="http://git.postgresql.org/pg/commitdiff/8e7af608722a25376d31c40e4bd9916e932bc3ca">http://git.postgresql.org/pg/commitdiff/8e7af608722a25376d31c40e4bd9916e932bc3ca</a>
+</p>
+
+<p>
+- Back out libpq doc change;  not ready yet.
+  <a href="http://git.postgresql.org/pg/commitdiff/cebbaa1d5d2729c1b9dde0b472b4b034ef2f44b0">http://git.postgresql.org/pg/commitdiff/cebbaa1d5d2729c1b9dde0b472b4b034ef2f44b0</a>
+</p>
+
+<p>
+ITAGAKI Takahiro pushed:
+</p>
+
+<p>
+- Fix error messages for FreeFile in COPY command.  They are extracted
+  from COPY API patch.  suggested by Noah Misch
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=fb7355e0cedfadd437c30c73cfb71af7ff8933b1">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=fb7355e0cedfadd437c30c73cfb71af7ff8933b1</a>
+</p>
+
+<p>
+- Fix a comment for MergeAttributes.  We forgot to adjust it when we
+  changed relistemp to relpersistence.
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c18f51da17d8cf01d62218e0404e18ba246bde54">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c18f51da17d8cf01d62218e0404e18ba246bde54</a>
+</p>
+
+<p>
+- Fix typo in the documentation.  By Kevin Grittner.
+  <a href="http://git.postgresql.org/pg/commitdiff/5478f991c9f73066d27d75b31876f9977af61db5">http://git.postgresql.org/pg/commitdiff/5478f991c9f73066d27d75b31876f9977af61db5</a>
+</p>
+
+<p>
+Andrew Dunstan pushed:
+</p>
+
+<p>
+- Supply now required HeUTF8 macro for plperl where it's missing, per
+  buildfarm results.
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c852e95b0bcbe708ba64b9499e50b9cc98bd7b71">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c852e95b0bcbe708ba64b9499e50b9cc98bd7b71</a>
+</p>
+
+<p>
+- Use correct name and URL for MinGW-w64, error noticed by Gurjeet Singh.
+  <a href="http://git.postgresql.org/pg/commitdiff/2ad0348677aebe36260b30fee22892e6519ee7d8">http://git.postgresql.org/pg/commitdiff/2ad0348677aebe36260b30fee22892e6519ee7d8</a>
+</p>
+
+<p>
+Heikki Linnakangas pushed:
+</p>
+
+<p>
+- Implement genuine serializable isolation level.  Until now, our
+  Serializable mode has in fact been what's called Snapshot Isolation,
+  which allows some anomalies that could not occur in any serialized
+  ordering of the transactions. This patch fixes that using a method
+  called Serializable Snapshot Isolation, based on research papers by
+  Michael J. Cahill (see README-Steve Singer for full references). In
+  Serializable Snapshot Isolation, transactions run like they do in
+  Snapshot Isolation, but a predicate lock manager observes the reads
+  and writes performed and aborts transactions if it detects that an
+  anomaly might occur. This method produces some false positives, ie.
+  it sometimes aborts transactions even though there is no anomaly.
+  To track reads we implement predicate locking, see
+  storage/lmgr/predicate.c.  Whenever a tuple is read, a predicate
+  lock is acquired on the tuple.  Shared memory is finite, so when a
+  transaction takes many tuple-level locks on a page, the locks are
+  promoted to a single page-level lock, and further to a single
+  relation level lock if necessary. To lock key values with no
+  matching tuple, a sequential scan always takes a relation-level
+  lock, and an index scan acquires a page-level lock that covers the
+  search key, whether or not there are any matching keys at the
+  moment.  A predicate lock doesn't conflict with any regular locks or
+  with another predicate locks in the normal sense. They're only used
+  by the predicate lock manager to detect the danger of anomalies.
+  Only serializable transactions participate in predicate locking, so
+  there should be no extra overhead for for other transactions.
+  Predicate locks can't be released at commit, but must be remembered
+  until all the transactions that overlapped with it have completed.
+  That means that we need to remember an unbounded amount of predicate
+  locks, so we apply a lossy but conservative method of tracking locks
+  for committed transactions.  If we run short of shared memory, we
+  overflow to a new "pg_serial" SLRU pool.  We don't currently allow
+  Serializable transactions in Hot Standby mode.  That would be hard,
+  because even read-only transactions can cause anomalies that
+  wouldn't otherwise occur.  Serializable isolation mode now means the
+  new fully serializable level.  Repeatable Read gives you the old
+  Snapshot Isolation level that we have always had.  Kevin Grittner
+  and Dan Ports, reviewed by Jeff Davis, Heikki Linnakangas and Anssi
+  Kääriäinen
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=dafaa3efb75ce1aae2e6dbefaf6f3a889dea0d21">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=dafaa3efb75ce1aae2e6dbefaf6f3a889dea0d21</a>
+</p>
+
+<p>
+- Oops, forgot to bump catversion in the Serializable Snapshot
+  Isolation patch.  I thought we didn't need that, but then I
+  remembered that it added a new SLRU subdirectory, pg_serial. While
+  we're at it, document what pg_serial is.
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=47082fa875179ae629edb26807ab3f38a775280b">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=47082fa875179ae629edb26807ab3f38a775280b</a>
+</p>
+
+<p>
+- Fix copy-pasto in description of pg_serial, and silence compiler
+  warning about uninitialized field you get on some compilers.
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=7202ad7b8dd07864092be70287fe971ec72a3fbc">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=7202ad7b8dd07864092be70287fe971ec72a3fbc</a>
+</p>
+
+<p>
+- UINT64_MAX isn't defined on MSVC.
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f9f9d696a9c51cb26c24bb28760e6bb1edd0e995">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=f9f9d696a9c51cb26c24bb28760e6bb1edd0e995</a>
+</p>
+
+<p>
+- Fix typo, by Kevin Grittner.
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=1703f0e8da2e8e3eccb6e12879c011ba106f8a62">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=1703f0e8da2e8e3eccb6e12879c011ba106f8a62</a>
+</p>
+
+<p>
+- Fix allocation of RW-conflict pool in the new predicate lock
+  manager, and also take the RW-conflict pool into account in the
+  PredicateLockShmemSize() estimate.
+  <a href="http://git.postgresql.org/pg/commitdiff/036bb15872fa52f6f403ca22d36a8652bbaf9d3c">http://git.postgresql.org/pg/commitdiff/036bb15872fa52f6f403ca22d36a8652bbaf9d3c</a>
+</p>
+
+<p>
+- Allocate all entries in the serializable xid hash up-front, so that
+  you don't run out of shared memory when you try to assign an xid to
+  a transaction.  Kevin Grittner.
+  <a href="http://git.postgresql.org/pg/commitdiff/cecb5901b8bb8b9eba140cda96e0d9a83607e6fa">http://git.postgresql.org/pg/commitdiff/cecb5901b8bb8b9eba140cda96e0d9a83607e6fa</a>
+</p>
+
+<p>
+- Send status updates back from standby server to master, indicating
+  how far the standby has written, flushed, and applied the WAL. At
+  the moment, this is for informational purposes only, the values are
+  only shown in pg_stat_replication system view, but in the future
+  they will also be needed for synchronous replication.  Extracted
+  from Simon riggs' synchronous replication patch by Robert Haas, with
+  some tweaking by me.
+  <a href="http://git.postgresql.org/pg/commitdiff/b186523fd97ce02ffbb7e21d5385a047deeef4f6">http://git.postgresql.org/pg/commitdiff/b186523fd97ce02ffbb7e21d5385a047deeef4f6</a>
+</p>
+
+<p>
+Robert Haas pushed:
+</p>
+
+<p>
+- Avoid having autovacuum workers wait for relation locks.  Waiting
+  for relation locks can lead to starvation - it pins down an
+  autovacuum worker for as long as the lock is held.  But if we're
+  doing an anti-wraparound vacuum, then we still wait; maintenance can
+  no longer be put off.  To assist with troubleshooting, if
+  log_autovacuum_min_duration >= 0, we log whenever an autovacuum or
+  autoanalyze is skipped for this reason.  Per a gripe by Josh Berkus,
+  and ensuing discussion.
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=32896c40ca766146312b28a5a0eb3f66ca0300ed">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=32896c40ca766146312b28a5a0eb3f66ca0300ed</a>
+</p>
+
+<p>
+- Tweak find_composite_type_dependencies API a bit more.  Per
+  discussion with Noah Misch, the previous coding, introduced by my
+  commit 65377e0b9c0e0397b1598b38b6a7fb8b6f740d39 on 2011-02-06, was
+  really an abuse of RELKIND_COMPOSITE_TYPE, since the caller in
+  typecmds.c is actually passing the name of a domain.  So go back
+  having a type name argument, but make the first argument a Relation
+  rather than just a string so we can tell whether it's a table or a
+  foreign table and emit the proper error message.
+  <a href="http://git.postgresql.org/pg/commitdiff/2c20ba1fd284423e4652f2f6855d257339245e97">http://git.postgresql.org/pg/commitdiff/2c20ba1fd284423e4652f2f6855d257339245e97</a>
+</p>
+
+<p>
+- Typo fixes.  receivedUpto should be capitalized consistently.
+  <a href="http://git.postgresql.org/pg/commitdiff/d309acf201ab2c5bbd1f6a5d51e4a8060eb6a63c">http://git.postgresql.org/pg/commitdiff/d309acf201ab2c5bbd1f6a5d51e4a8060eb6a63c</a>
+</p>
+
+<p>
+- Allow tab-completion of :variable even as first word on a line.
+  Christoph Berg
+  <a href="http://git.postgresql.org/pg/commitdiff/5917574539732a6e521a6dc260fcd7c9a258d89e">http://git.postgresql.org/pg/commitdiff/5917574539732a6e521a6dc260fcd7c9a258d89e</a>
+</p>
+
+<p>
+- Teach ALTER TABLE .. SET DATA TYPE to avoid some table rewrites.
+  When the old type is binary coercible to the new type and the using
+  clause does not change the column contents, we can avoid a full
+  table rewrite, though any indexes on the affected columns will still
+  need to be rebuilt.  This applies, for example, when changing a
+  varchar column to be of type text.  The prior coding assumed that
+  the set of operations that force a rewrite is identical to the set
+  of operations that must be propagated to tables making use of the
+  affected table's rowtype.  This is no longer true: even though the
+  tuples in those tables wouldn't need to be modified, the data type
+  change invalidate indexes built using those composite type columns.
+  Indexes on the table we're actually modifying can be invalidated
+  too, of course, but the existing machinery is sufficient to handle
+  that case.  Along the way, add some debugging messages that make it
+  possible to understand what operations ALTER TABLE is actually
+  performing in these cases.  Noah Misch and Robert Haas
+  <a href="http://git.postgresql.org/pg/commitdiff/d31e2a495b6f2127afc31b4da2e5f4e89aa2cdfe">http://git.postgresql.org/pg/commitdiff/d31e2a495b6f2127afc31b4da2e5f4e89aa2cdfe</a>
+</p>
+
+<p>
+Simon Riggs pushed:
+</p>
+
+<p>
+- Extend ALTER TABLE to allow Foreign Keys to be added without initial
+  validation.  FK constraints that are marked NOT VALID may later be
+  VALIDATED, which uses an ShareUpdateExclusiveLock on constraint
+  table and RowShareLock on referenced table. Significantly reduces
+  lock strength and duration when adding FKs.  New state visible from
+  psql.  Simon Riggs, with reviews from Marko Tiikkaja and Robert Haas
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=722bf7017bbe796decc79c1fde03e7a83dae9ada">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=722bf7017bbe796decc79c1fde03e7a83dae9ada</a>
+</p>
+
+<p>
+- Remove rare corner case for data loss when triggering standby
+  server.  If the standby was streaming when trigger file arrives,
+  check also in the archive for additional WAL files. This is a corner
+  case since it is unlikely that we would trigger a failover while the
+  master is still available and sending data to standby, while at the
+  same time running in archive mode and also while the streaming
+  standby has fallen behind archive.  Someone would eventually be
+  unlucky; we must plug all gaps however small.  Fujii Masao
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=faa0550572583f51dba25611ab0f1d1c31de559b">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=faa0550572583f51dba25611ab0f1d1c31de559b</a>
+</p>
+
+<p>
+- Basic Recovery Control functions for use in Hot Standby. Pause,
+  Resume, Status check functions only. Also, new recovery.conf
+  parameter to pause_at_recovery_target, default on.  Simon Riggs,
+  reviewed by Fujii Masao
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=8c6e3adbf792c2bba448e88cbf2c8e03fb802e73">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=8c6e3adbf792c2bba448e88cbf2c8e03fb802e73</a>
+</p>
+
+<p>
+- Named restore points in recovery.  Users can record named points,
+  then new recovery.conf parameter recovery_target_name allows PITR to
+  specify named points as recovery targets.  Jaime Casanova, reviewed
+  by Euler Taveira de Oliveira, plus minor edits
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c016ce728139be95bb0dc7c4e5640507334c2339">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=c016ce728139be95bb0dc7c4e5640507334c2339</a>
+</p>
+
+<p>
+- Continue long tradition of bumping the catalog version a little
+  late.
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=7a7d36ec3363d10e0450209a9b451d86a2328b47">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=7a7d36ec3363d10e0450209a9b451d86a2328b47</a>
+</p>
+
+<p>
+Peter Eisentraut pushed:
+</p>
+
+<p>
+- Per-column collation support.  This adds collation support for
+  columns and domains, a COLLATE clause to override it per expression,
+  and B-tree index support.  Peter Eisentraut reviewed by Pavel
+  Stehule, Itagaki Takahiro, Robert Haas, Noah Misch
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=414c5a2ea65cbd38d79ffdf9b1fde7cc75c134e0">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=414c5a2ea65cbd38d79ffdf9b1fde7cc75c134e0</a>
+</p>
+
+<p>
+- Information schema views for collation support.  Add the views
+  character_sets, collations, and collation_character_set_applicability.
+  <a href="http://git.postgresql.org/pg/commitdiff/2e2d56fea97f43cf8c40a87143bc10356e4ed4d4">http://git.postgresql.org/pg/commitdiff/2e2d56fea97f43cf8c40a87143bc10356e4ed4d4</a>
+</p>
+
+<p>
+- Update comment.  It was still claiming that the keyword list is in
+  keywords.c, when it is now in kwlist.h.
+  <a href="http://git.postgresql.org/pg/commitdiff/ff81aa3eda4d754cd341ab0e4e78790ed4a6d250">http://git.postgresql.org/pg/commitdiff/ff81aa3eda4d754cd341ab0e4e78790ed4a6d250</a>
+</p>
+
+<p>
+- DDL support for collations: collowner field, CREATE COLLATION, ALTER
+  COLLATION, DROP COLLATION, COMMENT ON COLLATION, integration with
+  extensions, pg_dump support for the above, dependency management,
+  psql tab completion, psql \dO command
+  <a href="http://git.postgresql.org/pg/commitdiff/b313bca0afce3ab9dab0a77c64c0982835854b9a">http://git.postgresql.org/pg/commitdiff/b313bca0afce3ab9dab0a77c64c0982835854b9a</a>
+</p>
+
+<p>
+Tom Lane pushed:
+</p>
+
+<p>
+- Fix merge conflict.
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=0bc0bd07d41169d6de513967615ad9cb3d0f322e">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=0bc0bd07d41169d6de513967615ad9cb3d0f322e</a>
+</p>
+
+<p>
+- Core support for "extensions", which are packages of SQL objects.
+  This patch adds the server infrastructure to support extensions.
+  There is still one significant loose end, namely how to make it play
+  nice with pg_upgrade, so I am not yet committing the changes that
+  would make all the contrib modules depend on this feature.  In
+  passing, fix a disturbingly large amount of breakage in
+  AlterObjectNamespace() and callers.  Dimitri Fontaine, reviewed by
+  Anssi Kääriäinen, Itagaki Takahiro, Tom Lane, and numerous others
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=d9572c4e3b474031060189050e14ef384b94e001">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=d9572c4e3b474031060189050e14ef384b94e001</a>
+</p>
+
+<p>
+- Suppress some compiler warnings in recent commits.  Older versions
+  of gcc tend to throw "variable might be clobbered by `longjmp' or
+  `vfork'" warnings whenever a variable is assigned in more than one
+  place and then used after the end of a PG_TRY block.  That's
+  reasonably easy to work around in execute_extension_script, and the
+  overhead of unconditionally saving/restoring the GUC variables seems
+  unlikely to be a serious concern.  Also clean up logic in
+  ATExecValidateConstraint to make it easier to read and less likely
+  to provoke "variable might be used uninitialized in this function"
+  warnings.
+  <a href="http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=375e5b0a687570eb41fb9e9fda9e5d6992fccffa">http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=375e5b0a687570eb41fb9e9fda9e5d6992fccffa</a>
+</p>
+
+<p>
+- Implement "ALTER EXTENSION ADD object".  This is an essential
+  component of making the extension feature usable; first because it's
+  needed in the process of converting an existing installation
+  containing "loose" objects of an old contrib module into the
+  extension-based world, and second because we'll have to use it in
+  pg_dump --binary-upgrade, as per recent discussion.  Loosely based
+  on part of Dimitri Fontaine's ALTER EXTENSION UPGRADE patch.
+  <a href="http://git.postgresql.org/pg/commitdiff/5bc178b89f3ab93fb3845a941769c212f5eeaf1a">http://git.postgresql.org/pg/commitdiff/5bc178b89f3ab93fb3845a941769c212f5eeaf1a</a>
+</p>
+
+<p>
+- Rethink order of operations for dumping extension member objects.
+  My original idea of doing extension member identification during
+  getDependencies() didn't work correctly: we have to mark member
+  tables as not-to-be-dumped rather earlier than that, else their
+  subsidiary objects like indexes get dumped anyway.  Rearrange code
+  to mark them early enough.
+  <a href="http://git.postgresql.org/pg/commitdiff/183d3cff850eee12357b8b4a8c5e62362ba5d8cc">http://git.postgresql.org/pg/commitdiff/183d3cff850eee12357b8b4a8c5e62362ba5d8cc</a>
+</p>
+
+<p>
+- Fix pg_upgrade to handle extensions.  This follows my proposal of
+  yesterday, namely that we try to recreate the previous state of the
+  extension exactly, instead of allowing CREATE EXTENSION to run a SQL
+  script that might create some entirely-incompatible on-disk state.
+  In --binary-upgrade mode, pg_dump won't issue CREATE EXTENSION at
+  all, but instead uses a kluge function provided by
+  pg_upgrade_support to recreate the pg_extension row (and
+  extension-level pg_depend entries) without creating any member
+  objects.  The member objects are then restored in the same way as if
+  they weren't members, in particular using pg_upgrade's normal hacks
+  to preserve OIDs that need to be preserved.  Then, for each member
+  object, ALTER EXTENSION ADD is issued to recreate the pg_depend
+  entry that marks it as an extension member.  In passing, fix
+  breakage in pg_upgrade's enum-type support: somebody didn't fix it
+  when the noise word VALUE got added to ALTER TYPE ADD.  Also,
+  rationalize parsetree representation of COMMENT ON DOMAIN and fix
+  get_object_address() to allow OBJECT_DOMAIN.
+  <a href="http://git.postgresql.org/pg/commitdiff/caddcb8f4b96ce48b612e7c987ecde654d624616">http://git.postgresql.org/pg/commitdiff/caddcb8f4b96ce48b612e7c987ecde654d624616</a>
+</p>
+
+<p>
+- Fix improper matching of resjunk column names for FOR UPDATE in
+  subselect.  Flattening of subquery range tables during setrefs.c
+  could lead to the rangetable indexes in PlanRowMark nodes not
+  matching up with the column names previously assigned to the
+  corresponding resjunk ctid (resp.  tableoid or wholerow) columns.
+  Typical symptom would be either a "cannot extract system attribute
+  from virtual tuple" error or an Assert failure.  This wasn't a
+  problem before 9.0 because we didn't support FOR UPDATE below the
+  top query level, and so the final flattening could never renumber an
+  RTE that was relevant to FOR UPDATE.  Fix by using a plan-tree-wide
+  unique number for each PlanRowMark to label the associated resjunk
+  columns, so that the number need not change during flattening.  Per
+  report from David Johnston (though I'm darned if I can see how this
+  got past initial testing of the relevant code).  Back-patch to 9.0.
+  <a href="http://git.postgresql.org/pg/commitdiff/e617f0d7e4084f85104361568ef5f865ebfa0005">http://git.postgresql.org/pg/commitdiff/e617f0d7e4084f85104361568ef5f865ebfa0005</a>
+</p>
+
+<p>
+- Extend "ALTER EXTENSION ADD object" to permit "DROP object" as well.
+  Per discussion, this is something we should have sooner rather than
+  later, and it doesn't take much additional code to support it.
+  <a href="http://git.postgresql.org/pg/commitdiff/01467d3e4f51fe304c0160c9895484ad696d1e87">http://git.postgresql.org/pg/commitdiff/01467d3e4f51fe304c0160c9895484ad696d1e87</a>
+</p>
+
+<p>
+- Add support for multiple versions of an extension and ALTER
+  EXTENSION UPDATE.  This follows recent discussions, so it's quite a
+  bit different from Dimitri's original.  There will probably be more
+  changes once we get a bit of experience with it, but let's get it in
+  and start playing with it.  This is still just core code.  I'll
+  start converting contrib modules shortly.  Dimitri Fontaine and Tom
+  Lane.
+  <a href="http://git.postgresql.org/pg/commitdiff/1214749901fc3c66732cfd9f276b989635c01360">http://git.postgresql.org/pg/commitdiff/1214749901fc3c66732cfd9f276b989635c01360</a>
+</p>
+
+<p>
+- Clean up installation directory choices for extensions.  Arrange for
+  the control files to be in $SHAREDIR/extension not
+  $SHAREDIR/contrib, since we're generally trying to deprecate the
+  term "contrib" and this is a once-in-many-moons opportunity to get
+  rid of it in install paths.  Fix PGXS to install the $EXTENSION file
+  into that directory no matter what MODULEDIR is set to; a nondefault
+  MODULEDIR should only affect the script and secondary extension
+  files.  Fix the control file directory parameter to be interpreted
+  relative to $SHAREDIR, to avoid a surprising disconnect between how
+  you specify that and what you set MODULEDIR to.  Per discussion with
+  David Wheeler.
+  <a href="http://git.postgresql.org/pg/commitdiff/24d1280c4d75038f130495a25844c60d6810faab">http://git.postgresql.org/pg/commitdiff/24d1280c4d75038f130495a25844c60d6810faab</a>
+</p>
+
+<p>
+- Refactor ALTER EXTENSION UPDATE to have cleaner multi-step
+  semantics.  This change causes a multi-step update sequence to
+  behave exactly as if the updates had been commanded one at a time,
+  including updating the "requires" dependencies afresh at each step.
+  The initial implementation took the shortcut of examining only the
+  final target version's "requires" and changing the catalog entry but
+  once.  But on reflection that's a bad idea, since it could lead to
+  executing old update scripts under conditions different than they
+  were designed/tested for.  Better to expend a few extra cycles and
+  avoid any surprises.  In the same spirit, if a CREATE EXTENSION FROM
+  operation involves applying a series of update files, it will act as
+  though the CREATE had first been done using the initial script's
+  target version and then the additional scripts were invoked with
+  ALTER EXTENSION UPDATE.  I also removed the restriction about not
+  changing encoding in secondary control files.  The new rule is that
+  a script is assumed to be in whatever encoding the control file(s)
+  specify for its target version.  Since this reimplementation causes
+  us to read each intermediate version's control file, there's no
+  longer any uncertainty about which encoding setting would get
+  applied.
+  <a href="http://git.postgresql.org/pg/commitdiff/6c2e734f0a07e57c2837543416f5987ec91d0839">http://git.postgresql.org/pg/commitdiff/6c2e734f0a07e57c2837543416f5987ec91d0839</a>
+</p>
+
+<p>
+Magnus Hagander pushed:
+</p>
+
+<p>
+- Implement NOWAIT option for BASE_BACKUP command.  Specifying this
+  option makes the server not wait for the xlog to be archived, or
+  emit a warning that it can't, instead leaving the responsibility
+  with the client.  This is useful when the log is being streamed
+  using the streaming protocol in parallel with the backup, without
+  having log archiving enabled.
+  <a href="http://git.postgresql.org/pg/commitdiff/3144c33a2f764610d7ad56f1b82e9716d0d65447">http://git.postgresql.org/pg/commitdiff/3144c33a2f764610d7ad56f1b82e9716d0d65447</a>
+</p>
+
+<p>
+- Use NOWAIT when including WAL in base backup.  Avoids warning and
+  waiting for the last segment to be archived, which isn't necessary
+  when we're including the required WAL in the backup itself.
+  <a href="http://git.postgresql.org/pg/commitdiff/a2e61ec31999228a3bb66a6a86f9e75beb6bb155">http://git.postgresql.org/pg/commitdiff/a2e61ec31999228a3bb66a6a86f9e75beb6bb155</a>
+</p>
+
+<p>
+- Track last time for statistics reset on databases and bgwriter.
+  Tracks one counter for each database, which is reset whenever the
+  statistics for any individual object inside the database is reset,
+  and one counter for the background writer.  Tomas Vondra, reviewed
+  by Greg Smith.
+  <a href="http://git.postgresql.org/pg/commitdiff/4c468b37a281941afd3bf61c782b20def8c17047">http://git.postgresql.org/pg/commitdiff/4c468b37a281941afd3bf61c782b20def8c17047</a>
+</p>
+
+<p>
+Alvaro Herrera pushed:
+</p>
+
+<p>
+- Fix the isolation tester compilation on VPATH builds
+  <a href="http://git.postgresql.org/pg/commitdiff/289d7306555b2446d145c7e098c91b6ca20bd54c">http://git.postgresql.org/pg/commitdiff/289d7306555b2446d145c7e098c91b6ca20bd54c</a>
+</p>
+
+<p>
+- Fix isolation tester Makefile so that it runs in a VPATH build
+  <a href="http://git.postgresql.org/pg/commitdiff/61cf7bcdf76a2a32d2400a116c8da48d5fd4d3a2">http://git.postgresql.org/pg/commitdiff/61cf7bcdf76a2a32d2400a116c8da48d5fd4d3a2</a>
+</p>
+
+<p>
+- Fix comment recently obsoleted
+  <a href="http://git.postgresql.org/pg/commitdiff/60141eefaf28e4ff5e406952740423dd6fd16266">http://git.postgresql.org/pg/commitdiff/60141eefaf28e4ff5e406952740423dd6fd16266</a>
+</p>
+
+<h2>Rejected Patches (for now)</h2>
+<p>
+No one was disappointed this week :-)
+</p>
+
+<h2>Pending Patches</h2>
+<p>
+Greg Smith sent in another revision of the patch to spread out
+checkpoint syncs.
+</p>
+
+<p>
+ITAGAKI Takahiro sent in three more revisions of the patch to export
+some of the COPY API, which can be used for, among other things,
+SQL/MED.
+</p>
+
+<p>
+Shigeru HANADA sent in two more revisions of the patch to add a
+file-based foreign data wrapper for SQL/MED.
+</p>
+
+<p>
+Shigeru HANADA sent in another revision of the patch to create a
+foreign data wrapper API for SQL/MED.
+</p>
+
+<p>
+Radoslaw Smogura sent in a patch to improve the performance of
+textsend, used in COPY BINARY.
+</p>
+
+<p>
+Andrew Dunstan sent in a patch to fix the regression tests which broke
+as a result of the COPY API changes.
+</p>
+
+<p>
+Steve Singer and Jan Urbanski traded patches to add subtransactions to
+PL/PythonU in support of exception handling.
+</p>
+
+<p>
+Ibrary Ahmed sent in another revision of the patch to determine
+client_encoding from client locale.
+</p>
+
+<p>
+Robert Haas and Thom Brown traded patches for synchronous replication.
+</p>
+
+<p>
+Shigeru HANADA sent in another revision of the patch to add foreign
+scans in SQL/MED.
+</p>
+
+<p>
+Shigeru HANADA sent in a patch to avoid catalog lookups in foreign
+scans.
+</p>
+
+<p>
+Tom Lane sent in another revision of the patch to add support for
+EXTENSIONs to pg_dump.
+</p>
+
+<p>
+Andrew Dunstan sent in a patch implementing "jagged row" CSV text
+arrays atop SQL/MED's file foreign data wrapper feature.
+</p>
+
+<p>
+Thom Brown sent in another revision of the patch to fix some boundary
+case behavior in generate_series().
+</p>
+
+<p>
+Greg Smith sent in a patch to allow pg_archivecleanup to ignore
+extensions.  This is especially useful for compressed WALs, which
+pg_archivecleanup would otherwise have ignored.
+</p>
+
+<p>
+Heikki Linnakangas sent in another revision of that patch to add a
+PostgreSQL foreign data wrapper.
+</p>
+
+<p>
+Jeff Davis sent in another revision of the patch to add range types.
+</p>
+
+<p>
+Greg Smith sent in another revision of the patch to expand the maximum
+size of pgbench tests.
+</p>
+
+<p>
+Alex Hunsaker and Alexey Klyukin traded patches to convert between
+PostgreSQL and Perl arrays for PL/Perl.
+</p>
+
+<p>
+Stephen Frost and Kevin Grittner traded some more patches to add
+support for logging the current role.
+</p>
+
+<p>
+Noah Misch sent in another revision of the patch to add FOR KEY LOCK.
+</p>
+
+<p>
+Fujii Masao sent in a patch to fix some infelicities in the new
+ability to name restore points.
+</p>
+
+<p>
+Per review from ITAGAKI Takahiro, Marko (johto) Tiikkaja sent in
+another revision of the patch to add transaction-scope advisory locks.
+</p>
+
+<p>
+Robert Haas sent in two more revisions of the patch to enable
+synchronous replication.
+</p>
+
+<p>
+Heikki Linnakangas sent in patches updating the FDW API and the
+PostgreSQL FDW, both for SQL/MED.
+</p>
+
+<p>
+Jan Urbanski sent in another flock of patches to improve PL/PythonU.
+</p>
+
+<p>
+Stephen Frost sent in three more revisions of the patch to add FOR
+EACH ... IN ARRAY...
+</p>
+
+<p>
+Alex Hunsaker sent in a patch to fix an infelicity in PL/Perl's
+conversion to and from UTF8.
+</p>
+
+<p>
+Per review from YAMAMOTO Takashi, Kevin Grittner sent in a patch to
+fix some infelicities in SSI.
+</p>
+
+<p>
+Daniel Farina sent in three revisions of a patch to fix some
+infelicities in replication server timeout.
+</p>
+
+<p>
+Gurjeet Singh sent in a patch to fix some infelicities in re: the
+actual existence of hypothetical indexes.
+</p>
+
+<p>
+Tom Lane sent in a patch to fix some mismatches between EXTENSIONs and
+PGXS's MODULE_PATHNAME handling.
+</p>
+
+<p>
+Daniel Farina sent in another pieces of the synchronous replication
+patch, this time for feeding back the xmin of the hot standby.
+</p>
+
+<p>
+Peter Eisentraut sent in a patch to add a "make check" target for PLs.
+</p>
+
+<p>
+Peter Eisentraut sent in a patch to see to it that psql -l processes
+the .psqlrc.
+
+</p>
+