Steve Singer | 3 Feb 02:00

Slony-I 2.1.1 & 1.2.23 released

The Slony-I team is pleased to announce the release of Slony-I 2.1.1
a bug fix release for the 2.1 stream. and Slony-I 1.2.23 a bug fix 
release in the 1.2 stream.

2.1.1
=============

- Bug #260 :: Fixed issue when with FAILOVER command when the failed 
node has multiple sets.

- Bug #246 :: Include path order changes
- Bug #161 :: fix memory overrun in EXECUTE SCRIPT parser
- Bug #247 :: slony_logshipper to handle TRUNCATE commands
- Bug #249 :: Add parentheses to txid_current() in function for
               TRUNCATE logging
- slonik_drop_table and slonik_drop_sequence no longer attempt to
   return -1 on an error (invalid as a slonik exit code in 2.1)
- Bug #244 :: The CREATE SET command now requires a set id to be specified.
- Bug #255 :: Fix serialization conflict issues when using PostgreSQL 9.1.
- Bug #256 :: set_conf_option() has an extra elevel parameter on PG 9.2
- Bug #259 :: Fix TRUNCATE logging so it works with mixed case slony 
clusters.

http://www.slony.info/downloads/2.1/source/slony1-2.1.1.tar.bz2
http://www.slony.info/downloads/2.1/source/slony1-2.1.1-docs.tar.bz2

1.2.23
===========
- Bug #195 - make slon_quote_* functions immutable
- Bug #209 - dollar quoting doesn't work on PG 7.4
(Continue reading)

dmp | 1 Feb 18:21
Favicon

MyJSQLView Version 3.31 Released

The MyJSQLView project is pleased to release v3.33 to the public. The
release includes improvements in the efficiency of use for the SQL Query
Bucket and an Aggregation/GROUP BY feature for the Advanced Sort/Search
Form. The new release also brings a new default plugin called HeatMapper
that allows the plotting of multi-variable numeric data. Initial tests
for the HeatMapper plugin used latitude, longitude, and temperature
data from measurements in the Alantic with over 90k records. The coding
for this plugin solidified the selection of HyperSQL for in memory data
analysis.

Dana M. Proctor
MyJSQLView Project Manager
http://dandymadeproductions.com/projects/MyJSQLView/

MyJSQLView provides an easy to use free Open Source Java based user
interface frontend for viewing, adding, editing, or deleting entries
in several mainstream databases including PostgreSQL. A query frame
allows the building of complex SQL statements. The application allows
easy sorting, searching, and import/export of table data.

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

               pgsql-announce-unsubscribe <at> postgresql.org

David Fetter | 6 Feb 08:30
Gravatar

== PostgreSQL Weekly News - February 05 2012 ==

== PostgreSQL Weekly News - February 05 2012 ==

PGDay France will be in Lyon on June 7, 2012.
http://www.pgday.fr

PGDay NYC will be held April 2, 2012 at Lighthouse International in
New York City.
http://pgday.nycpug.org

== PostgreSQL Product News ==

MyJSQLView Version 3.31 Released.
http://dandymadeproductions.com/projects/MyJSQLView/

Slony-I 2.1.1 & 1.2.23 released.
http://www.slony.info/

== PostgreSQL Jobs for February ==

http://archives.postgresql.org/pgsql-jobs/2012-02/threads.php

== PostgreSQL Local ==

The fifth annual "Prague PostgreSQL Developers Day" conference,
organized by CSPUG (Czech and Slovak PostgreSQL Users Group), will be
held on February 9, 2012 in Prague.

PGDay NYC will be held April 2, 2012 at Lighthouse International in
New York City.
http://pgday.nycpug.org
(Continue reading)

Julien Rialan | 8 Feb 00:00

Scalr 2.5 supports PostgreSQL

Hello PostgreSQL community, 


Open-source project Scalr is very pleased to announce its support for PostgreSQL. From now on, Scalr and PostgreSQL users can enjoy low maintenance on the cloud- including automatic backups, recoveries, and ease of administering, along with added auto-scaling. 

-- Features --

Pre-configured image with sensible parameters and Scalr generated unique password. The users may use CloudWatch metrics at no additional charge to monitor deployment. Backups and snapshots can be easily automated, run via API calls or manually. Auto-scaling is launched when read traffic reaches client-defined threshold. In case of an host failure, the instance will be automatically replaced. Scalr provides read replicas for read-heavy applications.

All these features are detailed on our website: http://scalr.net/features/databases/postgres/.



Albe Laurenz | 9 Feb 15:39
Picon
Favicon

pgreplay log file replayer 1.1.0 released

I announce the version 1.1.0 of pgreplay.

Project home page: http://pgreplay.projects.postgresql.org/

pgreplay reads a PostgreSQL log file (*not* a WAL file),
extracts the SQL statements and executes them in the same order
and relative time against a PostgreSQL database cluster.

If the execution of statements gets behind schedule, warning
messages are issued that indicate that the server cannot handle
the load in a timely fashion.
The idea is to replay a real-world database workload as exactly
as possible.

pgreplay is useful for performance tests, particularly in the
following situations:

* You want to compare the performance of your PostgreSQL
  application on different hardware or different operating systems.
* You want to upgrade your database and want to make sure that
  the new database version does not suffer from performance
  regressions that affect you.

Features:
 * Should compile and run on any platform that PostgreSQL supports
 * Can replay the workload at different speeds
 * Can parse "stderr" and "csvlog" log files
 * Can save workload to replay in "replay file" for reuse
 * Outputs detailed parse and execution statistics

Enjoy!

Yours,
Laurenz Albe

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

               pgsql-announce-unsubscribe <at> postgresql.org

Gary Carter | 9 Feb 17:50
Favicon

Postgres Plus Advanced Server v9.1 is now generally available

