Skip to content

Wöchentlicher PostgreSQL Newsletter - 08. Mai 2011

Der Originalartikel befindet sich unter:

== Wöchentlicher PostgreSQL Newsletter - 08. Mai 2011 ==

PostgreSQL 9.1 Beta 1 ist erschienen. Testen!

AustinPUG trifft sich am 11. Mai um 19:00 Uhr in Austin, Texas, USA.
Kostenlose Pizza! Um Essen zu erhalten, bitte unter
<austinpug AT postgresql DOT org> anmelden.

CHAR(11), die PostgreSQL Konferenz für Clustering, Hochverfügbarkeit
und Replikation hat jetzt die Registrierung eröffnet.
Die Konferenz findet am 11. und 12. Juli 2011 in Cambridge, UK statt.

PostgreSQL Conference West (#PgWest) findet vom 27. bis 30. September
2011 im San Jose Convention Center in Jan Jose, Kalifornen, USA statt.

== PostgreSQL Produkt Neuigkeiten ==

pgbuildfarm Client 4.5 ist erschienen.

pgpool-II 3.1.0 Alpha2, ein Connection Pooler und mehr, ist erschienen.

== PostgreSQL Jobs im Mai ==

== PostgreSQL Lokal ==

PGCon findet am 19. und 20. Mai 2011 an der Universität
von Ottawa statt, vorher gibt es am 17. und 18. Mai
zwei Tage mit Trainings.

PG Session 2 über PostGIS findet am 23. Juni in Paris statt.
Der Call for Papers ist jetzt offen.

PostgreSQL Conference Europe 2011 will be held on October 18-21 in

pgbr findet in Sao Paulo, Brazilien, am 3. und 4. November 2011 statt.

== PostgreSQL in den News ==

Planet PostgreSQL:

Dieser wöchentliche PostgreSQL Newsletter wurde erstellt von David Fetter.

Sende Neuigkeiten und Ankündigungen bis Sonntag, 15 Uhr Pazifischer
Zeit. Bitte sende englische Beiträge an, deutsche an, italienische an, spanische an

== Reviews ==

== Angewandte Patches ==

Tom Lane pushed:

- Improve aset.c's space management in contexts with small
  maxBlockSize.  The previous coding would allow requests up to half
  of maxBlockSize to be treated as "chunks", but when that actually
  did happen, we'd waste nearly half of the space in the malloc block
  containing the chunk, if no smaller requests came along to fill it.
  Avoid this scenario by limiting the maximum size of a chunk to 1/8th
  maxBlockSize, so that we can waste no more than 1/8th of the
  allocated space.  This will not change the behavior at all for the
  default context size parameters (with large maxBlockSize), but it
  will change the behavior when using ALLOCSET_SMALL_MAXSIZE.  In
  particular, there's no longer a need for spell.c to be overly
  concerned about the request size parameters it uses, so remove a
  rather unhelpful comment about that.  Merlin Moncure, per an idea of
  Tom Lane's

- Fix pull_up_sublinks' failure to handle nested pull-up
  opportunities.  After finding an EXISTS or ANY sub-select that can
  be converted to a semi-join or anti-join, we should recurse into the
  body of the sub-select.  This allows cases such as
  EXISTS-within-EXISTS to be optimized properly.  The original coding
  would leave the lower sub-select as a SubLink, which is no better
  and often worse than what we can do with a join.  Per example from
  Wayne Conrad.  Back-patch to 8.4.  There is a related issue in older
  versions' handling of pull_up_IN_clauses, but they're lame enough
  anyway about the whole area that it seems not worth the extra work
  to try to fix.

- Include unary plus in the Operator Precedence table.  Per gripe from
  Grzegorz Szpetkowski.  Also, change the subsection heading from
  "Lexical Precedence" (which is a contradiction in terms) to
  "Operator Precedence".

- Remove precedence labeling of keywords TRUE, FALSE, UNKNOWN, and
  ZONE.  These were labeled with precedences just to avoid attaching
  explicit precedences to the productions in which they were the last
  terminal symbol.  Since a terminal symbol precedence marking can
  affect many other things too, it seems like better practice to
  attach precedence labels to the productions, and not mark the
  terminal symbols.  Ideally we'd also remove the precedence attached
  to NULL_P, but it turns out that we are actually depending on that
  having a precedence higher than POSTFIXOP, else we get a
  shift/reduce conflict for postfix operators in b_expr.  (Which more
  or less proves my point about these markings having a high risk of
  unexpected consequences.)  For the moment, move NULL_P into the set
  of keywords grouped with IDENT, so that at least it will act
  similarly to non-keywords; and document the interaction.

- Move RegisterPredicateLockingXid() call to a safer place.  The SSI
  patch inserted a call of RegisterPredicateLockingXid into
  GetNewTransactionId, which was a bad idea on a couple of grounds.
  First, it's not necessary to hold XidGenLock while manipulating that
  shared memory, and doing so is bad because XidGenLock is a
  high-contention lock that should be held for as short a time as
  possible.  (Not to mention that it adds an entirely unnecessary
  deadlock hazard, since we must take SerializableXactHashLock as
  well.)  Second, the specific place where it was put was between
  extending CLOG and advancing nextXid, which could result in
  unpleasant behavior in case of a failure there.  Pull the call out
  to AssignTransactionId, which is much safer and arguably better from
  a modularity standpoint too.  There is more work to do to clean up
  the failure-before-advancing-nextXid issue, but that is a separate
  change that will need to be back-patched.  So for the moment I just
  want to make GetNewTransactionId look the same as it did in prior

- Fix some portability issues in isolation regression test driver.
  Remove random system #includes in favor of using postgres_fe.h.
  (The alternative to that is letting this module grow its own
  configuration testing ability...) Also fix the "make clean" target
  to actually clean things up.  Per local testing.

Peter Eisentraut pushed:

- Small cleanup of spacing in verbatim DocBook elements

- Fix alignment of --help output.  Tabs replaced by spaces.

- Message style cleanup

- Remove redundant port number check.  pg_basebackup doesn't need to
  police the format of port numbers.  libpq already does that.

- Link some tables into the surrounding text by their id

- Improve pg_archivecleanup and pg_standby --help output.  For
  consistency with other tools, put the options before further usage
  information.  In pg_standby, remove the supposedly deprecated -l
  option from the given example invocation.

- Improve formatting of pg_upgrade --help output.

- Improve compiler string shown in version().  With some compilers
  such as Clang and ICC emulating GCC, using a version string of the
  form "GCC $version" can be quite misleading.  Also, a great while
  ago, the version output from gcc --version started including the
  string "gcc", so it is redundant to repeat that.  In order to
  support ancient GCC versions, we now prefix the result with "GCC "
  only if the version output does not start with a letter.

Alvaro Herrera pushed:

- Update some ALTER USER cross-references to ALTER ROLE.  Greg Smith

- Add ID attribute to some sect2's missing it.  David Fetter

- Update obsolete mention of Sequoia, now known as Tungsten.  Per Greg

- Improve description of read/write traffic scalability.  Greg Smith,
  after a suggestion of James Bruce

Bruce Momjian pushed:

- Improve style of Perl script.

- Adjust pg_upgrade FATAL error messages to have consistent newlines.
  Also adjust some error message capitalization for consistency.

- Check that the pg_upgrade user specified is a super-user.  Also
  report the error message when the post-pg_ctl connection fails.  Per
  private bug report from EnterpriseDB.

- In pg_upgrade, report non-super-user username in error message.

- Add missing documention connecting word.

- Add xreflabels to /contrib manuals so links appear correct.  Also
  update README.links to explain xref properly.

- Add C comment why client encoding can be set in pg_upgrade.

- Add C comment about the fact that the autovacuum limit can go
  backwards by 3, but that is it OK.

Magnus Hagander pushed:

- Clarify error message when attempting to create index on foreign
  table.  Instead of just saying "is not a table", specifically state
  that indexes aren't supported on foreign tables.

- Unbreak the regression tests from my previous commit

Robert Haas pushed:

- Fix typos in SECURITY LABEL documentation.  KaiGai Kohei

- Add comment about memory reordering to PredicateLockTupleRowVersionLink.
  Dan Ports, per head-scratching from Simon Riggs and myself.

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte Patches ==

Gabriele Bartolini sent in another revision of the patch to smooth
replication during VACUUM FULL.

Joe Conway sent in a patch to fix clog redos under high load.

Johann 'Myrkraverk' Oskarsson sent in a patch to fix an issue on
mingw-w64 where the PGDLLEXPORT macro is blank.

Alvaro Herrera updated the "preferred types" patch to HEAD.

Jaime Casanova sent in a patch to add an xlogversion column to
IDENTIFY_SYSTEM.  This is one of the infrastructure pieces which will
make on-line upgrades possible.

Hitoshi Harada sent in a patch to allow the optimizer to pull up
aggregate subqueries.

Bruce Momjian sent in patches to adjust the comments on system tables.

Magnus Hagander sent in a patch to fix the error for attempting to
index a foreign table.

Tom Lane sent in a patch to fix a some suprising precedence in
PostgreSQL's SQL grammar.

Dan Ports sent in two revisions of a patch to fix a race condition in
SSI's ChecTargetForConflictsIn.

Peter Geoghegan sent in a WIP patch to help save energy by waking up
less frequently.

Merlin Moncure sent in another revision of the patch to fix an issue
between the visibility map and hint bits.

Robert Haas sent in another revision of the patch to make visibility
maps more crash-safe.

Josh Kupershmidt sent in a patch to clean up psql's decribe.c.

Andrew Dunstan sent in another revision of the patch to fix an issue
where invalid characters were allowed in XML.

Greg Smith sent in a patch exemplifying the idea of moving some
contrib modules to being default, but still using the EXTENSION


No Trackbacks


Display comments as Linear | Threaded

No comments

Add Comment

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
To leave a comment you must approve it via e-mail, which will be sent to your address after submission.
Form options