1. 24 11月, 2006 1 次提交
  2. 22 11月, 2006 1 次提交
    • T
      On systems that have setsid(2) (which should be just about everything except · 3ad0728c
      Tom Lane 提交于
      Windows), arrange for each postmaster child process to be its own process
      group leader, and deliver signals SIGINT, SIGTERM, SIGQUIT to the whole
      process group not only the direct child process.  This provides saner behavior
      for archive and recovery scripts; in particular, it's possible to shut down a
      warm-standby recovery server using "pg_ctl stop -m immediate", since delivery
      of SIGQUIT to the startup subprocess will result in killing the waiting
      recovery_command.  Also, this makes Query Cancel and statement_timeout apply
      to scripts being run from backends via system().  (There is no support in the
      core backend for that, but it's widely done using untrusted PLs.)  Per gripe
      from Stephen Harris and subsequent discussion.
      3ad0728c
  3. 20 11月, 2006 1 次提交
    • T
      When truncating a relation in-place (eg during VACUUM), do not try to unlink · 1a5c450f
      Tom Lane 提交于
      any no-longer-needed segments; just truncate them to zero bytes and leave
      the files in place for possible future re-use.  This avoids problems when
      the segments are re-used due to relation growth shortly after truncation.
      Before, the bgwriter, and possibly other backends, could still be holding
      open file references to the old segment files, and would write dirty blocks
      into those files where they'd disappear from the view of other processes.
      
      Back-patch as far as 8.0.  I believe the 7.x branches are not vulnerable,
      because they had no bgwriter, and "blind" writes by other backends would
      always be done via freshly-opened file references.
      1a5c450f
  4. 07 11月, 2006 1 次提交
  5. 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
  6. 23 10月, 2006 1 次提交
  7. 16 10月, 2006 1 次提交
    • T
      Redesign the patch for allocation of shmem space and LWLocks for add-on · e0dece12
      Tom Lane 提交于
      modules; the first try was not usable in EXEC_BACKEND builds (e.g.,
      Windows).  Instead, just provide some entry points to increase the
      allocation requests during postmaster start, and provide a dedicated
      LWLock that can be used to synchronize allocation operations performed
      by backends.  Per discussion with Marc Munro.
      e0dece12
  8. 04 10月, 2006 1 次提交
  9. 28 9月, 2006 1 次提交
  10. 26 9月, 2006 1 次提交
  11. 23 9月, 2006 1 次提交
  12. 22 9月, 2006 1 次提交
    • T
      Fix free space map to correctly track the total amount of FSM space needed · 9e936693
      Tom Lane 提交于
      even when a single relation requires more than max_fsm_pages pages.  Also,
      make VACUUM emit a warning in this case, since it likely means that VACUUM
      FULL or other drastic corrective measure is needed.  Per reports from Jeff
      Frost and others of unexpected changes in the claimed max_fsm_pages need.
      9e936693
  13. 19 9月, 2006 1 次提交
    • T
      Add built-in userlock manipulation functions to replace the former · 9b4cda0d
      Tom Lane 提交于
      contrib functionality.  Along the way, remove the USER_LOCKS configuration
      symbol, since it no longer makes any sense to try to compile that out.
      No user documentation yet ... mmoncure has promised to write some.
      Thanks to Abhijit Menon-Sen for creating a first draft to work from.
      9b4cda0d
  14. 18 9月, 2006 1 次提交
    • T
      Marginal cleanup in arrangements for ensuring StrategyHintVacuum is cleared · 2e5e856f
      Tom Lane 提交于
      after an error during VACUUM.  We have a PG_TRY block anyway around the only
      call sites, so just reset it in the CATCH clause instead of having
      AtEOXact_Buffers blindly do it during xact end.  I think the old code was
      actively wrong for the case of a failure during ANALYZE inside a
      subtransaction --- the flag wouldn't get cleared until main transaction end.
      Probably not worth back-patching though.
      2e5e856f
  15. 07 9月, 2006 1 次提交
  16. 03 9月, 2006 1 次提交
    • T
      Arrange for GetSnapshotData to copy live-subtransaction XIDs from the · 8fad2e3f
      Tom Lane 提交于
      PGPROC array into snapshots, and use this information to avoid visits
      to pg_subtrans in HeapTupleSatisfiesSnapshot.  This appears to solve
      the pg_subtrans-related context swap storm problem that's been reported
      by several people for 8.1.  While at it, modify GetSnapshotData to not
      take an exclusive lock on ProcArrayLock, as closer analysis shows that
      shared lock is always sufficient.
      Itagaki Takahiro and Tom Lane
      8fad2e3f
  17. 28 8月, 2006 1 次提交
    • T
      Add a function GetLockConflicts() to lock.c to report xacts holding · e06fda0a
      Tom Lane 提交于
      locks that would conflict with a specified lock request, without
      actually trying to get that lock.  Use this instead of the former ad hoc
      method of doing the first wait step in CREATE INDEX CONCURRENTLY.
      Fixes problem with undetected deadlock and in many cases will allow the
      index creation to proceed sooner than it otherwise could've.  Per
      discussion with Greg Stark.
      e06fda0a
  18. 25 8月, 2006 1 次提交
  19. 24 8月, 2006 1 次提交
  20. 19 8月, 2006 2 次提交
  21. 08 8月, 2006 1 次提交
  22. 05 8月, 2006 1 次提交
  23. 02 8月, 2006 1 次提交
  24. 01 8月, 2006 1 次提交
    • T
      Change the relation_open protocol so that we obtain lock on a relation · 09d3670d
      Tom Lane 提交于
      (table or index) before trying to open its relcache entry.  This fixes
      race conditions in which someone else commits a change to the relation's
      catalog entries while we are in process of doing relcache load.  Problems
      of that ilk have been reported sporadically for years, but it was not
      really practical to fix until recently --- for instance, the recent
      addition of WAL-log support for in-place updates helped.
      
      Along the way, remove pg_am.amconcurrent: all AMs are now expected to support
      concurrent update.
      09d3670d
  25. 31 7月, 2006 1 次提交
  26. 30 7月, 2006 1 次提交
  27. 25 7月, 2006 1 次提交
  28. 24 7月, 2006 2 次提交
  29. 23 7月, 2006 3 次提交
  30. 16 7月, 2006 1 次提交
  31. 15 7月, 2006 2 次提交
  32. 14 7月, 2006 3 次提交
  33. 28 6月, 2006 1 次提交