]> granicus.if.org Git - pgbouncer/log
pgbouncer
10 years agoevict old connections when needed (if possible) for max_db_connections
Cody Cutrer [Tue, 27 Aug 2013 22:29:46 +0000 (16:29 -0600)]
evict old connections when needed (if possible) for max_db_connections

10 years agoimplement database-wide connection limit
Cody Cutrer [Mon, 4 Feb 2013 23:58:05 +0000 (16:58 -0700)]
implement database-wide connection limit

10 years agodetect server close due to synchronous callbacks
Cody Cutrer [Thu, 5 Sep 2013 22:05:52 +0000 (16:05 -0600)]
detect server close due to synchronous callbacks

10 years agofix crash when using auth_conn and something times out during login
Cody Cutrer [Thu, 29 Aug 2013 14:39:26 +0000 (08:39 -0600)]
fix crash when using auth_conn and something times out during login

a client can be linked when in CL_LOGIN due to doing the auth query,
so be prepared to close the associated server as well.

10 years agofix reconnects of auth_user dbs after online restart
Cody Cutrer [Wed, 28 Aug 2013 02:47:44 +0000 (20:47 -0600)]
fix reconnects of auth_user dbs after online restart

if the user was a dynamic user, the only way the bouncer knows the
password was from a new client connection. if an existing client
starts a transaction before a new client connects, it will not know
the correct password. so pass that info along in the online restart
data.

note that this is backwards compatible - old bouncers just won't send
the password, and it's stuck until the client tries to connect

10 years agofix takeover of auth_user when dynamic user is connected to server
Cody Cutrer [Wed, 28 Aug 2013 02:08:00 +0000 (20:08 -0600)]
fix takeover of auth_user when dynamic user is connected to server

10 years agofix auth_user with session pooling
Cody Cutrer [Thu, 28 Feb 2013 15:54:04 +0000 (08:54 -0700)]
fix auth_user with session pooling

the auth_user pool wasn't releasing the server conn, so the
client would end up connected to the db as the auth_user

10 years agoauth_user support
Cody Cutrer [Wed, 18 Jan 2012 17:32:01 +0000 (10:32 -0700)]
auth_user support

query the database's pg_shadow table for user information,
instead of using a local userlist.txt.  Brings transparent support
for Postgres 9.0+ which no longer has a compatible file format.

Tested with trust and md5 auth_types only.

10 years agoMove comment to make it less wrong.
Marko Kreen [Mon, 7 Oct 2013 21:26:15 +0000 (00:26 +0300)]
Move comment to make it less wrong.

10 years agoMerge remote-tracking branch 'ccutrer/dev/per_object_pool_modes'
Marko Kreen [Mon, 7 Oct 2013 21:07:15 +0000 (00:07 +0300)]
Merge remote-tracking branch 'ccutrer/dev/per_object_pool_modes'

10 years agoMerge remote-tracking branch 'ccutrer/dev/nxdomain_ttl'
Marko Kreen [Mon, 7 Oct 2013 21:02:44 +0000 (00:02 +0300)]
Merge remote-tracking branch 'ccutrer/dev/nxdomain_ttl'

10 years agoMerge remote-tracking branch 'ccutrer/dev/latency_fix'
Marko Kreen [Mon, 7 Oct 2013 20:55:47 +0000 (23:55 +0300)]
Merge remote-tracking branch 'ccutrer/dev/latency_fix'

10 years agoMerge pull request #15 from ccutrer/dev/config_load_cleanup
Marko Kreen [Mon, 7 Oct 2013 20:53:31 +0000 (13:53 -0700)]
Merge pull request #15 from ccutrer/dev/config_load_cleanup

Dev/config load cleanup

11 years agoadd per-user pool_mode
Cody Cutrer [Thu, 19 Jan 2012 23:01:30 +0000 (16:01 -0700)]
add per-user pool_mode

11 years agoimplement per-database pool_mode
Cody Cutrer [Wed, 18 Jan 2012 16:55:14 +0000 (09:55 -0700)]
implement per-database pool_mode

