File Release Notes and Changelog

Release Name: 1.2

Release Notes

2008-07-29  -  PgBouncer 1.2  -  "Ordinary Magic Flute"

  PgBouncer 1.2 now requires libevent version 1.3b or newer.
  Older libevent versions crash with new restart code.

Change Log

  = Features =

    * Command line option (-u) and config parameter (user=) to support user
      switching at startup.  Also now pgbouncer refuses to run as root.
      (Jacob Coby)
    * More descriptive usage text (-h).  (Jacob Coby)
    * New database option: connect_query to allow run a query on new
      connections before they are taken into use.  (Teodor Sigaev)
    * New config var 'ignore_startup_parameters' to allow and ignore
      extra parameters in startup packet.  By default only 'database'
      and 'user' are allowed, all others raise error.  This is needed
      to tolerate overenthusiastic JDBC wanting to unconditionally
      set 'extra_float_digits=2' in startup packet.
    * Logging to syslog: new parameters syslog=0/1 and
      syslog_facility=daemon/user/local0.
    * Less scary online restart (-R)
      - Move FD loading before fork, so it logs to console and can be canceled by ^C
      - Keep SHUTDOWN after fork, so ^C would be safe
      - A connect() is attempted to unix socket to see if anyone is listening.
        Now -R can be used even when no previous process was running.  If there
        is previous process, but -R is not used, startup fails.
    * New console commands:
      - SHOW TOTALS that shows stats summary (as goes to log) plus mem usage.
      - SHOW ACTIVE_SOCKETS - like show sockets; but filter only active ones.

  = Less visible features =

    * suspend_timeout - drop stalled conns and long logins. This brings
      additional safety to reboot.
    * When remote database throws error on logging in, notify clients.
    * Removing a database from config and reloading works - all connections
      are killed and the database is removed.
    * Fake some parameters on console SHOW/SET commands to be more Postgres-like.
      That was needed to allow psycopg to connect to console.
      (client_encoding/default_transaction_isolation/datestyle/timezone)
    * Make server_lifetime=0 disconnect server connection immediately
      after first use.  Previously "0" made PgBouncer ignore server age.
      As this behavior was undocumented, there should not be any users
      depending on it.
    * Internal improvements:
      - Packet buffers are allocated lazily and reused.  This should bring
        huge decrease in memory usage.  This also makes realistic to use
        big pktbuf with lot of connections.
      - Lot's of error handling improvements, PgBouncer should now
        survive OOM situations gracefully.
      - Use slab allocator for memory management.
      - Lots of code cleanups.

  = Fixes =

    * Only single accept() was issued per event loop which could
      cause connection backlog when having high amount of connection
      attempts.  Now the listening socket is always drained fully,
      which should fix this.
    * Handle EINTR from connect().
    * Make configure.ac compatible with autoconf 2.59.
    * Solaris compatibility fixes (Magne Mæhre)

Powered By FusionForge