Обсуждение: == PostgreSQL Weekly News - August 09 2009 ==

Поиск
Список
Период
Сортировка

== PostgreSQL Weekly News - August 09 2009 ==

От
David Fetter
Дата:
== PostgreSQL Weekly News - August 09 2009 ==

Submission deadline for PGDay.EU 2009 CfP is August 15th, 2009.
August 15, 2009 is your last chance to be part of it.  Submit soon!
http://www.pgday.eu/

New Survey: How did you first hear about PostgreSQL?
http://www.postgresql.org/community

== PostgreSQL Product News ==

DBD::Pg 2.15.0 a Perl connector for PostgreSQL, released.
http://search.cpan.org/dist/DBD-Pg/

== PostgreSQL Jobs for August ==

http://archives.postgresql.org/pgsql-jobs/2009-08/threads.php

== PostgreSQL Local ==

OpenSQL Camp will take place August 22-23, 2009 in St. Augustin,
Germany, close to Bonn and Cologne.  Deadline for the CfP is July 19,
2009.  Get your proposals in!
http://opensqlcamp.org/Events/2009/Call_for_Participation

The German PostgreSQL User Group will have a dev-room at FrOSCon on
Sunday, August 23, 2009.  The Call for Papers is open:
http://andreas.scherbaum.la/blog/archives/573-Call-for-Papers-fuer-den-PostgreSQL-Devroom-auf-der-FrOSCon-2009.html

The CfP for PyCon Argentina is open until June 29th, 2009 23:59 ART.
The conference itself will be in Beunos Aires on September 4-5 2009.
http://ar.pycon.org/2009/rfp/

Andreas (ads) Scherbaum will be teaching a "PostgreSQL for Corporate
Use" course at the adult education center in Magdeburg, Germany on
September 7-11, 2009.  Details below:
http://andreas.scherbaum.la/blog/archives/574-PostgreSQL-als-Bildungsurlaub.html

There will be a conference in Athens, Georgia, USA on September 19,
2009.  The CfP is open.
http://www.postgresqlconference.org/2009/pgday/athens

There will be a conference in Seattle, Washington, USA October 16-18,
2009.  The CfP is open.
http://www.postgresqlconference.org/2009/west

PGCon Brazil will be take place October 23-24 2009 at Unicamp in
Campinas, Sao Paulo state.  The CfP is open!
http://pgcon.postgresql.org.br/2009/chamadas.en.php

PGDay.EU 2009 will be at Telecom ParisTech in Paris, France on
November 6-7, 2009.  The CfP is out.  Submit!
http://www.pgday.eu/

OpenSQL Camp in Portland is looking for sponsors.  Make your travel plans now! :)
http://www.chesnok.com/daily/2009/07/29/opensql-camp-comes-to-portland-november-14-15-2009/

JPUG 10th Anniversary Conference has started its Request for
Proposals.  The conference is November 20-21, 2009 in Tokyo, Japan.
http://archives.postgresql.org/pgsql-announce/2009-05/msg00018.php

FOSDEM 2010 will be in Brussels on February 6-7, 2010.
http://www.fosdem.org/

== PostgreSQL in the News ==

Planet PostgreSQL: http://planet.postgresql.org/

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

Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david@fetter.org, German language
to pwn@pgug.de, Italian language to pwn@itpug.org.

== Applied Patches ==

Tatsuo Ishii committed:

- Multi-threaded version of pgbench contributed by ITAGAKI Takahiro,
  reviewed by Greg Smith and Josh Williams.

Tom Lane committed:

- Portability and documentation fixes for threaded pgbench patch.

