ansible-roles/pgbouncer/README.md

58 lines
1.7 KiB
Markdown
Raw Permalink Normal View History

2023-03-16 17:14:16 +01:00
# PgBouncer
Installation and basic configuration of PgBouncer.
## Tasks
Everything is in the `tasks/main.yml` file.
## Available variables
Main variables are :
* `pgbouncer_listen_addr`: the listen IP for PgBouncer (default: `127.0.0.1`),
* `pgbouncer_listen_port`: the listen post for PgBouncer (default: `6432`),
* `pgbouncer_databases`: the databases that clients of PgBouncer can connect to,
* `pgbouncer_account_list`: the accounts that clients of PgBouncer can connect to.
* `pgbouncer_auth_type`: the variable `auth_type` define by default to `scram-sha-256`, if you installed PgBouncer on PostgreSQL version inferior to 14, set this variable to `md5`.
2023-03-16 17:14:16 +01:00
The variable `pgbouncer_databases` must have the `name`, `host` and `port` attributes. The variable can be defined like this:
```
pgbouncer_databases:
- { name: "db1", host: "192.168.3.14", port: "5432" }
- { name: "*", host: "192.168.2.71", port: "5432" }
```
The variable `pgbouncer_account_list` must have the `name` and `hash` attributes. The variable can be defined like this:
```
pgbouncer_account_list:
- { name: "account1", hash: "<hash>" }
- { name: "account2", hash: "<hash>" }
```
2023-06-01 09:43:20 +02:00
The value of `hash` can be obtained by running this command on the PostgreSQL server:
2023-03-16 17:14:16 +01:00
2023-06-01 09:43:20 +02:00
```
select passwd from pg_shadow where usename='account1';
```
> These accounts must exist on the PostgreSQL server.
2023-03-16 17:14:16 +01:00
The variables `pgbouncer_admin_users` and `pgbouncer_stats_users` list the SQL user can be access on pgbouncer console. This variables can be defines like this :
```
pgbouncer_admin_users:
- account1
- account2
```
```
pgbouncer_stats_users:
- account1
- account2
```
2023-03-16 17:14:16 +01:00
The full list of variables (with default values) can be found in `defaults/main.yml`.