Обсуждение: == PostgreSQL Weekly News - July 18 2010 ==

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

== PostgreSQL Weekly News - July 18 2010 ==

От
David Fetter
Дата:
== PostgreSQL Weekly News - July 18 2010 ==

PostgreSQL 9.0 beta 3 is out.  Test!
http://www.postgresql.org/developer/beta

The Call for Papers for West is open until September 5, 2010.  Details at:
http://www.postgresqlconference.org/

The first San Diego PostgreSQL Users' Group meeting will be at Cymer,
Inc. on July 29, 2010.
http://www.meetup.com/SD-PUG/calendar/14105562/

== PostgreSQL Product News ==

psycopg2 2.2.2, a Python connector for PostgreSQL, released.
http://initd.org/psycopg/

== PostgreSQL Jobs for July ==

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

== PostgreSQL Local ==

OSCON will take place in Portland, Oregon July 19-23, 2010.
http://www.oscon.com/oscon2010

Reuven Lerner will be teaching a 5-day course in PostgreSQL August
1-5, 2010 at the Hi-Tech College in Herzliya, Israel.
http://www.hi-tech.co.il/college/default.asp?PageID=12&CourseNum=4288

FrOSCon 2010 will take place in St. Augustin, Germany on August 21-22,
2010.  The German PostgreSQL User Group got his own devroom and is
looking for talks.  More info:
http://andreas.scherbaum.la/blog/archives/711-FrOSCon-2010-PostgreSQL-devroom-Call-for-papers.html


== PostgreSQL in the News ==

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

PostgreSQL Weekly News is brought to you this week by David Fetter
and Devrim GUNDUZ.

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

== Reviews ==

KaiGai Kohei reviewed Robert Haas's patch to add get_whatever_oid
functionality.
== Applied Patches ==

Bruce Momjian committed:

- Bump minor library version numbers, for 9.1 release.

- In pgsql/src/tools/RELEASE_CHANGES, document bump of minor library
  version numbers.

- In pgsql/doc/src/sgml/release-9.0.sgml, spellcheck 9.0 release
  notes.

- In pgsql/doc/src/sgml/release-9.0.sgml, 9.0 release note
  improvements Erik Rijkers

- In pgsql/doc/src/sgml/release-9.0.sgml, restore pl/pgsql default
  install release note item.

- In pg_upgrade, prevent psql AUTOCOMMIT=off by not loading .psqlrc.

- In pgsql/src/tools/fsync/test_fsync.c, print each test_fsync
  description while test is running, rather than at the end.

- In pgsql/contrib/pg_upgrade/exec.c, in pg_upgrade, report /bin
  directory checks independent of /data checks.

- In pgsql/contrib/pg_upgrade/option.c, remove incorrect email address
  for pg_upgrade bug reports.

- In pgsql/contrib/pg_upgrade/server.c, on Win32, pg_upgrade cannot
  sent any server log output to the log file because of file access
  limitations on that platform.

- Backpatch pg_upgrade fixes to 9.0: 1. In pg_upgrade, prevent psql
  AUTOCOMMIT=off by not loading .psqlrc.  2. In pg_upgrade, report
  /bin directory checks independent of /data checks.  3. Remove
  incorrect email address for pg_upgrade bug reports.  4. On Win32,
  pg_upgrade cannot sent any server log output to the log file because
  of file access limitations on that platform.

- In pgsql/src/backend/commands/tablespace.c, simplify missing
  tablespace replay error hint message, but only in HEAD so we don't
  need to re-translate for 9.0.

- In pgsql/src/interfaces/libpq/fe-connect.c, add SO_PEERCRED check in
  new unix domain socket permission checking code.

Tom Lane committed:

- Make NestLoop plan nodes pass outer-relation variables into their
  inner relation using the general PARAM_EXEC executor parameter
  mechanism, rather than the ad-hoc kluge of passing the outer tuple
  down through ExecReScan.  The previous method was hard to understand
  and could never be extended to handle parameters coming from
  multiple join levels.  This patch doesn't change the set of possible
  plans nor have any significant performance effect, but it's
  necessary infrastructure for future generalization of the concept of
  an inner indexscan plan.  ExecReScan's second parameter is now
  unused, so it's removed.

