apiVersion: postgresql.cnpg.io/v1 kind: Cluster metadata: name: prole-db spec: instances: 3 imageName: prole-db:17.7-037 postgresUID: 100 postgresGID: 101 maxSyncReplicas: 1 postgresql: parameters: shared_buffers: 256MB pg_stat_statements.max: '10000' pg_stat_statements.track: all shared_preload_libraries: - pg_stat_statements - pg_tde pg_hba: # allow password access from remote hosts if environment is "#dev" - local all postgres trust - host all postgres all scram-sha-256 - host prole prole-db all scram-sha-256 - host all all all scram-sha-256 - hostssl prole prole-db all scram-sha-256 - host all all all gss include_realm=1 krb_realm=EXAMPLE.COM bootstrap: initdb: database: prole-db owner: prole localeCollate: 'en_US.utf8' localeCType: 'en_US.utf8' secret: name: prole-db-user postInitTemplateSQL: - CREATE EXTENSION IF NOT EXISTS pg_stat_statements; postInitSQL: - CREATE EXTENSION IF NOT EXISTS pg_tde; - CREATE EXTENSION IF NOT EXISTS pgcrypto; - GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO prole; - CREATE EXTENSION IF NOT EXISTS postgis; - CREATE EXTENSION IF NOT EXISTS postgis_topology; - CREATE EXTENSION IF NOT EXISTS postgis_tiger_geocoder; - CREATE EXTENSION IF NOT EXISTS vector; - CREATE EXTENSION IF NOT EXISTS tds_fdw; - GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO prole; - GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA topology TO prole; - GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA tiger TO prole; enableSuperuserAccess: true storage: size: 1Gi # pvcTemplate: # accessModes: # - ReadWriteOnce # resources: # requests: # storage: 1Gi # storageClassName: synology-nfs-storage # volumeMode: Filesystem walStorage: size: 1Gi monitoring: enablePodMonitor: true # managed rw service managed: services: additional: - selectorType: rw serviceTemplate: metadata: name: "prole-db-001" labels: test-label: "true" annotations: test-annotation: "true" prometheus.io/scrape: "true" prometheus.io/port: "9187" prometheus.io/path: "/metrics" spec: type: LoadBalancer