A PostgreSQL configuration CR represent the configuration of a specific PostgreSQL major version.
Have a look at postgresqlco.nf to help you tune and optimize your PostgreSQL configuration.
Kind: SGPostgresConfig
listKind: SGPostgresConfigList
plural: sgpgconfigs
singular: sgpgconfig
Spec
| Property | Required | Updatable | Type | Default | Description | 
|---|---|---|---|---|---|
| postgresVersion | string | 12 | The major Postgres version the configuration is for. Postgres major versions contain one number starting with version 10 ( Note that Postgres maintains full compatibility across minor versions, and hence a configuration for a given major version will work for any minor version of that same major version. Check StackGres component versions to see the Postgres versions supported by this version of StackGres. | ||
| postgresql.conf | ✓ | object | see below | The  postgresql.confparameters the configuration contains, represented as an object where the keys are valid names for thepostgresql.confconfiguration file parameters of the givenpostgresVersion. You may check postgresqlco.nf as a reference on how to tune and find the valid parameters for a given major version. | 
Default value of postgresql.conf property:
checkpoint_completion_target: "0.9"
checkpoint_timeout: 15min
default_statistics_target: "250"
extra_float_digits: "1"
huge_pages: "off"
lc_messages: C
random_page_cost: "2.0"
shared_preload_libraries: pg_stat_statements
track_activity_query_size: "2048"
track_functions: pl
track_io_timing: "on"
wal_compression: "on"
Example:
apiVersion: stackgres.io/v1
kind: SGPostgresConfig
metadata:
  name: postgresconf
spec:
  postgresVersion: "11"
  postgresql.conf:
    password_encryption: 'scram-sha-256'
    random_page_cost: '1.5'
    shared_buffers: '256MB'
    wal_compression: 'on'
To guarantee a functional postgres configuration some of the parameters specified in postgres configuration documentation have been added to the blocklisted and will be ignored. The parameters that will be ignored are:
| blocklisted parameters | 
|---|
| listen_addresses | 
| port | 
| cluster_name | 
| hot_standby | 
| fsync | 
| full_page_writes | 
| log_destination | 
| logging_collector | 
| max_replication_slots | 
| max_wal_senders | 
| wal_keep_segments | 
| wal_level | 
| wal_log_hints | 
| archive_mode | 
| archive_command |