Kind: SGPoolingConfig
listKind: SGPoolingConfigList
plural: sgpoolconfigs
singular: sgpoolconfig
shortNames sgpoc
The SGPoolingConfig custom resource represents the configuration of the connection pooling, in particular of PgBouncer.
Example:
apiVersion: stackgres.io/v1
kind: SGPoolingConfig
metadata:
name: pgbouncerconf
spec:
pgBouncer:
pgbouncer.ini:
pgbouncer:
max_client_conn: '2000'
default_pool_size: '50'
databases:
foodb:
max_db_connections: 1000
pool_size: 20
dbname: 'bardb'
reserve_pool: 5
users:
user1:
pool_mode: transaction
max_user_connections: 50
user2:
pool_mode: session
max_user_connections: '100'
See also Coonection Pooling Configuration section.
Property |
Description |
|---|---|
| apiVersion string |
stackgres.io/v1
Constraints: required, immutable |
| kind string |
SGPoolingConfig
Constraints: required, immutable |
| metadata object |
Refer to the Kubernetes API documentation for the fields of the
metadata field.Constraints: required, updatable |
| spec object |
Constraints: required, updatable |
| status object |
Constraints: optional, updatable |
Property |
Description |
|---|---|
| pgBouncer object |
Connection pooling configuration based on PgBouncer.
Constraints: optional, updatable |
Connection pooling configuration based on PgBouncer.
Property |
Description |
|---|---|
| pgbouncer.ini object |
The Check pgbouncer configuration for more information about supported parameters. Constraints: optional, updatable |
The pgbouncer.ini parameters the configuration contains, represented as an object where the keys are valid names for the pgbouncer.ini configuration file parameters.
Check pgbouncer configuration for more information about supported parameters.
Property |
Description |
|---|---|
| databases map[string]map[string]string |
The Check pgbouncer configuration for more information about supported parameters. Constraints: optional, updatable |
| pgbouncer map[string]string |
The Check pgbouncer configuration for more information about supported parameters Constraints: optional, updatable |
| users map[string]map[string]string |
The Check pgbouncer configuration for more information about supported parameters. Constraints: optional, updatable |
Property |
Description |
|---|---|
| pgBouncer object |
Connection pooling configuration status based on PgBouncer.
Constraints: optional, updatable |
Connection pooling configuration status based on PgBouncer.
Property |
Description |
|---|---|
| defaultParameters map[string]string |
The
pgbouncer.ini default parameters which are used if not set.Constraints: required, updatable |
These are the default values of the pgbouncer.ini property:
admin_users: "postgres",
application_name_add_host: "1",
auth_query: "SELECT usename, passwd FROM pg_shadow WHERE usename=$1",
auth_type: "md5",
auth_user: "authenticator",
default_pool_size: "50",
ignore_startup_parameters: "extra_float_digits",
listen_addr: "127.0.0.1",
max_client_conn: "200",
max_db_connections: "0",
max_user_connections: "0",
pool_mode: "transaction",
stats_users: "postgres"
To guarantee a functional PgBouncer configuration, most of the parameters specified in the PgBouncer configuration documentation for section pgbouncer are not allowed to be changed.
If these are specified in the CR configuration, they will be ignored and the default values will be used instead.
The immutable PgBouncer parameters are:
| Immutable Parameters |
|---|
| admin_users |
| application_name_add_host |
| auth_file |
| auth_hba_file |
| auth_query |
| auth_type |
| auth_user |
| client_tls_ca_file |
| client_tls_cert_file |
| client_tls_ciphers |
| client_tls_dheparams |
| client_tls_ecdhcurve |
| client_tls_key_file |
| client_tls_protocols |
| client_tls_sslmode |
| conffile |
| disable_pqexec |
| dns_max_ttl |
| dns_nxdomain_ttl |
| dns_zone_check_period |
| listen_addr |
| listen_backlog |
| listen_port |
| logfile |
| pidfile |
| server_check_delay |
| server_check_query |
| server_fast_close |
| server_lifetime |
| server_round_robin |
| server_tls_ca_file |
| server_tls_cert_file |
| server_tls_ciphers |
| server_tls_key_file |
| server_tls_protocols |
| server_tls_sslmode |
| stats_period |
| stats_users |
| syslog |
| syslog_facility |
| syslog_ident |
| tcp_defer_accept |
| tcp_keepalive |
| tcp_keepcnt |
| tcp_keepidle |
| tcp_keepintvl |
| tcp_socket_buffer |
| unix_socket_dir |
| unix_socket_group |
| unix_socket_mode |
| user |
| verbose |