如何将多个 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 可以为您提供加载数据所需的复制命令,将其发送到您的数据库以加载数据。