1. 02 Aug, 2007 1 commit
  2. 25 Jul, 2007 1 commit
  3. 16 Apr, 2007 1 commit
    • Alvaro Herrera's avatar
      Add a multi-worker capability to autovacuum. This allows multiple worker · e2a186b0
      Alvaro Herrera authored
      processes to be running simultaneously.  Also, now autovacuum processes do not
      count towards the max_connections limit; they are counted separately from
      regular processes, and are limited by the new GUC variable
      autovacuum_max_workers.
      
      The launcher now has intelligence to launch workers on each database every
      autovacuum_naptime seconds, limited only on the max amount of worker slots
      available.
      
      Also, the global worker I/O utilization is limited by the vacuum cost-based
      delay feature.  Workers are "balanced" so that the total I/O consumption does
      not exceed the established limit.  This part of the patch was contributed by
      ITAGAKI Takahiro.
      
      Per discussion.
      e2a186b0
  4. 01 Mar, 2007 1 commit
  5. 15 Feb, 2007 1 commit
    • Alvaro Herrera's avatar
      Restructure autovacuum in two processes: a dummy process, which runs · 18206509
      Alvaro Herrera authored
      continuously, and requests vacuum runs of "autovacuum workers" to postmaster.
      The workers do the actual vacuum work.  This allows for future improvements,
      like allowing multiple autovacuum jobs running in parallel.
      
      For now, the code keeps the original behavior of having a single autovac
      process at any time by sleeping until the previous worker has finished.
      18206509
  6. 05 Jan, 2007 1 commit
  7. 19 Oct, 2006 1 commit
  8. 04 Sep, 2006 1 commit
  9. 15 Aug, 2006 1 commit
    • Tom Lane's avatar
      Add server support for "plugin" libraries that can be used for add-on tasks · abc3120e
      Tom Lane authored
      such as debugging and performance measurement.  This consists of two features:
      a table of "rendezvous variables" that allows separately-loaded shared
      libraries to communicate, and a new GUC setting "local_preload_libraries"
      that allows libraries to be loaded into specific sessions without explicit
      cooperation from the client application.  To make local_preload_libraries
      as flexible as possible, we do not restrict its use to superusers; instead,
      it is restricted to load only libraries stored in $libdir/plugins/.  The
      existing LOAD command has also been modified to allow non-superusers to
      LOAD libraries stored in this directory.
      
      This patch also renames the existing GUC variable preload_libraries to
      shared_preload_libraries (after a suggestion by Simon Riggs) and does some
      code refactoring in dfmgr.c to improve clarity.
      
      Korry Douglas, with a little help from Tom Lane.
      abc3120e
  10. 08 Aug, 2006 1 commit
    • Tom Lane's avatar
      Add a feature for automatic initialization and finalization of dynamically · b09bfcaa
      Tom Lane authored
      loaded libraries: call functions _PG_init() and _PG_fini() if the library
      defines such symbols.  Hence we no longer need to specify an initialization
      function in preload_libraries: we can assume that the library used the
      _PG_init() convention, instead.  This removes one source of pilot error
      in use of preloaded libraries.  Original patch by Ralf Engelschall,
      preload_libraries changes by me.
      b09bfcaa
  11. 05 Mar, 2006 1 commit
  12. 05 Jan, 2006 1 commit
  13. 22 Nov, 2005 1 commit
  14. 25 Oct, 2005 1 commit
  15. 22 Oct, 2005 1 commit
  16. 21 Oct, 2005 1 commit
  17. 15 Oct, 2005 1 commit
  18. 17 Aug, 2005 1 commit
  19. 25 Jul, 2005 1 commit
  20. 04 Jul, 2005 1 commit
    • Tom Lane's avatar
      Arrange for the postmaster (and standalone backends, initdb, etc) to · eb5949d1
      Tom Lane authored
      chdir into PGDATA and subsequently use relative paths instead of absolute
      paths to access all files under PGDATA.  This seems to give a small
      performance improvement, and it should make the system more robust
      against naive DBAs doing things like moving a database directory that
      has a live postmaster in it.  Per recent discussion.
      eb5949d1
  21. 28 Jun, 2005 1 commit
    • Tom Lane's avatar
      Replace pg_shadow and pg_group by new role-capable catalogs pg_authid · 7762619e
      Tom Lane authored
      and pg_auth_members.  There are still many loose ends to finish in this
      patch (no documentation, no regression tests, no pg_dump support for
      instance).  But I'm going to commit it now anyway so that Alvaro can
      make some progress on shared dependencies.  The catalog changes should
      be pretty much done.
      7762619e
  22. 26 Feb, 2005 1 commit
    • Tom Lane's avatar
      Finish up the flat-files project: get rid of GetRawDatabaseInfo() hack · 0fc4ecf9
      Tom Lane authored
      in favor of looking at the flat file copy of pg_database during backend
      startup.  This should finally eliminate the various corner cases in which
      backend startup fails unexpectedly because it isn't able to distinguish
      live and dead tuples in pg_database.  Simplify locking on pg_database
      to be similar to the rules used with pg_shadow and pg_group, and eliminate
      FlushRelationBuffers operations that were used only to reduce the odds
      of failure of GetRawDatabaseInfo.
      initdb forced due to addition of a trigger to pg_database.
      0fc4ecf9
  23. 31 Dec, 2004 1 commit
    • PostgreSQL Daemon's avatar
      · 2ff50159
      PostgreSQL Daemon authored
      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
  24. 14 Nov, 2004 1 commit
  25. 22 Oct, 2004 1 commit
  26. 18 Oct, 2004 2 commits
  27. 09 Oct, 2004 1 commit
  28. 06 Sep, 2004 1 commit
  29. 29 Aug, 2004 2 commits
  30. 06 Aug, 2004 1 commit
  31. 01 Aug, 2004 1 commit
    • Tom Lane's avatar
      Some mop-up work for savepoints (nested transactions). Store a small · efcaf1e8
      Tom Lane authored
      number of active subtransaction XIDs in each backend's PGPROC entry,
      and use this to avoid expensive probes into pg_subtrans during
      TransactionIdIsInProgress.  Extend EOXactCallback API to allow add-on
      modules to get control at subxact start/end.  (This is deliberately
      not compatible with the former API, since any uses of that API probably
      need manual review anyway.)  Add basic reference documentation for
      SAVEPOINT and related commands.  Minor other cleanups to check off some
      of the open issues for subtransactions.
      Alvaro Herrera and Tom Lane.
      efcaf1e8
  32. 18 Jun, 2004 1 commit
  33. 29 May, 2004 1 commit
    • Tom Lane's avatar
      Separate out bgwriter code into a logically separate module, rather · 076a055a
      Tom Lane authored
      than being random pieces of other files.  Give bgwriter responsibility
      for all checkpoint activity (other than a post-recovery checkpoint);
      so this child process absorbs the functionality of the former transient
      checkpoint and shutdown subprocesses.  While at it, create an actual
      include file for postmaster.c, which for some reason never had its own
      file before.
      076a055a
  34. 28 May, 2004 1 commit
    • Tom Lane's avatar
      Code review for EXEC_BACKEND changes. Reduce the number of #ifdefs by · 1a321f26
      Tom Lane authored
      about a third, make it work on non-Windows platforms again.  (But perhaps
      I broke the WIN32 code, since I have no way to test that.)  Fold all the
      paths that fork postmaster child processes to go through the single
      routine SubPostmasterMain, which takes care of resurrecting the state that
      would normally be inherited from the postmaster (including GUC variables).
      Clean up some places where there's no particularly good reason for the
      EXEC and non-EXEC cases to work differently.  Take care of one or two
      FIXMEs that remained in the code.
      1a321f26
  35. 18 May, 2004 1 commit
  36. 17 May, 2004 1 commit
  37. 13 May, 2004 1 commit
  38. 11 May, 2004 1 commit
    • Bruce Momjian's avatar
      As part of the work for making relocatable installs, I have re-factored · fda15b35
      Bruce Momjian authored
      all the code that looks for other binaries.  I move FindExec into
      port/exec.c (and renamed it to find_my_binary()).  I also added
      find_other_binary that looks for another binary in the same directory as
      the calling program, and checks the version string.
      
      The only behavior change was that initdb and pg_dump would look in the
      hard-coded bindir directory if it can't find the requested binary in the
      same directory as the caller.  The new code throws an error.  The old
      behavior seemed too error prone for version mismatches.
      fda15b35