Skip to content

Wöchentlicher PostgreSQL Newsletter - 28. November 2010

Der Originalartikel befindet sich unter:

== Wöchentlicher PostgreSQL Newsletter - 28. November 2010 ==

== PostgreSQL Produkt Neuigkeiten ==

DiffKit 0.8.2, ein Vergleichswerkzeug für Tabellen mit Support
für PostgreSQL, ist erschienen.

PostgreDAC 2.6.0, ein Delphi/C++ Builder für PostgreSQL,
ist erschienen.

== PostgreSQL Jobs im November ==

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

Registrierung für PGDay.EU 2010 vom 6. bis 8. Dezember in
Stuttgart, Deutschland ist bis zum 4. Dezember offen.

Registrierung für PGDay.IT am 10. Dezember 2010 in Rom,
Italien ist jetzt offen und der Vortragsplan ist online.

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

Magnus Hagander reviewed the patch to add getrusage tracking to
EXPLAIN ANALYZE and found some breakage on Windows.

Steve Singer reviewed another revision of Gurjeet Singh's patch to
allow ALTER TABLE to create a primary key from an existing index.

ITAGAKI Takahiro reviewed the pg_execute_from_file patch and found an
OID collision, a compiler warning and some English, access control and
internationalization issues.

== Angewandte Patches ==

Alvaro Herrera pushed:

- Remove GucContext parameter from ParseConfigFile.;a=commitdiff;h=5272d7987506554f6b2bde740e1b4d7e4a0b8608

Robert Haas pushed:

- Centralize some ALTER <whatever> .. SET SCHEMA checks.  Any flavor
  of ALTER <whatever> .. SET SCHEMA fails if (1) the object is already
  in the new schema, (2) either the old or new schema is a temp
  schema, or (3) either the old or new schema is the TOAST schema.
  Extraced from a patch by Dimitri Fontaine, with additional hacking
  by me.;a=commitdiff;h=44475e782f4674d257b9e5c1a3930218a4b4deea

- Remove belt-and-suspenders guards against buffer pin leaks.
  Forcibly releasing all leftover buffer pins should be unnecessary
  now that we have a robust ResourceOwner mechanism, and it
  significantly increases the cost of process shutdown.  Instead, in
  an assert-enabled build, assert that no pins are held; in a
  non-assert-enabled build, do nothing.;a=commitdiff;h=c2281ac87cf4828b6b828dc8585a10aeb3a176e0

- Add inet_net_ntop.c to .gitignore.;a=commitdiff;h=2d1e426650fc93e5dfdd0178023485d38b03b102

- Object access hook framework, with post-creation hook.  After a SQL
  object is created, we provide an opportunity for security or logging
  plugins to get control; for example, a security label provider could
  use this to assign an initial security label to newly created
  objects.  The basic infrastructure is (hopefully) reusable for other
  types of events that might require similar treatment.  KaiGai Kohei,
  with minor adjustments.;a=commitdiff;h=cc1ed40d57aa68322e43a7b0a3320a6c5aff010a

- Add more ALTER <object> .. SET SCHEMA commands.  This adds support
  for changing the schema of a conversion, operator, operator class,
  operator family, text search configuration, text search dictionary,
  text search parser, or text search template.  Dimitri Fontaine, with
  assorted corrections and other kibitzing.;a=commitdiff;h=55109313f96fb5c7d671fe8954b6f7fc0cca9631

- New contrib module, auth_delay.  KaiGai Kohei, with a few changes by

- Fix typo.  Fujii Masao.;a=commitdiff;h=fab7fdb988f25438ded6c4a5c4b4f112f9decddb

Peter Eisentraut pushed:

- Propagate ALTER TYPE operations to typed tables.  This adds
  ATTRIBUTE to control whether to alter typed tables as well.;a=commitdiff;h=f2a4278330ae12cd56b61c92a7debb9c9fca7b41

- Remove useless whitespace at end of lines.;a=commitdiff;h=fc946c39aeacdff7df60c83fca6582985e8546c8

- Add index entries for more functions.  Also, move index entries into
  the tables, closer to the function description, for easier editing
  in the future.  Resort some tables to be more alphabetical.  Remove
  the entries for count, max, min, and sum in the tutorial area,
  because that was felt to be confusing.  Thom Brown.;a=commitdiff;h=4fc09ad00c3cc95003a5523d85999da1dd4f9d75

Tom Lane pushed:

