Появилось желание попробовать PgBouncer. Но не могу уловить что у него с пользователями.
Раньше завести пользователя можно было в текстовом файле, но «Since PostgreSQL 9.0, the text files are not used anymore. Thus the auth file needs to be generated. See ./etc/mkauth.py for sample script to generate auth file from pg_shadow table.» Хорошо, попробуем:
# ./mkauth.py "/etc/pgbouncer/password.txt" "dbname='template1' user='someuser' host='127.0.0.1' port='6432' password='password'"
Traceback (most recent call last):
File "./mkauth.py", line 17, in <module>
db = psycopg2.connect(sys.argv[2])
File "/usr/lib64/python2.7/site-packages/psycopg2/__init__.py", line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: ERROR: No such database: template1
Изменим конфигурацию:
# ./mkauth.py "/etc/pgbouncer/password.txt" "dbname='template1' user='someuser' host='127.0.0.1' port='6432' password='password'"
Traceback (most recent call last):
File "./mkauth.py", line 17, in <module>
db = psycopg2.connect(sys.argv[2])
File "/usr/lib64/python2.7/site-packages/psycopg2/__init__.py", line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: ERROR: no pg_hba.conf entry for host "192.168.192.168", user "someuser", database "template1", SSL off
Хорошо, попробуем такого пользователя, который есть в pg_hba.conf
# ./mkauth.py "/etc/pgbouncer/password.txt" "dbname='database' user='dbuser' host='127.0.0.1' port='6432' password='password'"
Traceback (most recent call last):
File "./mkauth.py", line 17, in <module>
db = psycopg2.connect(sys.argv[2])
File "/usr/lib64/python2.7/site-packages/psycopg2/__init__.py", line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: ERROR: No such user: dbuser
Как его правильно попросить завести пользователя?