Skip to content

Wöchentlicher PostgreSQL Newsletter - 05. Dezember 2010

Der Originalartikel befindet sich unter:

== Wöchentlicher PostgreSQL Newsletter - 05. Dezember 2010 ==

== PostgreSQL Produkt Neuigkeiten ==

Internet24, ein deutscher Hostinganbieter, hat PostgreSQL 9.0
für alle seine Produkte im Angebot.

MicroOLAP Database Designer 1.3.0 für PostgreSQL ist erschienen.

phpPgAdmin 5.0, ein webbasiertes Administrationstool für
PostgreSQL, ist erschienen.

== PostgreSQL Lokal ==

Der Call für Projekte des PostgreSQLFr hat begonnen. Projekte müssen
sich um PostgreSQL drehen und die französisch-sprechende Community
betreffen. Maile Projektvorschläge an appel-projets-2010
AT postgresql DOT fr.

FOSDEM ist eine der größten Freien und Open Source Veranstaltungen
und findet jährlich in Brüssel, Belgien statt, nächstes Jahr am
5. und 6. Februar 2011. Ungefähr 4.000 Besucher finden sich dort ein.
Sende deine Vorträge an fosdem AT postgresql DOT eu.

PGDay findet dieses Jahr während der südkalifornischen Linux Ausstellung
(SCALE) im LAX Hilton Hotel in Los Angeles, Kalifornien am Freitag dem
25. Februar 2011 statt. Vorträge kannst du unter pgday-submissions AT
googlegroups DOT com einreichen.

PGCon will be May 19-20, 2011 at the University of Ottawa, preceded by
two days of tutorials on May 17-18.

== 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 ==

Heikki Linnakangas pushed:

- Be consistent about writing "[, ...]" instead "[,...]" in the docs.
  Christoph Berg.;a=commitdiff;h=3c42efceb21b8dfe1b5686bd914520980933fcd4

- Refactor the pg_dump zlib code from pg_backup_custom.c to a separate
  file, to make it easier to reuse that code.  There is no
  user-visible changes.  This is in preparation for the patch to add a
  new archive format, a directory, to perform a custom-like dump but
  with each table being dumped to a separate file (that in turn is a
  prerequisite for parallel pg_dump).  This also makes it easier to
  add new compression methods in the future, and makes the
  pg_backup_custom.c code easier to read, when the compression-related
  code is factored out.  Joachim Wieland, with heavy editorialization
  by me.;a=commitdiff;h=bf9aa490db24b2334b3595ee33653bf2fe39208c

- Remove misleading comments.  Move _Clone and _DeClone functions
  before the "END OF FORMAT CALLBACKS" comment, because they are
  format callbacks too.;a=commitdiff;h=9cea52a5a354853a76b90c20d7d3bf87df45ebbf

Tom Lane pushed:

- Simplify and speed up mapping of index opfamilies to pathkeys.
  Formerly we looked up the operators associated with each index
  (caching them in relcache) and then the planner looked up the btree
  opfamily containing such operators in order to build the
  btree-centric pathkey representation that describes the index's sort
  order.  This is quite pointless for btree indexes: we might as well
  just use the index's opfamily information directly.  That saves
  syscache lookup cycles during planning, and furthermore allows us to
  eliminate the relcache's caching of operators altogether, which may
  help in reducing backend startup time.  I added code to plancat.c to
  perform the same type of double lookup on-the-fly if it's ever faced
  with a non-btree amcanorder index AM.  If such a thing actually
  becomes interesting for production, we should replace that logic
  with some more-direct method for identifying the corresponding btree
  opfamily; but it's not worth spending effort on now.  There is
  considerably more to do pursuant to my recent proposal to get rid of
  sort-operator-based representations of sort orderings, but this
  patch grabs some of the low-hanging fruit.  I'll look at the
  remainder of that work after the current commitfest.;a=commitdiff;h=c0b5fac7010fa3468577d3a90ee8783639500fed

- Prevent inlining a SQL function with multiple OUT parameters.  There
  were corner cases in which the planner would attempt to inline such
  a function, which would result in a failure at runtime due to loss
  of information about exactly what the result record type is.  Fix by
  disabling inlining when the function's recorded result type is
  RECORD.  There might be some sub-cases where inlining could still be
  allowed, but this is a simple and backpatchable fix, so leave
  refinements for another day.  Per bug #5777 from Nate Carson.
  Back-patch to all supported branches.  8.1 happens to avoid a
  core-dump here, but it still does the wrong thing.;a=commitdiff;h=225f0aa3dfef55554cbe2e6da73df5e41b9eec18

- Create core infrastructure for KNNGIST.  This is a heavily revised
  version of builtin_knngist_core-0.9.  The ordering operators are no
  longer mixed in with actual quals, which would have confused not
  only humans but significant parts of the planner.  Instead, ordering
  operators are carried separately throughout planning and execution.
  Since the API for ambeginscan and amrescan functions had to be
  changed anyway, this commit takes the opportunity to rationalize
  that a bit.  RelationGetIndexScan no longer forces a premature
  index_rescan call; instead, callers of index_beginscan must call
  index_rescan too.  Aside from making the AM-side initialization
  logic a bit less peculiar, this has the advantage that we do not
  make a useless extra am_rescan call when there are runtime key
  values.  AMs formerly could not assume that the key values passed to
  amrescan were actually valid; now they can.  Teodor Sigaev and Tom

