Postgresql CircleCI 2.0中的多个Posgres数据库

Postgresql CircleCI 2.0中的多个Posgres数据库,postgresql,circleci,circleci-2.0,Postgresql,Circleci,Circleci 2.0,如何让我的Postgres图像创建多个数据库?例如,我想做这样的事情: - image: circleci/postgres:9.6.7-alpine environment: POSTGRES_USER: user POSTGRES_PASSWORD: password POSTGRES_DB: db_test POSTGRES_DB: db_special 有办法做到这一点吗?如果没有,我该如何创建第二个数据库,并使用与第一个数据库相

如何让我的Postgres图像创建多个数据库?例如,我想做这样的事情:

- image: circleci/postgres:9.6.7-alpine
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: db_test
      POSTGRES_DB: db_special
有办法做到这一点吗?如果没有,我该如何创建第二个数据库,并使用与第一个数据库相同的角色?

免责声明:CircleCI的开发者拥护者

我给你三个选择

  • 自己扩展PostgreSQL Docker映像,并让它创建默认情况下所需的其他数据库
  • 通过应用程序(应该只有一行SQL)或使用PostgreSQL CLI(需要在容器中安装)动态创建其他数据库
  • 同时使用两个或多个PostgreSQL容器,每个数据库一个。然后还需要更改其中一个的默认主机名。第一个位于
    localhost
    ,第二个位于您设置的名称
  • 下面是#3的一个例子:


    选项2看起来最简单:
    psql-c“使用模板db\u特殊所有者用户创建数据库db\u测试;”
    我最后选择了第二个选项-工作得很好。太好了。听到这个消息我很高兴。
    - image: circleci/my-main-image:latest
    - image: circleci/postgres:9.6.7-alpine
        environment:
          POSTGRES_USER: user
          POSTGRES_PASSWORD: password
          POSTGRES_DB: db_test
    - image: circleci/postgres:9.6.7-alpine
        name: pg2
        environment:
          POSTGRES_USER: user
          POSTGRES_PASSWORD: password
          POSTGRES_DB: db_special