【问题标题】:How to Give A Postgres User SuperUser Previllege Through docker-compose?如何通过 docker-compose 给 Postgres 用户 SuperUser Previllege?
【发布时间】:2019-10-08 12:49:45
【问题描述】:

这是我用于 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'

【问题讨论】:

    标签: django postgresql docker superuser


    【解决方案1】:

    您需要将命令保存为脚本,例如 ./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/
    

    这将在启动时运行脚本并更改您用户的权限。

    【讨论】:

    • 谢谢米海,还有一件事。我需要在这个脚本上打开可执行位还是它会运行?
    • 它是 .sql,所以它仍然可以运行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    • 2021-01-24
    • 1970-01-01
    • 2020-11-08
    • 2022-08-04
    • 1970-01-01
    • 2022-10-16
    相关资源
    最近更新 更多