- Put back gistgettuple's check for backwards scan request.  On
  reflection it's a bad idea for the KNNGIST patch to have removed
  that.  We don't want it silently returning incorrect answers.;a=commitdiff;h=04910a3ad5cd2901558da2a4fad9a2e2819348aa

- Add external documentation for KNNGIST.;a=commitdiff;h=b576757d7ee064ada5351c2e6a36c2f7234aa1d4

- Add KNNGIST support to contrib/pg_trgm.  Teodor Sigaev, with some
  revision by Tom Lane.;a=commitdiff;h=b525bf771e31a2254f28bf25c6ed7987d64c8afb

- Update comment to match later code changes.;a=commitdiff;h=e194a942f98caf0b278e3ba30a85545ac790ea1d

- Fix two small bugs in new gistget.c logic.  1. Complain, rather than
  silently doing nothing, if an "invalid" tuple is found on a leaf
  page.  Per off-list discussion with Heikki Linnakangas.  2. Fix
  oversight in code that removes a GISTSearchItem from the search
  queue: we have to reset lastHeap if this was the last heap item in
  the parent GISTSearchTreeItem.  Otherwise subsequent additions will
  do the wrong thing.  This was probably masked in early testing
  because in typical cases the parent item would now be completely
  empty and would be deleted on next call.  You'd need a queued
  non-leaf page at exactly the same distance as a heap tuple to expose
  the bug.;a=commitdiff;h=d1f5a92e18dcfc750e9d338597e66af920aad99e

- Reduce memory consumption inside inheritance_planner().  Avoid
  eating quite so much memory for large inheritance trees, by
  reclaiming the space used by temporary copies of the original
  parsetree and range table, as well as the workspace needed during
  planning.  The cost is needing to copy the finished plan trees out
  of the child memory context.  Although this looks like it ought to
  slow things down, my testing shows it actually is faster, apparently
  because fewer interactions with malloc() are needed and/or we can do
  the work within a more readily cacheable amount of memory.  That
  result might be platform-dependent, but I'll take it.  Per a gripe
  from John Papandriopoulos, in which it was pointed out that the
  memory consumption actually grew as O(N^2) for sufficiently many
  child tables, since we were creating N copies of the N-element range

Alvaro Herrera pushed:

- Remove trailing whitespace.;a=commitdiff;h=0025b76f4fc52bed4e8ad2623ec6b9821a4e936c

- Silence compiler.;a=commitdiff;h=7f4a7af2fd0991dc3ef14a63c614a7ad17b56c79

- Move private struct declaration to compress_io.c.  Keep only the
  typedef in the header file.;a=commitdiff;h=d7e5d151daa2d5fe096953ae0b3530707b7c87f5

- Remove useless struct declaration.;a=commitdiff;h=d67a39c3267d1901ae9e702637cc56b16e70332a

ITAGAKI Takahiro pushed:

- Remove unnecessary string null-termination in pg_convert.  We can
  directly verify the unterminated input with pg_verify_mbstr_len.;a=commitdiff;h=fd223c7407c7067ac3ec7e586f9e3d7b5afd2b2e

Robert Haas pushed:

- Use GUC lexer for recovery.conf parsing.  This eliminates some
  crufty, special-purpose code and, as a non-trivial side benefit,
  allows recovery.conf parameters to be unquoted.  Dimitri Fontaine,
  with review and cleanup by Alvaro Herrera, Itagaki Takahiro, and me.;a=commitdiff;h=970a18687f9b3058e89d5994a8fbf70888e79548

- Remove now-outdated mention of quotes being required in
  recovery.conf.  Noted by Itagaki Takahiro.;a=commitdiff;h=5ef6c913836b136632adf8f4625691e4656e8c05

- Clarify that LOCK TABLE requires a table-level privilege.;a=commitdiff;h=c0a4d3e0511b4d1f7996451329deaa2acd0e18fa

Peter Eisentraut pushed:

- Make output width consistent for all ways of invoking a regression
  test.  run_schedule() and run_single_test() were using different
  output widths, which would show up in bigcheck/bigtest, for example.;a=commitdiff;h=387e468b82952776121a8d4bd409d72757edbc16

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte Patches ==

Dimitri Fontaine and ITAGAKI Takahiro traded revisions of the patch to
add pg_execute_from_file().

David Fetter and ITAGAKI Takahiro traded patches to add tab completion
to psql for triggers on views.

Based on a review by Andy Colson, Robert Haas sent in another revision
of the patch to add unlogged tables.

Greg Smith sent in another revision of the patch to spread out
checkpoint syncs.

Dimitri Fontaine sent in another revision of the patch to add

Radoslaw Smogura sent in another revision of the JDBC driver.

Heikki Linnakangas sent in two more revisions of the patch to fix the
"too many KnownAssignedXids" issue on hot standby.

Joachim Wieland sent in another flock of patches for parallel pg_dump.

Heikki Linnakangas sent in another revision of the patch to rewrite
how GiST inserts happen.

Peter Eisentraut sent in another revision of the patch to add
per-column collation.

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

Andrew Dunstan sent in a patch to allow COPY routines to read
arbitrary numbers of fields.

Greg Smith sent in another revision of the patch to instrument
checkpoint sync calls.

Andrew Dunstan sent in a patch to allow COPY routines to read
arbitrary numbers of fields.

Greg Smith sent in another revision of the patch to instrument
checkpoint sync calls.


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