Preguntas sobre la ejecución de postgres como Docker Container. 1. Zona horaria, 2. global.stat

Preguntas sobre la ejecución de postgres como Docker Container. 1. Zona horaria, 2. global.stat

He estado ejecutando postgres como contenedor Docker durante bastante tiempo. Inicialmente, TZ y PGTZ no estaban configurados, por lo que creo que el valor predeterminado era UTC. En mi sistema de desarrollo probé lo siguiente en docker-compose.yml:

  postgres:
    image: postgres:13
    ports: ["5557:5432"]
    restart: unless-stopped
    volumes:
       - ./Index:/var/lib/postgresql/data
    environment:
       TZ: "America/Cayman"
       PGTZ: "America/Cayman"
       POSTGRES_PASSWORD: "postgres"

y eso parece hacer el ajuste a la zona horaria local. No lo he implementado en un sistema activo porque me pregunto si eso arruinará algo con respecto al historial de transacciones de la base de datos y los archivos de registro, etc. La integridad de la base de datos está bien ahora y tengo una copia de seguridad que se remonta bastante tiempo atrás. No estoy seguro de que sea realmente necesario configurar la zona horaria, pero es bueno tener todos los contenedores configurados en la zona local en lugar de UTC.

El otro problema no está relacionado y se menciona aquí: ADVERTENCIA: no se pudo abrir el archivo de estadísticas "pg_stat_tmp/global.stat": operación no permitida

Brevemente:

Ese índice de base de datos está asignado a una carpeta en el host en la raíz del paquete Docker, y todo lo demás parece funcionar bien en lo que respecta a la base de datos. Estoy usando una Mac, pero si enumero el permiso de CLI para la carpeta DB, obtengo:

-rw-------@  1 sscotti  staff      3 Feb 22 11:01 PG_VERSION
drwx------@  6 sscotti  staff    192 Feb 22 11:54 base
drwx------@ 60 sscotti  staff   1920 Feb 22 16:00 global
drwx------@  2 sscotti  staff     64 Feb 22 11:01 pg_commit_ts
drwx------@  2 sscotti  staff     64 Feb 22 11:01 pg_dynshmem
-rw-------@  1 sscotti  staff   4782 Feb 22 11:02 pg_hba.conf
-rw-------@  1 sscotti  staff   1636 Feb 22 11:01 pg_ident.conf
drwx------@  5 sscotti  staff    160 Feb 22 17:46 pg_logical
drwx------@  4 sscotti  staff    128 Feb 22 11:01 pg_multixact
drwx------@  2 sscotti  staff     64 Feb 22 11:01 pg_notify
drwx------@  2 sscotti  staff     64 Feb 22 11:01 pg_replslot
drwx------@  2 sscotti  staff     64 Feb 22 11:01 pg_serial
drwx------@  2 sscotti  staff     64 Feb 22 11:01 pg_snapshots
drwx------@  2 sscotti  staff     64 Feb 22 16:00 pg_stat
drwx------@  5 sscotti  staff    160 Feb 22 17:50 pg_stat_tmp
drwx------@  3 sscotti  staff     96 Feb 22 11:01 pg_subtrans
drwx------@  2 sscotti  staff     64 Feb 22 11:01 pg_tblspc
drwx------@  2 sscotti  staff     64 Feb 22 11:01 pg_twophase
drwx------@  4 sscotti  staff    128 Feb 22 11:01 pg_wal
drwx------@  3 sscotti  staff     96 Feb 22 11:01 pg_xact
-rw-------@  1 sscotti  staff     88 Feb 22 11:01 postgresql.auto.conf
-rw-------@  1 sscotti  staff  28073 Feb 22 11:01 postgresql.conf
-rw-------@  1 sscotti  staff     36 Feb 22 16:00 postmaster.opts
-rw-------   1 sscotti  staff     94 Feb 22 16:00 postmaster.pid

pg_stat folder is actually empty.

and pg_stat_temp has:

-rw-------  1 sscotti  staff   1952 Feb 22 17:54 db_0.stat
-rw-------  1 sscotti  staff  20360 Feb 22 17:54 db_13395.stat
-rw-------  1 sscotti  staff   1151 Feb 22 17:54 global.stat

El problema parece ser que los archivos de base de datos están vinculados a una carpeta local en el host en lugar de a un volumen Docker. Es mucho más conveniente tenerlo vinculado a una carpeta local de fácil acceso desde el host, pero creo que hay algunos problemas de permisos relacionados con eso. De hecho, es posible que desee cambiar a un volumen, pero el volumen aún tiene que ser persistente y tener una copia de seguridad fácil en un NAS local o en un servicio de nube que usemos para la copia de seguridad.

Con Docker Desktop para MacOS, parece haber un pequeño impacto en el rendimiento al usar carpetas vinculadas en lugar de volúmenes, pero en LINUX no parece causar un problema, aunque la advertencia de "archivo de estadísticas" también aparece allí.

Gracias.

información relacionada