这是我的postgres容器的docker-compose文件部分。这些设置很好,但是我的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'
答案 0 :(得分:2)
您需要将命令另存为脚本,例如./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/
这将在启动时运行脚本并更改用户的权限。