Esto sucede debido a una discrepancia de permisos de usuario en el contenedor acoplable.
Listado de archivos relevantes en el contenedor:
$ docker exec <container> ls -l /var/lib/postgresql/data/pg_stat_tmp
-rw------- 1 root root [...] db_0.stat
-rw------- 1 root root [...] db_1.stat
-rw------- 1 root root [...] db_2.stat
-rw------- 1 postgres postgres [...] global.stat
podemos ver que todos los db_*.stat
los archivos son propiedad de root:root
, mientras que global.stat
es propiedad de postgres:postgres
.
Verificar el usuario de la ventana acoplable nos da:
$ docker exec <container> whoami
root
Por lo tanto, nos gustaría que todos estos archivos fueran propiedad del usuario de postgres. Afortunadamente, ¡esto es bastante fácil! Simplemente configure el usuario en postgres
y reinicia!
En un archivo docker:
USER postgres
Usando docker-compose:
services:
postgres:
image: postgres:13
user: postgres