有没有一种自动化的方法来获取 postgresql数据库并将其转换为可以加载到新数据库中的 postgresql模式?
我玩弄了这个,找到了两种方法来做我想做的事,但老实说,这两种方法都很麻烦:
使用 plain 选项在数据库上执行 pg_dump,作为脚本的一部分,然后运行一些 sed tomfoolery 进行相应的更改。然而,这是在乞求痛苦和错误。
通过 psql 将数据库模式中的所有表、序列、数据等传输到新模式名称中,然后仅转储/恢复该模式/数据。
我可能会选择选项二,但有没有人有更简单的方法来做到这一点?如果我们从头开始生成这些东西,这当然是微不足道的,但很可能我们将不得不以这种方式转换多个系统上的现有数据库。
编辑:稍后阅读此内容的人的澄清。我试图从本质上获取数据库“A”的公共架构并将其转储/恢复到数据库“B”上的新命名架构中。数据库“B”可能会或可能不会将其公共模式用于其他事情,因此需要在不更改/更改数据库“B”上公共模式中的任何潜在数据的情况下进行传输。