11 years agofix launching new connections during maintenance
Cody Cutrer [Mon, 26 Aug 2013 20:30:27 +0000 (14:30 -0600)]
fix launching new connections during maintenance

match up waiting connections with tested/used until we run out.
launches new connection if there are more waiting than could be
fulfilled by refreshing current connections. this situation can
happen if you have high churn on client connections (i.e. with
transaction pooling), such that there is *always* at least one
connection in sv_tested or sv_used.

11 years agodon't load auth file twice at boot
Cody Cutrer [Wed, 28 Aug 2013 18:57:12 +0000 (12:57 -0600)]
don't load auth file twice at boot

the stat wasn't getting cached on the initial load, so immediately
after booting the janitor would notice it "changed", and reload it

11 years agodon't overwrite pgbouncer user on startup if it already exists
Cody Cutrer [Wed, 28 Aug 2013 18:29:54 +0000 (12:29 -0600)]
don't overwrite pgbouncer user on startup if it already exists

11 years agoadd a separate config for controlling negative dns caching
Cody Cutrer [Thu, 19 Sep 2013 19:31:37 +0000 (13:31 -0600)]
add a separate config for controlling negative dns caching

11 years agoMerge branch 'master' of git://github.com/markokr/pgbouncer-dev
Marko Kreen [Tue, 20 Aug 2013 16:58:53 +0000 (19:58 +0300)]
Merge branch 'master' of git://github.com/markokr/pgbouncer-dev

11 years agoMerge pull request #14 from mhagander/typofix
Marko Kreen [Tue, 20 Aug 2013 13:43:57 +0000 (06:43 -0700)]
Merge pull request #14 from mhagander/typofix

Fix incorrect keyword in example config file

11 years agoFix incorrect keyword in example config file
Magnus Hagander [Tue, 20 Aug 2013 13:07:20 +0000 (15:07 +0200)]
Fix incorrect keyword in example config file

11 years agoFix deallocate_all() in FAQ
Marko Kreen [Thu, 1 Aug 2013 20:15:31 +0000 (23:15 +0300)]
Fix deallocate_all() in FAQ

8.1 requires loop var to be record.

Reported-by: Christopher Causer
11 years agoMerge pull request #13 from petere/pidfile-newline
Marko Kreen [Sat, 15 Jun 2013 11:16:55 +0000 (04:16 -0700)]
Merge pull request #13 from petere/pidfile-newline

Add newline at the end of the PID file

11 years agoAdd newline at the end of the PID file
Peter Eisentraut [Fri, 14 Jun 2013 18:47:30 +0000 (14:47 -0400)]
Add newline at the end of the PID file

This is standard for PID files elsewhere, and makes it behave better
when inspecting the file manually.

11 years agoconsole: rename backend_pid to remote_pid
Marko Kreen [Wed, 17 Apr 2013 16:07:28 +0000 (19:07 +0300)]
console: rename backend_pid to remote_pid

This corresponds better to current implementation,
as now client pid is also shown correctly.

11 years agolog: wrap ipv6 address with []
Marko Kreen [Mon, 8 Apr 2013 19:24:35 +0000 (22:24 +0300)]
log: wrap ipv6 address with []

11 years agotune_socket: use libusual for socket flags
Marko Kreen [Mon, 8 Apr 2013 19:11:37 +0000 (22:11 +0300)]
tune_socket: use libusual for socket flags

11 years agoOn connect to server, show local ip and port
Marko Kreen [Tue, 2 Apr 2013 21:25:51 +0000 (00:25 +0300)]
On connect to server, show local ip and port

11 years agoShow remote pid of unix socket
Marko Kreen [Tue, 2 Apr 2013 20:46:40 +0000 (23:46 +0300)]
Show remote pid of unix socket

11 years agoRefresh libusual
Marko Kreen [Tue, 2 Apr 2013 20:46:29 +0000 (23:46 +0300)]
Refresh libusual

11 years agoRefresh libusual
Marko Kreen [Tue, 19 Mar 2013 20:05:34 +0000 (22:05 +0200)]
Refresh libusual

