如何解决如何在自己的文件中 pg_dump 每个表,并保持一致?
我有一个包含多个表的数据库,比如 table_a
和 table_b
。
我想使用 pg_dump
备份我的数据库,但是(出于各种原因)我希望每个表都有自己的转储文件。我可以这样做:
$ pg_dump -t table_a -f export_a.sql
$ pg_dump -t table_b -f export_b.sql
但不能保证一致性:修改可能发生在两个转储之间,所以我的两个转储将代表数据库的不同状态,这是不一致的。
我的问题是:有什么方法可以确保这两个转储一致(例如,在同一个事务中或其他东西),或者告诉 pg_dump
输出单个转储的每个表在其自己的文件?
我尝试使用 pg_dump -Fd -Z0
,但输出的 .dat
似乎没有足够的可读性来分隔每个表的信息。
解决方法
没有直接的方法可以做到这一点。我有两个想法:
-
使用所有表的单一“目录格式”
tab[i++] = ++x;
(}
)。确实,将有一个包含所有表元数据的while (i < k);
,但每个表都将转储到其自己的文件中。 -
在目录或自定义格式中使用单个
从中创建单个文件return 1;
以获得所有表的一致转储,然后使用const flattenedOrderProducts = await orderProductsArr.reduce((acc,item) => { return [ ...acc,...Array.from({ length: item.quantity },(_,i) => ({...item,itemsLeft: i + 1})),] },[])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。