1. 18 Feb, 2009 5 commits
    • Tom Lane's avatar
      Remove the special cases to prevent minus-zero results in float4 and float8 · 86ffdcad
      Tom Lane authored
      unary minus operators.  We weren't attempting to prevent minus zero anywhere
      else; in view of our gradual trend to make the float datatypes more IEEE
      standard compliant, we should allow minus zero here rather than disallow it
      elsewhere.
      
      We don't, however, expect that all platforms will produce minus zero, so
      we need to adjust the one affected regression test to allow both results.
      
      Per discussion of bug #4660.
      
      (In passing, clean up a couple other minor infelicities in float.c.)
      86ffdcad
    • Heikki Linnakangas's avatar
      Start background writer during archive recovery. Background writer now performs · cdd46c76
      Heikki Linnakangas authored
      its usual buffer cleaning duties during archive recovery, and it's responsible
      for performing restartpoints.
      
      This requires some changes in postmaster. When the startup process has done
      all the initialization and is ready to start WAL redo, it signals the
      postmaster to launch the background writer. The postmaster is signaled again
      when the point in recovery is reached where we know that the database is in
      consistent state. Postmaster isn't interested in that at the moment, but
      that's the point where we could let other backends in to perform read-only
      queries. The postmaster is signaled third time when the recovery has ended,
      so that postmaster knows that it's safe to start accepting connections.
      
      The startup process now traps SIGTERM, and performs a "clean" shutdown. If
      you do a fast shutdown during recovery, a shutdown restartpoint is performed,
      like a shutdown checkpoint, and postmaster kills the processes cleanly. You
      still have to continue the recovery at next startup, though.
      
      Currently, the background writer is only launched during archive recovery.
      We could launch it during crash recovery as well, but it seems better to keep
      that codepath as simple as possible, for the sake of robustness. And it
      couldn't do any restartpoints during crash recovery anyway, so it wouldn't be
      that useful.
      
      log_restartpoints is gone. Use log_checkpoints instead. This is yet to be
      documented.
      
      This whole operation is a pre-requisite for Hot Standby, but has some value of
      its own whether the hot standby patch makes 8.4 or not.
      
      Simon Riggs, with lots of modifications by me.
      cdd46c76
    • Bruce Momjian's avatar
      Add --freeze option to vacuumdb. · 36a9cf38
      Bruce Momjian authored
      36a9cf38
    • Bruce Momjian's avatar
      1d88d4e2
    • Peter Eisentraut's avatar
      Message wordsmithing · b9a36693
      Peter Eisentraut authored
      b9a36693
  2. 17 Feb, 2009 7 commits
  3. 16 Feb, 2009 2 commits
  4. 15 Feb, 2009 3 commits
  5. 14 Feb, 2009 1 commit
    • Tom Lane's avatar
      A couple of marginal performance hacks for the information_schema views: · 3f7626e9
      Tom Lane authored
      replace the old recursive-SQL-function implementation of _pg_keysequal()
      with use of the built-in array containment operators, and change
      table_constraints' UNION to UNION ALL.  Per discussion with Octavio Alvarez.
      
      initdb not forced since this doesn't affect results, but you'd need to
      initdb or reload the information_schema to see the new definitions.
      3f7626e9
  6. 13 Feb, 2009 1 commit
    • Tom Lane's avatar
      Fix UNLISTEN to fall out quickly if the current backend has never executed · ca5646fc
      Tom Lane authored
      any LISTEN command.  This is more important than it used to be because
      DISCARD ALL invokes UNLISTEN.  Connection-pooled applications making heavy
      use of DISCARD ALL were seeing significant contention for pg_listener,
      as reported by Matteo Beccati.  It seems unlikely that clients using LISTEN
      would use pooled connections, so this simple tweak seems sufficient,
      especially since the pg_listener implementation is slated to go away soon
      anyway.
      
      Back-patch to 8.3, where DISCARD ALL was introduced.
      ca5646fc
  7. 12 Feb, 2009 5 commits
  8. 11 Feb, 2009 5 commits
  9. 10 Feb, 2009 4 commits
  10. 09 Feb, 2009 3 commits
  11. 08 Feb, 2009 1 commit
    • Tom Lane's avatar
      Ensure that INSERT ... SELECT into a table with OIDs never copies row OIDs · 3d02cae3
      Tom Lane authored
      from the source table.  This could never happen anyway before 8.4 because
      the executor invariably applied a "junk filter" to rows due to be inserted;
      but now that we skip doing that when it's not necessary, the case can occur.
      Problem noted 2008-11-27 by KaiGai Kohei, though I misunderstood what he
      was on about at the time (the opacity of the patch he proposed didn't help).
      3d02cae3
  12. 07 Feb, 2009 3 commits