【发布时间】:2012-03-16 19:43:59
【问题描述】:
我有一些一年的数据,但它分为两个模式。如何将它们放在一个模式中,以便我可以使用 MATLAB 进行处理。
【问题讨论】:
标签: postgresql schema
我有一些一年的数据,但它分为两个模式。如何将它们放在一个模式中,以便我可以使用 MATLAB 进行处理。
【问题讨论】:
标签: postgresql schema
如果您在两个模式中的表名都是唯一的,您可以在 psql shell 中使用
ALTER TABLE old_schema.table_name SET SCHEMA new_Schema;
另一方面,当 Matlab 不允许您访问任何模式时,我会感到惊讶。您是否尝试使用old_schema.table1 和new_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';
【讨论】:
ALTER TABLE old RENAME TO new; 会这样做。