PostgreSQL合并两个具有相同表的模式

时间:2012-02-27 10:13:45

标签: postgresql schema

我从一年获得了一些数据,但它分为两个模式。如何将它们放在一个模式中,以便我可以用MATLAB处理它。

1 个答案:

答案 0 :(得分:2)

如果两个模式中的表名都是唯一的,则可以在psql shell中使用

ALTER TABLE old_schema.table_name SET SCHEMA new_Schema;

另一方面,当Matlab不允许您访问任何架构时,我会感到惊讶。您是否尝试使用old_schema.table1new_schema.table2访问您的表格?在这种情况下,您不必更改数据库。

修改

如果你有很少的表,你必须为每个表发出上述命令。没有办法解决这个问题。但是有点帮助:您可以手动计算命令并执行结果。计算完成后:

select 'ALTER TABLE '||table_schema||'.'||table_name||' SET SCHEMA new_schema' 
   from information_schema.tables 
   where table_type = 'BASE TABLE' and table_schema = 'old_schema';