如何将多个 Postgres 数据库转储合并到一个数据库中?
How can I combine multiple Postgres database dumps into a single database?
我有来自不同来源的 ~100 个 Postgres .dump
。它们都具有相同的模式,只有一个表,以及几百到几十万行。然而,数据是在不同地点收集的,现在需要全部合并。
所以我想将所有数据库中的所有行合并到一个数据库中,忽略 ID 键。这样做的体面方法是什么?我将来可能会从更多来源收集更多数据,所以这可能是我需要重复的过程。
如果需要,使用 pg_restore 将转储转换为 SQL。
运行 SQL 转储槽
sed '/^COPY .* FROM stdin;$/,/^\.$/ p;d'
因为您的数据中只有一个 table 可以为您提供加载数据所需的复制命令,将其发送到您的数据库以加载数据。
我有来自不同来源的 ~100 个 Postgres .dump
。它们都具有相同的模式,只有一个表,以及几百到几十万行。然而,数据是在不同地点收集的,现在需要全部合并。
所以我想将所有数据库中的所有行合并到一个数据库中,忽略 ID 键。这样做的体面方法是什么?我将来可能会从更多来源收集更多数据,所以这可能是我需要重复的过程。
如果需要,使用 pg_restore 将转储转换为 SQL。
运行 SQL 转储槽
sed '/^COPY .* FROM stdin;$/,/^\.$/ p;d'
因为您的数据中只有一个 table 可以为您提供加载数据所需的复制命令,将其发送到您的数据库以加载数据。