无法在RedShift中重命名表

时间:2014-02-24 06:53:17

标签: postgresql psycopg2

我通过python3.3 psycopg2包运行以下命令:

ALTER TABLE my_schema.tbl_old RENAME TO tbl_new

在运行命令之前,我的python代码确保tbl_new不存在。 但是,我收到以下错误:

relation "tbl_new" already exists

表格结构:

bipilot=# select * from PG_TABLE_DEF where tablename='tbl_old';
 schemaname | tablename |    column    |     type      | encoding | distkey | sortkey | notnull
------------+-----------+--------------+---------------+----------+---------+---------+---------
 my_schema  | tbl_old   | price        | numeric(10,2) | lzo      | f       |       0 | f
 my_schema  | tbl_old   | price_date   | date          | none     | f       |       1 | f
 my_schema  | tbl_old   | product_id   | smallint      | delta    | f       |       0 | f

没有定义索引。

此外,当我从psql shell运行相同的RENAME命令时,它运行良好。

任何人都可以解释这种奇怪的行为吗?

感谢!!!

1 个答案:

答案 0 :(得分:0)

发现问题 - 我的python代码中的错误 - 它写成'tbl_Old'(而不是'tbl_old')。