我通过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命令时,它运行良好。
任何人都可以解释这种奇怪的行为吗?
感谢!!!
答案 0 :(得分:0)
发现问题 - 我的python代码中的错误 - 它写成'tbl_Old'(而不是'tbl_old')。