Skip to content

Patroni dynamicConfiguration not working properly #3194

Closed
@alepefe95

Description

@alepefe95

Hello guys,

I was exploring the possibility of using your new 5.1.0 postgres-operator as the old version 4.7.5 is no longer working on a k8s v1.22.9 due to a custom resource definition error.

One of our project's requirement is to use the postgres 14 citus preloaded library.
*The citus library need to be the first of the directive shared_preload_libraries in the postgres configuration file.

In order to achieve my goal, I forked your repo postgres-operator-examples and modify you postgres.yaml resource definition.

apiVersion: postgres-operator.crunchydata.com/v1beta1
kind: PostgresCluster
...
spec:
....
  patroni:
    dynamicConfiguration:
      postgresql:
        # custom_conf : /opt/custom-postgresql.conf
        parameters:
          shared_preload_libraries: citus,pgaudit,pg_stat_statements,pgnodemx
          shared_buffers: 256MB

After applying the new configuration postgres doesnt boot as the citus extension was not the first library loaded.
The problem is that the value of
shared_preload_libraries: citus,pgaudit,pg_stat_statements,pgnodemx

what really does is concatenate pgaudit plus your custom value, the result is:

shared_preload_libraries = pgaudit, citus,pgaudit,pg_stat_statements,pgnodemx
Thats why the postgres server boot fails.

I also tried defining a custom postgres configuration custom_conf : /opt/custom-postgresql.conf but It didnt work either.

Is there any way to solve this problem?

Thank you,
Alepefe

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions