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 | Required | Updatable | May Require Restart | Type | Description |
---|---|---|---|---|---|
apiVersion | ✓ | string | stackgres.io/v1 | ||
kind | ✓ | string | SGPoolingConfig | ||
metadata | ✓ | ✓ | object | Refer to the Kubernetes API documentation for the fields of the metadata field. | |
spec | ✓ | ✓ | object | | |
status | ✓ | object | |
Property | Required | Updatable | May Require Restart | Type | Description |
---|---|---|---|---|---|
pgBouncer | ✓ | object | Connection pooling configuration based on PgBouncer. |
Connection pooling configuration based on PgBouncer.
Property | Required | Updatable | May Require Restart | Type | Description |
---|---|---|---|---|---|
pgbouncer.ini | ✓ | object | 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. |
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 | Required | Updatable | May Require Restart | Type | Description |
---|---|---|---|---|---|
databases | ✓ | map[string]map[string]string | The pgbouncer.ini (Section [databases]) 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. | ||
pgbouncer | ✓ | map[string]string | The pgbouncer.ini (Section [pgbouncer]) 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 | ||
users | ✓ | map[string]map[string]string | The pgbouncer.ini (Section [users]) 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 | Required | Updatable | May Require Restart | Type | Description |
---|---|---|---|---|---|
pgBouncer | ✓ | object | Connection pooling configuration status based on PgBouncer. |
Connection pooling configuration status based on PgBouncer.
Property | Required | Updatable | May Require Restart | Type | Description |
---|---|---|---|---|---|
defaultParameters | ✓ | ✓ | map[string]string | The pgbouncer.ini default parameters parameters which are used if not set. |
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 |