O problema era que havia uma declaração VOLUME para
/var/lib/postgresql/data
em postgres:9.6
Dockerfile que causou montagem adicional no contêiner. Essa montagem era efêmera quando tínhamos a montagem do volume em /var/lib/postgresql
. Mas não conseguimos montar o volume AKS em /var/lib/postgresql/data
porque o volume veio com lost+found
subdiretório e o Postgres espera um diretório vazio para armazenar arquivos de banco de dados. A correção foi montar o volume em
/var/lib/postgresql/data
e diga ao Postgres para usar um subdiretório abaixo de /var/lib/postgresql/data
para armazenar arquivos com PGDATA
env var. Abaixo estão as partes relevantes da correção na configuração statefulset do k8s
env:
- name: PGDATA
value: "/var/lib/postgresql/data/dbfiles"
...
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: timescaledata