11 years agowin32: Don't set SO_REUSEADDR on listen socket.
Marko Kreen [Mon, 18 Mar 2013 16:01:52 +0000 (18:01 +0200)]
win32: Don't set SO_REUSEADDR on listen socket.

According to Postgres src/backend/libpq/pqcomm.c:

/*
 * Without the SO_REUSEADDR flag, a new postmaster can't be started
 * right away after a stop or crash, giving "address already in use"
 * error on TCP ports.
 *
 * On win32, however, this behavior only happens if the
 * SO_EXLUSIVEADDRUSE is set. With SO_REUSEADDR, win32 allows multiple
 * servers to listen on the same address, resulting in unpredictable
 * behavior. With no flags at all, win32 behaves as Unix with
 * SO_REUSEADDR.
 */

11 years agoipv6: Set IPV6_V6ONLY on listen socket.
Marko Kreen [Mon, 18 Mar 2013 15:44:15 +0000 (17:44 +0200)]
ipv6: Set IPV6_V6ONLY on listen socket.

Otherwise it attempts to take over ipv4 port
which fails if the ipv4 was initialized previously.

Reported-by: Guillaume Lelarge
11 years agoAdd missing error checks
Marko Kreen [Wed, 9 Jan 2013 10:31:48 +0000 (12:31 +0200)]
Add missing error checks

11 years agoconfigurable arch for mingw build
Marko Kreen [Wed, 9 Jan 2013 10:28:31 +0000 (12:28 +0200)]
configurable arch for mingw build

11 years agoconfigure: mention dns config in the end
Marko Kreen [Wed, 9 Jan 2013 10:28:11 +0000 (12:28 +0200)]
configure: mention dns config in the end

11 years agowin32: use gnu-style for long args: --foo
Marko Kreen [Tue, 25 Dec 2012 20:09:33 +0000 (22:09 +0200)]
win32: use gnu-style for long args: --foo

11 years agoFix IPv6 address memcpy
Marko Kreen [Sat, 8 Dec 2012 11:09:10 +0000 (13:09 +0200)]
Fix IPv6 address memcpy

11 years agoMerge pull request #6 from mfenniak/master
Marko Kreen [Sat, 8 Dec 2012 11:03:23 +0000 (03:03 -0800)]
Merge pull request #6 from mfenniak/master

Fix cancellation of waiting clients

11 years agoFix cancellation of of waiting clients
Mathieu Fenniak [Fri, 7 Dec 2012 02:15:41 +0000 (19:15 -0700)]
Fix cancellation of of waiting clients

Search waiting_client_list for client to-be-cancelled, in addition
to active_client_list.

11 years agoMinor cleanups for ENABLE/DISABLE, add tests
Marko Kreen [Mon, 3 Dec 2012 16:27:03 +0000 (18:27 +0200)]
Minor cleanups for ENABLE/DISABLE, add tests

11 years agoMerge remote-tracking branch 'wgrant/disable'
Marko Kreen [Mon, 3 Dec 2012 16:19:27 +0000 (18:19 +0200)]
Merge remote-tracking branch 'wgrant/disable'

ENABLE/DISABLE <db> commands for disabling new connections.

11 years agoShow backend_pid in SHOW CLIENTS/SERVERS.
Marko Kreen [Mon, 3 Dec 2012 16:03:55 +0000 (18:03 +0200)]
Show backend_pid in SHOW CLIENTS/SERVERS.

It should help to track connections over unix socket.

11 years agoNew DNS backend: c-ares
Marko Kreen [Mon, 28 May 2012 22:08:11 +0000 (01:08 +0300)]
New DNS backend: c-ares

Supports all interesting features, unlike other backends:
- /etc/hosts with refresh
- SOA lookup
- Large replies (via TCP/EDNS+UDP)
- IPv6

11 years agov1.5.4 pgbouncer_1_5_4
Marko Kreen [Wed, 28 Nov 2012 10:55:18 +0000 (12:55 +0200)]
v1.5.4

