Как дать пользователю Postgres привилегию суперпользователя через docker-compose? - PullRequest
1 голос
/ 22 мая 2019

Это мой раздел docker-compose для контейнера postgres. Эти настройки хороши, но мое приложение django требует, чтобы этот пользователь имел привилегии суперпользователя с помощью этой команды в postgresql.

ALTER ROLE project_admin SUPERUSER;

Как это можно разместить внутри этого файла docker-compose?

 db:
  image: postgres:latest
  container_name: project-db
  environment:
   - POSTGRES_USER='project_admin'
   - POSTGRES_PASS='projectpass'
   - POSTGRES_DB='project'

1 Ответ

2 голосов
/ 22 мая 2019

Вам нужно сохранить команду как скрипт, скажем ./scripts/01_users.sql:

ALTER ROLE project_admin SUPERUSER;

Тогда ваш docker-compose:

...
 db:
  image: postgres:latest
  container_name: project-db
  environment:
   - POSTGRES_USER='project_admin'
   - POSTGRES_PASS='projectpass'
   - POSTGRES_DB='project'
  volumes:
   - ./scripts/:/docker-entrypoint-initdb.d/

Это запустит скрипт при запуске и изменит права вашего пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...