1. 28 8月, 2009 2 次提交
    • T
      Make it reasonably safe to use pg_ctl to start the postmaster from a boot-time · 8f5500e6
      Tom Lane 提交于
      script.
      
      To do this, have pg_ctl pass down its parent shell's PID in an environment
      variable PG_GRANDPARENT_PID, and teach CreateLockFile() to disregard that PID
      as a false match if it finds it in postmaster.pid.  This allows us to cope
      with one level of postgres-owned shell process even with pg_ctl in the way,
      so it's just as safe as starting the postmaster directly.  You still have to
      be careful about how you write the initscript though.
      
      Adjust the comments in contrib/start-scripts/ to not deprecate use of
      pg_ctl.  Also, fix the ROTATELOGS option in the OSX script, which was
      indulging in exactly the sort of unsafe coding that renders this fix
      pointless :-(.  A pipe inside the "sudo" will probably result in more
      than one postgres-owned process hanging around.
      8f5500e6
    • M
      exports.txt needs to use spaces as separators, not tabs, to work properly · 0e3f0cbd
      Magnus Hagander 提交于
      with the sed rules.
      0e3f0cbd
  2. 27 8月, 2009 6 次提交
  3. 26 8月, 2009 1 次提交
  4. 25 8月, 2009 7 次提交
    • P
      Enhanced error context support in PL/Python · 27c405d6
      Peter Eisentraut 提交于
      Extract the "while creating return value" and "while modifying trigger
      row" parts of some error messages into another layer of error context.
      This will simplify the upcoming patch to improve data type support, but
      it can stand on its own.
      27c405d6
    • P
      Use generic attribute management in PL/Python · 983d1083
      Peter Eisentraut 提交于
      Switch the implementation of the plan and result types to generic attribute
      management, as described at <http://docs.python.org/extending/newtypes.html>.
      This modernizes and simplifies the code a bit and prepares for Python 3.1,
      where the old way doesn't work anymore.
      983d1083
    • P
      Make PL/Python tests more compatible with Python 3 · 5dff9363
      Peter Eisentraut 提交于
      This changes a bunch of incidentially used constructs in the PL/Python
      regression tests to equivalent constructs in cases where Python 3 no longer
      supports the old syntax.  Support for older Python versions is unchanged.
      5dff9363
    • T
      Try to make silent_mode behave somewhat reasonably. · 8bed238c
      Tom Lane 提交于
      Instead of sending stdout/stderr to /dev/null after forking away from the
      terminal, send them to postmaster.log within the data directory.  Since
      this opens the door to indefinite logfile bloat, recommend even more
      strongly that log output be redirected when using silent_mode.
      
      Move the postmaster's initial calls of load_hba() and load_ident() down
      to after we have started the log collector, if we are going to.  This
      is so that errors reported by them will appear in the "usual" place.
      
      Reclassify silent_mode as a LOGGING_WHERE, not LOGGING_WHEN, parameter,
      since it's got absolutely nothing to do with the latter category.
      
      In passing, fix some obsolete references to -S ... this option hasn't
      had that switch letter for a long time.
      
      Back-patch to 8.4, since as of 8.4 load_hba() and load_ident() are more
      picky (and thus more likely to fail) than they used to be.  This entire
      change was driven by a complaint about those errors disappearing into
      the bit bucket.
      8bed238c
    • T
      Small correction to previous patch: we shouldn't ReleasePostmasterChildSlot · 5a4f7638
      Tom Lane 提交于
      for a dead_end child, because we didn't AssignPostmasterChildSlot.
      5a4f7638
    • A
      Avoid calling kill() in a postmaster signal handler. · 45f9b464
      Alvaro Herrera 提交于
      This causes problems when the system load is high, per report from Zdenek
      Kotala in <1250860954.1239.114.camel@localhost>; instead of calling kill
      directly, have the signal handler set a flag which is checked in ServerLoop.
      This way, the handler can return before being called again by a subsequent
      signal sent from the autovacuum launcher.  Also, increase the sleep in the
      launcher in this failure path to 1 second.
      
      Backpatch to 8.3, which is when the signalling between autovacuum
      launcher/postmaster was introduced.
      
      Also, add a couple of ReleasePostmasterChildSlot calls in error paths; this
      part backpatched to 8.4 which is when the child slot stuff was introduced.
      45f9b464
    • T
      Fix inclusions of readline/editline header files so that we only attempt to · 9b708f1f
      Tom Lane 提交于
      #include the version of history.h that is in the same directory as the
      readline.h we are using.  This avoids problems in some scenarios where both
      readline and editline are installed.  Report and patch by Zdenek Kotala.
      9b708f1f
  5. 24 8月, 2009 5 次提交
    • A
      Remove unused variable. · 1e6bd556
      Alvaro Herrera 提交于
      Per Grzegorz Jaskiewicz report from LLVM static checker
      1e6bd556
    • T
      Run the "tablespace" regression test first not last. The former placement · 3bee0a46
      Tom Lane 提交于
      renders useless one of the few test methodologies we have for WAL replay,
      which is to intentionally crash the system just after completing the
      regression tests and see if it recovers to the expected database state.
      The reason is that DROP TABLESPACE forces a checkpoint, so there's essentially
      no WAL available for replay after the tests complete.
      3bee0a46
    • T
      Fix a violation of WAL coding rules in the recent patch to include an · 7fc7a7c4
      Tom Lane 提交于
      "all tuples visible" flag in heap page headers.  The flag update *must*
      be applied before calling XLogInsert, but heap_update and the tuple
      moving routines in VACUUM FULL were ignoring this rule.  A crash and
      replay could therefore leave the flag incorrectly set, causing rows
      to appear visible in seqscans when they should not be.  This might explain
      recent reports of data corruption from Jeff Ross and others.
      
      In passing, do a bit of editorialization on comments in visibilitymap.c.
      7fc7a7c4
    • T
      Make TRUNCATE do truncate-in-place when processing a relation that was created · cab9a065
      Tom Lane 提交于
      or previously truncated in the current (sub)transaction.  This is safe since
      if the (sub)transaction later rolls back, we'd just discard the rel's current
      physical file anyway.  This avoids unreasonable growth in the number of
      transient files when a relation is repeatedly truncated.  Per a performance
      gripe a couple weeks ago from Todd Cook.
      cab9a065
    • T
      Tweak ExecIndexEvalRuntimeKeys to forcibly detoast any toasted comparison · c38b7594
      Tom Lane 提交于
      values before they get passed to the index access method.  This avoids
      repeated detoastings that will otherwise ensue as the comparison value
      is examined by various index support functions.  We have seen a couple of
      reports of cases where repeated detoastings result in an order-of-magnitude
      slowdown, so it seems worth adding a bit of extra logic to prevent this.
      
      I had previously proposed trying to avoid duplicate detoastings in general,
      but this fix takes care of what seems the most important case in practice
      with very little effort or risk.
      
      Back-patch to 8.4 so that the PostGIS folk won't have to wait a year to
      have this fix in a production release.  (The issue exists further back,
      of course, but the code's diverged enough to make backpatching further a
      higher-risk action.  Also it appears that the possible gains may be limited
      in prior releases because of different handling of lossy operators.)
      c38b7594
  6. 22 8月, 2009 1 次提交
  7. 20 8月, 2009 1 次提交
  8. 19 8月, 2009 8 次提交
  9. 18 8月, 2009 8 次提交
  10. 17 8月, 2009 1 次提交