= PgBouncer TODO list =

== Minor features ==

 * suspend_timeout - drop stalled conns
 * when dest db does not exists, stalled logins can halt suspend
   fix with suspend_timeout?
 * some preliminary notification that fd limit is full
 * drop_on_error/keep_on_error - if released conn is in error state,
 then issue rollback and keep it
 * removing db from config and reload; should work
 * show stalled; command - like show sockets; but filter only active ones

 * keep stats about error counts
 * auth_conn - access to pg_shadow, so auth_file is not needed
 * units for config parameters.
 * cleanup of logging levels, to make log more useful
 * logging to syslog

== Major features ==

=== prepared plans ===

 * keeping track of protocol-level prepared plans
   - JDBC workaround in the meantime: protocolVersion=2

=== make -R less scary ===

 * -R should somehow log whats happens
 * -R should detect that no pooler is running and boot normally
 * -R should detect if login fails then exit()
 * Details:
   - Takeover before fork()
   - must not touch libevent, just fill structures,
     libevent init after fork()
   - ^C while takeover - immidiate _exit()
 * Detect existing process:
   - if tcp - try binding
   - if unix - try connect()

=== load-balancing ===

 * allow serveral server to serve one db
   - possibility to specify failover databases.