- Create the system catalog infrastructure needed for KNNGIST.  This
  commit adds columns amoppurpose and amopsortfamily to pg_amop, and
  column amcanorderbyop to pg_am.  For the moment all the entries in
  amcanorderbyop are "false", since the underlying support isn't there
  commands with [ FOR SEARCH | FOR ORDER BY sort_operator_family ]
  clauses to allow the new columns of pg_amop to be populated, and
  create pg_dump support for dumping that information.  I also added
  some documentation, although it's perhaps a bit premature given that
  the feature doesn't do anything useful yet.  Teodor Sigaev, Robert
  Haas, Tom Lane.;a=commitdiff;h=725d52d0c27cffe8c99bb78e2b0d2480d5cd702b

- Fix significant memory leak in contrib/xml2 functions.  Most of the
  functions that execute XPath queries leaked the data structures
  created by libxml2.  This memory would not be recovered until end of
  session, so it mounts up pretty quickly in any serious use of the
  feature.  Per report from Pavel Stehule, though this isn't his
  patch.  Back-patch to all supported branches.;a=commitdiff;h=4a2516a7f976e2f6671930904d4e97a4832eff9f

- Remove bogus use of PGDLLIMPORT.  That macro should be attached to
  extern declarations, not actual definitions of variables.;a=commitdiff;h=1d9a0abec1224193fea3acf766b587fc3963a3b8

- Fix portability issues in new src/port/inet_net_ntop.c file.  1.
  Don't #include postgres.h in a frontend build.  2. Don't assume that
  the backend's symbol PGSQL_AF_INET6 has anything to do with the
  constant that will be used by system library functions (because, in
  point of fact, it usually doesn't).  Fortunately, PGSQL_AF_INET is
  equal to AF_INET, so we can just cater for both sets of values in
  one case construct without fear of conflict.;a=commitdiff;h=3840bc0847aa1b635127ff4a55b5257c9ebc79b8

- Clean up IPv4 vs IPv6 bogosity in connectFailureMessage().  Newly
  added code was supposing that "struct sockaddr_in" applies to IPv6.;a=commitdiff;h=be3b666eb810089fd9a1d42e3888be52ab9ddb63

- Rewrite PQping to be more like what we agreed to last week.
  Basically, we want to distinguish all cases where the connection was
  not made from those where it was.  A convenient proxy for this is to
  see if we got a message with a SQLSTATE code back from the
  postmaster.  This presumes that the postmaster will always send us a
  SQLSTATE in a failure message, which is true for 7.4 and later
  postmasters in every case except fork failure.  (We could possibly
  complicate the postmaster code to do something about that, but it
  seems not worth the trouble, especially since pg_ctl's response for
  that case should be to keep waiting anyway.) If we did get a
  SQLSTATE from the postmaster, there are basically only two cases, as
  per last week's discussion: ERRCODE_CANNOT_CONNECT_NOW and
  everything else.  Any other error code implies that the postmaster
  is in principle willing to accept connections, it just didn't like
  or couldn't handle this particular request.  We want to make a
  special case for ERRCODE_CANNOT_CONNECT_NOW so that "pg_ctl start
  -w" knows it should keep waiting.  In passing, pick names for the
  enum constants that are a tad less likely to present collision
  hazards in future.;a=commitdiff;h=db96e1ccfcb8f3514eef931bea9435974ec7ad28

- On further testing, PQping also needs an explicit check for
  AUTH_REQ.  The pg_fe_sendauth code might fail if it can't handle the
  authentication request message type --- if so, ping should still say
  the server is up.;a=commitdiff;h=49cd8a3f810467632260f16c7779f19212c1d094

- A bit more wordsmithing on the PQping documentation.;a=commitdiff;h=d53c1255d9730b07d56166ace1191250ca76f496

- Point out in default_tablespace's description that CREATE DATABASE
  ignores it.  Per gripe from Andreas Scherbaum.;a=commitdiff;h=c623365ff9a5ef937e05b85c2feb5a5c5cde9b3b

Bruce Momjian pushed:

- When reporting the server as not responding, if the hostname was
  supplied, also print the IP address.  This allows IPv4 and IPv6
  failures to be distinguished.  Also useful when a hostname resolves
  to multiple IP addresses.  Also, remove use of inet_ntoa() and use
  our own inet_net_ntop() in all places, including in libpq, because
  it is thread-safe.;a=commitdiff;h=ba11258ccbf364d85de48b8b7fd46953ea7bb4f4

- Document that a CHECKPOINT before taking a file system snapshot can
  reduce recovery time.;a=commitdiff;h=7276ab5888d85782d988fc297ad2e176c7ad1bca

- Properly add new inet_net_ntop file to libpq Makefile.;a=commitdiff;h=58dfb07b5d84c0088033e2d22fc44df812fa6eb5

- Restructure how libpq includes external C files, for clarity.;a=commitdiff;h=c6978ecd6f761388d8479c8b32cfd0dd2d2bd4ac

- Fix getaddrinfo() in pgport to use proper parameters, as detected by
  Win32 buildfarm members.;a=commitdiff;h=212a1c7b0b4164e15381af327ee6656ae7e02298

- Add PQping and PQpingParams to libpq to allow detection of the
  server's status, including a status where the server is running but
  refuses a postgres connection.  Have pg_ctl use this new function.
  This fixes the case where pg_ctl reports that the server is not
  running (cannot connect) but in fact it is running.;a=commitdiff;h=afd7d9adca971d9aae97e87ce617d8608d25ab10

- Improve pg_ctl "cannot connect" warning, per suggestion from Magnus.;a=commitdiff;h=4646e0cef70d2f9a6bb1764cee5c13b7bbd23625

- Improve pg_ctl "cannot connect" spacing, per Tom Lane, and wording.;a=commitdiff;h=5f4b3d750b7648d90486827a3de58c226daa2c58

- In libpq/Makefile, merge PERM_PGPORT and OPT_PGPORT into a single
  Makefile variable PGPORT, for clarity.;a=commitdiff;h=a9b02ec654434e7e395b8677ba142a99eed7eb5e

- Abandon use of Makefile variables in libpq/Makefile because MSVC
  scrapes the OBJS lines from that file.  Cleanup where possible.;a=commitdiff;h=4f6deef2fb7ddc6b3c6b901db66072cf65ccaa27

- Use only addr_cur when reporting connection failures in libpq.;a=commitdiff;h=ed51bd4968a903e13bdcded869a644fd0d28353c

- Update comment that says we only report last libpq connection
  failure, per Peter Eisentraut.;a=commitdiff;h=bad8277f13c31350abd7571af51d272bd1401f3c

- Use conn->raddr consistently for non-connect libpq error reporting.;a=commitdiff;h=f2eba413db99fcde9a4d3a9f52578dc4e7f5d5ec

- Add inet_net_ntop.c as needed by MSVC, per Magnus Hagander.;a=commitdiff;h=e6e38b4ac21cc25fb8187e573a672ff17d9b2801

- In libpq/Makefile, use OBJS += as a way to break up long link lines
  into something that can be documented.;a=commitdiff;h=1f48290a9d6d000d1b5012b9304b734ecb9cc759

ITAGAKI Takahiro pushed:

- Don't raise "identifier will be truncated" messages in dblink except
  creating new connections.;a=commitdiff;h=d3c126544342728ab4b5c167b4f4b01a39270db5

Simon Riggs pushed:

- Move call to GetTopTransactionId() earlier in LockAcquire(),
  removing an infrequently occurring race condition in Hot Standby.
  An xid must be assigned before a lock appears in shared memory,
  rather than immediately after, else GetRunningTransactionLocks() may
  see InvalidTransactionId, causing assertion failures during lock
  processing on standby.  Bug report and diagnosis by Fujii Masao, fix
  by me.;a=commitdiff;h=ed78384acd691e3336e170aa18af69d15d088027

== Abgelehnte Patches (bis jetzt) ==

No one was disappointed this week :-)

