【发布时间】:2017-10-06 05:37:57
【问题描述】:
包括 Postgres 数据库在内的许多集成测试建议说我可以initdb RAM 磁盘中的一个新的整个集群并对其进行处理。
据我了解initdb 是一个新文件夹,类似于与数据库相关的东西。
根据 Postgres 文档:
initdb创建一个新的 PostgreSQL 数据库集群。数据库集群是由单个服务器实例管理的数据库集合。
它会创建一个新服务器吗?还是新的数据库?
创建数据库集群包括创建数据库数据所在的目录、生成共享目录表(属于整个集群而不是任何特定数据库的表),以及创建 template1 和 Postgres 数据库。稍后创建新数据库时,会复制 template1 数据库中的所有内容。 (因此,安装在 template1 中的任何内容都会自动复制到以后创建的每个数据库中。)Postgres 数据库是供用户、实用程序和第三方应用程序使用的默认数据库。
上面这句话是否意味着从现在开始,无论创建什么数据库,它都将存储在那个新的“集群”中?如果不是如何在这样的 RAM 磁盘集群中创建表?
我如何使用它来设置它以进行测试?
【问题讨论】:
-
恐怕我无法回答您的问题,但您是否考虑过使用 PostGres 的 Docker 实例进行集成测试?我在这方面取得了巨大的成功,我认为它不会比 initdb 方法更有效
标签: postgresql integration-testing ramdisk