File Release Notes and Changelog

Release Name: 1.3

Release Notes

2009-02-18  -  PgBouncer 1.3 -  "New Ki-Smash Finishing Move"

Change Log

  = Features =

    * IANA has assigned port 6432 to be official port for PgBouncer.
      Thus the default port number has changed to 6432.  Existing
      individual users do not need to change, but if you distribute
      packages of PgBouncer, please change the package default
      to official port.

    * Dynamic database creation (David Galoyan)

      Now you can define database with name "*".  If defined, it's connect
      string will be used for all undefined databases.  Useful mostly
      for test / dev environments.

    * Windows support (Hiroshi Saito)

      PgBouncer runs on Windows 2000+ now.  Command line usage stays same,
      except it cannot run as daemon and cannot do online reboot.
      To run as service, define parameter service_name in config. Then:

        > pgbouncer.exe config.ini -regservice
        > net start SERVICE_NAME

      To stop and unregister:

        > net stop SERVICE_NAME
        > pgbouncer.exe config.ini -unregservice

      To use Windows Event Log, event DLL needs to be registered first:

        > regsrv32 pgbevent.dll

      Afterwards you can set "syslog = 1" in config.

  = Minor features =

    * Database names in config file can now be quoted with standard SQL
      ident quoting, to allow non-standard characters in db names.

    * New tunables: 'reserve_pool_size' and 'reserve_pool_timeout'.
      In case there are clients in pool that have waited more that
      'reserve_pool_timeout' seconds, 'reserve_pool_size' specifies
      the number of connections that can be added to pool.  It can also
      set per-pool with 'reserve_pool' connection variable.

    * New tunable 'sbuf_loopcnt' to limit time spent on one socket.

      In some situations - eg SMP server, local Postgres and fast network -
      pgbouncer can run recv()->send() loop many times without blocking
      on either side.  But that means other connections will stall for
      a long time.  To make processing more fair, limit the times
      of doing recv()->send() one socket.  If count reaches limit,
      just proceed processing other sockets.  The processing for
      that socket will resume on next event loop.

      Thanks to Alexander Schöcke for report and testing.

    * crypt() authentication is now optional, as it was removed from Postgres.
      If OS does not provide it, pgbouncer works fine without it.

    * Add milliseconds to log timestamps.

    * Replace old MD5 implementation with more compact one.

    * Update ISC licence with the FSF clarification.

  = Fixes =

    * In case event_del() reports failure, just proceed with cleanup.
      Previously pgbouncer retried it, in case the failure was due ENOMEM.
      But this has caused log floods with inifinite repeats, so it seems
      libevent does not like it.

      Why event_del() report failure first time is still mystery.

    * --enable-debug now just toggles whether debug info is stripped from binary.
      It no longer plays with -fomit-frame-pointer as it's dangerous.

    * Fix include order, as otherwise system includes could come before
      internal ones.  Was problem for new md5.h include file.

    * Include COPYRIGHT file in .tgz...
Powered By FusionForge