- Cause pg_proc.probin to be declared as text, not bytea.  Everything
  was already treating it as text anyway, to the point that I couldn't
  find anything to change except the datatype markings in catalog/*.h.
  The only effect that the bytea declaration had was to cause
  byteaout() to be invoked when pg_dump (or another client program)
  inspected the column value.  Since pg_dump wasn't expecting that,
  but just treating what it got as text, the net result is that dump
  and reload would mangle any backslashes or non-ASCII characters in
  the filename string for a C-language function.  That is a very
  long-standing bug, but given the lack of field complaints it doesn't
  seem worth trying to find a back-patchable fix.  We'll just make
  this change to fix it going forward.  This change will also
  forestall problems after the planned change to let bytea emit hex
  output instead of escaped characters.

- Support hex-string input and output for type BYTEA.  Both hex format
  and the traditional "escape" format are automatically handled on
  input.  The output format is selected by the new GUC variable
  bytea_output.  As committed, bytea_output defaults to HEX, which is
  an *incompatible change*.  We will keep it this way for awhile for
  testing purposes, but should consider whether to switch to the more
  backwards-compatible default of ESCAPE before 8.5 is released.
  Peter Eisentraut

- In pgsql/src/interfaces/libpq/fe-exec.c, teach PQescapeByteaConn()
  to use hex format when the target connection is to a server >= 8.5.
  Per my proposal in discussion of hex-format patch.

- Ooops, missed that a couple of contrib modules have calls to
  byteacmp.  Add bytea.h inclusions as needed.  Some of the contrib
  regression tests need to be de-hexified, too.  Per buildfarm.

- In pgsql/src/bin/pg_dump/pg_dump.c, suppress pointer-signedness
  warning.

- Fix some more regression tests (missed these because they're only
  run when built with --with-openssl).

- Fix an ecpg test, too.  Are we there yet?

- Fix pg_dump to do the right thing when escaping the contents of
  large objects.  The previous implementation got it right in most
  cases but failed in one: if you pg_dump into an archive with
  standard_conforming_strings enabled, then pg_restore to a script
  file (not directly to a database), the script will set
  standard_conforming_strings = on but then emit large object data as
  nonstandardly-escaped strings.  At the moment the code is made to
  emit hex-format bytea strings when dumping to a script file.  We
  might want to change to old-style escaping for backwards
  compatibility, but that would be slower and bulkier.  If we do, it's
  just a matter of reimplementing appendByteaLiteral().  This has been
  broken for a long time, but given the lack of field complaints I'm
  not going to worry about back-patching.

- Add matchorig, matchsynonyms, and keepsynonyms options to
  contrib/dict_xsyn.  Sergey Karpov.

- Improve plpgsql's ability to cope with rowtypes containing dropped
  columns, by supporting conversions in places that used to demand
  exact rowtype match.  Since this issue is certain to come up
  elsewhere (in fact, already has, in ExecEvalConvertRowtype), factor
  out the support code into new core functions for tuple conversion.
  I chose to put these in a new source file since heaptuple.c is
  already overly long.  Heavily revised version of a patch by Pavel
  Stehule.

- Fix some omissions in the dependency-object-class support for
  SQL/MED objects.  Main problem found by Muhammad Aqeel, some
  cosmetic additions by me.

- Remove long-since-unused file commands/version.h.  Noticed by
  Itagaki Takahiro.

- In pgsql/src/backend/access/transam/xlog.c, rm_cleanup functions
  need to be allowed to write WAL entries.  This oversight appears to
  explain the recent reports of "PANIC: cannot make new WAL entries
  during recovery".

- In pgsql/src/bin/psql/copy.c, try to defend against the possibility
  that libpq is still in COPY_IN state when we reach the post-COPY
  "pump it dry" error recovery code that was added 2006-11-24.  Per a
  report from Neil Best, there is at least one code path in which this
  occurs, leading to an infinite loop in code that's supposed to be
  making it more robust not less so.  A reasonable response seems to
  be to call PQputCopyEnd() again, so let's try that.  Back-patch to
  all versions that contain the cleanup loop.

- Modify parallel pg_restore to track pending and ready items by means
  of two new lists, rather than repeatedly rescanning the main TOC
  list.  This avoids a potential O(N^2) slowdown, although you'd need
  a *lot* of tables to make that really significant; and it might
  simplify future improvements in the scheduling algorithm by making
  the set of ready items more easily inspectable.  The original
  thought that it would in itself result in a more efficient job
  dispatch order doesn't seem to have been borne out in testing, but
  it seems worth doing anyway.

- In pgsql/src/backend/access/transam/xlog.c, document that
  LocalSetXLogInsertAllowed can be re-executed.  Per comment from
  Simon Riggs.

Joe Conway committed:

- Implement has_sequence_privilege() Add family of functions that did
  not exist earlier, mainly due to historical omission.  Original
  patch by Abhijit Menon-Sen, with review and modifications by Joe
  Conway.  catversion.h bumped.

- Implement  dblink_get_notify().  Adds the ability to retrieve async
  notifications using dblink, via the addition of the function
  dblink_get_notify(). Original patch by Marcus Kempe, suggestions by
  Tom Lane and Alvaro Herrera, patch review and adjustments by Joe
  Conway.

Alvaro Herrera committed:

- Avoid including miscadmin.h into plpgsql.h; instead include it into
  the two source files that need it.

- Fix manpages related to SPI functions.  This patch adds declaration
  so that they end up in section 3, and adds them to the Makefiles to
  install them.  Also, some synopses needed reflowing so that they
  look nice in 80-column terminals.

- Document that autovacuum may run ANALYZE.

Peter Eisentraut committed:

- Use DocBook XSL stylesheets for man page building This switches the
  man page building process to use the DocBook XSL stylesheet
  toolchain.  The previous targets for Docbook2X are removed.
  configure has been updated to look for the new tools.  The
  Documentation appendix contains the new build instructions.  There
  are also a few isolated tweaks in the documentation to improve
  places that came out strangely in the man pages.

- Expand test coverage support to entire tree.  Test coverage support
  now covers the entire source tree, including contrib, instead of
  just src/backend.  In a related but independent development, the
  commands make coverage and make coverage-html can be run in any
  directory.  This turned out to be much easier than feared.  Besides
  a few ad hoc fixes to pass the make target down the tree, change all
  affected makefiles to list their directories in the SUBDIRS
  variable, changed from variants like DIRS and WANTED_DIRS.  MSVC
  build fix was attempted as well.

- Ship documentation without intermediate tarballs.  Documentation
  files in HTML and man formats are now prepared for distribution
  using the distprep make target, like everything else.  They are
  placed in doc/src/sgml/html and manX and installed from there by
  make install, if present.  The business with the tarballs in the
  tarball is gone.

Michael Meskes committed:

- In pgsql/src/interfaces/ecpg/preproc/ecpg.c, fixed copyright notice.

- Added STRING datatype for Informix compatibility mode. This work is
  based on a patch send in by Zoltan Boszormenyi.

Heikki Linnakangas committed:

- Improve error messages in md.c. When a filesystem operation like
  open() or fsync() fails, say "file" rather than "relation" when
  printing the filename.  This makes messages that display block
  numbers a bit confusing. For example, in message 'could not read
  block 150000 of file "base/1234/5678.1"', 150000 is the block number
  from the beginning of the relation, ie. segment 0, not 150000th
  block within that segment.  Per discussion, users aren't usually
  interested in the exact location within the file, so we can live
  with that.  To ease constructing error messages, add
  FilePathName(File) function to return the pathname of a virtual fd.

- In pgsql/src/backend/postmaster/postmaster.c, fast shutdown stop
  should forcibly disconnect any active backends, even if a smart
  shutdown is already in progress. Backpatch to 8.3, this was broken
  in the patch that introduced "dead-end backends".  Per report by
  Itagaki Takahiro, patch by Fujii Masao.

Magnus Hagander committed:

- In pgsql/src/backend/postmaster/postmaster.c, avoid terminating the
  postmaster on a number of "can't happen" cases during backend
  startup on Win32. Instead, log the error and just forget about the
  potentially dangling process, since we can't do anything about it
  anyway.

Bruce Momjian committed:

- In pgsql/src/interfaces/ecpg/ecpglib/data.c, remove unused ecpg
  variable.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Robert Haas sent in another revision of his autogenerating headers and
bki patch.

Zoltan Boszormenyi sent in three more revisions of his ECPG patches.

Pavel Stehule sent in a patch to fix the dropped columns issue in
RETURN QUERY.

Brendan Jurd sent in two more revisions of the EEEE formatting patch.
Alvaro Herrera sent in another version replacing calls to a cleanup
function with a PG_TRY block.

Alvaro Herrera sent in a patch to add a new byeta.h that doesn't
include byteain or byteaout.

Bernd Helmle sent in two more revisions of Pavel Stehule's patch for
mixed, named notation support in PL/pgsql.

Tom Lane sent in a patch for the archives which switches the default
bytea handling to hex.

Teodor Sigaev sent in new versions of patches to add unaccent and a
filter dictionary to textsearch.

Teodor Sigaev sent in another revision of the patch to support
prefixes in synonym dictionaries.

Zdenek Kotala sent in a patch to fix breakage of --libeditpreferred.

Michael Paquier sent in a patch to allow pgbench to launch shell
commands.

Robert Haas sent in another revision of his machine-readable explain
output patch.

Michael Paquier sent in a patch to improve 2PC by sending the state
files of prepared transactions to shared memory instead of disk.

Pierre Frederic Caillaud sent in a patch to compress tables and indexes.

Herodotos Herodotou and Nedyalko Borisov sent in a patch which extends
the query optimizer to consider joins between child tables when
hierarchies are joined together.

Pierre Frederic Caillaud sent in a patch to apply readahead to sparse
files.

Mark Kirkwood sent in another revision of the lockstats patch.

Petr (PJMODOS) Jelinek sent in two more revisions of his GRANT ON ALL
IN schema patch.