11 years agoRefresh libusual
Marko Kreen [Wed, 28 Nov 2012 10:54:31 +0000 (12:54 +0200)]
Refresh libusual

- another fix for deb check
- fix win32 compilation

11 years agodnslookup: missing active count inc
Marko Kreen [Wed, 31 Oct 2012 11:29:29 +0000 (13:29 +0200)]
dnslookup: missing active count inc

11 years agodns: need to use statlist_remove() instead list_del()
Marko Kreen [Wed, 31 Oct 2012 08:51:23 +0000 (10:51 +0200)]
dns: need to use statlist_remove() instead list_del()

Otherwise host_list will have wrong count.

It does not look like the codepath is actually ever used,
but still...

11 years agogetaddrinfo_a: drop double-alloc
Marko Kreen [Mon, 29 Oct 2012 15:20:01 +0000 (17:20 +0200)]
getaddrinfo_a: drop double-alloc

11 years agoRefresh libusual
Marko Kreen [Mon, 29 Oct 2012 15:12:15 +0000 (17:12 +0200)]
Refresh libusual

11 years agoudns: don't leak results
Marko Kreen [Mon, 29 Oct 2012 15:05:52 +0000 (17:05 +0200)]
udns: don't leak results

11 years agoImprove description of pooling states
Marko Kreen [Sun, 28 Oct 2012 16:41:37 +0000 (18:41 +0200)]
Improve description of pooling states

11 years agodnslookup: more informative error from getaddrinfo_a()
Marko Kreen [Mon, 8 Oct 2012 08:11:31 +0000 (11:11 +0300)]
dnslookup: more informative error from getaddrinfo_a()

11 years agoconfig.txt: remove \ before *
Marko Kreen [Mon, 8 Oct 2012 08:08:15 +0000 (11:08 +0300)]
config.txt: remove \ before *

Seems older asciidoc needed it but not any more.

12 years agoInclude new antimake files. pgbouncer_1_5_3
Marko Kreen [Thu, 13 Sep 2012 05:47:39 +0000 (08:47 +0300)]
Include new antimake files.

12 years agoDocument the new DISABLE/ENABLE commands.
William Grant [Wed, 12 Sep 2012 10:55:36 +0000 (20:55 +1000)]
Document the new DISABLE/ENABLE commands.

12 years agoAdd DISABLE/ENABLE to SHOW HELP.
William Grant [Wed, 12 Sep 2012 10:38:22 +0000 (20:38 +1000)]
Add DISABLE/ENABLE to SHOW HELP.

12 years agov1.5.3
Marko Kreen [Wed, 12 Sep 2012 10:37:57 +0000 (13:37 +0300)]
v1.5.3

12 years agoFactor out the find-or-register DB logic.
William Grant [Wed, 12 Sep 2012 10:23:49 +0000 (20:23 +1000)]
Factor out the find-or-register DB logic.

12 years agoAdd DISABLE/ENABLE commands to prevent new connections.
William Grant [Wed, 12 Sep 2012 09:59:31 +0000 (19:59 +1000)]
Add DISABLE/ENABLE commands to prevent new connections.

DISABLE causes new connections to a particular database to be rejected
while existing ones continue. ENABLE allows new connections again.

12 years agoadd_database: fail gracefully if too long db name
Marko Kreen [Mon, 10 Sep 2012 10:07:43 +0000 (13:07 +0300)]
add_database: fail gracefully if too long db name

Truncating & adding can lead to fatal() later.

It was not an issue before, but with audodb (* in [databases] section)
the database name can some from network, thus allowing remote shutdown..

12 years agoUpdate NEWS
Marko Kreen [Wed, 18 Jul 2012 18:32:27 +0000 (21:32 +0300)]
Update NEWS

12 years agoShow invalid header in hex
Marko Kreen [Wed, 18 Jul 2012 18:18:00 +0000 (21:18 +0300)]
Show invalid header in hex

12 years agoRefactor bin2hex function
Marko Kreen [Wed, 18 Jul 2012 18:16:46 +0000 (21:16 +0300)]
Refactor bin2hex function

