添加数据库示例-Postgresql

添加数据库示例-Postgresql,postgresql,archive,utilities,Postgresql,Archive,Utilities,我们有一个半大型数据库,需要很长时间才能在单个开发机器上本地导入。我想知道是否有任何工具可以连接到数据库,进行一些分析并提取数据库样本,同时通过传入的参数保留所有关系。类似于pg_示例——粗略的_大小1000——dbhost mydbhost——dbuname uname——dbpword pword 这将创建一个转储,我可以将其导入数据库进行测试和开发。但不会花45分钟 谢谢我建议您调查pg_dump--format=custom和pg_restore-j 12。自定义格式允许并行恢复(如果需

我们有一个半大型数据库,需要很长时间才能在单个开发机器上本地导入。我想知道是否有任何工具可以连接到数据库,进行一些分析并提取数据库样本,同时通过传入的参数保留所有关系。类似于pg_示例——粗略的_大小1000——dbhost mydbhost——dbuname uname——dbpword pword 这将创建一个转储,我可以将其导入数据库进行测试和开发。但不会花45分钟


谢谢

我建议您调查
pg_dump--format=custom
pg_restore-j 12
自定义
格式允许并行恢复(如果需要,可以转储到原始SQL中,这样您就不会失去任何功能)。
pg_restore
-j
参数使其并行运行还原。这可以大大加快速度。特别是如果你把你的维护工作做得又好又大

它无法直接解决您所问的问题,因为上面Erwin概述了这些原因,并且因为它需要一定程度的知识,了解哪些内容是重要的,哪些内容不是,哪些内容根本不在模式中。这会占用开发人员的时间,通常应该在构建模式的同时完成。

我编写了这样一个工具:

自述文件:

pg_sample是一个实用程序,用于从 更大的PostgreSQL数据库。输出和命令行选项 与pg_转储备份实用程序非常相似(尽管只有 支持纯文本格式)

生成的示例数据库包括原始数据库中的所有表, 保持引用完整性,并支持循环依赖关系


在保持引用完整性的同时,这将是一项困难的任务。想象一个1:n关系,其中表
a
中的一行引用了表
b
中的5000行……我同意,应该是这样的。这就是为什么我希望它已经写好了但是,如果您也可以提供一些基类作为开始,并将记录计数小于粗略大小值的表中的所有内容都包含在内,我会喜欢这样的工具。我可以做梦…相信你,我会调查并带回一些数据。