== WöchentlicherPostgreSQL Newsletter - 20.Dezember 2009
am 22.12.2009 22:40:55 von adsmailDer Originalartikel befindet sich unter:
http://www.postgresql.org/community/weeklynews/pwn20091220
== Wöchentlicher PostgreSQL Newsletter - 20. Dezember 2009 ==
Commitfest 2009-11 ist jetzt abgeschlossen. Danke an Greg Smith für
das Managen, und an alle, die Reviewed, Patches gesandt oder
anderweitig geholfen haben.
Der Call for Papers für East ist offen bis zum 30. Januar 2010.
Details unter:
http://www.postgresqlconference.org/
PgUS 2009 Board Wahlen finden derzeit statt.
https://www.postgresql.us/elections/2009
Standhelfer für die Open Day Linux Conf AU in Wellington, Neuseeland
am 23. Januar 2010, 11-14 Uhr, werden gesucht. Kontaktiere
selena -at- postgresql.org um zu helfen.
== PostgreSQL Produkt Neuigkeiten ==
Alerce 1.0.0, ein synchrones Replikationssystem für Python,
ist erschienen.
http://pgfoundry.org/projects/pyreplica/
Gluster Storage Platform 3.0 ist erschienen.
http://www.gluster.org/
pgpool-II 2.3.1, ein Connection Pooler und mehr,
ist erschienen.
http://pgfoundry.org/projects/pgpool/
pg_rman 1.1.1, ein Online Backup und Restore Tool für PostgreSQL,
ist erschienen.
http://code.google.com/p/pg-rman/
Devrim GUNDUZ hat eine neue LiveCD basierend auf Fedora 12 und
PostgreSQL 8.4.2 erstellt.
http://pglivecd.org/
== PostgreSQL 8.5 Feature der Woche ==
WHEN-Klauseln in Triggern. In 8.5Alpha3 ist es möglich, Trigger nur da=
nn
zu Feuern, wenn eine WHEN-Klausel zutrifft. Danke an Itagaki Takahiro
und das NTT Team.
== PostgreSQL Tipp der Woche ==
Tipp der Woche: PostgreSQL kommt mit 3 verschiedenen Möglichkeiten um
Bäume zu handhaben: WITH RECURSIVE Anfragen, das ltree Contrib-Modul
und die connect_by() Funktion im mitgelieferten tablefunc Modul.
== PostgreSQL Jobs im Dezember ==
http://archives.postgresql.org/pgsql-jobs/2009-12/threads.ph p
== PostgreSQL Lokal ==
Die PUG des New York Capital Districts trifft sich zu ihrem erstem
Meeting am 7. Januar 2010.
http://nycdpug.x10hosting.com/
Stefan Keller gibt einen Kurs "Einführung in PostGIS/PostgreSQL" an
der HSR Hochschule für Technik Rapperswil (HSR) am 14. Januar 2010
in Zürich, Schweiz.
http://www.gis.hsr.ch/wiki/Agenda
PGDay Kuba 2010 findet vom 4.-6. Februar 2010 in La Havana an der
Universität für Wissenschaftliche Informatik statt. Teilnehmer aus
Kuba, der Dominikanischen Republik und Venezuela sind eingeladen.
FOSDEM 2010 findet am 6. und 7. Februar 2010 in Brüssel,
Belgien statt.
http://www.fosdem.org/
Die Chemnitzer Linuxtage finden am 13. und 14. März in
Chemnitz, Deutschland statt.
http://chemnitzer.linux-tage.de/
PgCon 2010 findet vom 20.-21. Mai 2010 in Ottawa statt mit Tutorials
vorher am 18. und 19. Der Call for Papers ist offen!
http://www.pgcon.org/2010/papers.php
== PostgreSQL in den News ==
Planet PostgreSQL: http://planet.postgresql.org/
Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David
Fetter und Josh Berkus.
Sende Neuigkeiten und Ankündigungen bis Sonntag, 15 Uhr Pazifischer
Zeit. Bitte sende englische Beiträge an david@fetter.org, deutsche an
pwn@pgug.de, italienische an pwn@itpug.org.
== Reviews ==
Greg Smith reviewed ITAGAKI Takahiro's latest patch to enable pgbench
to launch shell commands.
Marko Kreen reviewed Kurt Harriman's patch to remove the gcc
dependency in the definition of inline functions.
Hiroyuki Yamada found a bug in hot standby where it can freeze when
the startup process calls LockBufferForCleanup(), complete with repro.
== Angewandte Patches ==
ITAGAKI Takahiro committed:
- In pgsql/src/bin/pg_ctl/pg_ctl.c, fix pg_ctl initdb without options.
Passing NULL string to snprintf is avoided.
- Add \shell and \setshell meta commands to pgbench. \shell command
runs an external shell command. \setshell also does the same and
sets the result to a variable. Original patch by Michael Paquier
with some editorialization by ITAGAKI Takahiro, and reviewed by Greg
Smith.
- In pgsql/doc/src/sgml/ref/alter_large_object.sgml, add missing Id
keyword to alter_large_object.sgml.
- Add a whitespace to fix the query to dump large objects.
PL/pgSQL-by-default patch broke the code for 8.3 <=3D server_version <
8.5.
Robert Haas committed:
- Add an EXPLAIN (BUFFERS) option to show buffer-usage statistics.
This patch also removes buffer-usage statistics from the
track_counts output, since this (or the global server statistics) is
deemed to be a better interface to this information. Itagaki
Takahiro, reviewed by Euler Taveira de Oliveira.
- Several fixes for EXPLAIN (FORMAT YAML), plus one for EXPLAIN
(FORMAT JSON). ExplainSeparatePlans() was busted for both JSON and
YAML output - the present code is a holdover from the original
version of my machine-readable explain patch, which didn't have the
grouping_stack machinery. Also, fix an odd distribution of labor
between ExplainBeginGroup() and ExplainYAMLLineStarting() when
marking lists with "- ", with each providing one character. This
broke the output format for multi-query statements. Also, fix
ExplainDummyGroup() for the YAML output format. Along the way, make
the YAML format use escape_yaml() in situations where the JSON
format uses escape_json(). Right now, it doesn't matter because all
the values are known not to need escaping, but it seems safer this
way. Finally, I added some comments to better explain what the YAML
output format is doing. Greg Sabino Mullane reported the issues
with multi-query statements. Analysis and remaining cleanups by
Robert Haas.
- Improve documentation for pg_largeobject changes. Rewrite the
documentation in more idiomatic English, and in the process make it
somewhat more succinct. Move the discussion of specific large
object privileges out of the "server-side functions" section, where
it certainly doesn't belong, and into "implementation features".
That might not be exactly right either, but it doesn't seem worth
creating a new section for this amount of information. Fix a few
spelling and layout problems, too.
- Fix a few typos in the latest 8.5alpha3 release notes.
- In pgsql/doc/src/sgml/backup.sgml, fix two small typos in Hot
Standby docs. John Naylor.
- More cleanups for the recent large object permissions patch.
Rewrite or adjust various comments for clarity. Remove one bogus
comment that doesn't reflect what the code actually does. Improve
the description of the lo_compat_privileges option.
Tom Lane committed:
- In pgsql/doc/src/sgml/pgbench.sgml, fix broken markup.
- Support ORDER BY within aggregate function calls, at long last
providing a non-kluge method for controlling the order in which
values are fed to an aggregate function. At the same time eliminate
the old implementation restriction that DISTINCT was only supported
for single-argument aggregates. Possibly release-notable behavioral
change: formerly, agg(DISTINCT x) dropped null values of x
unconditionally. Now, it does so only if the agg transition
function is strict; otherwise nulls are treated as DISTINCT normally
would, ie, you get one copy. Andrew Gierth, reviewed by Hitoshi
Harada.
- Add a hook to let loadable modules get control at ProcessUtility
execution, and use it to extend contrib/pg_stat_statements to track
utility commands. Itagaki Takahiro, reviewed by Euler Taveira de
Oliveira.
- In pgsql/src/backend/tsearch/wparser_def.c, avoid unnecessary
copying of source string when generating a cloned TParser. For long
source strings the copying results in O(N^2) behavior, and the
multiplier can be significant if wide-char conversion is involved.
Andres Freund, reviewed by Kevin Grittner.
- Avoid a premature coercion failure in transformSetOperationTree()
when presented with an UNKNOWN-type Var, which can happen in cases
where an unknown literal appeared in a subquery. While many such
cases will fail later on anyway in the planner, there are some cases
where the planner is able to flatten the query and replace the Var
by the constant before it has to coerce the union column to the
final type. I had added this check in 8.4 to provide earlier/better
error detection, but it causes a regression for some cases that
worked OK before. Fix by not making the check if the input node is
UNKNOWN type and not a Const or Param. If it isn't going to work,
it will fail anyway at plan time, with the only real loss being
inability to provide an error cursor. Per gripe from Britt Piehler.
In passing, rename a couple of variables to remove confusion from an
inner scope masking the same variable names in an outer scope.
- Force the TZ environment variable to be set during initdb. This is
to short-circuit the rather expensive identify_system_timezone()
procedure, which we have no real need for during initdb since
nothing done here depends on the timezone setting. Since we launch
quite a few standalone backends during the initdb sequence, this
adds up to a significant savings, and seems worth doing to save
developer time even though it will hardly matter to end users. Per
my report today on pgsql-hackers.
- Fix link that doesn't work in standalone INSTALL document.
- Bump catversion to reflect the fact that Hiroshi Saito patch changed
pg_proc contents, and PG_CONTROL_VERSION to reflect the fact that it
changed pg_control contents. (I see we did at least remember to
change XLOG_PAGE_MAGIC for the WAL contents changes.)
- Adjust some more places in the documentation to match the fact that
plpgsql is now installed by default.
- Join in the fun of editorializing on the alpha release notes.
- plpgsql patch broke the MSVC build, too.
- Sigh, I managed to break the no-links-in-plain-text-docs rule too...
- There is no good reason for the CREATE TABLE LIKE INCLUDING COMMENTS
code to have hard-wired knowledge of the rules for naming index
columns. It can just look at the actual names in the source index,
instead. Do some minor formatting cleanup too.
Peter Eisentraut committed:
- Python 3 support in PL/Python. Behaves more or less unchanged
compared to Python 2, but the new language variant is called
plpython3u. Documentation describing the naming scheme is included.
- If there is no sigdelset(), define it as a macro. This removes some
duplicate code that recreated the identical workaround when the
newer signal API is missing.
- Don't unblock SIGQUIT in the SIGQUIT handler. This was possibly
linked to a deadlock-like situation in glibc syslog code invoked by
the ereport call in quickdie(). In any case, a signal handler
should not unblock its own signal unless there is a specific reason
to.
- 8.5alpha3 release notes up to Fri Dec 18 21:37:38 2009 +0000
- Translation updates
- Add hot standby to release notes
- Add documentation why reassigning PL/Python function parameters in
the function body can have undesirable outcomes. (bug #5232)
Michael Meskes committed:
- Fixed auto-prepare to not try preparing statements that are not
preparable. Bug found and solved by Zoltan Boszormenyi some small
adjustments by Michael Meskes.
- Reverting accidently commited changes.
Magnus Hagander committed:
- In pgsql/doc/src/sgml/hstore.sgml, remove spurious '22' that clearly
shouldn't be there. David E. Wheeler.
Bruce Momjian committed:
- Install server-side language PL/pgSQL by default.
- Add comments about places where system oids have to be preserved for
binary migration.
- Convert tabs to spaces in SGML.
Alvaro Herrera committed:
- In pgsql/doc/src/sgml/start.sgml, update tutorial on the fact that
backslash commands are no longer listed in psql's startup banner.
- Update ecpg regression tests to plpgsql installed by default.
Simon Riggs committed:
- Allow read only connections during recovery, known as Hot Standby.
Enabled by recovery_connections =3D on (default) and forcing archive
recovery using a recovery.conf. Recovery processing now emulates the
original transactions as they are replayed, providing full locking
and MVCC behaviour for read only queries. Recovery must enter
consistent state before connections are allowed, so there is a
delay, typically short, before connections succeed. Replay of
recovering transactions can conflict and in some cases deadlock with
queries during recovery; these result in query cancellation after
max_standby_delay seconds have expired. Infrastructure changes have
minor effects on normal running, though introduce four new types of
WAL record. New test mode "make standbycheck" allows regression
tests of static command behaviour on a standby server while in
recovery. Typical and extreme dynamic behaviours have been checked
via code inspection and manual testing. Few port specific behaviours
have been utilised, though primary testing has been on Linux only so
far. This commit is the basic patch. Additional changes will follow
in this release to enhance some aspects of behaviour, notably
improved handling of conflicts, deadlock detection and query
cancellation. Changes to VACUUM FULL are also required. Simon
Riggs, with significant and lengthy review by Heikki Linnakangas,
including streamlined redesign of snapshot creation and two-phase
commit. Important contributions from Florian Pflug, Mark Kirkwood,
Merlin Moncure, Greg Stark, Gianni Ciolli, Gabriele Bartolini, Hannu
Krosing, Robert Haas, Tatsuo Ishii, Hiroyuki Yamada plus support and
feedback from many other community members.
== Abgelehnte Patches (bis jetzt) ==
No one was disappointed this week :-)
== Eingesandte Patches ==
Zoltan Boszormenyi sent in four more revisions of the ECPG patch for
SQLDA, this time as an ECPG native feature rather than
compat-mode-only.
Michael Paquier sent in another revision of the patch to enable
pgbench to launch shell commands.
Robert Haas sent in a patch to fix explain output for multi-plan
statements.
ITAGAKI Takahiro sent in another revision of the patch which reworks
VACUUM FULL.
Kurt Harriman sent in another revision of the patch to remove the gcc
dependency in definitions of inline functions.
Zoltan Boszormenyi sent in another revision of the ECPG patch to
support DESCRIBE [OUTPUT].
Zoltan Boszormenyi sent in four more revisions of the ECPG patch to
support out-of-scope cursor support in Informix mode.
Peter Eisentraut sent in three patches to fix a bug where recovery
gets stuck when children are not processing SIGQUIT from a previous
crash. The first defines sigdelset as a macro if it's not already
there. The second moves the operation of unblocking SIGQUIT out of the
SIGQUIT handler. The third times out the ereport call in quickdie
after 60 seconds.
KaiGai Kohei sent in a patch to clean up existing privilege checks and
consolidate same.
KaiGai Kohei sent in a patch to make EnableDisableRule() check the
ownership of the relation which owns the rule.
KaiGai Kohei sent in a patch which removes obscure permission checks
in FindConversion().
David Wheeler sent in a patch to add hstore_to_json().
KaiGai Kohei sent in a patch to fix an issue with ALTER TABLE...ALTER
COLUMN...RENAME TO which happened in situations where the table in
question is the child, via table inheritance, of multiple tables.
KaiGai Kohei sent in a patch to remove redundant ownership checks.
Robert Haas sent in a patch to clean up comments with non-standard
version names.
KaiGai Kohei sent in a patch to help pg_dump work with the new large
object (lo) ACLs.
James Pye sent in a patch to add some new SPI functions to
PL/Python3U.
Martin Pihlak sent in a patch to fix a bug in foreign data wrappers.
Florian Pflug sent in a WIP patch that allows easier introspection of
composite types from SQL and PL/pgsql.
John Naylor sent in another patch to revamp the BKI infrastructure.
Tom Lane sent in a WIP patch to choose better default names for
indexes, per discussion.
--
Andreas 'ads' Scherbaum
Deutsche PostgreSQL User Group: http://www.pgug.de/
DPWN: http://andreas.scherbaum.la/blog/categories/18-PWN
--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein