1. 21 Jun, 2007 1 commit
  2. 20 Jun, 2007 1 commit
    • Tom Lane's avatar
      Restrict deadlock_timeout to the range for which the implementation · 6f0072df
      Tom Lane authored
      actually works sanely, viz not 0 and not more than INT_MAX/1000
      (else TimestampTzPlusMilliseconds can overflow).  Per discussion with
      Greg Stark.  Since this is a superuser-only setting and there was not
      previously any big reason to change it, not worth back-patching.
      6f0072df
  3. 19 Jun, 2007 1 commit
    • Tom Lane's avatar
      Code review for log_lock_waits patch. Don't try to issue log messages from · 6e072287
      Tom Lane authored
      within a signal handler (this might be safe given the relatively narrow code
      range in which the interrupt is enabled, but it seems awfully risky); do issue
      more informative log messages that tell what is being waited for and the exact
      length of the wait; minor other code cleanup.  Greg Stark and Tom Lane
      6e072287
  4. 18 Jun, 2007 1 commit
  5. 13 Jun, 2007 1 commit
  6. 08 Jun, 2007 1 commit
  7. 05 Jun, 2007 2 commits
  8. 03 Jun, 2007 1 commit
    • Tom Lane's avatar
      Create a GUC parameter temp_tablespaces that allows selection of the · acfce502
      Tom Lane authored
      tablespace(s) in which to store temp tables and temporary files.  This is a
      list to allow spreading the load across multiple tablespaces (a random list
      element is chosen each time a temp object is to be created).  Temp files are
      not stored in per-database pgsql_tmp/ directories anymore, but per-tablespace
      directories.
      
      Jaime Casanova and Albert Cervera, with review by Bernd Helmle and Tom Lane.
      acfce502
  9. 02 Jun, 2007 1 commit
  10. 08 May, 2007 1 commit
  11. 04 May, 2007 1 commit
    • Tom Lane's avatar
      Teach tuplesort.c about "top N" sorting, in which only the first N tuples · d26559db
      Tom Lane authored
      need be returned.  We keep a heap of the current best N tuples and sift-up
      new tuples into it as we scan the input.  For M input tuples this means
      only about M*log(N) comparisons instead of M*log(M), not to mention a lot
      less workspace when N is small --- avoiding spill-to-disk for large M
      is actually the most attractive thing about it.  Patch includes planner
      and executor support for invoking this facility in ORDER BY ... LIMIT
      queries.  Greg Stark, with some editorialization by moi.
      d26559db
  12. 26 Apr, 2007 1 commit
    • Neil Conway's avatar
      Rename the newly-added commands for discarding session state. · 16efdb5e
      Neil Conway authored
      RESET SESSION, RESET PLANS, and RESET TEMP are now DISCARD ALL,
      DISCARD PLANS, and DISCARD TEMP, respectively. This is to avoid
      confusion with the pre-existing RESET variants: the DISCARD
      commands are not actually similar to RESET. Patch from Marko
      Kreen, with some minor editorialization.
      16efdb5e
  13. 22 Apr, 2007 1 commit
  14. 21 Apr, 2007 1 commit
  15. 18 Apr, 2007 1 commit
  16. 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
  17. 12 Apr, 2007 1 commit
    • Neil Conway's avatar
      RESET SESSION, plus related new DDL commands. Patch from Marko Kreen, · d13e903b
      Neil Conway authored
      reviewed by Neil Conway. This patch adds the following DDL command
      variants: RESET SESSION, RESET TEMP, RESET PLANS, CLOSE ALL, and
      DEALLOCATE ALL. RESET SESSION is intended for use by connection
      pool software and the like, in order to reset a client session
      to something close to its initial state.
      
      Note that while most of these command variants can be executed
      inside a transaction block (but are not transaction-aware!),
      RESET SESSION cannot. While this is inconsistent, it is intended
      to catch programmer mistakes: RESET SESSION in an open transaction
      block is probably unintended.
      d13e903b
  18. 19 Mar, 2007 1 commit
    • Jan Wieck's avatar
      Changes pg_trigger and extend pg_rewrite in order to allow triggers and · 0fe16500
      Jan Wieck authored
      rules to be defined with different, per session controllable, behaviors
      for replication purposes.
      
      This will allow replication systems like Slony-I and, as has been stated
      on pgsql-hackers, other products to control the firing mechanism of
      triggers and rewrite rules without modifying the system catalog directly.
      
      The firing mechanisms are controlled by a new superuser-only GUC
      variable, session_replication_role, together with a change to
      pg_trigger.tgenabled and a new column pg_rewrite.ev_enabled. Both
      columns are a single char data type now (tgenabled was a bool before).
      The possible values in these attributes are:
      
           'O' - Trigger/Rule fires when session_replication_role is "origin"
                 (default) or "local". This is the default behavior.
      
           'D' - Trigger/Rule is disabled and fires never
      
           'A' - Trigger/Rule fires always regardless of the setting of
                 session_replication_role
      
           'R' - Trigger/Rule fires when session_replication_role is "replica"
      
      The GUC variable can only be changed as long as the system does not have
      any cached query plans. This will prevent changing the session role and
      accidentally executing stored procedures or functions that have plans
      cached that expand to the wrong query set due to differences in the rule
      firing semantics.
      
      The SQL syntax for changing a triggers/rules firing semantics is
      
           ALTER TABLE <tabname> <when> TRIGGER|RULE <name>;
      
           <when> ::= ENABLE | ENABLE ALWAYS | ENABLE REPLICA | DISABLE
      
      psql's \d command as well as pg_dump are extended in a backward
      compatible fashion.
      
      Jan
      0fe16500
  19. 13 Mar, 2007 2 commits
  20. 12 Mar, 2007 1 commit
  21. 06 Mar, 2007 1 commit
  22. 03 Mar, 2007 1 commit
  23. 23 Feb, 2007 1 commit
  24. 16 Feb, 2007 2 commits
  25. 14 Feb, 2007 1 commit
  26. 07 Feb, 2007 1 commit
  27. 01 Feb, 2007 1 commit
    • Bruce Momjian's avatar
      Wording cleanup for error messages. Also change can't -> cannot. · 8b4ff8b6
      Bruce Momjian authored
      Standard English uses "may", "can", and "might" in different ways:
      
              may - permission, "You may borrow my rake."
      
              can - ability, "I can lift that log."
      
              might - possibility, "It might rain today."
      
      Unfortunately, in conversational English, their use is often mixed, as
      in, "You may use this variable to do X", when in fact, "can" is a better
      choice.  Similarly, "It may crash" is better stated, "It might crash".
      8b4ff8b6
  28. 25 Jan, 2007 2 commits
  29. 19 Jan, 2007 1 commit
  30. 16 Jan, 2007 1 commit
  31. 09 Jan, 2007 2 commits
  32. 05 Jan, 2007 1 commit
  33. 30 Dec, 2006 1 commit
  34. 23 Dec, 2006 1 commit
  35. 13 Dec, 2006 1 commit