- Teach EXPLAIN to print PARAM_EXEC Params as the referenced
  expressions, rather than just $N.  This brings the display of
  nestloop-inner-indexscan plans back to where it's been, and
  incidentally improves the display of SubPlan parameters as well.  In
  passing, simplify the EXPLAIN code by having it deal primarily in
  the PlanState tree rather than separately searching Plan and
  PlanState trees.  This is noticeably cleaner for subplans, and about
  a wash elsewhere.  One small difference from previous behavior is
  that EXPLAIN will no longer qualify local variable references in
  inner-indexscan plan nodes, since it no longer sees such nodes as
  possibly referencing multiple tables.  Vars referenced through
  PARAM_EXEC Params are still forcibly qualified, though, so I don't
  think the display is any more confusing than before.  Adjust a
  couple of examples in the documentation to match this behavior.

- Allow full SSL certificate verification (wherein libpq checks its
  host name parameter against server cert's CN field) to succeed in
  the case where both host and hostaddr are specified.  As with the
  existing precedents for Kerberos, GSSAPI, SSPI, it is the calling
  application's responsibility that host and hostaddr match up --- we
  just use the host name as given.  Per bug #5559 from Christopher
  Head.  In passing, make the error handling and messages for the
  no-host-name-given failure more consistent among these four cases,
  and correct a lie in the documentation: we don't attempt to
  reverse-lookup host from hostaddr if host is missing.  Back-patch to
  8.4 where SSL cert verification was introduced.

- In pgsql/src/bin/pg_dump/pg_dump.c, fix several problems in
  pg_dump's handling of SQL/MED objects, notably failure to dump a
  PUBLIC user mapping correctly, as per bug #5560 from Shigeru Hanada.
  Use the pg_user_mappings view rather than trying to access
  pg_user_mapping directly, so that the code doesn't fail when run by
  a non-superuser.  And clean up some minor carelessness such as
  unsafe usage of fmtId().  Back-patch to 8.4 where this code was
  added.

- In pgsql/doc/src/sgml/high-availability.sgml, use an <xref> for
  restore_command reference.  Marko Tiikkaja.

- In pgsql/src/backend/commands/opclasscmds.c, remove duplicate code
  in DefineOpFamily().  The code was probably meant to be this way all
  along, since the subroutine CreateOpFamily previously had only one
  caller.  But it wasn't.  KaiGai Kohei.

- In pgsql/src/backend/executor/execUtils.c, remove a sanity check in
  the exclusion-constraint code that prevented users from defining
  non-self-conflicting constraints.  Jeff Davis.  Note: I (tgl)
  objected to removing this check in 9.0 on the grounds that it was an
  important sanity check in new, poorly tested code.  However, it
  should be all right to remove it for 9.1, since we'll get field
  testing from the 9.0 branch.

- Add support for dividing money by money (yielding a float8 result)
  and for casting between money and numeric.  Andy Balholm, reviewed
  by Kevin Grittner

- Add a log_file_mode GUC that allows control of the file permissions
  set on log files created by the syslogger process.  In passing, make
  unix_file_permissions display its value in octal, same as
  log_file_mode now does.  Martin Pihlak

- In pgsql/src/interfaces/libpq/fe-connect.c, fix thinko in recent
  patch: 'sock' should be 'conn->sock'.

- In pgsql/src/interfaces/libpq/fe-connect.c, fix up poor handling of
  unsupported-platform case in requirepeer patch.

- Allow ORDER BY/GROUP BY/etc items to match targetlist items
  regardless of any implicit casting previously applied to the
  targetlist item.  This is reasonable because the implicit cast, by
  definition, wasn't written by the user; so we are preserving the
  expected behavior that ORDER BY items match textually equivalent
  tlist items.  The case never arose before because there couldn't be
  any implicit casting of a top-level SELECT item before we process
  ORDER BY etc.  But now it can arise in the context of aggregates
  containing ORDER BY clauses, since the "targetlist" is the
  already-casted list of arguments for the aggregate.  The net effect
  is that the datatype used for ORDER BY/DISTINCT purposes is the
  aggregate's declared input type, not that of the original input
  column; which is a bit debatable but not horrendous, and to do
  otherwise would require major rework that doesn't seem justified.
  Per bug #5564 from Daniel Grace.  Back-patch to 9.0 where aggregate
  ORDER BY was implemented.

- In pgsql/src/backend/utils/error/elog.c, remove unnecessary "Not
  safe to send CSV data" complaint from elog.c's fallback path when
  CSV logging is configured but not yet operational.  It's sufficient
  to send the message to stderr, as we were already doing, and the
  "Not safe" gripe has already confused at least two core members ...
  Backpatch to 9.0, but not further --- doesn't seem appropriate to
  change this behavior in stable branches.

Heikki Linnakangas committed:

- In pgsql/src/backend/utils/mmgr/portalmem.c, oops, in the previous
  fix to prevent a cursor that's being used in a FOR loop from being
  dropped, I missed subtransaction cleanup.  Pinned portals must be
  dropped at subtransaction cleanup just as they are at main
  transaction cleanup.  Per bug #5556 by Robert Walker.  Backpatch to
  8.0, 7.4 didn't have subtransactions.

- Add a paragraph explaining what restartpoints are.  Mention that
  wal_keep_segments does not take effect during recovery.  Fujii Masao

- In pgsql/doc/src/sgml/wal.sgml, fix typo spotted by Thom Brown.

Peter Eisentraut committed:

- Add server authentication over Unix-domain sockets.  This adds a
  libpq connection parameter requirepeer that specifies the user name
  that the server process is expected to run under.  Reviewed by
  KaiGai Kohei.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

KaiGai Kohei sent in another revision of the patch reworking DML
permissions.

Marko (johto) Tiikkaja sent in another WIP patch implementing
writeable CTEs.

Greg Smith sent in another revision of the patch to make pgbench
64-bit clean.

Pavel Stehule sent in two more revisions of the patch to add left,
right, reverse and concat functions to core, and printf and concat_ws
functions to contrib.

Markus Wanner sent in a flock of patches to add a background worker
infrastructure which could be used, for example, in doing parallel
queries.

Alexander Korotkov sent in another revision of the patch to speed up
levenshtein distance for multi-byte character sets.

Tom Lane sent in a patch to trace only PlanState trees in EXPLAIN.
Currently, both PlanState and Plan get traced.

Peter Eisentraut sent in a proof-of-concept patch to implement
per-column collation.

Mark Wong sent in another version of the patch to allow multiple -f's
in the invocation of psql.

Pavel Stehule sent in another revision of the patch to preload text
search dictionaries.

Robert Haas sent in another revision of the patch to suppress
automatic recovery after a back-end crash, per review from Fujii
Masao.

KaiGai Kohei sent in two separate patches to add security labels to
database objects.

Fujii Masao sent in a patch intended to allow various levels of
synchronous replication via a replication_mode parameter for
recovery.conf in Hot Standby/Streaming Replication.  It also provides
some infrastructure for a quorum commit feature.

Yeb Havinga sent in another revision of the patch to allow for
five-key syscaches, which is infrastructure for, among other things,
K-Nearest-Neighbor GiST searches.

Robert Haas sent in a patch to make standard_conforming_strings on by
default.

Simon Riggs sent in another revision of the patch to reduce the lock
level required by ALTER TABLE, CREATE TRIGGER and CREATE RULE.

Boxuan Zhai sent in another revision of the patch to add MERGE.

Jeff Davis sent in another revision of the patch to add a "not equals"
operator for contrib/btree_gist.

Brendan Jurd sent in another revision of the to_string(), to_array(),
etc. patch.

Jan Urbanski sent in another revision of the patch to add
functionality to \ef (edit function) and add \sf (show function) to
psql.

Kevin Grittner sent in another revision of the patch to do true
serializability.

David Christensen sent in another revision of the patch to add
\conninfo to psql.

Bruce Momjian sent in three revisions of a patch intended to fix a
breakage of CREATE TABLESPACE during crash recovery.