我已经开始从事一个项目,其中应用程序数据被拆分到多个数据库中,这些数据库都具有相同的架构(基本上每个“组织”都有一个数据库)。
经过一些讨论,我们决定这不是我们存储数据的最有效方式,并且希望将所有这些单独的数据库合并到一个数据库中。
我想知道最好的方法是什么。我目前正在考虑执行以下操作:
从数据库之一转储架构并将其还原到新的主数据库:
pg_dump [OLD_DATABASE] --schema-only > dbschema.sql
psql -d [NEW_DATABASE -f dbschema.sql
从所有禁用触发器的旧数据库中转储数据,并插入格式:
pg_dump [OLD_DATABASES] --disable-triggers --data-only --inserts > old_db_data.sql
从数据库文件中恢复所有转储的数据:
psql [NEW_DATABASE] < old_db_data.sql
这是进行这种合并的正确方法还是我完全不合时宜?此外,这会正确处理外键依赖关系吗?
postgresql ×1