Postgres Plus Advanced Server v9.1.2 is now Generally Available.
Highlights of the release include: merge with the latest available
release of community PostgreSQL (v9.1.2 with synchronous replication
and fast in-memory tables0; Read Scalability Improvements on high CPU
count machines; Write Scalability improvements on high core count
machines; and 8th generation Oracle compatibility features including
Virtual Private Database, Partitioning syntax support and Ordered Hint
support.  Advanced Server is available now on Linux 32 and 64 bit
platforms, Windows 32 and 64 bit platforms, HP-UX and Solaris.

Downloads and Release Notes are available at
http://www.enterprisedb.com/download-advanced-server

The EnterpriseDB Team

Website: www.enterprisedb.com
EnterpriseDB Blog: http://blogs.enterprisedb.com/
Follow us on Twitter: http://www.twitter.com/enterprisedb

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

               pgsql-announce-unsubscribe <at> postgresql.org

David Fetter | 13 Feb 08:07
Gravatar

== PostgreSQL Weekly News - February 12 2012 ==

== PostgreSQL Weekly News - February 12 2012 ==

== PostgreSQL Product News ==

pgreplay 1.1.0, a log-file-based statement replayer for PostgreSQL, released.
http://pgreplay.projects.postgresql.org/

Postgres Plus Advanced Server v9.1.2 is now Generally Available.
http://www.enterprisedb.com/download-advanced-server

Scalr 2.5 supports PostgreSQL.
http://scalr.net/features/databases/postgres/

Version 1.23.0 of tail_n_mail, a Postgres log watcher program, released:
http://bucardo.org/wiki/Tail_n_mail

== PostgreSQL Jobs for February ==

http://archives.postgresql.org/pgsql-jobs/2012-02/threads.php

== PostgreSQL Local ==

PGDay NYC will be held April 2, 2012 at Lighthouse International in
New York City.
http://pgday.nycpug.org

PGCon 2012 will be held 17-18 May 2012, in Ottawa at the University of
Ottawa.  It will be preceded by two days of tutorials on 15-16 May 2012.
http://www.pgcon.org/2012/

PGDay France will be in Lyon on June 7, 2012.
http://www.pgday.fr

== PostgreSQL in the News ==

Planet PostgreSQL: http://planet.postgresql.org/

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

Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david <at> fetter.org, German language
to pwn <at> pgug.de, Italian language to pwn <at> itpug.org.  Spanish language
to pwn <at> arpug.com.ar.

== Reviews ==

== Applied Patches ==

Alvaro Herrera pushed:

- fe-misc.c depends on pg_config_paths.h.  Declare this in Makefile to
  avoid failures in parallel compiles.  Author: Lionel Elie Mamane
  http://git.postgresql.org/pg/commitdiff/0c88086df3f79ff48d09440d96be17f3307017ed

Robert Haas pushed:

- Remove dead declaration.
  http://git.postgresql.org/pg/commitdiff/96abd81744a90511b7cae9299e589412ce1897c9

- pg_dump: Reduce dependencies on global variables.  Change various
  places in the code that are referencing the global Archive object
  g_fout to instead reference the Archive object fout which is already
  being passed as a parameter.  For parallel pg_dump to work, we're
  going to need multiple Archive(Handle) objects, so the real solution
  here is to pass down the Archive object to everywhere that it needs
  to go, but we might as well pick the low-hanging fruit first.
  http://git.postgresql.org/pg/commitdiff/622f862868992e3b7ded31d79403a4f63281f44a

- pg_dump: Remove global Archive pointer.  Instead, everything that
  needs the Archive object now gets it as a parameter.  This is
  necessary infrastructure for parallel pg_dump, but is also amply
  justified by the ugliness of the current code (though a lot more
  than this is needed to fix that problem).
  http://git.postgresql.org/pg/commitdiff/3b157cf21dc2c1cd678580a178d05e0c1fbafd9d

- pg_dump: Further reduce reliance on global variables.  This is
  another round of refactoring to make things simpler for parallel
  pg_dump.  pg_dump.c now issues SQL queries through the relevant
  Archive object, rather than relying on the global variable g_conn.
  This commit isn't quite enough to get rid of g_conn entirely, but it
  makes a big dent in its utilization and, along the way, manages to
  be slightly less code than before.
  http://git.postgresql.org/pg/commitdiff/1631598ea204a3b05104f25d008b510ff5a5c94a

- Add TIMING option to EXPLAIN, to allow eliminating of timing
  overhead.  Sometimes it may be useful to get actual row counts out
  of EXPLAIN (ANALYZE) without paying the cost of timing every node
  entry/exit.  With this patch, you can say EXPLAIN (ANALYZE, TIMING
  OFF) to get that.  Tomas Vondra, reviewed by Eric Theise, with minor
  doc changes by me.
  http://git.postgresql.org/pg/commitdiff/af7914c6627bcf0b0ca614e9ce95d3f8056602bf

- Add a transform function for numeric typmod coercisions.  This
  enables ALTER TABLE to skip table and index rebuilds when a column
  is changed to an unconstrained numeric, or when the scale is
  unchanged and the precision does not decrease.  Noah Misch, with a
  few stylistic changes and a fix for an OID collision by me.
  http://git.postgresql.org/pg/commitdiff/3cc0800829a6dda5347497337b0cf43848da4acf

- Add a transform function for varbit typmod coercisions.  This
  enables ALTER TABLE to skip table and index rebuilds when the new
  type is unconstraint varbit, or when the allowable number of bits is
  not decreasing.  Noah Misch, with review and a fix for an OID
  collision by me.
  http://git.postgresql.org/pg/commitdiff/f7d7dade8afe19847510efe44be191c35e1ce26c

- Support fls().  The immediate impetus for this is that Noah Misch's
  patch to elide unnecessary table and index rebuilds when changing
  typmod for temporal types uses it; and this is extracted from that
  patch, with some further commentary by me.  But it seems logically
  separate from the remainder of the patch, so I'm committing it
  separately; this is not the first time someone has wanted fls() in
  the backend and probably won't be the last.  If we end up using this
  in more performance-critical spots it may be worthwhile to add some
  architecture-specific optimizations to our src/port version of fls()
  - e.g. any x86 platform can implement this using the assembly
  instruction BSRL.  But performance won't matter a bit for assessing
  typmod changes, so I'm not worried about that right now.
  http://git.postgresql.org/pg/commitdiff/4f658dc851a73fc309a61be2503c29ed78a1592e

- Fix typos pointed out by Noah Misch.
  http://git.postgresql.org/pg/commitdiff/af7dd696b00fe666fec3642e103acafe33002765

- Add transform functions for various temporal typmod coercisions.
  This enables ALTER TABLE to skip table and index rebuilds in some
  cases.  Noah Misch, with trivial changes by me.
  http://git.postgresql.org/pg/commitdiff/c13897983a0006e658fb7c6410d72ca59fb87136

- Add a comment to AdjustIntervalForTypmod to reduce chance of future
  bugs.  It's not entirely evident how the logic here relates to the
  interval_transform function, so let's clue people in that they need
  to check that if the rules change.
  http://git.postgresql.org/pg/commitdiff/d429ebe347a5f1404cc3c50234e1c93f8db2bb53

- Improve interval_transform function to detect a few more cases.
  Noah Misch, per a review comment from me.
  http://git.postgresql.org/pg/commitdiff/6656588575abd13016989be1a276b1b60be49b69

- Attempt to fix MSVC builds and other fls-related breakage.  Thanks
  to Andrew Dunstan for bringing this to my attention.
  http://git.postgresql.org/pg/commitdiff/dd7c84185c160bb0d95bd265182f24f1f6c21924

Tom Lane pushed:

- Add locking around WAL-replay modification of shared-memory
  variables.  Originally, most of this code assumed that no Postgres
  backends could be running concurrently with it, and so no locking
  could be needed.  That assumption fails in Hot Standby.  While it's
  still true that Hot Standby backends should never change values like
  nextXid, they can examine them, and consistency is important in some
  cases such as when computing a snapshot.  Therefore, prudence
  requires that WAL replay code obtain the relevant locks when
  modifying such variables, even though it can examine them without
  taking a lock.  We were following that coding rule in some places
  but not all.  This commit applies the coding rule uniformly to all
  updates of ShmemVariableCache and MultiXactState fields; a search of
  the replay routines did not find any other cases that seemed to be
  at risk.  In addition, this commit fixes a longstanding thinko in
  replay of NEXTOID and checkpoint records: we tried to advance
  nextOid only if it was behind the value in the WAL record, but the
  comparison would draw the wrong conclusion if OID wraparound had
  occurred since the previous value.  Better to just unconditionally
  assign the new value, since OID assignment shouldn't be happening
  during replay anyway.  The additional locking seems to be more in
  the nature of future-proofing than fixing any live bug, so I am not
  going to back-patch it.  The NEXTOID fix will be back-patched
  separately.
  http://git.postgresql.org/pg/commitdiff/c6d76d7c82ebebb7210029f7382c0ebe2c558bca

- Avoid problems with OID wraparound during WAL replay.  Fix a
  longstanding thinko in replay of NEXTOID and checkpoint records: we
  tried to advance nextOid only if it was behind the value in the WAL
  record, but the comparison would draw the wrong conclusion if OID
  wraparound had occurred since the previous value.  Better to just
  unconditionally assign the new value, since OID assignment shouldn't
  be happening during replay anyway.  The consequences of a failure to
  update nextOid would be pretty minimal, since we have long had the
  code set up to obtain another OID and try again if the generated
  value is already in use.  But in the worst case there could be
  significant performance glitches while such loops iterate through
  many already-used OIDs before finding a free one.  The odds of a
  wraparound happening during WAL replay would be small in a
  crash-recovery scenario, and the length of any ensuing
  OID-assignment stall quite limited anyway.  But neither of these
  statements hold true for a replication slave that follows a WAL
  stream for a long period; its behavior upon going live could be
  almost unboundedly bad.  Hence it seems worth back-patching this fix
  into all supported branches.  Already fixed in HEAD in commit
  c6d76d7c82ebebb7210029f7382c0ebe2c558bca.
  http://git.postgresql.org/pg/commitdiff/f1b8a84dec30b44e6a0b306f95961f5426cb8368

- Avoid throwing ERROR during WAL replay of DROP TABLESPACE.  Although
  we will not even issue an XLOG_TBLSPC_DROP WAL record unless removal
  of the tablespace's directories succeeds, that does not guarantee
  that the same operation will succeed during WAL replay.  Foreseeable
  reasons for it to fail include temp files created in the tablespace
  by Hot Standby backends, wrong directory permissions on a standby
  server, etc etc.  The original coding threw ERROR if replay failed
  to remove the directories, but that is a serious overreaction.
  Throwing an error aborts recovery, and worse means that manual
  intervention will be needed to get the database to start again,
  since otherwise the same error will recur on subsequent attempts to
  replay the same WAL record.  And the consequence of failing to
  remove the directories is only that some probably-small amount of
  disk space is wasted, so it hardly seems justified to throw an
  error.  Accordingly, arrange to report such failures as LOG messages
  and keep going when a failure occurs during replay.  Back-patch to
  9.0 where Hot Standby was introduced.  In principle such problems
  can occur in earlier releases, but Hot Standby increases the odds of
  trouble significantly.  Given the lack of field reports of such
  issues, I'm satisfied with patching back as far as the patch applies
  easily.
  http://git.postgresql.org/pg/commitdiff/5fc78efcec01fd5e857278556ad4312ae94ecc58

- Fix postmaster to attempt restart after a hot-standby crash.  The
  postmaster was coded to treat any unexpected exit of the startup
  process (i.e., the WAL replay process) as a catastrophic crash, and
  not try to restart it. This was OK so long as the startup process
  could not have any sibling postmaster children.  However, if a
  hot-standby backend crashes, we SIGQUIT the startup process along
  with everything else, and the resulting exit is hardly "unexpected".
  Treating it as such meant we failed to restart a standby server
  after any child crash at all, not only a crash of the WAL replay
  process as intended.  Adjust that.  Back-patch to 9.0 where hot
  standby was introduced.
  http://git.postgresql.org/pg/commitdiff/442231d7f71764b8c628044e7ce2225f9aa43b67

- Mark some more I/O-conversion-invoking functions as stable not
  volatile.  When written, textanycat, anytextcat, quote_literal, and
  quote_nullable were marked volatile, because they could invoke
  arbitrary type-specific output functions as part of casting their
  anyelement arguments to text.  Since then, we have defined a project
  policy that I/O functions must not be volatile, as per commit
  aab353a60b95aadc00f81da0c6d99bde696c4b75.  So these functions can
  safely be downgraded to stable.  Most of the time this makes no
  difference since they'll get inlined anyway, but as noted by Andrew
  Dunstan, there are cases where the volatile marking prevents
  optimizations that the planner does before function inlining.  (I
  think I might have overlooked these functions in the earlier commit
  on the grounds that inlining would make it moot, but not so --- tgl)
  This change results in a change in the expected output of the json
  regression tests, because the planner can now flatten a sub-select
  that it failed to before.  The old output is preferable, but getting
  that back will require some as-yet-unfinished work on RowExpr
  handling.  Marti Raudsepp
  http://git.postgresql.org/pg/commitdiff/3db6524fe63f0598dcb2b307bb422bc126f2b15d

- Support min/max index optimizations on boolean columns.  Since
  bool_and() is equivalent to min(), and bool_or() to max(), we might
  as well let them be index-optimized in the same way.  The practical
  value of this is debatable at best, but it seems nearly cost-free to
  enable it.  Code-wise, we need only adjust the entries in
  pg_aggregate.  There is a measurable planning speed penalty for a
  query involving one of these aggregates, but it is only a few
  percent in simple cases, so that seems acceptable.  Marti Raudsepp,
  reviewed by Abhijit Menon-Sen
  http://git.postgresql.org/pg/commitdiff/cbba55d6d792b55f6b448a31fc14aef84510967c

- Check misplaced window functions before checking aggregate/group by
  sanity.  If somebody puts a window function in WHERE, we should
  complain about that in so many words.  The previous coding tended to
  complain about the window function's arguments instead, which is
  likely to be misleading to users who are unclear on the semantics of
  window functions; as seen for example in bug #6440 from Matyas
  Novak.  Just another example of how "add new code at the end" is
  frequently a bad heuristic.
  http://git.postgresql.org/pg/commitdiff/cb7c84fae8a6780d836687aa2c9655eb936ebd25

- Fix up dumping conditions for extension configuration tables.
  Various filters that were meant to prevent dumping of table data
  were not being applied to extension config tables, notably
  --exclude-table-data and --no-unlogged-table-data.  We also would
  bogusly try to dump data from views, sequences, or foreign tables,
  should an extension try to claim they were config tables.  Fix all
  that, and refactor/redocument to try to make this a bit less
  fragile.  This reverts the implementation, though not the feature,
  of commit 7b070e896ca835318c90b02c830a5c4844413b64, which had broken
  config-table dumping altogether :-(.  It is still the case that the
  code will dump config-table data even if --schema is specified.
  That behavior was intentional, as per the comments in
  getExtensionMembership, so I think it requires some more discussion
  before we change it.
  http://git.postgresql.org/pg/commitdiff/d77354eaec53ed469a6f2444813ff3a4fd9d7a48

- Throw error sooner for unlogged GiST indexes.  Throwing an error
  only after we've built the main index fork is pretty unfriendly when
  the table already contains data.  Per gripe from Jay Levitt.
  http://git.postgresql.org/pg/commitdiff/331bf6712c71a1c110bc52423eede8b4bac221a1

- Add ORDER BY to a query to prevent occasional regression test
  failures.  Per buildfarm, we sometimes get row-ordering variations
  in the output.  This also makes this query look more like numerous
  other ones in the same test file.
  http://git.postgresql.org/pg/commitdiff/d06e2d200562837afa18058937f20460a3ea526a

- Fix pg_dump for better handling of inherited columns.  Revise
  pg_dump's handling of inherited columns, which was last looked at
  seriously in 2001, to eliminate several misbehaviors associated with
  inherited default expressions and NOT NULL flags.  In particular
  make sure that a column is printed in a child table's CREATE TABLE
  command if and only if it has attislocal = true; the former behavior
  would sometimes cause a column to become marked attislocal when it
  was not so marked in the source database.  Also, stop relying on
  textual comparison of default expressions to decide if they're
  inherited; instead, don't use default-expression inheritance at all,
  but just install the default explicitly at each level of the
  hierarchy.  This fixes the search-path-related misbehavior recently
  exhibited by Chester Young, and also removes some dubious
  assumptions about the order in which ALTER TABLE SET DEFAULT
  commands would be executed.  Back-patch to all supported branches.
  http://git.postgresql.org/pg/commitdiff/00bc96bd2b6646c73a073aa91dc68ed4718cf5f3

- Fix brain fade in previous pg_dump patch.  In pre-7.3 databases,
  pg_attribute.attislocal doesn't exist.  The easiest way to make sure
  the new inheritance logic behaves sanely is to assume it's TRUE, not
  FALSE.  This will result in printing child columns even when they're
  not really needed.  We could work harder at trying to reconstruct a
  value for attislocal, but there is little evidence that anyone still
  cares about dumping from such old versions, so just do the minimum
  necessary to have a valid dump.  I had this correct in the original
  draft of the patch, but for some unaccountable reason decided it
  wasn't necessary to change the value.  Testing against an old server
  shows otherwise...
  http://git.postgresql.org/pg/commitdiff/97dc3c8a147c01da38570e4be7b4979af918dca2

- Fix oversight in pg_dump's handling of extension configuration
  tables.  If an extension has not been selected to be dumped (perhaps
  because of a --schema or --table switch), the contents of its
  configuration tables surely should not get dumped either.  Per gripe
  from Hubert Depesz Lubaczewski.
  http://git.postgresql.org/pg/commitdiff/59de132f9a578ae5d2909228484a61309df986e0

- Fix I/O-conversion-related memory leaks in plpgsql.  Datatype I/O
  functions are allowed to leak memory in CurrentMemoryContext, since
  they are generally called in short-lived contexts.  However, plpgsql
  calls such functions for purposes of type conversion, and was
  calling them in its procedure context.  Therefore, any leaked memory
  would not be recovered until the end of the plpgsql function.  If
  such a conversion was done within a loop, quite a bit of memory
  could get consumed.  Fix by calling such functions in the transient
  "eval_econtext", and adjust other logic to match.  Back-patch to all
  supported versions.  Andres Freund, Jan Urbański, Tom Lane
  http://git.postgresql.org/pg/commitdiff/58a9596ed4a509467e1781b433ff9c65a4e5b5ce

Michael Meskes pushed:

- Allow the connection keyword array to carry all seven items in ecpglib.
  http://git.postgresql.org/pg/commitdiff/0ee23b53beb851d60c0eff9bde8fd7a303270720

Heikki Linnakangas pushed:

- When building with LWLOCK_STATS, initialize the stats in
  LWLockWaitUntilFree.  If LWLockWaitUntilFree was called before the
  first LWLockAcquire call, you would either crash because of access
  to uninitialized array or account the acquisition incorrectly.
  LWLockConditionalAcquire doesn't have this problem because it
  doesn't update the lwlock stats.  In practice, this never happens
  because there is no codepath where you would call
  LWLockWaitUntilfree before LWLockAcquire after a new process is
  launched. But that's just accidental, there's no guarantee that
  that's always going to be true in the future.  Spotted by Jeff
  Janes.
  http://git.postgresql.org/pg/commitdiff/15ad6f1510f8979a39e4c39078c742b5fdb121ce

- Fix typo in comment.
  http://git.postgresql.org/pg/commitdiff/5ece8ecae88fd7fd8616429790bd70ca2ffad260

- Rename LWLockWaitUntilFree to LWLockAcquireOrWait.
  LWLockAcquireOrWait makes it more clear that the lock is acquired if
  it's free.
  http://git.postgresql.org/pg/commitdiff/1a01560cbb78ff363fc7d70298328aa23f05bfb5

- Add new keywords SNAPSHOT and TYPES to the keyword list in gram.y.
  These were added to kwlist.h as unreserved keywords in separate
  patches, but authors forgot to add them to the corresponding list in
  gram.y.  Because of that, even though they were supposed to be
  unreserved keywords, they could not be used as identifiers.
  src/tools/check_keywords.pl is your friend.
  http://git.postgresql.org/pg/commitdiff/82e73ba0d1f8990a76a20b3a57957e633945fb2b

Peter Eisentraut pushed:

- createuser: Disable prompting by default.  Do not prompt when
  options were not specified.  Assume --no-createdb, --no-createrole,
  --no-superuser by default.  Also disable prompting for user name in
  dropdb, unless --interactive was specified.  reviewed by Josh
  Kupershmidt
  http://git.postgresql.org/pg/commitdiff/a347f96b99741e44276cdd481a72d04f1b2ac5fc

- pg_regress: Use target-specific variable instead of overriding make
  rule.  Use a target-specific variable to add to CPPFLAGS instead of
  writing a custom .c -> .o rule.  This will ensure that dependency
  tracking is used when enabled.
  http://git.postgresql.org/pg/commitdiff/d66b31c94faf2b8b8aac9d273c8cd1708a54887e

- pg_dump: Add some const qualifiers
  http://git.postgresql.org/pg/commitdiff/e09509bd33d691b2d2d3473b4e112efd59518b31

- psql: Support zero byte field and record separators.  Add new psql
  settings and command-line options to support setting the field and
  record separators for unaligned output to a zero byte, for easier
  interfacing with other shell tools.  reviewed by Abhijit Menon-Sen
  http://git.postgresql.org/pg/commitdiff/169c8a911260bd5a8b6910c458afa57a1ae29627

Bruce Momjian pushed:

- Add opensp as a requirement for building the docs on Debian ---
  tested on Debian Squeeze.
  http://git.postgresql.org/pg/commitdiff/a870c7fdbca71e2c651fd80b3dec902c49040c7a

Magnus Hagander pushed:

- Have pg_receivexlog always send an invalid log position in status
  messages.  This prevents pg_basebackup and pg_receivexlog from
  becoming a synchronous standby in case 'write' is used for
  synchronous_commit.  Fujii Masao
  http://git.postgresql.org/pg/commitdiff/d7ea9193d18d29bea82b30604cdd087e90c5ee27

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Marco Nenciarini sent in another revision of the patch to allow the
elements of arrays to be enforced as foreign keys.

Fujii Masao sent in two revisions of a patch to fix incorrect handling
of the timeout in pg_receivexlog.

Marko Kreen sent in another revision of the patch to create a new
tuple storage in libpq and use same to make dblink more efficient in
some cases.

Chetan Suttraway sent in another revision of the patch to implement
SPI_gettypemod().

Fujii Masao sent in a patch to fix an issue where pg_basebackup -x
stream from the standby gets stuck.

Chetan Suttraway sent in a patch to prevent the specification of
conflicting transaction read/write options.

Euler Taveira de Oliveira sent in another revision of the patch to do
xlog location arithmetic.

Shigeru HANADA sent in two more revisions of the patch to add a
PostgreSQL FDW.

Marti Raudsepp sent in another revision of a patch to remove an
optimization barrier involving the volatility of text-any
concatenation.

Alvaro Herrera and Alex Hunsaker traded patches to fix an issue with
missing keywords in make.

Peter Eisentraut sent in a patch to fix some of the missing things in
psql's SELECT tab completion.

Marti Raudsepp sent in a patch to make TRUNCATE more MVCC-safe.

Peter Geoghegan sent in another revision of the patch for fast-path
ordering, b-tree index creation time.

Alex Hunsaker sent in a patch to fix a bug in PL/Perl in databases
encoded as SQL_ASCII.

Shigeru HANADA sent in another revision of the patch to collect
statistics on CSV files attached via FDW.

Jean-Baptiste Quenot sent in a patch to fix an issue with PL/Python's
handling of result metadata.

Kevin Grittner sent in a patch to ensure that if a GUC has a check
function, it is run on a RESET just like it is on a SET, to make sure
that the resulting value is valid to set within the context.

Andrew Dunstan sent in two revisions of a patch to fix a case where
auto_explain can produce invalid JSON.

Jeff Janes sent in a WIP patch to to set XLP_FIRST_IS_CONTRECORD, this
being part of the continuing effort to move more work outside
WALInsertLock.

Vik Reykja sent in a patch to optimize referential integrity checks.

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

               pgsql-announce-unsubscribe <at> postgresql.org

SQL Maestro Group | 14 Feb 11:20
Favicon

PostgreSQL Data Sync 12.2 released

Hi!

SQL Maestro Group announces the release of PostgreSQL Data Sync 12.2, a
powerful and easy-to-use tool for PostgreSQL database contents comparison
and synchronization.
http://www.sqlmaestro.com/products/postgresql/datasync/

Please note that before Feb 19 you can purchase PostgreSQL Data Sync as well
as all other our products and bundles with a 20% discount. Happy Valentine's
Day!

Top 5 new features:
====================

1. Comparison and synchronization of the data represented by database views.

2. Automatic checking of table and column mappings.

3. Filters to compare and synchronize only subsets of data.

4. Exporting comparison results to Excel, HTML, XML, and more.

5. Auto sorting of the target tables to avoid potential integrity
violations.

Full press-release with explaining screenshots is available at:
http://www.sqlmaestro.com/news/company/datasyncs_updated_to_12_2/

Background information:
-----------------------
SQL Maestro Group offers complete database admin, development and management
tools for MySQL, SQL Server, PostgreSQL, Oracle, DB2, SQLite, SQL Anywhere,
Firebird and MaxDB providing the highest performance, scalability and
reliability to meet the requirements of today's database applications.

Sincerely yours,
The SQL Maestro Group Team
http://www.sqlmaestro.com

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

               pgsql-announce-unsubscribe <at> postgresql.org

info | 15 Feb 22:21
Favicon

Quick Application Suite - Quick Application Builder 3.0

We're proud to announce the immediate availability of

Quick Application Suite and Quick Application Builder 3.0.

designed to dramatically simplify the process of creating and
maintaining a web-based complex application for every day usage.
With it's unique feature set Quick Application family is the fastest web
application development tools on earth.

Tested with most widley used portals and database servers, both open
source and commercial, they allow web developers to build a complete
application, comprehensive of strong data entry controls, eye-candy
toolbars and impressive reports in a bunch of minutes.

You can combine them with leading Data Warehousing technology like
Pentaho, SpagoBI or JasperIntelligence to add exclusive data entry
characteristic to your dashboard.
Their tide integration with Pentaho Data Integration (previosly known
as Kettle) allows power users to add complex back end control logic
every time is needed.
Or you can use them alone, just a WebPortal like Liferay, Jahia, Jboss
Portal,
ExoPlatform, Jetspeed, to create all the applications your require.

And all can be done without writing a single line of
html/java/jsp/php/asp code, thank's to a flexible user interface and
standard sql syntax.

You can download Quick Application Builder community Edition for
PostgreSql at this URL:

http://www.quickapplicationsuite.com/post_dload.php

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

               pgsql-announce-unsubscribe <at> postgresql.org

David Fetter | 20 Feb 08:30
Gravatar

== PostgreSQL Weekly News - February 19 2012 ==

== PostgreSQL Weekly News - February 19 2012 ==

== PostgreSQL Product News ==

PostgreSQL Data Sync 12.2, a tool comparing and syncrhonizing
PostgreSQL database contents, released.
http://www.sqlmaestro.com/products/postgresql/datasync/

Quick Application Suite and Quick Application Builder 3.0 for
PostgreSQL released.
http://www.quickapplicationsuite.com/post_dload.php

== PostgreSQL Jobs for February ==

http://archives.postgresql.org/pgsql-jobs/2012-02/threads.php

== PostgreSQL Local ==

PGDay NYC will be held April 2, 2012 at Lighthouse International in
New York City.
http://pgday.nycpug.org

PGCon 2012 will be held 17-18 May 2012, in Ottawa at the University of
Ottawa.  It will be preceded by two days of tutorials on 15-16 May 2012.
http://www.pgcon.org/2012/

PGDay France will be in Lyon on June 7, 2012.
http://www.pgday.fr

== PostgreSQL in the News ==

Planet PostgreSQL: http://planet.postgresql.org/

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

Submit news and announcements by Sunday at 3:00pm Pacific time.
Please send English language ones to david <at> fetter.org, German language
to pwn <at> pgug.de, Italian language to pwn <at> itpug.org.  Spanish language
to pwn <at> arpug.com.ar.

== Applied Patches ==

Heikki Linnakangas pushed:

- Silence warning about deprecated assignment to $[ in
  check_keywords.pl.  Alex Hunsaker
  http://git.postgresql.org/pg/commitdiff/b4e3633ac42ed7af21bce611234ccbf820098644

- Fix heap_multi_insert to set t_self field in the caller's tuples.
  If tuples were toasted, heap_multi_insert didn't update the ctid on
  the original tuples. This caused a failure if there was an after
  trigger (including a foreign key), on the table, and a tuple got
  toasted.  Per off-list report and test case from Ted Phelps
  http://git.postgresql.org/pg/commitdiff/21b16342750d6623f3c78f639f07bf3b66b49417

Andrew Dunstan pushed:

- Fix auto-explain JSON output to be valid JSON.  Problem reported by
  Peter Eisentraut.  Backpatched to release 9.0.
  http://git.postgresql.org/pg/commitdiff/21320763a39994021a4ff045ff66f7204bdb6d78

- Improve pretty printing of viewdefs.  Some line feeds are added to
  target lists and from lists to make them more readable. By default
  they wrap at 80 columns if possible, but the wrap column is also
  selectable - if 0 it wraps after every item.  Andrew Dunstan,
  reviewed by Hitoshi Harada.
  http://git.postgresql.org/pg/commitdiff/2f582f76b1945929ff07116cd4639747ce9bb8a1

Michael Meskes pushed:

- Do not use the variable name when defining a varchar structure in
  ecpg.  With a unique counter being added anyway, there is no need
  anymore to have the variable name listed, too.
  http://git.postgresql.org/pg/commitdiff/9a4880a0dd3cc94770aae2d372302642990c9fc1

- Make sure all connection paramters are used in call to
  PQconnectdbParams.
  http://git.postgresql.org/pg/commitdiff/5e7710e725b1d1fe408ac20548d872cc52f7b8ab

- Windows doesn't have strtok_r, so let's use strtok_s instead.
  http://git.postgresql.org/pg/commitdiff/e3155c97b0fa6d73aa9128cf0e56e8a776f5d355

- gcc on Windows does not know about strtok_s.
  http://git.postgresql.org/pg/commitdiff/45b7ab6b59f4a1982181327ac6393c09ffbbbbd0

- In ecpglib rewrote code that used strtok_r to not use library
  functions anymore. This way we don't have to worry which compiler on
  which OS offers which version of strtok.
  http://git.postgresql.org/pg/commitdiff/84ff5b5db5f801f5da6690d8904cc88cea4700e8

Bruce Momjian pushed:

- Improve labeling of pg_test_fsync open_sync test output.
  http://git.postgresql.org/pg/commitdiff/2bbd88f8f841b01efb073972b60d4dc1ff1f6fd0

- Change contrib/pg_test_fsync to control tests in terms of seconds
  per test, rather than a number of test cycles.  Changes -o/cycles
  option to -s/seconds.
  http://git.postgresql.org/pg/commitdiff/0a8396e35e2e230da7539372b32968c0d959fba8

- Document that the pg_test_fsync defaults allow the program to
  complete in about 30 seconds.
  http://git.postgresql.org/pg/commitdiff/ef7a7c81d99c721db6e7d550f3fef3b94737ee94

- Document random page cost is only 4x seqeuntial, and not 40x.
  http://git.postgresql.org/pg/commitdiff/c1d9df4fa227781b31be44a5a3024865a7f48049

- Improve fsync documentation by stating that -W _0_ turns of write
  caching.
  http://git.postgresql.org/pg/commitdiff/58d746213d3defb84947ff1407e6cb0eabb26f38

- Try to get pg_test_thread to compile on Windows by using a sleeper
  thread.
  http://git.postgresql.org/pg/commitdiff/7ae2db1d1e7bc95ef8cee380d549dd03a2f8ce88

- Fix pg_test_fsync Win32 problems reported by the build farm;  add
  comments about the alarm method used on Win32.
  http://git.postgresql.org/pg/commitdiff/388c2f93254b90921e207bc1cf52e1c8e0f4bba8

- Have pg_upgrade output 'link' or 'copy' when reporting its status.
  Idea from Peter Eisentraut.
  http://git.postgresql.org/pg/commitdiff/7f951474dc01cef3c829d953429246fc308cac68

Robert Haas pushed:

- Allow LEAKPROOF functions for better performance of security views.
  We don't normally allow quals to be pushed down into a view created
  with the security_barrier option, but functions without side effects
  are an exception: they're OK.  This allows much better performance
  in common cases, such as when using an equality operator (that might
  even be indexable).  There is an outstanding issue here with the
  CREATE FUNCTION / ALTER FUNCTION syntax: there's no way to use ALTER
  FUNCTION to unset the leakproof flag.  But I'm committing this as-is
  so that it doesn't have to be rebased again; we can fix up the
  grammar in a future commit.  KaiGai Kohei, with some wordsmithing by
  me.
  http://git.postgresql.org/pg/commitdiff/cd30728fb2ed7c367d545fc14ab850b5fa2a4850

- Fix new create_function_3 regression tests not to rely on tuple
  order.  Per buildfarm.
  http://git.postgresql.org/pg/commitdiff/e37e448650dfd9f4afdf916843015c5cb33346c8

- Remove new, intermittently failing regression test.  Per buildfarm.
  http://git.postgresql.org/pg/commitdiff/dc66f1c5f2a6e93d949252a0ad661388e1fe7856

- sepgsql: Reword and fix typo in docs on DML permissions.  Per report
  from Christoph Berg.
  http://git.postgresql.org/pg/commitdiff/d845fd684a3a386400a42c83c209e70095cadd55

- Make CREATE/ALTER FUNCTION support NOT LEAKPROOF.  Because it isn't
  good to be able to turn things on, and not off again.
  http://git.postgresql.org/pg/commitdiff/73a4b994a69661964b1ff45b746f1ca26f70194c

- More regression tests for LEAKPROOF/NOT LEAKPROOF stuff.  Along the
  way, move create_function_3 into a parallel schedule.  KaiGai Kohei
  http://git.postgresql.org/pg/commitdiff/ac9100f8cf595f7512e98fc5c6338ee3e32a0651

- Speed up in-memory tuplesorting.  Per recent work by Peter
  Geoghegan, it's significantly faster to tuplesort on a single
  sortkey if ApplySortComparator is inlined into quicksort rather
  reached via a function pointer.  It's also faster in general to have
  a version of quicksort which is specialized for sorting SortTuple
  objects rather than objects of arbitrary size and type.  This
  requires a couple of additional copies of the quicksort logic, which
  in this patch are generate using a Perl script.  There might be some
  benefit in adding further specializations here too, but thus far
  it's not clear that those gains are worth their weight in code
  footprint.
  http://git.postgresql.org/pg/commitdiff/337b6f5ecf05b21b5e997986884d097d60e4e3d0

- sepgsql: Move some code from hooks.c to label.c.  This is some
  preliminary refactoring related to a pending patch to allow
  sepgsql-enable sessions to make dynamic label transitions.  But this
  commit doesn't involve any functional change: it just puts some bits
  of code in more logical places.  KaiGai Kohei
  http://git.postgresql.org/pg/commitdiff/d44a3fb55de06137e77b0105c89656a897e396e8

- Fix VPATH builds, broken by my recent commit to speed up
  tuplesorting.  The relevant commit is
  337b6f5ecf05b21b5e997986884d097d60e4e3d0.
  http://git.postgresql.org/pg/commitdiff/edec8c8e00e3f2a9305ab92e2c81293457cf959a

- Invent on_exit_nicely for pg_dump.  Per recent discussions on
  pgsql-hackers regarding parallel pg_dump.
  http://git.postgresql.org/pg/commitdiff/e9a22259c45e235aaa30f0d068f767d9c0f818a0

- Refactor pg_dump.c to avoid duplicating returns-one-row check.  Any
  patches apt to get broken have probably already been broken by the
  error-handling cleanups I just did, so we might as well clean this
  up at the same time.
  http://git.postgresql.org/pg/commitdiff/549e93c990575b2b69c49fcacc0f280bc9762db9

- pg_dump: Remove global connection pointer.  Parallel pg_dump wants
  to have multiple ArchiveHandle objects, and therefore multiple
  PGconns, in play at the same time.  This should be just about the
  end of the refactoring that we need in order to make that workable.
  http://git.postgresql.org/pg/commitdiff/689d0eb7db9514f33f49fd5260462b9ba8331e80

- pg_dump: Miscellaneous tightening based on recent refactorings.  Use
  exit_horribly() and ExecuteSqlQueryForSingleRow() in various places
  where it's equivalent, or nearly equivalent, to the prior coding.
  Apart from being more compact, this also makes the error messages
  for the wrong-number-of-tuples case more consistent.
  http://git.postgresql.org/pg/commitdiff/1cc1b91d1b09a5cdd9fc51c9eee31effd2227b4f

Tom Lane pushed:

- Preserve column names in the execution-time tupledesc for a RowExpr.
  The hstore and json datatypes both have record-conversion functions
  that pay attention to column names in the composite values they're
  handed.  We used to not worry about inserting correct field names
  into tuple descriptors generated at runtime, but given these
  examples it seems useful to do so.  Observe the nicer-looking
  results in the regression tests whose results changed.  catversion
  bump because there is a subtle change in requirements for stored
  rule parsetrees: RowExprs from ROW() constructs now have to include
  field names.  Andrew Dunstan and Tom Lane
  http://git.postgresql.org/pg/commitdiff/398f70ec070fe60151584eaa448f04708aa77892

- Run a portal's cleanup hook immediately when pushing it to FAILED
  state.  This extends the changes of commit
  6252c4f9e201f619e5eebda12fa867acd4e4200e so that we run the cleanup
  hook earlier for failure cases as well as success cases.  As before,
  the point is to avoid an assertion failure from an Assert I added in
  commit a874fe7b4c890d1fe3455215a83ca777867beadd, which was meant to
  check that no user-written code can be called during portal cleanup.
  This fixes a case reported by Pavan Deolasee in which the Assert
  could be triggered during backend exit (see the new regression test
  case), and also prevents the possibility that the cleanup hook is
  run after portions of the portal's state have already been recycled.
  That doesn't really matter in current usage, but it foreseeably
  could matter in the future.  Back-patch to 9.1 where the Assert in
  question was added.
  http://git.postgresql.org/pg/commitdiff/4bfe68dfab009ce8fcaea79dc0832eadf3380051

- Improve statistics estimation to make some use of DISTINCT in
  sub-queries.  Formerly, we just punted when trying to estimate stats
  for variables coming out of sub-queries using DISTINCT, on the
  grounds that whatever stats we might have for underlying table
  columns would be inapplicable.  But if the sub-query has only one
  DISTINCT column, we can consider its output variable as being
  unique, which is useful information all by itself.  The scope of
  this improvement is pretty narrow, but it costs nearly nothing, so
  we might as well do it.  Per discussion with Andres Freund.  This
  patch differs from the draft I submitted yesterday in updating
  various comments about vardata.isunique (to reflect its extended
  meaning) and in tweaking the interaction with security_barrier
  views.  There does not seem to be a reason why we can't use this
  sort of knowledge even when the sub-query is such a view.
  http://git.postgresql.org/pg/commitdiff/4767bc8ff2edc1258cf4d8a83155d4cedd724231

- Fix longstanding error in contrib/intarray's int[] & int[] operator.
  The array intersection code would give wrong results if the first
  entry of the correct output array would be "1".  (I think only this
  value could be at risk, since the previous word would always be a
  lower-bound entry with that fixed value.) Problem spotted by Julien
  Rouhaud, initial patch by Guillaume Lelarge, cosmetic improvements
  by me.
  http://git.postgresql.org/pg/commitdiff/06d9afa6f93ec08a45da4de7afd97bbf16738739

- Sync regex code with Tcl 8.5.11.  Sync our regex code with upstream
  changes since last time we did this, which was Tcl 8.5.0 (see commit
  df1e965e12cdd48c11057ee6e15346ee2b8b02f5).  There are no functional
  changes here; the main point is just to lay down a commit-log marker
  that somebody has looked at this recently, and to do what we can to
  keep the two codebases comparable.
  http://git.postgresql.org/pg/commitdiff/08fd6ff37f71485e2fc04bc6ce07d2a483c36702

- Update expected/collate.linux.utf8.out for recent plpgsql changes.
  This file was missed in commit
  4c6cedd1b014abf2046886a9a92e10e18f0d658e.
  http://git.postgresql.org/pg/commitdiff/759c95c45b65a5220976c85e6f03323975c2b276

- Create the beginnings of internals documentation for the regex code.
  Create src/backend/regex/README to hold an implementation overview
  of the regex package, and fill it in with some preliminary notes
  about the code's DFA/NFA processing and colormap management.  Much
  more to do there of course.  Also, improve some code comments around
  the colormap and cvec code.  No functional changes except to add one
  missing assert.
  http://git.postgresql.org/pg/commitdiff/27af91438b68f46f4015853b6f75c6f5c3a8650c

- Add caching of ctype.h/wctype.h results in regc_locale.c.  While
  this doesn't save a huge amount of runtime, it still seems worth
  doing, especially since I realized that the data copying I did in my
  first draft was quite unnecessary.  In this version, once we have
  the results cached, getting them back for re-use is really very
  cheap.  Also, remove the hard-wired limitation to not consider
  wctype.h results for character codes above 255.  It turns out that
  we can't push the limit as far up as I'd originally hoped, because
  the regex colormap code is not efficient enough to cope very well
  with character classes containing many thousand letters, which a
  Unicode locale is entirely capable of producing.  Still, we can push
  it up to U+7FF (which I chose as the limit of 2-byte UTF8
  characters), which will at least make Eastern Europeans happy
  pending a better solution.  Thus, this commit resolves the specific
  complaint in bug #6457, but not the more general issue that letters
  of non-western alphabets are mostly not recognized as matching
  [[:alpha:]].
  http://git.postgresql.org/pg/commitdiff/e00f68e49c148851187136d3278b7e9afa370537

- Fix regex back-references that are directly quantified with *.  The
  syntax "\n*", that is a backref with a * quantifier directly applied
  to it, has never worked correctly in Spencer's library.  This has
  been an open bug in the Tcl bug tracker since 2005:
  https://sourceforge.net/tracker/index.php?func=detail&aid=1115587&group_id=10894&atid=110894
  The core of the problem is in parseqatom(), which first changes
  "\n*" to "\n+|" and then applies repeat() to the NFA representing
  the backref atom.  repeat() thinks that any arc leading into its
  "rp" argument is part of the sub-NFA to be repeated.  Unfortunately,
  since parseqatom() already created the arc that was intended to
  represent the empty bypass around "\n+", this arc gets moved too, so
  that it now leads into the state loop created by repeat().  Thus,
  what was supposed to be an "empty" bypass gets turned into something
  that represents zero or more repetitions of the NFA representing the
  backref atom.  In the original example, in place of ^([bc])\1*$ we
  now have something that acts like ^([bc])(\1+|[bc]*)$ At runtime,
  the branch involving the actual backref fails, as it's supposed to,
  but then the other branch succeeds anyway.  We could no doubt fix
  this by some rearrangement of the operations in parseqatom(), but
  that code is plenty ugly already, and what's more the whole business
  of converting "x*" to "x+|" probably needs to go away to fix another
  problem I'll mention in a moment.  Instead, this patch suppresses
  the *-conversion when the target is a simple backref atom, leaving
  the case of m == 0 to be handled at runtime.  This makes the patch
  in regcomp.c a one-liner, at the cost of having to tweak
  cbrdissect() a little.  In the event I went a bit further than that
  and rewrote cbrdissect() to check all the string-length-related
  conditions before it starts comparing characters.  It seems a bit
  stupid to possibly iterate through many copies of an n-character
  backreference, only to fail at the end because the target string's
  length isn't a multiple of n --- we could have found that out before
  starting.  The existing coding could only be a win if integer
  division is hugely expensive compared to character comparison, but I
  don't know of any modern machine where that might be true.  This
  does not fix all the problems with quantified back-references.  In
  particular, the code is still broken for back-references that appear
  within a larger expression that is quantified (so that direct
  insertion of the quantification limits into the BACKREF node doesn't
  apply).  I think fixing that will take some major surgery on the NFA
  code, specifically introducing an explicit iteration node type
  instead of trying to transform iteration into concatenation of
  modified regexps.  Back-patch to all supported branches.  In HEAD,
  also add a regression test case for this.  (It may seem a bit silly
  to create a regression test file for just one test case; but I'm
  expecting that we will soon import a whole bunch of regex regression
  tests from Tcl, so might as well create the infrastructure now.)
  http://git.postgresql.org/pg/commitdiff/5223f96d92fd6fb6fcf260da9f9cb111831f0b37

== Rejected Patches (for now) ==

No one was disappointed this week :-)

== Pending Patches ==

Marko Kreen and Kyotaro HORIGUCHI traded patches to create, and use in
dblink, a new tuple storage for libpq.

Etsuro Fujita and Shigeru HANADA traded patches to make a PostgreSQL
FDW.

Alvaro Herrera sent in another revision of the patch to create a
special lock type for foreign keys.

Heikki Linnakangas sent in two more revisions of a patch to scale xlog
insertion.

Dimitri Fontaine sent in a patch to fix an issue with DROP EXTENSION.

Chetan Suttraway sent in another revision of the patch to optimize
referential integrity checks.

Jaime Casanova sent in a flock of patches which: adds gin and spgist
support to pgstattuple and makes pgstattuple use a ring buffer when
reading tables or indexes, adds the relation_free_space function to
pgstattuple, and adds a stats_target parameter to the
relation_free_space() function.

Dimitri Fontaine sent in four more revisions of the patch to add
command triggers.

Alexander Korotkov sent in two more revision of the patch to make some
speed improvements on inserting and indexing cubes.

Dan Ports sent in a patch to fix a possible incompatibility between
prepared transactions and SSI.

Peter Eisentraut sent in another revision of the patch to control the
location of server-side SSL files via a new GUC.

MauMau sent in a patch to fix a bug in windows debug builds where the
postmaster would always crash.

Simon Riggs sent in three more revisions of the patch to add page
checksums.

Kevin Grittner sent in another revision of the patch to (re-)run GUC
check hooks on RESET.

Dan Scales sent in a patch implementing a new option for
wal_sync_method intended to improve performance.

Peter Geoghegan sent in another revision of the patch to normalize
pg_stat_statements.

Robert Haas sent in another revision of the patch to display
autovacuum accumulated cost.

Robert Haas sent in another revision of the patch to simulate clog
contention.

Peter Eisentraut sent in a patch to make pg_regress set the
application name rather than leaving it as psql.

Jan Urbanski sent in a patch to add PL/Python execution contexts.

Jan Urbanski sent in a patch to fix some reference miscounts and
segfaults in PL/Python.

Simon Riggs sent in a patch intended to reduce the frequency of
bgwriter wakeups.

Pavel Stehule sent in a patch to add tab completion for functions to
psql.

Pavel Stehule sent in a patch to add tab completion for CREATE OR
REPLACE FUNCTION in psql.

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

               pgsql-announce-unsubscribe <at> postgresql.org


Gmane