1. 10 11月, 2008 1 次提交
  2. 13 8月, 2008 1 次提交
  3. 01 7月, 2008 1 次提交
  4. 19 6月, 2008 1 次提交
  5. 05 6月, 2008 1 次提交
  6. 15 3月, 2008 1 次提交
  7. 02 1月, 2008 1 次提交
  8. 16 11月, 2007 1 次提交
  9. 25 7月, 2007 1 次提交
  10. 31 5月, 2007 1 次提交
    • T
      Make large sequential scans and VACUUMs work in a limited-size "ring" of · d526575f
      Tom Lane 提交于
      buffers, rather than blowing out the whole shared-buffer arena.  Aside from
      avoiding cache spoliation, this fixes the problem that VACUUM formerly tended
      to cause a WAL flush for every page it modified, because we had it hacked to
      use only a single buffer.  Those flushes will now occur only once per
      ring-ful.  The exact ring size, and the threshold for seqscans to switch into
      the ring usage pattern, remain under debate; but the infrastructure seems
      done.  The key bit of infrastructure is a new optional BufferAccessStrategy
      object that can be passed to ReadBuffer operations; this replaces the former
      StrategyHintVacuum API.
      
      This patch also changes the buffer usage-count methodology a bit: we now
      advance usage_count when first pinning a buffer, rather than when last
      unpinning it.  To preserve the behavior that a buffer's lifetime starts to
      decrease when it's released, the clock sweep code is modified to not decrement
      usage_count of pinned buffers.
      
      Work not done in this commit: teach GiST and GIN indexes to use the vacuum
      BufferAccessStrategy for vacuum-driven fetches.
      
      Original patch by Simon, reworked by Heikki and again by Tom.
      d526575f
  11. 17 5月, 2007 1 次提交
    • A
      Move the tuple freezing point in CLUSTER to a point further back in the past, · 3b0347b3
      Alvaro Herrera 提交于
      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.
      3b0347b3
  12. 13 3月, 2007 1 次提交
    • T
      First phase of plan-invalidation project: create a plan cache management · b9527e98
      Tom Lane 提交于
      module and teach PREPARE and protocol-level prepared statements to use it.
      In service of this, rearrange utility-statement processing so that parse
      analysis does not assume table schemas can't change before execution for
      utility statements (necessary because we don't attempt to re-acquire locks
      for utility statements when reusing a stored plan).  This requires some
      refactoring of the ProcessUtility API, but it ends up cleaner anyway,
      for instance we can get rid of the QueryContext global.
      
      Still to do: fix up SPI and related code to use the plan cache; I'm tempted to
      try to make SQL functions use it too.  Also, there are at least some aspects
      of system state that we want to ensure remain the same during a replan as in
      the original processing; search_path certainly ought to behave that way for
      instance, and perhaps there are others.
      b9527e98
  13. 06 1月, 2007 1 次提交
  14. 06 11月, 2006 1 次提交
    • T
      Fix recently-understood problems with handling of XID freezing, particularly · 48188e16
      Tom Lane 提交于
      in PITR scenarios.  We now WAL-log the replacement of old XIDs with
      FrozenTransactionId, so that such replacement is guaranteed to propagate to
      PITR slave databases.  Also, rather than relying on hint-bit updates to be
      preserved, pg_clog is not truncated until all instances of an XID are known to
      have been replaced by FrozenTransactionId.  Add new GUC variables and
      pg_autovacuum columns to allow management of the freezing policy, so that
      users can trade off the size of pg_clog against the amount of freezing work
      done.  Revise the already-existing code that forces autovacuum of tables
      approaching the wraparound point to make it more bulletproof; also, revise the
      autovacuum logic so that anti-wraparound vacuuming is done per-table rather
      than per-database.  initdb forced because of changes in pg_class, pg_database,
      and pg_autovacuum catalogs.  Heikki Linnakangas, Simon Riggs, and Tom Lane.
      48188e16
  15. 14 7月, 2006 3 次提交
  16. 11 7月, 2006 1 次提交
    • A
      Improve vacuum code to track minimum Xids per table instead of per database. · d4cef0aa
      Alvaro Herrera 提交于
      To this end, add a couple of columns to pg_class, relminxid and relvacuumxid,
      based on which we calculate the pg_database columns after each vacuum.
      
      We now force all databases to be vacuumed, even template ones.  A backend
      noticing too old a database (meaning pg_database.datminxid is in danger of
      falling behind Xid wraparound) will signal the postmaster, which in turn will
      start an autovacuum iteration to process the offending database.  In principle
      this is only there to cope with frozen (non-connectable) databases without
      forcing users to set them to connectable, but it could force regular user
      database to go through a database-wide vacuum at any time.  Maybe we should
      warn users about this somehow.  Of course the real solution will be to use
      autovacuum all the time ;-)
      
      There are some additional improvements we could have in this area: for example
      the vacuum code could be smarter about not updating pg_database for each table
      when called by autovacuum, and do it only once the whole autovacuum iteration
      is done.
      
      I updated the system catalogs documentation, but I didn't modify the
      maintenance section.  Also having some regression tests for this would be nice
      but it's not really a very straightforward thing to do.
      
      Catalog version bumped due to system catalog changes.
      d4cef0aa
  17. 05 3月, 2006 1 次提交
  18. 15 10月, 2005 1 次提交
  19. 04 10月, 2005 1 次提交
  20. 14 7月, 2005 1 次提交
  21. 01 1月, 2005 1 次提交
    • P
      · 2ff50159
      PostgreSQL Daemon 提交于
      Tag appropriate files for rc3
      
      Also performed an initial run through of upgrading our Copyright date to
      extend to 2005 ... first run here was very simple ... change everything
      where: grep 1996-2004 && the word 'Copyright' ... scanned through the
      generated list with 'less' first, and after, to make sure that I only
      picked up the right entries ...
      2ff50159
  22. 01 10月, 2004 1 次提交
  23. 29 8月, 2004 2 次提交
  24. 17 8月, 2004 1 次提交
  25. 03 6月, 2004 1 次提交
    • T
      Adjust our timezone library to use pg_time_t (typedef'd as int64) in · 921d749b
      Tom Lane 提交于
      place of time_t, as per prior discussion.  The behavior does not change
      on machines without a 64-bit-int type, but on machines with one, which
      is most, we are rid of the bizarre boundary behavior at the edges of
      the 32-bit-time_t range (1901 and 2038).  The system will now treat
      times over the full supported timestamp range as being in your local
      time zone.  It may seem a little bizarre to consider that times in
      4000 BC are PST or EST, but this is surely at least as reasonable as
      propagating Gregorian calendar rules back that far.
      
      I did not modify the format of the zic timezone database files, which
      means that for the moment the system will not know about daylight-savings
      periods outside the range 1901-2038.  Given the way the files are set up,
      it's not a simple decision like 'widen to 64 bits'; we have to actually
      think about the range of years that need to be supported.  We should
      probably inquire what the plans of the upstream zic people are before
      making any decisions of our own.
      921d749b
  26. 22 5月, 2004 1 次提交
  27. 21 5月, 2004 1 次提交
  28. 16 2月, 2004 1 次提交
    • T
      First steps towards statistics on expressional (nee functional) indexes. · f0c9397f
      Tom Lane 提交于
      This commit teaches ANALYZE to store such stats in pg_statistic, but
      nothing is done yet about teaching the planner to use 'em.
      Also, repair longstanding oversight in separate ANALYZE command: it
      updated the pg_class.relpages and reltuples counts for the table proper,
      but not for indexes.
      f0c9397f
  29. 13 2月, 2004 2 次提交
  30. 10 2月, 2004 1 次提交
    • T
      Centralize implementation of delay code by creating a pg_usleep() · 58f337a3
      Tom Lane 提交于
      subroutine in src/port/pgsleep.c.  Remove platform dependencies from
      miscadmin.h and put them in port.h where they belong.  Extend recent
      vacuum cost-based-delay patch to apply to VACUUM FULL, ANALYZE, and
      non-btree index vacuuming.
      
      By the way, where is the documentation for the cost-based-delay patch?
      58f337a3
  31. 30 11月, 2003 1 次提交
    • P
      · 55b11325
      PostgreSQL Daemon 提交于
      make sure the $Id tags are converted to $PostgreSQL as well ...
      55b11325
  32. 04 8月, 2003 1 次提交
  33. 01 8月, 2002 1 次提交
    • T
      Instead of having a configure-time DEFAULT_ATTSTATTARGET, store -1 in · ce7565ab
      Tom Lane 提交于
      attstattarget to indicate 'use the default'.  The default is now a GUC
      variable default_statistics_target, and so may be changed on the fly.  Along
      the way we gain the ability to have pg_dump dump the per-column statistics
      target when it's not the default.  Patch by Neil Conway, with some kibitzing
      from Tom Lane.
      ce7565ab
  34. 21 6月, 2002 1 次提交
  35. 06 11月, 2001 1 次提交
  36. 28 10月, 2001 1 次提交