--- /dev/null
+<!-- BEGIN page_title_block -->
+Weekly News - February 20 2011
+<!-- END page_title_block -->
+
+<h1>PostgreSQL Weekly News - February 20 2011</h1>
+
+<h2>PostgreSQL Product News</h2>
+<p>
+pgpool-II 3.0.2, a connection pooler and more, released.
+<a href="http://pgfoundry.org/projects/pgpool/">http://pgfoundry.org/projects/pgpool/</a>
+</p>
+
+<p>
+PL/Proxy 2.2, a write-scaling clustering system for PostgreSQL, released.
+<a href="http://pgfoundry.org/projects/plproxy/">http://pgfoundry.org/projects/plproxy/</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>
+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>
+<h2>Applied Patches</h2>
+<p>
+Bruce Momjian pushed:
+</p>
+
+<p>
+- Clarify documentation for libpq's PQescapeBytea to mention the new
+ hex format. Modify PQescapeStringConn() docs to be consisent with
+ other escaping functions. Add mention problems with pre-9.0
+ versions of libpq using not understanding bytea hex format to the
+ 9.0 release notes. Backpatch to 9.0 docs.
+ <a href="http://git.postgresql.org/pg/commitdiff/5569ae52ae206b3e35411df435884cf848ae0494">http://git.postgresql.org/pg/commitdiff/5569ae52ae206b3e35411df435884cf848ae0494</a>
+</p>
+
+<p>
+- Adjust pg_upgrade error message, array freeing, and add error check.
+ <a href="http://git.postgresql.org/pg/commitdiff/fe8f15d5d2f42ad1ce6a0114c12fd3da0f14dd4a">http://git.postgresql.org/pg/commitdiff/fe8f15d5d2f42ad1ce6a0114c12fd3da0f14dd4a</a>
+</p>
+
+<p>
+- Fix bug in 9.1 pg_upgrade processing of old/new relations; adjust
+ debug output.
+ <a href="http://git.postgresql.org/pg/commitdiff/1cc19cc358c23e3c4e04f9f38776b625d5e13965">http://git.postgresql.org/pg/commitdiff/1cc19cc358c23e3c4e04f9f38776b625d5e13965</a>
+</p>
+
+<p>
+- In pg_upgrade, no need to initialize global struct values; they are
+ always zeros. Also no need to free memory before we exit.
+ <a href="http://git.postgresql.org/pg/commitdiff/497e65f822ff33ed964d1c891ee6de0d97d0b2a6">http://git.postgresql.org/pg/commitdiff/497e65f822ff33ed964d1c891ee6de0d97d0b2a6</a>
+</p>
+
+<p>
+- In documentation example, use concat_values() instead of concat()
+ because concat() is a built-in function. Erik Rijkers
+ <a href="http://git.postgresql.org/pg/commitdiff/732808c087a84feed4749ab1e8a63ceeefcf449f">http://git.postgresql.org/pg/commitdiff/732808c087a84feed4749ab1e8a63ceeefcf449f</a>
+</p>
+
+<p>
+- Document that plpgsql upsert example can fail if insert triggers
+ return unique exception, or if not used in read committed
+ transaction mode.
+ <a href="http://git.postgresql.org/pg/commitdiff/f87712d208f7dbe447cd27e92a99f49fd19afe94">http://git.postgresql.org/pg/commitdiff/f87712d208f7dbe447cd27e92a99f49fd19afe94</a>
+</p>
+
+<p>
+- Remove doc mention about read committed in upsert example.
+ <a href="http://git.postgresql.org/pg/commitdiff/3472a2b0565ad0302e5ea47e49a95305c2b07f64">http://git.postgresql.org/pg/commitdiff/3472a2b0565ad0302e5ea47e49a95305c2b07f64</a>
+</p>
+
+<p>
+- Typo fix. Erik Rijkers
+ <a href="http://git.postgresql.org/pg/commitdiff/4f2cfc5bb4c404c24d589339d29c210321f4b4d7">http://git.postgresql.org/pg/commitdiff/4f2cfc5bb4c404c24d589339d29c210321f4b4d7</a>
+</p>
+
+<p>
+- Document that text search comparisons happen after text search
+ configuration rules. Erik Rijkers
+ <a href="http://git.postgresql.org/pg/commitdiff/5bba4948eb835413cc4a5ca1e2f7255ce4c78e69">http://git.postgresql.org/pg/commitdiff/5bba4948eb835413cc4a5ca1e2f7255ce4c78e69</a>
+</p>
+
+<p>
+- Improve text search prefix doc addition.
+ <a href="http://git.postgresql.org/pg/commitdiff/4077980d67a2f27b88a6bc7531da31cae0ed0fb1">http://git.postgresql.org/pg/commitdiff/4077980d67a2f27b88a6bc7531da31cae0ed0fb1</a>
+</p>
+
+<p>
+- Initialize variable to quiet compiler.
+ <a href="http://git.postgresql.org/pg/commitdiff/964b46d00ec2222c1273bec3ead369f3e167d482">http://git.postgresql.org/pg/commitdiff/964b46d00ec2222c1273bec3ead369f3e167d482</a>
+</p>
+
+<p>
+- Document that an SQL-standard-compliant query that expects a unique
+ row from information_schema.referential_constraints might return
+ several in Postgres because we allow duplicate-named constraints in
+ the same schema.
+ <a href="http://git.postgresql.org/pg/commitdiff/e07ae21f7ec2260c17136a7afaa4dbca405d9c24">http://git.postgresql.org/pg/commitdiff/e07ae21f7ec2260c17136a7afaa4dbca405d9c24</a>
+</p>
+
+<p>
+- Documentation update for UTF16 surrogate pairs in UTF8 encoding.
+ Marko Kreen
+ <a href="http://git.postgresql.org/pg/commitdiff/8c0f1e2762a896e3af890b14babd3409fa49e641">http://git.postgresql.org/pg/commitdiff/8c0f1e2762a896e3af890b14babd3409fa49e641</a>
+</p>
+
+<p>
+- Adjust documentation wording of window function ORDER BY to not
+ mention avg() because it was inaccurate.
+ <a href="http://git.postgresql.org/pg/commitdiff/d5813488a4ccc78ec3a4ad0d5da4e6e844af75e8">http://git.postgresql.org/pg/commitdiff/d5813488a4ccc78ec3a4ad0d5da4e6e844af75e8</a>
+</p>
+
+<p>
+- Merge two documentation permission chapters into a single chapter.
+ <a href="http://git.postgresql.org/pg/commitdiff/48d25bac9f024f36b43cbba58778adf9ad0207c6">http://git.postgresql.org/pg/commitdiff/48d25bac9f024f36b43cbba58778adf9ad0207c6</a>
+</p>
+
+<p>
+Tom Lane pushed:
+</p>
+
+<p>
+- Change the naming convention for extension files to use double
+ dashes. This allows us to have an unambiguous rule for
+ deconstructing the names of script files and secondary control
+ files, without having to forbid extension and version names from
+ containing any dashes. We do have to forbid them from containing
+ double dashes or leading/trailing dashes, but neither restriction is
+ likely to bother anyone in practice. Per discussion, this seems
+ like a better solution overall than the original design.
+ <a href="http://git.postgresql.org/pg/commitdiff/27d5d7ab10086d833e3df251951cf63c392b8bca">http://git.postgresql.org/pg/commitdiff/27d5d7ab10086d833e3df251951cf63c392b8bca</a>
+</p>
+
+<p>
+- Convert contrib modules to use the extension facility. This isn't
+ fully tested as yet, in particular I'm not sure that the
+ "foo--unpackaged--1.0.sql" scripts are OK. But it's time to get
+ some buildfarm cycles on it. sepgsql is not converted to an
+ extension, mainly because it seems to require a very nonstandard
+ installation process. Dimitri Fontaine and Tom Lane.
+ <a href="http://git.postgresql.org/pg/commitdiff/629b3af27d5c2bc9d6e16b22b943ad651d4ecb56">http://git.postgresql.org/pg/commitdiff/629b3af27d5c2bc9d6e16b22b943ad651d4ecb56</a>
+</p>
+
+<p>
+- Avoid use of CREATE OR REPLACE FUNCTION in extension installation
+ files. It was never terribly consistent to use OR REPLACE (because
+ of the lack of comparable functionality for data types, operators,
+ etc), and experimentation shows that it's now positively pernicious
+ in the extension world. We really want a failure to occur if there
+ are any conflicts, else it's unclear what the extension-ownership
+ state of the conflicted object ought to be. Most of the time,
+ CREATE EXTENSION will fail anyway because of conflicts on other
+ object types, but an extension defining only functions can succeed,
+ with bad results.
+ <a href="http://git.postgresql.org/pg/commitdiff/029fac2264101919b65fb6319bb994f941969471">http://git.postgresql.org/pg/commitdiff/029fac2264101919b65fb6319bb994f941969471</a>
+</p>
+
+<p>
+- Assorted fixups for "unpackaged" conversion scripts. From first
+ pass of testing. Notably, there seems to be no need for
+ adminpack--unpackaged--1.0.sql because none of the objects that the
+ old module creates would ever be dumped by pg_dump anyway (they are
+ all in pg_catalog).
+ <a href="http://git.postgresql.org/pg/commitdiff/3b61e57f3c352ab97c6514898d46480b5725ebb9">http://git.postgresql.org/pg/commitdiff/3b61e57f3c352ab97c6514898d46480b5725ebb9</a>
+</p>
+
+<p>
+- Support replacing MODULE_PATHNAME during extension script file
+ execution. This avoids the need to find a way to make PGXS'
+ .sql.in-to-.sql rule insert the right thing. We'll just deprecate
+ use of that hack for extensions.
+ <a href="http://git.postgresql.org/pg/commitdiff/e693e97d754ed6812ea115170afeae4bf8797d3f">http://git.postgresql.org/pg/commitdiff/e693e97d754ed6812ea115170afeae4bf8797d3f</a>
+</p>
+
+<p>
+- More fixups for "unpackaged" conversion scripts.
+ <a href="http://git.postgresql.org/pg/commitdiff/de06cfe834dfff283deddfe1eb2945ba8a4fde2a">http://git.postgresql.org/pg/commitdiff/de06cfe834dfff283deddfe1eb2945ba8a4fde2a</a>
+</p>
+
+<p>
+- Remove no-longer-needed special case hacks in MSVC build scripts.
+ <a href="http://git.postgresql.org/pg/commitdiff/2ee69ff65de6e8626784d4a263953158ef480ab4">http://git.postgresql.org/pg/commitdiff/2ee69ff65de6e8626784d4a263953158ef480ab4</a>
+</p>
+
+<p>
+- Fix obsolete references to old-style contrib installation methods.
+ <a href="http://git.postgresql.org/pg/commitdiff/f1fb4b0e63a677cdc86de667c75142b88a4edb65">http://git.postgresql.org/pg/commitdiff/f1fb4b0e63a677cdc86de667c75142b88a4edb65</a>
+</p>
+
+<p>
+- Small improvements to external-projects documentation.
+ <a href="http://git.postgresql.org/pg/commitdiff/cee103da14f470d29c47827b810da44cdab2a0d2">http://git.postgresql.org/pg/commitdiff/cee103da14f470d29c47827b810da44cdab2a0d2</a>
+</p>
+
+<p>
+- Rearrange extension-related views as per recent discussion. The
+ original design of pg_available_extensions did not consider the
+ possibility of version-specific control files. Split it into two
+ views: pg_available_extensions shows information that is generic
+ about an extension, while pg_available_extension_versions shows all
+ available versions together with information that could be
+ version-dependent. Also, add an SRF pg_extension_update_paths() to
+ assist in checking that a collection of update scripts provide sane
+ update path sequences.
+ <a href="http://git.postgresql.org/pg/commitdiff/555353c0c59ada35ae59c8a76186e98d123fa8b3">http://git.postgresql.org/pg/commitdiff/555353c0c59ada35ae59c8a76186e98d123fa8b3</a>
+</p>
+
+<p>
+- Fix MSVC build scripts for recent extension-related changes.
+ Untested, but we'll soon see if the buildfarm likes this.
+ <a href="http://git.postgresql.org/pg/commitdiff/01ff8dd7560f2647dccc3d70f713dd6b27bf843e">http://git.postgresql.org/pg/commitdiff/01ff8dd7560f2647dccc3d70f713dd6b27bf843e</a>
+</p>
+
+<p>
+- Rethink naming of contrib/intagg extension. Initially it was called
+ int_aggregate after the old SQL file, but since the documentation
+ just says "intagg" and that's also the directory name, let's conform
+ to that instead.
+ <a href="http://git.postgresql.org/pg/commitdiff/74883d33730ecb69e6f4142deb8c5882af127b32">http://git.postgresql.org/pg/commitdiff/74883d33730ecb69e6f4142deb8c5882af127b32</a>
+</p>
+
+<p>
+- Fix obsolete comment. Comment about MaxAllocSize was not updated
+ when the TOAST-header macros were replaced in 8.3 "varvarlena"
+ changes. Per report from Frederik Ramm.
+ <a href="http://git.postgresql.org/pg/commitdiff/887dd041a65006deeaf514f78e4a5012dc6f7f7c">http://git.postgresql.org/pg/commitdiff/887dd041a65006deeaf514f78e4a5012dc6f7f7c</a>
+</p>
+
+<p>
+- Bring hstore's comment into line with style of other contrib
+ comments. All the other ones that are primarily a new datatype say
+ "data type for <purpose>", so make this one similar.
+ <a href="http://git.postgresql.org/pg/commitdiff/f5fc1de501d03f6399670dd16989c5925b9191d2">http://git.postgresql.org/pg/commitdiff/f5fc1de501d03f6399670dd16989c5925b9191d2</a>
+</p>
+
+<p>
+- Add CheckTableNotInUse calls in DROP TABLE and DROP INDEX. Recent
+ releases had a check on rel->rd_refcnt in heap_drop_with_catalog,
+ but failed to cover the possibility of pending trigger events at
+ DROP time. (Before 8.4 we didn't even check the refcnt.) When the
+ trigger events were eventually fired, you'd get "could not open
+ relation with OID nnn" errors, as in recent report from strk.
+ Better to throw a suitable error when the DROP is attempted. Also
+ add a similar check in DROP INDEX. Back-patch to all supported
+ branches.
+ <a href="http://git.postgresql.org/pg/commitdiff/eff027c43288d15307676b1bd4736ab11f34c407">http://git.postgresql.org/pg/commitdiff/eff027c43288d15307676b1bd4736ab11f34c407</a>
+</p>
+
+<p>
+- Fix corner case for binary upgrade: extension functions in
+ pg_catalog. Normally, pg_dump summarily excludes functions in
+ pg_catalog from consideration. However, some extensions may create
+ functions in pg_catalog (adminpack already does that, and extensions
+ for procedural languages will likely do it too). In binary-upgrade
+ mode, we have to dump such functions, or the extension will be
+ incomplete after upgrading. Per experimentation with adminpack.
+ <a href="http://git.postgresql.org/pg/commitdiff/89c29c033154b717b16db2ee3c87bdec4393b0d4">http://git.postgresql.org/pg/commitdiff/89c29c033154b717b16db2ee3c87bdec4393b0d4</a>
+</p>
+
+<p>
+- Add FOREACH IN ARRAY looping to plpgsql. (I'm not entirely sure
+ that we've finished bikeshedding the syntax details, but the
+ functionality seems OK.) Pavel Stehule, reviewed by Stephen Frost
+ and Tom Lane.
+ <a href="http://git.postgresql.org/pg/commitdiff/6e02755b22ea62775c906d29b87b55b38ab70bd2">http://git.postgresql.org/pg/commitdiff/6e02755b22ea62775c906d29b87b55b38ab70bd2</a>
+</p>
+
+<p>
+- Make a no-op ALTER EXTENSION UPDATE give just a NOTICE, not ERROR.
+ This seems a bit more user-friendly.
+ <a href="http://git.postgresql.org/pg/commitdiff/65076269ea54a8cd6e39f066a208c7d13aceac0a">http://git.postgresql.org/pg/commitdiff/65076269ea54a8cd6e39f066a208c7d13aceac0a</a>
+</p>
+
+<p>
+- Add backwards-compatible declarations of some core GIN support
+ functions. These are needed to support reloading dumps of 9.0
+ installations containing contrib/intarray or contrib/tsearch2.
+ Since not only regular dump/reload but binary upgrade would fail, it
+ seems worth the trouble to carry these stubs for awhile. Note that
+ the contrib opclasses referencing these functions will still work
+ fine, since GIN doesn't actually pay any attention to the declared
+ signature of a support function.
+ <a href="http://git.postgresql.org/pg/commitdiff/6595dd04d136d5c97ae05fc580572c8f00042143">http://git.postgresql.org/pg/commitdiff/6595dd04d136d5c97ae05fc580572c8f00042143</a>
+</p>
+
+<p>
+- Fix bogus test for hypothetical indexes in
+ get_actual_variable_range(). That function was supposing that
+ indexoid == 0 for a hypothetical index, but that is not likely to be
+ true in any non-toy implementation of an index adviser, since
+ assigning a fake OID is the only way to know at EXPLAIN time which
+ hypothetical index got selected. Fix by adding a flag to
+ IndexOptInfo to mark hypothetical indexes. Back-patch to 9.0 where
+ get_actual_variable_range() was added. Gurjeet Singh
+ <a href="http://git.postgresql.org/pg/commitdiff/a2095f7fb5a57ea1794f25d029756d9a140fd429">http://git.postgresql.org/pg/commitdiff/a2095f7fb5a57ea1794f25d029756d9a140fd429</a>
+</p>
+
+<p>
+- Fix blatantly uninitialized variable in recent commit. Doesn't
+ anybody around here pay attention to compiler warnings?
+ <a href="http://git.postgresql.org/pg/commitdiff/93016983d1e8f3aeb508f1be8daf5ca5de5c5b61">http://git.postgresql.org/pg/commitdiff/93016983d1e8f3aeb508f1be8daf5ca5de5c5b61</a>
+</p>
+
+<p>
+- Fix contrib/pg_trgm to have smoother updates from 9.0. Take care of
+ some loose ends in the update-from-unpackaged script, and apply some
+ ugly hacks to ensure that it produces the same catalog state as the
+ fresh-install script. Per discussion, this seems like a safer plan
+ than having two different catalog states that both call themselves
+ "pg_trgm 1.0", even if it's not immediately clear that the subtle
+ differences would ever matter. Also, fix the stub function
+ gin_extract_trgm() so that it works instead of just bleating.
+ Needed because this function will get called during a regular dump
+ and reload, if there are any indexes using its opclass. The user
+ won't have an opportunity to update the extension till later, so
+ telling him to do so is unhelpful.
+ <a href="http://git.postgresql.org/pg/commitdiff/4eb49db7ae634fab9af7437b2e7b6388dfd83bd3">http://git.postgresql.org/pg/commitdiff/4eb49db7ae634fab9af7437b2e7b6388dfd83bd3</a>
+</p>
+
+<p>
+- Fix upgrade of contrib/btree_gist from 9.0. The initial version of
+ the update-from-unpackaged script neglected to include the <>
+ operators that were added to the opclasses during 9.1. To make this
+ script produce the same final state as the regular install script,
+ use the same ALTER OPERATOR FAMILY trick as in pg_trgm.
+ <a href="http://git.postgresql.org/pg/commitdiff/ec65a79db2a423a156cda8e862d34052d7175a86">http://git.postgresql.org/pg/commitdiff/ec65a79db2a423a156cda8e862d34052d7175a86</a>
+</p>
+
+<p>
+- Fix upgrade of contrib/intarray and contrib/unaccent from 9.0. Take
+ care of a couple of discrepancies between what you get from a fresh
+ install and what the first-draft update-from-unpackaged scripts
+ produced.
+ <a href="http://git.postgresql.org/pg/commitdiff/0024e348989254d48dc4afe9beab98a6994a791e">http://git.postgresql.org/pg/commitdiff/0024e348989254d48dc4afe9beab98a6994a791e</a>
+</p>
+
+<p>
+- Fix upgrade of contrib/xml2 from 9.0. Update script was being
+ sloppy about two functions that have been changed since 9.0.
+ <a href="http://git.postgresql.org/pg/commitdiff/de623f33353c96657651f9c3a6c8756616c610e4">http://git.postgresql.org/pg/commitdiff/de623f33353c96657651f9c3a6c8756616c610e4</a>
+</p>
+
+<p>
+- Fix tsmatchsel() to account properly for null rows. ts_typanalyze.c
+ computes MCE statistics as fractions of the non-null rows, which
+ seems fairly reasonable, and anyway changing it in released versions
+ wouldn't be a good idea. But then ts_selfuncs.c has to account for
+ that. Failure to do so results in overestimates in columns with a
+ significant fraction of null documents. Back-patch to 8.4 where
+ this stuff was introduced. Jesper Krogh
+ <a href="http://git.postgresql.org/pg/commitdiff/52b60530f257b1591d8b72264cd6c0dd9aabfd46">http://git.postgresql.org/pg/commitdiff/52b60530f257b1591d8b72264cd6c0dd9aabfd46</a>
+</p>
+
+<p>
+- One more hack to make contrib upgrades from 9.0 match fresh 9.1
+ installs. intarray and tsearch2 both reference core support
+ functions in their GIN opclasses, and the signatures of those
+ functions changed for 9.1. We added backwards-compatible pg_proc
+ entries for the functions in order to allow 9.0 dump files to be
+ restored at all, but that hack leaves the opclasses pointing at
+ pg_proc entries different from what they'd point to if the contrib
+ modules were installed fresh in 9.1. To forestall any possibility
+ of future problems, fix the opclasses to match fresh installs via
+ the expedient of direct UPDATEs on pg_amproc in the
+ update-from-unpackaged scripts. (Yech ... but the alternatives are
+ worse, or require far more effort than seems justified right now.)
+ Note: updating pg_amproc is sufficient because there will be no
+ pg_depend entries corresponding to these dependencies, since the
+ referenced functions are all pinned.
+ <a href="http://git.postgresql.org/pg/commitdiff/472f608e436a41865b795c999bda3369725fa097">http://git.postgresql.org/pg/commitdiff/472f608e436a41865b795c999bda3369725fa097</a>
+</p>
+
+<p>
+- Fix parallel pg_restore to handle comments on POST_DATA items
+ correctly. The previous coding would try to process all
+ SECTION_NONE items in the initial sequential-restore pass, which
+ failed if they were dependencies of not-yet-restored items. Fix by
+ postponing such items into the parallel processing pass once we have
+ skipped any non-PRE_DATA item. Back-patch into 9.0; the original
+ parallel-restore coding in 8.4 did not have this bug, so no need to
+ change it. Report and diagnosis by Arnd Hannemann.
+ <a href="http://git.postgresql.org/pg/commitdiff/4cff100d7378b65ded116c5a9960584c351e5fa9">http://git.postgresql.org/pg/commitdiff/4cff100d7378b65ded116c5a9960584c351e5fa9</a>
+</p>
+
+<p>
+- Un-break building with BTREE_BUILD_STATS. This has been broken for
+ awhile, but not clear it's worth back-patching. Euler Taveira de
+ Oliveira
+ <a href="http://git.postgresql.org/pg/commitdiff/82220e883236c214d670c3f14d943690aa78bc17">http://git.postgresql.org/pg/commitdiff/82220e883236c214d670c3f14d943690aa78bc17</a>
+</p>
+
+<p>
+- Create the catalog infrastructure for foreign-data-wrapper handlers.
+ Add a fdwhandler column to pg_foreign_data_wrapper, plus HANDLER
+ options in the CREATE FOREIGN DATA WRAPPER and ALTER FOREIGN DATA
+ WRAPPER commands, plus pg_dump support for same. Also invent a new
+ pseudotype fdw_handler with properties similar to language_handler.
+ This is split out of the "FDW API" patch for ease of review; it's
+ all stuff we will certainly need, regardless of any other details of
+ the FDW API. FDW handler functions will not actually get called
+ yet. In passing, fix some omissions and infelicities in
+ foreigncmds.c. Shigeru Hanada, Jan Urbanski, Heikki Linnakangas
+ <a href="http://git.postgresql.org/pg/commitdiff/327e0250716f12fe94b62669d25e572b40a8fba5">http://git.postgresql.org/pg/commitdiff/327e0250716f12fe94b62669d25e572b40a8fba5</a>
+</p>
+
+<p>
+- Implement an API to let foreign-data wrappers actually be
+ functional. This commit provides the core code and documentation
+ needed. A contrib module test case will follow shortly. Shigeru
+ Hanada, Jan Urbanski, Heikki Linnakangas
+ <a href="http://git.postgresql.org/pg/commitdiff/bb742407947ad1cbf19355d24282380d576e7654">http://git.postgresql.org/pg/commitdiff/bb742407947ad1cbf19355d24282380d576e7654</a>
+</p>
+
+<p>
+- Add contrib/file_fdw foreign-data wrapper for reading files via
+ COPY. This is both very useful in its own right, and an important
+ test case for the core FDW support. This commit includes a small
+ refactoring of copy.c to expose its option checking code as a
+ separately callable function. The original patch submission
+ duplicated hundreds of lines of that code, which seemed pretty
+ unmaintainable. Shigeru Hanada, reviewed by Itagaki Takahiro and
+ Tom Lane
+ <a href="http://git.postgresql.org/pg/commitdiff/7c5d0ae7078456bfeedb2103c45b9a32285c2631">http://git.postgresql.org/pg/commitdiff/7c5d0ae7078456bfeedb2103c45b9a32285c2631</a>
+</p>
+
+<p>
+- Minor logic fix for new levenshtein implementation. Alexander
+ Korotkov
+ <a href="http://git.postgresql.org/pg/commitdiff/087bd179e63f199105dabc8be0c8aebd087a178e">http://git.postgresql.org/pg/commitdiff/087bd179e63f199105dabc8be0c8aebd087a178e</a>
+</p>
+
+<p>
+Simon Riggs pushed:
+</p>
+
+<p>
+- Add version-sensitive SQL for psql when constraints NOT VALID. Bug
+ report and fix by Andres Freund.
+ <a href="http://git.postgresql.org/pg/commitdiff/f0b8a79c4bea7bfa89245ee03abf994b027da411">http://git.postgresql.org/pg/commitdiff/f0b8a79c4bea7bfa89245ee03abf994b027da411</a>
+</p>
+
+<p>
+- PITR can stop at a named restore point when recovery target = time
+ though must not update the last transaction timestamp. Plus comment
+ and message cleanup for recent named restore point. Fujii Masao,
+ minor changes by me.
+ <a href="http://git.postgresql.org/pg/commitdiff/5c588be729399af5cb8ec66901e3b578936823a3">http://git.postgresql.org/pg/commitdiff/5c588be729399af5cb8ec66901e3b578936823a3</a>
+</p>
+
+<p>
+- Additional required docs for pg_constraint catalog entry. Noted by
+ Bernd Helmle
+ <a href="http://git.postgresql.org/pg/commitdiff/0ff1b7350984b9e4055e9d3a37d3b875c0663ac4">http://git.postgresql.org/pg/commitdiff/0ff1b7350984b9e4055e9d3a37d3b875c0663ac4</a>
+</p>
+
+<p>
+- Hot Standby feedback for avoidance of cleanup conflicts on standby.
+ Standby optionally sends back information about oldestXmin of
+ queries which is then checked and applied to the WALSender's
+ proc->xmin. GetOldestXmin() is modified slightly to agree with
+ GetSnapshotData(), so that all backends on primary include WALSender
+ within their snapshots. Note this does nothing to change the
+ snapshot xmin on either master or standby. Feedback piggybacks on
+ the standby reply message. vacuum_defer_cleanup_age is no longer
+ used on standby, though parameter still exists on primary, since
+ some use cases still exist. Simon Riggs, review comments from Fujii
+ Masao, Heikki Linnakangas, Robert Haas
+ <a href="http://git.postgresql.org/pg/commitdiff/bca8b7f16a3e720794cb0afbdb3733be4f8d9c2c">http://git.postgresql.org/pg/commitdiff/bca8b7f16a3e720794cb0afbdb3733be4f8d9c2c</a>
+</p>
+
+<p>
+- Separate messages for standby replies and hot standby feedback.
+ Allow messages to be sent at different times, and greatly reduce the
+ frequency of hot standby feedback. Refactor to allow additional
+ message types.
+ <a href="http://git.postgresql.org/pg/commitdiff/06828c5febf3a8f9e94bce5bd84634ce990d299f">http://git.postgresql.org/pg/commitdiff/06828c5febf3a8f9e94bce5bd84634ce990d299f</a>
+</p>
+
+<p>
+- Make a hard state change from catchup to streaming mode. More
+ useful state change for monitoring purposes, plus a required change
+ for synchronous replication patch.
+ <a href="http://git.postgresql.org/pg/commitdiff/bc76695c4c44e21aed94ee2bea81c4cdcedf1390">http://git.postgresql.org/pg/commitdiff/bc76695c4c44e21aed94ee2bea81c4cdcedf1390</a>
+</p>
+
+<p>
+Robert Haas pushed:
+</p>
+
+<p>
+- Delete stray word from comment.
+ <a href="http://git.postgresql.org/pg/commitdiff/8e1124eeeb128ef87045debfeb8f24cd6dbab874">http://git.postgresql.org/pg/commitdiff/8e1124eeeb128ef87045debfeb8f24cd6dbab874</a>
+</p>
+
+<p>
+- Avoid a few more SET DATA TYPE table rewrites. When the new type is
+ an unconstrained domain over the old type, we don't need to rewrite
+ the table. Noah Misch and Robert Haas
+ <a href="http://git.postgresql.org/pg/commitdiff/0d90dc16f87bd991d7eb9f536ca46acef7586d95">http://git.postgresql.org/pg/commitdiff/0d90dc16f87bd991d7eb9f536ca46acef7586d95</a>
+</p>
+
+<p>
+- Rename max_predicate_locks_per_transaction. The new name,
+ max_pred_locks_per_transaction, is shorter. Kevin Grittner, per
+ discussion.
+ <a href="http://git.postgresql.org/pg/commitdiff/6a77e9385eb46829ce80971bc655df9f3ef00d9a">http://git.postgresql.org/pg/commitdiff/6a77e9385eb46829ce80971bc655df9f3ef00d9a</a>
+</p>
+
+<p>
+- Assorted corrections to the patch to add WAL receiver replies. Per
+ reports from Fujii Masao.
+ <a href="http://git.postgresql.org/pg/commitdiff/883a9659faf6e49e314b264ca32ed7645068a409">http://git.postgresql.org/pg/commitdiff/883a9659faf6e49e314b264ca32ed7645068a409</a>
+</p>
+
+<p>
+- pg_ctl promote. Fujii Masao, reviewed by Robert Haas, Stephen
+ Frost, and Magnus Hagander.
+ <a href="http://git.postgresql.org/pg/commitdiff/4695da5ae97bbb58d274887fd68edbe88d03ebcb">http://git.postgresql.org/pg/commitdiff/4695da5ae97bbb58d274887fd68edbe88d03ebcb</a>
+</p>
+
+<p>
+- WAL receiver shouldn't try to send a reply when dying. Per report
+ from, and discussion with, Fujii Masao.
+ <a href="http://git.postgresql.org/pg/commitdiff/3a087369c0ea858e56c8af5072de91778a644383">http://git.postgresql.org/pg/commitdiff/3a087369c0ea858e56c8af5072de91778a644383</a>
+</p>
+
+<p>
+- Remove rule to build sepgsql-regtest.pp. Instead, document how to
+ build it manually. Per discussion. KaiGai Kohei, with some
+ wordsmithing by me.
+ <a href="http://git.postgresql.org/pg/commitdiff/24bc6b3db3579f4c480c6d0f81f7e50f1e6c0180">http://git.postgresql.org/pg/commitdiff/24bc6b3db3579f4c480c6d0f81f7e50f1e6c0180</a>
+</p>
+
+<p>
+- Typo fixes. Thom Brown
+ <a href="http://git.postgresql.org/pg/commitdiff/9408783aefee9d58dd9daf53c8d6b24ab226f05b">http://git.postgresql.org/pg/commitdiff/9408783aefee9d58dd9daf53c8d6b24ab226f05b</a>
+</p>
+
+<p>
+- Add some words of caution to elog.c. Stephen Frost, somewhat
+ rewritten by me
+ <a href="http://git.postgresql.org/pg/commitdiff/f196738534baa95badd9d8f1debb5822240ebc6b">http://git.postgresql.org/pg/commitdiff/f196738534baa95badd9d8f1debb5822240ebc6b</a>
+</p>
+
+<p>
+- Add client_hostname field to pg_stat_activity. Peter Eisentraut,
+ reviewed by Steve Singer, Alvaro Herrera, and me.
+ <a href="http://git.postgresql.org/pg/commitdiff/4a25bc145ad5d05da6f01c00bae0f576e9e17115">http://git.postgresql.org/pg/commitdiff/4a25bc145ad5d05da6f01c00bae0f576e9e17115</a>
+</p>
+
+<p>
+- Prevent possible compiler warnings. Simon Riggs reports that
+ rnode.dbNode and rnode.spcNode were generating unused variable
+ warnings on gcc 4.4.3 with CFLAGS=-O1
+ <a href="http://git.postgresql.org/pg/commitdiff/a3e8486dffc413506b14eae9dc5d423f6ae8324a">http://git.postgresql.org/pg/commitdiff/a3e8486dffc413506b14eae9dc5d423f6ae8324a</a>
+</p>
+
+<p>
+Peter Eisentraut pushed:
+</p>
+
+<p>
+- Allow make check in PL directories. Also add make check-world
+ target, and refactor pg_regress invocation code in makefiles a bit.
+ <a href="http://git.postgresql.org/pg/commitdiff/2fd77060a2db814146cf1f6cf77755a4b4fd9a80">http://git.postgresql.org/pg/commitdiff/2fd77060a2db814146cf1f6cf77755a4b4fd9a80</a>
+</p>
+
+<p>
+- Better support for thread-support flag detection with clang. When
+ testing the stderr produced by various thread-support flags, also
+ run a compilation in addition to a link, because clang warns on
+ certain flags when compiling but not when linking.
+ <a href="http://git.postgresql.org/pg/commitdiff/f0053845326e9eba290c78162ef355558cd2fc46">http://git.postgresql.org/pg/commitdiff/f0053845326e9eba290c78162ef355558cd2fc46</a>
+</p>
+
+<p>
+- Also process psqlrc when running psql -l. This was previously not
+ very useful, but with many people customizing the linestyle, it is
+ nice for a consistent appearance.
+ <a href="http://git.postgresql.org/pg/commitdiff/b15fabf997fb3cd5e0680a6ad7576377774aae07">http://git.postgresql.org/pg/commitdiff/b15fabf997fb3cd5e0680a6ad7576377774aae07</a>
+</p>
+
+<p>
+- Fix for warnings-free compilation with Python 3.2. The first
+ argument of PyEval_EvalCode() was changed from PyCodeObject* to
+ PyObject* because of PEP 384.
+ <a href="http://git.postgresql.org/pg/commitdiff/66d6b4cb54eb3b192c8f9087592e53c53c20cf06">http://git.postgresql.org/pg/commitdiff/66d6b4cb54eb3b192c8f9087592e53c53c20cf06</a>
+</p>
+
+<p>
+- Set psql client encoding from locale by default. Add a new libpq
+ connection option client_encoding (which includes the existing
+ PGCLIENTENCODING environment variable), which besides an encoding
+ name accepts a special value "auto" that tries to determine the
+ encoding from the locale in the client's environment, using the
+ mechanisms that have been in use in initdb. psql sets this new
+ connection option to "auto" when running from a terminal and not
+ overridden by setting PGCLIENTENCODING. original code by Heikki
+ Linnakangas, with subsequent contributions by Jaime Casanova, Peter
+ Eisentraut, Stephen Frost, Ibrar Ahmed
+ <a href="http://git.postgresql.org/pg/commitdiff/02e14562a806a96f38120c96421d39dfa7394192">http://git.postgresql.org/pg/commitdiff/02e14562a806a96f38120c96421d39dfa7394192</a>
+</p>
+
+<p>
+- Invalidate PL/Python functions with composite type argument when the
+ type changes. The invalidation will cause the type information to
+ be refetched, and everything will work. Jan Urbański, reviewed by
+ Alex Hunsaker
+ <a href="http://git.postgresql.org/pg/commitdiff/b05186f8a403c7dcd1bd974948273f8c00edb127">http://git.postgresql.org/pg/commitdiff/b05186f8a403c7dcd1bd974948273f8c00edb127</a>
+</p>
+
+<p>
+Alvaro Herrera pushed:
+</p>
+
+<p>
+- Make pg_upgrade compile again
+ <a href="http://git.postgresql.org/pg/commitdiff/8b2557553c6eeba97d9ebf6f048369cabd25c2b6">http://git.postgresql.org/pg/commitdiff/8b2557553c6eeba97d9ebf6f048369cabd25c2b6</a>
+</p>
+
+<p>
+- Cleanup ClusterInfo initialization in pg_upgrade
+ <a href="http://git.postgresql.org/pg/commitdiff/b4a7e5980b2919d4d2a849d046a8e3a77e06fdb7">http://git.postgresql.org/pg/commitdiff/b4a7e5980b2919d4d2a849d046a8e3a77e06fdb7</a>
+</p>
+
+<p>
+- Use $INDENT rather than indent throughout the pgindent code. This
+ allows the user to change the path to be used more easily. Also,
+ change URL in README.
+ <a href="http://git.postgresql.org/pg/commitdiff/c4d124365b9b535e8c98e4568ade3e0c15b11810">http://git.postgresql.org/pg/commitdiff/c4d124365b9b535e8c98e4568ade3e0c15b11810</a>
+</p>
+
+<p>
+- Convert Postgres arrays to Perl arrays on PL/perl input arguments.
+ More generally, arrays are turned in Perl array references, and row
+ and composite types are turned into Perl hash references. This is
+ done recursively, in a way that's natural to every Perl programmer.
+ To avoid a backwards compatibility hit, the string representation of
+ each structure is also available if the function requests it.
+ Authors: Alexey Klyukin and Alex Hunsaker. Some code cleanups by
+ me.
+ <a href="http://git.postgresql.org/pg/commitdiff/87bb2ade2ce646083f39d5ab3e3307490211ad04">http://git.postgresql.org/pg/commitdiff/87bb2ade2ce646083f39d5ab3e3307490211ad04</a>
+</p>
+
+<p>
+- pgindent run on plperl.c
+ <a href="http://git.postgresql.org/pg/commitdiff/f7b51d175a02a3b6589f091ca732959618844232">http://git.postgresql.org/pg/commitdiff/f7b51d175a02a3b6589f091ca732959618844232</a>
+</p>
+
+<p>
+- Use $INDENT instead of `which` to find the indent binary. Per
+ discussion after my commit o yesterday.
+ <a href="http://git.postgresql.org/pg/commitdiff/a5dfc94c9a2e6c0c7e0ed97d22ebff37cf7d9038">http://git.postgresql.org/pg/commitdiff/a5dfc94c9a2e6c0c7e0ed97d22ebff37cf7d9038</a>
+</p>
+
+<p>
+ITAGAKI Takahiro pushed:
+</p>
+
+<p>
+- Export the external file reader used in COPY FROM as APIs. They are
+ expected to be used by extension modules like file_fdw. There are
+ no user-visible changes. Itagaki Takahiro. Reviewed and tested by
+ Kevin Grittner and Noah Misch.
+ <a href="http://git.postgresql.org/pg/commitdiff/8ddc05fb01ee2c423bf5613426726351e860d4b4">http://git.postgresql.org/pg/commitdiff/8ddc05fb01ee2c423bf5613426726351e860d4b4</a>
+</p>
+
+<p>
+- Add transaction-level advisory locks. They share the same locking
+ namespace with the existing session-level advisory locks, but they
+ are automatically released at the end of the current transaction and
+ cannot be released explicitly via unlock functions. Marko Tiikkaja,
+ reviewed by me.
+ <a href="http://git.postgresql.org/pg/commitdiff/62c7bd31c8878dd45c9b9b2429ab7a12103f3590">http://git.postgresql.org/pg/commitdiff/62c7bd31c8878dd45c9b9b2429ab7a12103f3590</a>
+</p>
+
+<p>
+- Fix an uninitialized field in DR_copy. Shigeru HANADA
+ <a href="http://git.postgresql.org/pg/commitdiff/5c63982af2a5d2da90259e878efb43f16ee13ce3">http://git.postgresql.org/pg/commitdiff/5c63982af2a5d2da90259e878efb43f16ee13ce3</a>
+</p>
+
+<p>
+Magnus Hagander pushed:
+</p>
+
+<p>
+- Properly initialize variables. Kevin Grittner
+ <a href="http://git.postgresql.org/pg/commitdiff/45a6d79b1764a78301ef008f4561b5e176352331">http://git.postgresql.org/pg/commitdiff/45a6d79b1764a78301ef008f4561b5e176352331</a>
+</p>
+
+<h2>Rejected Patches (for now)</h2>
+<p>
+No one was disappointed this week :-)
+</p>
+
+<h2>Pending Patches</h2>
+<p>
+ITAGAKI Takahiro sent in another revision of the patch to implement
+MULTISET.
+</p>
+
+<p>
+Stephen Frost and Robert Haas traded revisions of the patch to allow
+logging the current role.
+</p>
+
+<p>
+Marti Raudsepp sent in another revision of the patch which makes it so
+a key lock is only acquired for columns that can be referenced.
+</p>
+
+<p>
+Heikki Linnakangas sent in another revision of the patch to add a FDW
+API for SQL/MED.
+</p>
+
+<p>
+Thom Brown sent in a patch to make array_cat consistent with the ||
+operator for arrays with respect to NULLs.
+</p>
+
+<p>
+ITAGAKI Takahiro sent in another revision of the patch to implement
+transaction-scope advisory locks.
+</p>
+
+<p>
+Kevin Grittner sent in two revisions of a patch to fix an issue with
+uninitialized structures from the SSI patch.
+</p>
+
+<p>
+ITAGAKI Takahiro sent in another revision of the COPY ENCODING patch.
+</p>
+
+<p>
+Per feedback from Heikki Linnakangas, Simon Riggs sent in a patch to
+add a server_name parameter, plus mechanism to send info from
+standby to master. This will help with synchronous replication.
+</p>
+
+<p>
+YAMAMOTO Takashi sent in a patch to fix an issue with SSI.
+</p>
+
+<p>
+Tom Lane sent in two versions of a patch to fix pg_tgrm's
+update-from-unpackaged script.
+</p>
+
+<p>
+Mark Kirkwood sent in a WIP patch to allow the backend to constrain
+temporary file space.
+</p>
+
+<p>
+Tom Lane sent in a WIP patch to update KNN-GiST.
+</p>
+
+<p>
+Magnus Hagander sent in another revision of the patch to include
+pg_basebackup.
+</p>
+
+<p>
+Robert Haas sent in a patch to fix an issue with an assertion failure
+on UNLOGGED VIEWs.
+</p>
+
+<p>
+Simon Riggs sent in a patch to add server_name for synchronous
+replication.
+</p>
+
+<p>
+Simon Riggs sent in anothre revision of the patch to allow for
+synchronous replication.
+</p>
+
+<p>
+Radoslaw Smogura sent in a patch to add void_send and void_receive,
+used in COPY ... BINARY.
+
+</p>
+
--- /dev/null
+<!-- BEGIN page_title_block -->
+Weekly News - February 27 2011
+<!-- END page_title_block -->
+
+<h1>PostgreSQL Weekly News - February 27 2011</h1>
+
+<p>
+Gabriele Bartolini of ITPUG will present a talk on PostgreSQL 9.0 at Codemotion
+in Rome on Saturday, March 5th, 2011 at 4:10PM. More information:
+<a href="http://www.codemotion.it/en/">http://www.codemotion.it/en/</a>
+</p>
+
+<h2>PostgreSQL Product News</h2>
+<p>
+pgpool-II 3.0.3, a connection pooler and more, released.
+<a href="http://pgfoundry.org/projects/pgpool/">http://pgfoundry.org/projects/pgpool/</a>
+</p>
+
+<p>
+pgwatch 1.0beta1, a monitoring tool for PostgreSQL, released.
+<a href="http://www.cybertec.at/en/pgwatch/">http://www.cybertec.at/en/pgwatch/</a>
+</p>
+
+<p>
+psycopg2 2.4, a Python connector for PostgreSQL, released.
+<a href="http://initd.org/psycopg/articles/2011/02/27/psycopg-24-released/">http://initd.org/psycopg/articles/2011/02/27/psycopg-24-released/</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>
+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>
+<h2>Applied Patches</h2>
+<p>
+ITAGAKI Takahiro pushed:
+</p>
+
+<p>
+- Add ENCODING option to COPY TO/FROM and file_fdw. File encodings
+ can be specified separately from client encoding. If not specified,
+ client encoding is used for backward compatibility. Cases when the
+ encoding doesn't match client encoding are slower than matched cases
+ because we don't have conversion procs for other encodings.
+ Performance improvement would be be a future work. Original patch
+ by Hitoshi Harada, and modified by me.
+ <a href="http://git.postgresql.org/pg/commitdiff/3cba8240a195c4f323e3f934bfeab308434a9973">http://git.postgresql.org/pg/commitdiff/3cba8240a195c4f323e3f934bfeab308434a9973</a>
+</p>
+
+<p>
+- Fix pg_server_to_client, that was broken in the previous commit.
+ <a href="http://git.postgresql.org/pg/commitdiff/ca9cf85d54ec08f37edb37341ad8ee1f20211458">http://git.postgresql.org/pg/commitdiff/ca9cf85d54ec08f37edb37341ad8ee1f20211458</a>
+</p>
+
+<p>
+- Make the second words lowercase in psql's \d titles for unlogged
+ tables.
+ <a href="http://git.postgresql.org/pg/commitdiff/5a922f13eff66b3e437e823419d48d509d59a6be">http://git.postgresql.org/pg/commitdiff/5a922f13eff66b3e437e823419d48d509d59a6be</a>
+</p>
+
+<p>
+- Add tab-completion for CREATE UNLOGGED TABLE in psql, and fix
+ unexpected completion for DROP TEMP and UNIQUE.
+ <a href="http://git.postgresql.org/pg/commitdiff/4191e16cbeafb9184dff37c3cbfe94b11a29d5f4">http://git.postgresql.org/pg/commitdiff/4191e16cbeafb9184dff37c3cbfe94b11a29d5f4</a>
+</p>
+
+<p>
+- More psql tab-completion for new commands: ALTER FOREIGN DATA
+ WRAPPER with HANDLER, ALTER TABLE VALIDATE CONSTRAINT, ALTER TYPE
+ ADD VALUE, COPY with ENCODING and FORCE NOT NULL, CREATE FOREIGN
+ DATA WRAPPER with HANDLER, CREATE TRIGGER ... INSTEAD OF
+ <a href="http://git.postgresql.org/pg/commitdiff/6079375431d5e55f2456b47521bb16e6e263d8a6">http://git.postgresql.org/pg/commitdiff/6079375431d5e55f2456b47521bb16e6e263d8a6</a>
+</p>
+
+<p>
+Bruce Momjian pushed:
+</p>
+
+<p>
+- Update docs about new role privileges reference, per Alvaro Herrera.
+ <a href="http://git.postgresql.org/pg/commitdiff/ede45e90dd1992bfd3e1e61ce87bad494b81f54d">http://git.postgresql.org/pg/commitdiff/ede45e90dd1992bfd3e1e61ce87bad494b81f54d</a>
+</p>
+
+<p>
+- Move information_schema duplicate constraint note to the top of the
+ information schema documentation because it affects several tables.
+ <a href="http://git.postgresql.org/pg/commitdiff/fee7802770669398359c369aee83277dcc58edd1">http://git.postgresql.org/pg/commitdiff/fee7802770669398359c369aee83277dcc58edd1</a>
+</p>
+
+<p>
+- Reword information_schema duplicate constraint warning text.
+ <a href="http://git.postgresql.org/pg/commitdiff/edb382179d49105a236b54678a5a4020276df071">http://git.postgresql.org/pg/commitdiff/edb382179d49105a236b54678a5a4020276df071</a>
+</p>
+
+<p>
+- Update wording about information schema and name which views
+ potentially can have duplicates, per request from Tom Lane.
+ <a href="http://git.postgresql.org/pg/commitdiff/2c72d7042bc09bd8a1f2dc8ab288fec449760ba8">http://git.postgresql.org/pg/commitdiff/2c72d7042bc09bd8a1f2dc8ab288fec449760ba8</a>
+</p>
+
+<p>
+- Document pg_options_to_table() (not previously documented)
+ <a href="http://git.postgresql.org/pg/commitdiff/772dcfe7c0b3c678c8aef11de2bf8a52150a56f1">http://git.postgresql.org/pg/commitdiff/772dcfe7c0b3c678c8aef11de2bf8a52150a56f1</a>
+</p>
+
+<p>
+- Fix doc patch --- pg_options_to_table() returns "setof record".
+ <a href="http://git.postgresql.org/pg/commitdiff/86434afb11093ba4e2893b717858d8ce790f3e2e">http://git.postgresql.org/pg/commitdiff/86434afb11093ba4e2893b717858d8ce790f3e2e</a>
+</p>
+
+<p>
+- Document that pg_options_to_table() also works for
+ pg_attribute.attoptions.
+ <a href="http://git.postgresql.org/pg/commitdiff/58838a7a52a913c66084158f98f1f62349ee6335">http://git.postgresql.org/pg/commitdiff/58838a7a52a913c66084158f98f1f62349ee6335</a>
+</p>
+
+<p>
+- Fix markup for pg_options_to_table() to report the return column
+ names, per suggestion from Andrew Dunstan.
+ <a href="http://git.postgresql.org/pg/commitdiff/721ea41f1413bee70839c957a08eca62799e274f">http://git.postgresql.org/pg/commitdiff/721ea41f1413bee70839c957a08eca62799e274f</a>
+</p>
+
+<p>
+- Be less detailed about reporting shared memory failure by avoiding
+ the output of actual Postgres parameter _values_ related to shared
+ memory, and suggesting that these are only possible parameters to
+ reduce.
+ <a href="http://git.postgresql.org/pg/commitdiff/67a5e727c8655496013b007d2fb6137fcc244b18">http://git.postgresql.org/pg/commitdiff/67a5e727c8655496013b007d2fb6137fcc244b18</a>
+</p>
+
+<p>
+- Document that last vacuum statistics and counts are for non-FULL
+ vacuums.
+ <a href="http://git.postgresql.org/pg/commitdiff/c11f1f714b6983e011cc4639cf669151d587e8c2">http://git.postgresql.org/pg/commitdiff/c11f1f714b6983e011cc4639cf669151d587e8c2</a>
+</p>
+
+<p>
+Tom Lane pushed:
+</p>
+
+<p>
+- Fix dangling-pointer problem in before-row update trigger
+ processing. ExecUpdate checked for whether ExecBRUpdateTriggers had
+ returned a new tuple value by seeing if the returned tuple was
+ pointer-equal to the old one. But the "old one" was in
+ estate->es_junkFilter's result slot, which would be scribbled on if
+ we had done an EvalPlanQual update in response to a concurrent
+ update of the target tuple; therefore we were comparing a dangling
+ pointer to a live one. Given the right set of circumstances we
+ could get a false match, resulting in not forcing the tuple to be
+ stored in the slot we thought it was stored in. In the case
+ reported by Maxim Boguk in bug #5798, this led to "cannot extract
+ system attribute from virtual tuple" failures when trying to do
+ "RETURNING ctid". I believe there is a very-low-probability chance
+ of more serious errors, such as generating incorrect index entries
+ based on the original rather than the trigger-modified version of
+ the row. In HEAD, change all of ExecBRInsertTriggers,
+ ExecIRInsertTriggers, ExecBRUpdateTriggers, and ExecIRUpdateTriggers
+ so that they continue to have similar APIs. In the back branches I
+ just changed ExecBRUpdateTriggers, since there is no bug in the
+ ExecBRInsertTriggers case.
+ <a href="http://git.postgresql.org/pg/commitdiff/a210be772047575331fb6b0ab7b72043f81452ba">http://git.postgresql.org/pg/commitdiff/a210be772047575331fb6b0ab7b72043f81452ba</a>
+</p>
+
+<p>
+- Remove ExecRemoveJunk(), which is no longer used anywhere. This was
+ a leftover from the pre-8.1 design of junkfilters. It doesn't seem
+ to have any reason to live, since it's merely a combination of two
+ easy function calls, and not a well-designed combination at that (it
+ encourages callers to leak the result tuple).
+ <a href="http://git.postgresql.org/pg/commitdiff/2e852e541c84af85aa918762fc838fa44a399310">http://git.postgresql.org/pg/commitdiff/2e852e541c84af85aa918762fc838fa44a399310</a>
+</p>
+
+<p>
+- Allow binary I/O of type "void". void_send is useful for the same
+ reason that void_out doesn't throw error, namely that someone might
+ do "select void_returning_func(...)" from a client that prefers to
+ operate in binary mode. The void_recv function may or may not have
+ any practical use, but we provide it for symmetry. Radosław Smogura
+ <a href="http://git.postgresql.org/pg/commitdiff/1ab9b012bdf1f106792fc523e21b9ca8299bb8ed">http://git.postgresql.org/pg/commitdiff/1ab9b012bdf1f106792fc523e21b9ca8299bb8ed</a>
+</p>
+
+<p>
+- Add a relkind field to RangeTblEntry to avoid some syscache lookups.
+ The recent additions for FDW support required checking
+ foreign-table-ness in several places in the parse/plan chain. While
+ it's not clear whether that would really result in a noticeable
+ slowdown, it seems best to avoid any performance risk by keeping a
+ copy of the relation's relkind in RangeTblEntry. That might have
+ some other uses later, anyway. Per discussion.
+ <a href="http://git.postgresql.org/pg/commitdiff/bdca82f44d0e0168dece56cbd53b54ba142f328f">http://git.postgresql.org/pg/commitdiff/bdca82f44d0e0168dece56cbd53b54ba142f328f</a>
+</p>
+
+<p>
+- Support data-modifying commands (INSERT/UPDATE/DELETE) in WITH.
+ This patch implements data-modifying WITH queries according to the
+ semantics that the updates all happen with the same command counter
+ value, and in an unspecified order. Therefore one WITH clause can't
+ see the effects of another, nor can the outer query see the effects
+ other than through the RETURNING values. And attempts to do
+ conflicting updates will have unpredictable results. We'll need to
+ document all that. This commit just fixes the code; documentation
+ updates are waiting on author. Marko Tiikkaja and Hitoshi Harada
+ <a href="http://git.postgresql.org/pg/commitdiff/389af951552ff2209eae3e62fa147fef12329d4f">http://git.postgresql.org/pg/commitdiff/389af951552ff2209eae3e62fa147fef12329d4f</a>
+</p>
+
+<p>
+- Fix order of shutdown processing when CTEs contain inter-references.
+ We need ExecutorEnd to run the ModifyTable nodes to completion in
+ reverse order of initialization, not forward order. Easily done by
+ constructing the list back-to-front.
+ <a href="http://git.postgresql.org/pg/commitdiff/000128bc7f591025d0c1ce539bb53c6ad00ab69c">http://git.postgresql.org/pg/commitdiff/000128bc7f591025d0c1ce539bb53c6ad00ab69c</a>
+</p>
+
+<p>
+- Refactor the executor's API to support data-modifying CTEs better.
+ The originally committed patch for modifying CTEs didn't interact
+ well with EXPLAIN, as noted by myself, and also had corner-case
+ problems with triggers, as noted by Dean Rasheed. Those problems
+ show it is really not practical for ExecutorEnd to call any
+ user-defined code; so split the cleanup duties out into a new
+ function ExecutorFinish, which must be called between the last
+ ExecutorRun call and ExecutorEnd. Some Asserts have been added to
+ these functions to help verify correct usage. It is no longer
+ necessary for callers of the executor to call
+ AfterTriggerBeginQuery/AfterTriggerEndQuery for themselves, as this
+ is now done by ExecutorStart/ExecutorFinish respectively. If you
+ really need to suppress that and do it for yourself, pass
+ EXEC_FLAG_SKIP_TRIGGERS to ExecutorStart. Also, refactor portal
+ commit processing to allow for the possibility that PortalDrop will
+ invoke user-defined code. I think this is not actually necessary
+ just yet, since the portal-execution-strategy logic forces any
+ non-pure-SELECT query to be run to completion before we will
+ consider committing. But it seems like good future-proofing.
+ <a href="http://git.postgresql.org/pg/commitdiff/a874fe7b4c890d1fe3455215a83ca777867beadd">http://git.postgresql.org/pg/commitdiff/a874fe7b4c890d1fe3455215a83ca777867beadd</a>
+</p>
+
+<p>
+- Add documentation for data-modifying statements in WITH clauses.
+ Marko Tiikkaja, somewhat reworked by Tom Lane.
+ <a href="http://git.postgresql.org/pg/commitdiff/0ef0b302040284a087c1bc90df5b115f0dea7764">http://git.postgresql.org/pg/commitdiff/0ef0b302040284a087c1bc90df5b115f0dea7764</a>
+</p>
+
+<p>
+Robert Haas pushed:
+</p>
+
+<p>
+- Fix a couple of unlogged tables goofs. "SELECT ... INTO UNLOGGED
+ tabname" works, but wasn't documented; CREATE UNLOGGED SEQUENCE and
+ CREATE UNLOGGED VIEW failed an assertion, instead of throwing a
+ sensible error. Latter issue reported by Itagaki Takahiro; patch
+ review by Tom Lane.
+ <a href="http://git.postgresql.org/pg/commitdiff/3e6b305d9e2a4616bf69e31b0b21ebbb844ba50e">http://git.postgresql.org/pg/commitdiff/3e6b305d9e2a4616bf69e31b0b21ebbb844ba50e</a>
+</p>
+
+<p>
+- Named restore point improvements. Emit a log message when creating
+ a named restore point, and improve documentation for
+ pg_create_restore_point(). Euler Taveira de Oliveira, per
+ suggestions from Thom Brown, with some additional wordsmithing by
+ me.
+ <a href="http://git.postgresql.org/pg/commitdiff/79ad8fc5f857ed38057f482fc022bf157175c4d8">http://git.postgresql.org/pg/commitdiff/79ad8fc5f857ed38057f482fc022bf157175c4d8</a>
+</p>
+
+<p>
+Peter Eisentraut pushed:
+</p>
+
+<p>
+- Add PL/Python functions for quoting strings. Add functions
+ plpy.quote_ident, plpy.quote_literal, plpy.quote_nullable, which
+ wrap the equivalent SQL functions. To be able to propagate char *
+ constness properly, make the argument of quote_literal_cstr() const
+ char *. This also makes it more consistent with quote_identifier().
+ Jan Urbański, reviewed by Hitoshi Harada, some refinements by Peter
+ Eisentraut
+ <a href="http://git.postgresql.org/pg/commitdiff/1c51c7d5ffd407426f314b2cd317ef77f14efb1f">http://git.postgresql.org/pg/commitdiff/1c51c7d5ffd407426f314b2cd317ef77f14efb1f</a>
+</p>
+
+<p>
+- Table function support for PL/Python. This allows functions with
+ multiple OUT parameters returning both one or multiple records
+ (RECORD or SETOF RECORD). Jan Urbański, reviewed by Hitoshi Harada
+ <a href="http://git.postgresql.org/pg/commitdiff/bc411f25c14f65b459de5dbc96ac79e7741ef9ee">http://git.postgresql.org/pg/commitdiff/bc411f25c14f65b459de5dbc96ac79e7741ef9ee</a>
+</p>
+
+<p>
+- Remove remaining expected file for Python 2.2. We don't have
+ complete expected coverage for Python 2.2 anyway, so it doesn't seem
+ worth keeping this one around that no one appears to be updating
+ anyway. Visual inspection of the differences ought to be good
+ enough for those few who care about this obsolete Python version.
+ <a href="http://git.postgresql.org/pg/commitdiff/438cdf6e4893311df4e94dc55b961a691908a530">http://git.postgresql.org/pg/commitdiff/438cdf6e4893311df4e94dc55b961a691908a530</a>
+</p>
+
+<p>
+- PL/Python explicit subtransactions. Adds a context manager,
+ obtainable by plpy.subtransaction(), to run a group of statements in
+ a subtransaction. Jan Urbański, reviewed by Steve Singer,
+ additional scribbling by me
+ <a href="http://git.postgresql.org/pg/commitdiff/22690719ea5a89ccbcd04deb58c83d8d5f138df8">http://git.postgresql.org/pg/commitdiff/22690719ea5a89ccbcd04deb58c83d8d5f138df8</a>
+</p>
+
+<p>
+Alvaro Herrera pushed:
+</p>
+
+<p>
+- Fix pageinspect's heap_page_item to return infomasks as 32 bit
+ values. HeapTupleHeader's t_infomask and t_infomask2 are defined as
+ 16-bit unsigned integers, so when the 16th bit was set,
+ heap_page_item was returning them as negative values, which was
+ ugly. The change to pageinspect--unpackaged--1.0.sql allows a
+ module upgraded from 9.0 to be cleanly updated from the previous
+ definition.
+ <a href="http://git.postgresql.org/pg/commitdiff/a338d654614f897ccb58eaa8a6171abdb7dc8dff">http://git.postgresql.org/pg/commitdiff/a338d654614f897ccb58eaa8a6171abdb7dc8dff</a>
+</p>
+
+<p>
+- Update pageinspect--1.0.sql to match the upgrade script. Per
+ comment from Tom Lane
+ <a href="http://git.postgresql.org/pg/commitdiff/0056066d06067d2d7fc84b31937933b5724347d0">http://git.postgresql.org/pg/commitdiff/0056066d06067d2d7fc84b31937933b5724347d0</a>
+</p>
+
+<p>
+Andrew Dunstan pushed:
+</p>
+
+<p>
+- Add a configure check for Python.h if building with python.
+ <a href="http://git.postgresql.org/pg/commitdiff/42e5223648e7e56f8041bed329929dbd5529ea92">http://git.postgresql.org/pg/commitdiff/42e5223648e7e56f8041bed329929dbd5529ea92</a>
+</p>
+
+<p>
+Heikki Linnakangas pushed:
+</p>
+
+<p>
+- Increase the default for wal_sender_delay from 200ms to 1s. Now
+ that WAL sender is immediately woken up by transaction commit,
+ there's no need to wake up so aggressively.
+ <a href="http://git.postgresql.org/pg/commitdiff/be6668d6eff6a03455b48fa8ce1a397ff5bae788">http://git.postgresql.org/pg/commitdiff/be6668d6eff6a03455b48fa8ce1a397ff5bae788</a>
+</p>
+
+<p>
+Magnus Hagander pushed:
+</p>
+
+<p>
+- Fix verbose display of REPLICATION role attribute. Josh Kupershmidt
+ <a href="http://git.postgresql.org/pg/commitdiff/b04137a2948a24dfa3b87222f07073eb9939b264">http://git.postgresql.org/pg/commitdiff/b04137a2948a24dfa3b87222f07073eb9939b264</a>
+</p>
+
+<h2>Rejected Patches (for now)</h2>
+<p>
+No one was disappointed this week :-)
+</p>
+
+<h2>Pending Patches</h2>
+<p>
+Hans-Juergen Schoenig sent in a WIP patch to track cross-column
+correllation.
+</p>
+
+<p>
+Kevin Grittner sent in two revisions of a patch to track changes with
+triggers.
+</p>
+
+<p>
+Radoslaw Smogura sent in three revisions of a patch to add a binary
+in/out for aclitem.
+</p>
+
+<p>
+Alexander Korotkov sent in a WIP patch to collect statistics for array
+columns.
+</p>
+
+<p>
+Shigeru HANADA sent in another revision of the postgresql_fdw patch.
+</p>
+
+<p>
+Gurjeet Singh sent in a patch to allow the use of paths relative to
+that of the current file in psql.
+</p>
+
+<p>
+Andrew Tipton sent in a patch to add GiST support for BOX @> POINT
+queries.
+</p>
+
+<p>
+Magnus Hagander sent in another revision of the patch to allow
+streaming a base backup.
+</p>
+
+<p>
+Fujii Masao sent in another revision of the patch to add replication
+server timeout.
+</p>
+
+<p>
+Rumko (rumcic AT gmail DOT com) sent in a patch to allow PostgreSQL to
+compile on Dragonfly BSD.
+</p>
+
+<p>
+Jaime Casanova sent in another revision of the patch to allow for
+synchronous replication.
+
+</p>
+