Postgres Not Running

PostgresNotRunning #

Meaning #

Patroni is unable to properly start a ProgreSQL instance. This can originate form a bad update, database inconsistency or misconfiguration.

The Pod readiness status does not necessarily reflect this status correctly.

Impact #

One or more members of the ProgreSQL cluster are not operational. They can not function as read or writable member and might cause other issues in the database cluster.

Diagnosis #

Find current spilo Pods:

kubectl get pods --selector application=spilo

Check member list (replace ${postgres_pod?} with a Pod from above):

kubectl exec -it ${postgres_pod?} -- patronictl list

Check pod logs (replace ${postgres_pod?} with a relevant Pod from above):

kubectl logs ${postgres_pod?}

Mitigation #

If the error originates from a major version misconfiguration, rollback the version update and make sure major version updates are enabled in the postgres-operator configuration.