postgresql - CircleCI 2.0 中的多个 Postgres 数据库

标签 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

有没有办法做到这一点?如果没有,我该如何着手创建与第一个数据库具有相同角色的第二个数据库?

最佳答案

免责声明:CircleCI 的开发者倡导者

我看到了三个选项。

  1. 自行扩展 PostgreSQL Docker 镜像,并让它默认创建您需要的额外数据库。
  2. 通过您的应用程序(应该只是一个 SQL 行)或使用 PostgreSQL CLI(您需要将其安装在容器中)即时创建其他数据库。
  3. 同时使用两个或多个 PostgreSQL 容器,每个数据库一个。然后您还需要更改其中之一的默认主机名。第一个位于 localhost,第二个位于您设置的名称。

这是#3 的示例:

- 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

关于postgresql - CircleCI 2.0 中的多个 Postgres 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50956650/

相关文章:

sql - 如果我有用户列,如何将 SQL CREATE TABLE 与 PostgreSQL 和 MySQL 一起使用?

postgresql - 将 Power BI 服务连接到 Azure 上的 PostgreSQL 数据库

postgresql - 如何在 PgAdmin、sql 中使用顺序和组更改行顺序?

testing - CircleCi *配置构建*找不到提交

circleci - 与 CircleCI 并行运行 4 个以上的作业

gradle - 如何解决 CIrcleCI 上的 gradlew ./assembleRelease 上未设置 $TERM 的问题?

java - JOOQ json 绑定(bind)问题

java - CircleCI + Gradle + Heroku 部署

bash - 由于未安装 "hstore"Postgres 扩展,CircleCI 测试失败

circleci - 使用多个 JDK 运行 CircleCI 2.0 构建