简体   繁体   English

如何通过docker-compose给Postgres用户SuperUser优先?

[英]How to Give A Postgres User SuperUser Previllege Through docker-compose?

This is my docker-compose file section for postgres container. 这是我的postgres容器的docker-compose文件部分。 These settings are fine, but my django app requires this user to have superuser previlleges through this command inside postgresql. 这些设置很好,但是我的django应用要求该用户通过postgresql中的此命令具有超级用户权限。

ALTER ROLE project_admin SUPERUSER;

How can this be accomodated inside this docker-compose file? 如何在此docker-compose文件中容纳此文件?

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

You need to save your command as a script say ./scripts/01_users.sql : 您需要将命令另存为脚本,例如./scripts/01_users.sql

ALTER ROLE project_admin SUPERUSER;

Then your 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/

This will run the script at startup and alter your user's privileges. 这将在启动时运行脚本并更改用户的权限。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM