sql >> Base de Datos >  >> RDS >> PostgreSQL

La base de datos de Postgres que se ejecuta en la ventana acoplable sigue colgando

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