1. 05 7月, 2013 6 次提交
  2. 04 7月, 2013 11 次提交
    • B
      Add contrib function references in the doc index · 20a1b9e7
      Bruce Momjian 提交于
      Backpatch to 9.3.
      Idea from Craig Ringer
      20a1b9e7
    • R
      Add new GUC, max_worker_processes, limiting number of bgworkers. · 6bc8ef0b
      Robert Haas 提交于
      In 9.3, there's no particular limit on the number of bgworkers;
      instead, we just count up the number that are actually registered,
      and use that to set MaxBackends.  However, that approach causes
      problems for Hot Standby, which needs both MaxBackends and the
      size of the lock table to be the same on the standby as on the
      master, yet it may not be desirable to run the same bgworkers in
      both places.  9.3 handles that by failing to notice the problem,
      which will probably work fine in nearly all cases anyway, but is
      not theoretically sound.
      
      A further problem with simply counting the number of registered
      workers is that new workers can't be registered without a
      postmaster restart.  This is inconvenient for administrators,
      since bouncing the postmaster causes an interruption of service.
      Moreover, there are a number of applications for background
      processes where, by necessity, the background process must be
      started on the fly (e.g. parallel query).  While this patch
      doesn't actually make it possible to register new background
      workers after startup time, it's a necessary prerequisite.
      
      Patch by me.  Review by Michael Paquier.
      6bc8ef0b
    • R
      docs: Clarify flag dependencies for background workers. · 5cbe935c
      Robert Haas 提交于
      BGWORKER_BACKEND_DATABASE_CONNECTION can only be used if
      BGWORKER_SHMEM_ACCESS is also used.
      
      Michael Paquier, with some tweaks by me.
      5cbe935c
    • P
      doc: Fix typo in event trigger documentation · 0d179568
      Peter Eisentraut 提交于
      From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
      0d179568
    • P
      doc: Add event trigger C API documentation · 0fe21ad8
      Peter Eisentraut 提交于
      From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
      0fe21ad8
    • A
      Install all a Makefile's extension controls, not just the first. · 82b01026
      Andrew Dunstan 提交于
      Bug introduced by commit 6697aa2b and
      reported by Robert Haas.
      82b01026
    • F
      Get rid of pg_class.reltoastidxid. · 2ef085d0
      Fujii Masao 提交于
      Treat TOAST index just the same as normal one and get the OID
      of TOAST index from pg_index but not pg_class.reltoastidxid.
      This change allows us to handle multiple TOAST indexes, and
      which is required infrastructure for upcoming
      REINDEX CONCURRENTLY feature.
      
      Patch by Michael Paquier, reviewed by Andres Freund and me.
      2ef085d0
    • B
      pg_buffercache: document column meanings · f71939cd
      Bruce Momjian 提交于
      Improve documentation for usagecount and relforknumber.
      Backpatch to 9.3.
      Suggestion from Satoshi Nagayasu
      f71939cd
    • R
      Revert "Hopefully-portable regression tests for CREATE/ALTER/DROP COLLATION." · f33c53ec
      Robert Haas 提交于
      This reverts commit 26364530.
      
      The buildfarm is sad.
      f33c53ec
    • R
      Hopefully-portable regression tests for CREATE/ALTER/DROP COLLATION. · 26364530
      Robert Haas 提交于
      The collate.linux.utf8 test covers some of the same territory, but
      isn't portable and so probably does not get run often, or on
      non-Linux platforms.  If this approach turns out to be sufficiently
      portable, we may want to look at trimming the redundant tests out
      of that file to avoid duplication.
      
      Robins Tharakan, reviewed by Michael Paquier and Fabien Coelho,
      with further changes and cleanup by me.
      26364530
    • T
      Fix handling of auto-updatable views on inherited tables. · 5530a826
      Tom Lane 提交于
      An INSERT into such a view should work just like an INSERT into its base
      table, ie the insertion should go directly into that table ... not be
      duplicated into each child table, as was happening before, per bug #8275
      from Rushabh Lathia.  On the other hand, the current behavior for
      UPDATE/DELETE seems reasonable: the update/delete traverses the child
      tables, or not, depending on whether the view specifies ONLY or not.
      Add some regression tests covering this area.
      
      Dean Rasheed
      5530a826
  3. 03 7月, 2013 10 次提交
  4. 02 7月, 2013 11 次提交
    • H
      Silence compiler warning in assertion-enabled builds. · d2e71ff7
      Heikki Linnakangas 提交于
      With -Wtype-limits, gcc correctly points out that size_t can never be < 0.
      Backpatch to 9.3 and 9.2. It's been like this forever, but in <= 9.1 you got
      a lot other warnings with -Wtype-limits anyway (at least with my version of
      gcc).
      
      Andres Freund
      d2e71ff7
    • B
      pg_upgrade: revert changing '' to "" · cce5d851
      Bruce Momjian 提交于
      On the command line, GUC option strings are handled by the guc parser,
      not by the shell parser, so '' is the proper way to represent a
      zero-length string.  This reverts commit
      3132a9b7.
      cce5d851
    • R
      Use an MVCC snapshot, rather than SnapshotNow, for catalog scans. · 568d4138
      Robert Haas 提交于
      SnapshotNow scans have the undesirable property that, in the face of
      concurrent updates, the scan can fail to see either the old or the new
      versions of the row.  In many cases, we work around this by requiring
      DDL operations to hold AccessExclusiveLock on the object being
      modified; in some cases, the existing locking is inadequate and random
      failures occur as a result.  This commit doesn't change anything
      related to locking, but will hopefully pave the way to allowing lock
      strength reductions in the future.
      
      The major issue has held us back from making this change in the past
      is that taking an MVCC snapshot is significantly more expensive than
      using a static special snapshot such as SnapshotNow.  However, testing
      of various worst-case scenarios reveals that this problem is not
      severe except under fairly extreme workloads.  To mitigate those
      problems, we avoid retaking the MVCC snapshot for each new scan;
      instead, we take a new snapshot only when invalidation messages have
      been processed.  The catcache machinery already requires that
      invalidation messages be sent before releasing the related heavyweight
      lock; else other backends might rely on locally-cached data rather
      than scanning the catalog at all.  Thus, making snapshot reuse
      dependent on the same guarantees shouldn't break anything that wasn't
      already subtly broken.
      
      Patch by me.  Review by Michael Paquier and Andres Freund.
      568d4138
    • P
      Fix regression test make dependencies · 384f9330
      Peter Eisentraut 提交于
      The dependencies on the spi and dummy_seclabel contrib modules were
      incomplete, because they did not pick up automatically generated
      dependencies on header files.  This will manifest itself especially when
      switching major versions, where the contrib modules would not be
      recompiled to contain the new version number, leading to regression test
      failures.
      
      To fix this, use the submake approach already in use elsewhere, so that
      the contrib modules are built using their full rules.
      384f9330
    • B
      pg_dump docs: use escaped double-quotes, for Windows · 605b4c5a
      Bruce Momjian 提交于
      On Unix, you can embed double-quotes in single-quotes, and via versa.
      However, on Windows, you can only escape double-quotes in double-quotes,
      so use that in the pg_dump -t/table example.
      Backpatch to 9.3.
      Report from Mike Toews
      605b4c5a
    • R
      Add a convenience routine makeFuncCall to reduce duplication. · 0d22987a
      Robert Haas 提交于
      David Fetter and Andrew Gierth, reviewed by Jeevan Chalke
      0d22987a
    • B
      pg_upgrade: use "" rather than '', for Windows · 3132a9b7
      Bruce Momjian 提交于
      If we ever support unix sockets on Windows, we should use "" rather than
      '' for zero-length strings on the command-line, so use that.
      3132a9b7
    • B
      Add timezone offset output option to to_char() · 7408c5d2
      Bruce Momjian 提交于
      Add ability for to_char() to output the timezone's UTC offset (OF).  We
      already have the ability to return the timezone abbeviation (TZ/tz).
      Per request from Andrew Dunstan
      7408c5d2
    • A
      Improve support for building PGXS modules with VPATH. · 6697aa2b
      Andrew Dunstan 提交于
      A VPATH build will be performed when the module's make file path is not
      the current directory or when USE_VPATH is set.
      
      This will assist packagers and others who prefer to build without
      polluting the source directories.
      
      There is still a bit of work to do here, notably documentation, but it's
      probably a good idea to commit what we have so far and let people test
      it out on their modules.
      
      Cédric Villemain, with an addition from me.
      6697aa2b
    • B
      Update LSB URL in pg_ctl · 6d432152
      Bruce Momjian 提交于
      Update Linux Standard Base Core Specification 3.1 URL mention in pg_ctl
      comments.
      6d432152
    • B
      Remove undocumented -h (help) option · 06b80437
      Bruce Momjian 提交于
      The -h option was not supported by many tools, and not documented, so
      remove them for consistency from pg_upgrade, pg_test_fsync, and
      pg_test_timing.
      06b80437
  5. 01 7月, 2013 2 次提交
    • H
      Optimize pglz compressor for small inputs. · 031cc55b
      Heikki Linnakangas 提交于
      The pglz compressor has a significant startup cost, because it has to
      initialize to zeros the history-tracking hash table. On a 64-bit system, the
      hash table was 64kB in size. While clearing memory is pretty fast, for very
      short inputs the relative cost of that was quite large.
      
      This patch alleviates that in two ways. First, instead of storing pointers
      in the hash table, store 16-bit indexes into the hist_entries array. That
      slashes the size of the hash table to 1/2 or 1/4 of the original, depending
      on the pointer width. Secondly, adjust the size of the hash table based on
      input size. For very small inputs, you don't need a large hash table to
      avoid collisions.
      
      Review by Amit Kapila.
      031cc55b
    • H
      Retry short writes when flushing WAL. · 79ce29c7
      Heikki Linnakangas 提交于
      We don't normally bother retrying when the number of bytes written by
      write() is short of what was requested. It is generally assumed that a
      write() to disk doesn't return short, unless you run out of disk space.
      While writing the WAL, however, it seems prudent to try a bit harder,
      because a failure leads to PANIC. The write() is also much larger than most
      write()s in the backend (up to wal_buffers), so there's more room for
      surprises.
      
      Also retry on EINTR. All signals used in the backend are flagged SA_RESTART
      nowadays, so it shouldn't happen, but better to be defensive.
      79ce29c7