PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

kubernetes timescaledb statefulset:alterações perdidas na recriação do pod


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