== Eingesandte Patches ==

Gurjeet Singh sent in another revision of the patch to allow ALTER
TABLE to create a primary key from an existing index.

Pavel Stehule sent in a patch to make de-TOAST only once when needed
in PL/pgsql.

Dimitri Fontaine sent in three more revisions of the unified
configuration file parser patch.

David Wheeler sent in a doc patch for the new ALTER ENUM..ADD VALUE.

Shigeru HANADA split the SQL/MED into three separate patches and
updated same.

Pursuant to a review by Josh Tolley, Dimitri Fontaine sent in another
revision of the execute_from_file() patch.

Heikki Linnakangas and Robert Haas traded patches for to lighten the
overhead assocated with connecting to the database.

Steve Singer sent in another version of the patch to use an existing
index for a primary key.

KaiGai Kohei sent in another revision of the label switcher function.

Fujii Masao sent in another revision of the libpq patches intended to
enable synchronous replication.

ITAGAKI Takahiro sent in another revision of the patch to add a
format() function with to_char().

Heikki Linnakangas sent in another revision of the GiST insert
algorithm rewrite.

Tom Lane sent in two revisions of a patch redo the representation of
sorting and hashing in queries and plans.

Quan Zongliang sent in a patch to fix a bug where pg_ctl -w (re)start
fails with a custom unix_socket_directory.

Marti Raudsepp sent in a patch to return the command tag, 'REPLACE X'
for CREATE OR REPLACE statements.

Joachim Wieland sent in another revision of the patches which allow
pluggable compression algorithms in pg_dump and add a directory format
to pg_dump/pg_restore's formats.


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