12 years agomax_packet_size - new variable.
Marko Kreen [Wed, 18 Jul 2012 18:11:30 +0000 (21:11 +0300)]
max_packet_size - new variable.

Helps to detect network or application problems.

12 years agoRefresh libusual
Marko Kreen [Wed, 18 Jul 2012 18:06:54 +0000 (21:06 +0300)]
Refresh libusual

12 years agoconsole: allow empty string arguments, unify copy_arg
Marko Kreen [Sun, 8 Jul 2012 06:41:13 +0000 (09:41 +0300)]
console: allow empty string arguments, unify copy_arg

Now it's possible to disable server_reset_query from console.

12 years agoRefresh libusual to pick up Antimake fixes
Marko Kreen [Sat, 7 Jul 2012 17:13:00 +0000 (20:13 +0300)]
Refresh libusual to pick up Antimake fixes

12 years agoconfig.txt: server_idle_timeout does not care how full pool is.
Marko Kreen [Fri, 15 Jun 2012 07:43:23 +0000 (10:43 +0300)]
config.txt: server_idle_timeout does not care how full pool is.

Noticed-by: Mike Broers
12 years agoMakefile: correct is _LDADD instead _LIBS
Marko Kreen [Thu, 7 Jun 2012 09:30:00 +0000 (12:30 +0300)]
Makefile: correct is _LDADD instead _LIBS

12 years agoRefresh libusual
Marko Kreen [Tue, 5 Jun 2012 14:43:06 +0000 (17:43 +0300)]
Refresh libusual

12 years agoconfig.txt: hint that all timeouts can be specified as floats
Marko Kreen [Thu, 31 May 2012 17:47:13 +0000 (20:47 +0300)]
config.txt: hint that all timeouts can be specified as floats

During discussion with Keyur Govande we found out that all timeouts
can be specified as float since 1.4, except reserve_pool_timeout,
which works since 1.5.2.

Add a hints to documentation about that.

12 years agov1.5.2 pgbouncer_1_5_2
Marko Kreen [Tue, 29 May 2012 08:05:16 +0000 (11:05 +0300)]
v1.5.2

12 years agotest.sh: force /tmp as unix socket dir
Marko Kreen [Tue, 29 May 2012 20:11:10 +0000 (23:11 +0300)]
test.sh: force /tmp as unix socket dir

This allows to surive pgsql that defaults somewhere else.

Also change default path.

12 years agofaq: where should pgbouncer be installed?
Marko Kreen [Tue, 29 May 2012 08:59:54 +0000 (11:59 +0300)]
faq: where should pgbouncer be installed?

12 years agoProper fix for reserve_pool_timeout.
Marko Kreen [Mon, 28 May 2012 13:38:59 +0000 (16:38 +0300)]
Proper fix for reserve_pool_timeout.

12 years agofaq: how to map client connection to server connections
Marko Kreen [Mon, 28 May 2012 13:19:23 +0000 (16:19 +0300)]
faq: how to map client connection to server connections

12 years agoconfig.txt: fix invalid formattinc
Marko Kreen [Mon, 28 May 2012 10:22:02 +0000 (13:22 +0300)]
config.txt: fix invalid formattinc

12 years agofaq: add DNS RR to load-balancing question
Marko Kreen [Thu, 24 May 2012 17:16:56 +0000 (20:16 +0300)]
faq: add DNS RR to load-balancing question

12 years agoreserve_pool_timeout should be in seconds, not microseconds
Marko Kreen [Thu, 24 May 2012 16:37:56 +0000 (19:37 +0300)]
reserve_pool_timeout should be in seconds, not microseconds

It is mistakenly specified as CF_INT, instead of CF_USEC.

Noticed-By: Keyur Govande
12 years agov1.5.1 pgbouncer_1_5_1
Marko Kreen [Tue, 17 Apr 2012 13:05:42 +0000 (16:05 +0300)]
v1.5.1

12 years agoRefresh libusual
Marko Kreen [Tue, 17 Apr 2012 13:03:11 +0000 (16:03 +0300)]
Refresh libusual

