将一个模式中的特定表恢复到另一个模式postgresql

时间:2013-05-08 10:02:53

标签: postgresql postgresql-9.1 database-restore

就我而言,我在完整数据库中有备份文件。现在我想在public模式中恢复一些细节表。

这些表已存储在另一个模式中。有可行的解决方案吗?以及如何做到

1 个答案:

答案 0 :(得分:1)

目前尚不清楚要恢复的表是从模式“public”备份还是从其他模式备份。

如果您的备份采用存档格式,而不是纯文本格式,则可以恢复单个表格(请参阅-n-t选项至pg_restore)。据我所知,您无法将它们还原到其他架构。相反,您可以使用ALTER TABLE table_name SET SCHEMA new_schema;将其恢复为原始架构then move each table

由于目标模式中已经有相同名称的表,因此我希望您在从备份恢复之前必须重命名它们。从备份还原后,将还原的表移动到架构“public”,可以将这些表重命名为其原始名称。 PostgreSQL理解public.table_name和new_schema.table_name是不同的表。