== PostgreSQL Weekly News - May 20 2007 ==

PgCon is happening in Ottawa this week.

== PostgreSQL Product News ==

PGCluster 1.7.0rc7 released.
http://pgfoundry.org/forum/forum.php?forum_id=1047

EMS SQL Manager for PostgreSQL 7.0 released.
http://www.sqlmanager.net/products/postgresql/manager

== PostgreSQL Jobs for May ==

http://archives.postgresql.org/pgsql-jobs/2007-05/threads.php

== PostgreSQL Local ==

Get on the Road to PgDay!
http://www.pgday.it/en/node/95

== PostgreSQL in the News ==

Planet PostgreSQL: http://www.planetpostgresql.org/

General Bits, Archives and occasional new articles:
http://www.varlena.com/GeneralBits/

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

To get your submission into the upcoming issue, make sure it arrives
at [EMAIL PROTECTED] or in German at [EMAIL PROTECTED] by Sunday at 3:00pm
Pacific Time.

== Applied Patches == 

Peter Eisentraut committed:

- In pgsql/doc/src/sgml/Makefile, mark some intermediate targets as
  .PRECIOUS, to replace the recently removed .SECONDARY target.  This
  makes experimentation with the PDF builds easier.

- Fix inappropriate comments in pgsql/doc/src/sgml/Makefile.

Michael Meskes committed:

- Tackling Vista problem - another try.

- Removed mktime() call to hopefully get rid of some compatibility
  problems.

Neil Conway committed:

- Tweaks for SGML markup.

- Fix a bunch of bad grammar in the docs: "<link>, which see for more
  information" is un-good English.

- Various fixes for the SGML docs.  Consistently use spaces
  before/after parentheses in syntax descriptions.  Consistently use
  the present tense when describing the basic purpose of each "DROP"
  command.  Add a few more hyperlinks.

- Make a few marginal improvements to the documentation for the
  autovacuum launcher daemon.

- Add a note to the documentation to clarify that even when
  "autovacuum = off", the system may still periodically start
  autovacuum processes to prevent XID wraparound.  Patch from David
  Fetter, with editorializing.

Andrew Dunstan committed:

- Remove directory qualification in <ossp/uuid.h> because it's not
  always installed in ossp.  Workaround for when it is: include the
  ossp directory using --with-includes.

- In pgsql/src/tools/msvc/Solution.pm, fix perl thinko.

- Use configured pgport in MSVC config file.

Tom Lane committed:

- To support external compression of archived WAL data, add a flag bit
  to WAL records that shows whether it is safe to remove full-page
  images (ie, whether or not an on-line backup was in progress when
  the WAL entry was made).  Also make provision for an XLOG_NOOP
  record type that can be used to fill in the extra space when
  decompressing the data for restore.  This is the portion of Koichi
  Suzuki's "full page writes" patch that has to go into the core
  database.  The remainder of that work is two external compression
  and decompression programs, which for the time being will undergo
  separate development on pgfoundry.  Per discussion.  Also, twiddle
  the handling of BTREE_SPLIT records to ensure it'll be possible to
  compress them (the previous coding caused essential info to be
  omitted).  The other commonly-used record types seem OK already,
  with the possible exception of GIN and GIST WAL records, which I
  don't understand well enough to opine on.

- Remove redundant logging of send failures when SSL is in use.  While
  pqcomm.c had been taught not to do that ages ago, the SSL code was
  helpfully bleating anyway.  Resolves some recent reports such as bug
  #3266; however the underlying cause of the related bug #2829 is
  still unclear.  Backpatched through 7.4.

- Temporary fix for the problem that pg_stat_activity,
  inet_client_addr(), and inet_server_addr() fail if the client
  connected over a "scoped" IPv6 address.  In this case getnameinfo()
  will return a string ending with a poorly-standardized "%something"
  zone specifier, which these functions try to feed to network_in(),
  which won't take it.  So that we don't lose functionality
  altogether, suppress the zone specifier before giving the string to
  network_in().  Per report from Brian Hirt.  TODO: probably someday
  the inet type should support scoped IPv6 addresses, and then this
  patch should be reverted.  Backpatch to 8.2 ... is it worth going
  further?

- Fix parameter recalculation for Limit nodes: during a ReScan call we
  must recompute the limit/offset immediately, so that the updated
  values are available when the child's ReScan function is invoked.
  Add a regression test for this, too.  Bug is new in HEAD (due to the
  bounded-sorting patch) so no need for back-patch.  I did not do
  anything about merging this signaling with chgParam processing, but
  if we were to do that we'd still need to compute the updated values
  at this point rather than during the first ProcNode call.  Per
  observation and test case from Greg Stark, though I didn't use his
  patch.

