我们每晚都会为我们的生产数据库创建一个“自定义”格式 (-Fc) 转储文件。它的用途之一是恢复到测试数据库。然后我们运行一些更新查询来匿名数据,但由于有数百万行,这是一项相当耗时的任务。
我的想法是,如果我们使用“目录”格式 (-Fd) 转储,那么我可以运行一些脚本来直接修改该转储中的数据。然后,我们只需在一个步骤中恢复匿名数据,而不是两步(pg_restore+updates)。
但是,我仍然需要自定义转储文件来输入其他进程,并且如果可能的话,我更愿意避免转储两次。所以我想知道是否可以采用自定义格式转储文件并将其转换为目录格式转储。
不,那是不可能的。但是与目录格式转储相比,自定义格式转储没有优势(除了后者不是单个文件),因此您可能只使用目录格式转储。你会
pg_dump
在讨价还价中获得平行。