- safeio: ignore EINTR on close()

12 years agoImprove sample ini file
Marko Kreen [Tue, 17 Apr 2012 12:54:08 +0000 (15:54 +0300)]
Improve sample ini file

- Use full paths for log and pidfile
- comment out console users
- comment out sample databases

12 years agoconfig.txt: Describe MD5 "encryption"
Marko Kreen [Wed, 28 Mar 2012 06:57:16 +0000 (09:57 +0300)]
config.txt: Describe MD5 "encryption"

12 years agodoc/makefile: fix doc pushing to web
Marko Kreen [Tue, 27 Mar 2012 21:09:57 +0000 (00:09 +0300)]
doc/makefile: fix doc pushing to web

12 years agoconfig.txt: Postgres does not use auth files anymore.
Marko Kreen [Tue, 27 Mar 2012 21:01:13 +0000 (00:01 +0300)]
config.txt: Postgres does not use auth files anymore.

Clarify documentation on the matter and hint how to
generate the file automatically.

12 years agoStop including html in source tarball, seems wrong. pgbouncer_1_5_1_rc1
Marko Kreen [Wed, 14 Mar 2012 13:01:32 +0000 (15:01 +0200)]
Stop including html in source tarball, seems wrong.

12 years agoFix find_modules filename
Marko Kreen [Wed, 14 Mar 2012 12:51:01 +0000 (14:51 +0200)]
Fix find_modules filename

12 years agov1.5.1rc1
Marko Kreen [Wed, 14 Mar 2012 12:34:03 +0000 (14:34 +0200)]
v1.5.1rc1

12 years agoRefresh libusual
Marko Kreen [Wed, 14 Mar 2012 12:32:55 +0000 (14:32 +0200)]
Refresh libusual

12 years agoIf connect string changes, refresh welcome parameters.
Marko Kreen [Wed, 14 Mar 2012 10:11:15 +0000 (12:11 +0200)]
If connect string changes, refresh welcome parameters.

This is mainly needed when new server is differenct version
of Postgres.  Previously PgBouncer kept reporting old
version which confuses clients.

It would be even better to detect version change without
the connect string change and without reload, but that
will require quite complex logic.  Lets use simple fix first.

12 years agoAdd 'tags' target to makefile
Marko Kreen [Wed, 14 Mar 2012 10:10:44 +0000 (12:10 +0200)]
Add 'tags' target to makefile

12 years agoautodb: drop old connections on config change
Marko Kreen [Tue, 13 Mar 2012 10:04:15 +0000 (12:04 +0200)]
autodb: drop old connections on config change

We already do it for regular databases, but autodb
needs different approach.

Reported-by: Maxim Boguk
12 years agoDocument stats_period
Marko Kreen [Sun, 26 Feb 2012 22:52:40 +0000 (00:52 +0200)]
Document stats_period

12 years agoNon-git-based dist files for libusual.
Marko Kreen [Fri, 10 Feb 2012 11:14:40 +0000 (13:14 +0200)]
Non-git-based dist files for libusual.

Need to move the spec into libusual proper.

12 years agounix_socket_mode / _name
Marko Kreen [Thu, 19 Jan 2012 11:26:57 +0000 (13:26 +0200)]
unix_socket_mode / _name

This mirrors similar parameters in Postgres config.

12 years agodoc: make manpages and html 'dist'
Marko Kreen [Thu, 19 Jan 2012 11:20:32 +0000 (13:20 +0200)]
doc: make manpages and html 'dist'

This stops cleaning them (thus pointless rebuilds)
and also includes in tarball.

12 years agorefresh libusual
Marko Kreen [Thu, 19 Jan 2012 11:20:14 +0000 (13:20 +0200)]
refresh libusual

12 years agovarcache: allow empty string for server-side variable.
Marko Kreen [Thu, 19 Jan 2012 09:58:36 +0000 (11:58 +0200)]
varcache: allow empty string for server-side variable.

Seems application_name is broken otherwise.

Reported-by: Tim Bunce