1. 18 4月, 2008 1 次提交
    • T
      Cause EXPLAIN's VERBOSE option to print the target list (output column list) · 87a2f050
      Tom Lane 提交于
      of each plan node, instead of its former behavior of dumping the internal
      representation of the plan tree.  The latter display is still available for
      those who really want it (see debug_print_plan), but uses for it are certainly
      few and and far between.  Per discussion.
      
      This patch also removes the explain_pretty_print GUC, which is obsoleted
      by the change.
      87a2f050
  2. 10 3月, 2008 1 次提交
  3. 09 3月, 2008 1 次提交
    • T
      Remove postmaster.c's check that NBuffers is at least twice MaxBackends. · d9384a4b
      Tom Lane 提交于
      With the addition of multiple autovacuum workers, our choices were to delete
      the check, document the interaction with autovacuum_max_workers, or complicate
      the check to try to hide that interaction.  Since this restriction has never
      been adequate to ensure backends can't run out of pinnable buffers, it doesn't
      really have enough excuse to live to justify the second or third choices.
      Per discussion of a complaint from Andreas Kling (see also bug #3888).
      
      This commit also removes several documentation references to this restriction,
      but I'm not sure I got them all.
      d9384a4b
  4. 31 1月, 2008 1 次提交
  5. 28 1月, 2008 1 次提交
  6. 10 1月, 2008 1 次提交
  7. 08 12月, 2007 1 次提交
  8. 10 11月, 2007 1 次提交
  9. 27 9月, 2007 1 次提交
    • T
      Minor improvements in backup and recovery: · f18dfc48
      Tom Lane 提交于
      - create a separate archive_mode GUC, on which archive_command is dependent
      
      - %r option in recovery.conf sends last restartpoint to recovery command
      
      - %r used in pg_standby, updated README
      
      - minor other code cleanup in pg_standby
      
      - doc on Warm Standby now mentions pg_standby and %r
      
      - log_restartpoints recovery option emits LOG message at each restartpoint
      
      - end of recovery now displays last transaction end time, as requested
        by Warren Little; also shown at each restartpoint
      
      - restart archiver if needed to carry away WAL files at shutdown
      
      Simon Riggs
      f18dfc48
  10. 26 9月, 2007 1 次提交
    • T
      Just-in-time background writing strategy. This code avoids re-scanning · 6f5c38dc
      Tom Lane 提交于
      buffers that cannot possibly need to be cleaned, and estimates how many
      buffers it should try to clean based on moving averages of recent allocation
      requests and density of reusable buffers.  The patch also adds a couple
      more columns to pg_stat_bgwriter to help measure the effectiveness of the
      bgwriter.
      
      Greg Smith, building on his own work and ideas from several other people,
      in particular a much older patch from Itagaki Takahiro.
      6f5c38dc
  11. 24 9月, 2007 1 次提交
    • T
      Simplify and rename some GUC variables, per various recent discussions: · 48f7e643
      Tom Lane 提交于
      * stats_start_collector goes away; we always start the collector process,
      unless prevented by a problem with setting up the stats UDP socket.
      
      * stats_reset_on_server_start goes away; it seems useless in view of the
      availability of pg_stat_reset().
      
      * stats_block_level and stats_row_level are merged into a single variable
      "track_counts", which controls all reports sent to the collector process.
      
      * stats_command_string is renamed to track_activities.
      
      * log_autovacuum is renamed to log_autovacuum_min_duration to better reflect
      its meaning.
      
      The log_autovacuum change is not a compatibility issue since it didn't exist
      before 8.3 anyway.  The other changes need to be release-noted.
      48f7e643
  12. 21 9月, 2007 1 次提交
  13. 18 9月, 2007 1 次提交
  14. 06 9月, 2007 1 次提交
    • T
      Implement lazy XID allocation: transactions that do not modify any database · 295e6398
      Tom Lane 提交于
      rows will normally never obtain an XID at all.  We already did things this way
      for subtransactions, but this patch extends the concept to top-level
      transactions.  In applications where there are lots of short read-only
      transactions, this should improve performance noticeably; not so much from
      removal of the actual XID-assignments, as from reduction of overhead that's
      driven by the rate of XID consumption.  We add a concept of a "virtual
      transaction ID" so that active transactions can be uniquely identified even
      if they don't have a regular XID.  This is a much lighter-weight concept:
      uniqueness of VXIDs is only guaranteed over the short term, and no on-disk
      record is made about them.
      
      Florian Pflug, with some editorialization by Tom.
      295e6398
  15. 21 8月, 2007 1 次提交
  16. 19 8月, 2007 1 次提交
  17. 04 8月, 2007 1 次提交
    • T
      Switch over to using the src/timezone functions for formatting timestamps · bdd6b622
      Tom Lane 提交于
      displayed in the postmaster log.  This avoids Windows-specific problems with
      localized time zone names that are in the wrong encoding, and generally seems
      like a good idea to forestall other potential platform-dependent issues.
      To preserve the existing behavior that all backends will log in the same time
      zone, create a new GUC variable log_timezone that can only be changed on a
      system-wide basis, and reference log-related calculations to that zone instead
      of the TimeZone variable.
      
      This fixes the issue reported by Hiroshi Saito that timestamps printed by
      xlog.c startup could be improperly localized on Windows.  We still need a
      simpler patch for that problem in the back branches, however.
      bdd6b622
  18. 02 8月, 2007 1 次提交
  19. 24 7月, 2007 2 次提交
    • T
      Create a new dedicated Postgres process, "wal writer", which exists to write · ad429572
      Tom Lane 提交于
      and fsync WAL at convenient intervals.  For the moment it just tries to
      offload this work from backends, but soon it will be responsible for
      guaranteeing a maximum delay before asynchronously-committed transactions
      will be flushed to disk.
      
      This is a portion of Simon Riggs' async-commit patch, committed to CVS
      separately because a background WAL writer seems like it might be a good idea
      independently of the async-commit feature.  I rebased walwriter.c on
      bgwriter.c because it seemed like a more appropriate way of handling signals;
      while the startup/shutdown logic in postmaster.c is more like autovac because
      we want walwriter to quit before we start the shutdown checkpoint.
      ad429572
    • A
      Set a default autovacuum vacuum_cost_delay value of 20ms, to avoid excessive · 53d2951b
      Alvaro Herrera 提交于
      I/O utilization, per discussion.
      
      While at it, lower the autovacuum vacuum and analyze threshold values to 50
      tuples.  It is a bit higher (i.e. more conservative) than what I originally
      proposed but much better than the old values for small tables.
      53d2951b
  20. 10 7月, 2007 1 次提交
  21. 01 7月, 2007 1 次提交
  22. 28 6月, 2007 1 次提交
    • T
      Implement "distributed" checkpoints in which the checkpoint I/O is spread · 867e2c91
      Tom Lane 提交于
      over a fairly long period of time, rather than being spat out in a burst.
      This happens only for background checkpoints carried out by the bgwriter;
      other cases, such as a shutdown checkpoint, are still done at full speed.
      
      Remove the "all buffers" scan in the bgwriter, and associated stats
      infrastructure, since this seems no longer very useful when the checkpoint
      itself is properly throttled.
      
      Original patch by Itagaki Takahiro, reworked by Heikki Linnakangas,
      and some minor API editorialization by me.
      867e2c91
  23. 04 6月, 2007 1 次提交
    • T
      Create a GUC parameter temp_tablespaces that allows selection of the · acfce502
      Tom Lane 提交于
      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
  24. 19 4月, 2007 1 次提交
  25. 17 4月, 2007 1 次提交
    • A
      Add a multi-worker capability to autovacuum. This allows multiple worker · e2a186b0
      Alvaro Herrera 提交于
      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
  26. 20 3月, 2007 1 次提交
    • J
      Changes pg_trigger and extend pg_rewrite in order to allow triggers and · 0fe16500
      Jan Wieck 提交于
      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
  27. 06 3月, 2007 1 次提交
  28. 04 3月, 2007 1 次提交
  29. 03 3月, 2007 1 次提交
  30. 17 2月, 2007 1 次提交
  31. 16 2月, 2007 1 次提交
    • B
      SSL improvements: · c7b08050
      Bruce Momjian 提交于
      	o read global SSL configuration file
      	o add GUC "ssl_ciphers" to control allowed ciphers
      	o add libpq environment variable PGSSLKEY to control SSL hardware keys
      
      Victor B. Wagner
      c7b08050
  32. 25 1月, 2007 3 次提交
  33. 21 1月, 2007 2 次提交
  34. 17 1月, 2007 1 次提交
  35. 10 1月, 2007 2 次提交