[server] Make connection pooler configurable and set better default values
Drop the configuration connections-pool-size and add new configurations options:
* connections-pool-min-size. Set to 0 by default so we open connections only
when needed. This avoid opening min-size*processes connections at startup,
which is, it think, a good default.
* connections-pool-max-size. Set to 0 (unlimited) by default, so we move the
bottleneck to postgresql.
* connections-idle-timeout. Set to 10 minutes. I don't have arguments about
this except that this is the default in pgbouncer.
from __future__ import print_function
from logilab.common.shellutils import generate_password
from cubicweb.server.utils import crypt_password
for user in rql('CWUser U WHERE U cw_source S, S name "system", U upassword P, U login L').entities():
salt = user.upassword.getvalue()
if crypt_password('', salt) == salt:
passwd = generate_password()
print('setting random password for user %s' % user.login)
user.set_attributes(upassword=passwd)
commit()