- Get rid of the pg_shdepend entry for a TOAST table; it's unnecessary
  since there's an indirect dependency on the owner via the parent
  table.  We were already handling indexes that way, but not toast
  tables for some reason.  Saves a little catalog space and cuts down
  the verbosity of checkSharedDependencies reports.

- Fix up grammar and translatability of recent checkSharedDependencies
  patch; also make the code logic a bit more self-consistent.

- Prevent RevalidateCachedPlan from making any permanent change in
  ActiveSnapshot.  Having it affect ActiveSnapshot only in the unusual
  case of needing to replan seems a bad idea, and there's also the
  problem that the created snap might be in a relatively short-lived
  context, as noted by Jan Wieck.  Also, there's no need to force a
  new snap at all unless we are called with no snap currently set,
  which is an unusual case in itself.

Alvaro Herrera committed:

- Fix dumb compile error in the last patch.

- Have CLUSTER advance the table's relfrozenxid.  The new frozen point
  is the FreezeXid introduced in a recent commit, so there isn't any
  data loss in this approach.  Doing it causes ALTER TABLE (or rather,
  the forms of it that cause a full table rewrite) to be affected as
  well.  In this case, the frozen point is RecentXmin, because after
  the rewrite all the tuples are relabeled with the rewriting
  transaction's Xid.  TOAST tables are fixed automatically as well, as
  fallout of the way they were already being handled in the respective
  code paths.  With this patch, there is no longer need to VACUUM
  tables for Xid wraparound purposes that have been cleaned up via
  TRUNCATE or CLUSTER.

- Move the tuple freezing point in CLUSTER to a point further back in
  the past, to avoid losing useful Xid information in not-so-old
  tuples.  This makes CLUSTER behave the same as VACUUM as far a
  tuple-freezing behavior goes (though CLUSTER does not yet advance
  the table's relfrozenxid).  While at it, move the actual freezing
  operation in rewriteheap.c to a more appropriate place, and document
  it thoroughly.  This part of the patch from Tom Lane.

- Have TRUNCATE advance the affected table's relfrozenxid to
  RecentXmin, to avoid a later needless VACUUM for Xid-wraparound
  purposes.  We can do this since the table is known to be left empty,
  so no Xid remains on it.

- Heikki Linnakangas's patch which makes the rewriteheap code freeze
  old tuples.  This is safe because it is only applied to live tuples
  older than a recent Xmin, not to tuples that may be part of an
  update chain.  Those still keep their original markings.  This patch
  makes it possible for CLUSTER to advance relfrozenxid, thus avoiding
  the need of vacuuming the table for Xid wraparound purposes.  That
  will be patched separately.

- Avoid emitting empty role names in the GRANTED BY clause of GRANT
  ROLE when the grantor has been dropped.  This is a workaround for
  the fact that we don't track the grantor as a shared dependency.

- Report all dependent objects to the server log when a shared object
  is dropped, and only a truncated log of the objects in the current
  database to the client.  Also, instead of reporting object counts
  for all databases on which the user might own objects, report only
  as many as fit in the predefined line count.  This is to avoid
  flooding the client when the user owns too many objects, which could
  cause problems.  Per report from Ed L.  on April 4th and subsequent
  discussion.

Bruce Momjian committed:

- Mark TODO as done: "Fix problem with excessive logging during SSL
  disconnection."

- Add to TODO: "Support scoped IPv6 addresses."

- Add URL for TODO: "Implement the SQL standard mechanism whereby
  REVOKE ROLE revokes only the privilege granted by the invoking role,
  and not those granted by other roles."

- Per Alvaro Herrera, add to TODO: "Implement the SQL standard
  mechanism whereby REVOKE ROLE revokes only the privilege granted by
  the invoking role, and not those granted by other roles."

- Add to TODO: "Fix problem with excessive logging during SSL
  disconnection."

- Add CVS comment for recent commit "Moved page-level functions from
  pgstattuple to contrib/pageinspect."

- Simon and Heikki's patch which adds database page inspection
  /contrib module.

- Gregory Stark's patch which updates comments for PG_DETOAST_PACKED
  and VARDATA_ANY on a structures that require alignment and adds a
  paragraph to the "User-Defined Types" chapter on using these macros
  since it seems like they're a hit.

- Add URLs for TODO: "Add support for SQL-standard GENERATED/IDENTITY
  columns."

- Update instructions on creating TODO entry.

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Gregory Stark sent in another revision of his concurrent psql patch,
per discussion.



---------------------------(end of broadcast)---------------------------
-To unsubscribe from this list, send an email to:

               [EMAIL PROTECTED]

Reply via email to