Top
Enterprise Postgres 18 for Kubernetes User's Guide

2.3 Design Perspective for Each Feature

This section describes the design of each feature.

postgresql-cfg format

A postgresql-cfg represent ConfigMap for containing postgresql parameters. The file is used to contain the parameters which need to be reflected in postgresql.conf of the instance. Since patroni ignores all parameters which are not known by OSS postgresql.conf, an approach is defined to treat FEP Parameters in a special way.

The content of the ConfigMap is defined by key=value format. The following table shows the detail:

Spec

Example

Comment

The content may have multiple key/value pairs

foo=bar

foo1=bar1

-

The value cannot have space unless quoted.

foo=bar bar2

Invalid

The quoted value cannot have another value after

foo='bar bar2' something

Invalid

The key value pair must have a '=' sign

-

-

White spaces are allowed before/after/between the key value pair

foo = bar

-

Any content after '#' will be ignored

# this is a comment

foo=bar #this is a comment

-

The value may be quoted by single quotes

foo='bar bar2'

-

Single quote can be escaped by two single quotes

foo='It''s ok'

Note: single quotes are not supported by Patroni edit-config command

Backslash '\' will be replaced by '\\' when invoking patronictl edit-config command

-

To avoid command line escape

When a key value pair is invalid, it will be ignored. the update continue to process next pair

foobar

foo2=bar2

The 'foobar' will be ignored

The container script does not validate the key and value as long as they are in correct format.

-

-

It is recommended to use the psql's show command to verify parameter is setting correctly.