我有一个依赖于 PostgreSQL 系统的数据库,我正在维护它,所以我想更改表和整体方案。为此,我想重命名旧表,以便它们有一个下划线作为前缀。但这不起作用:
DROP TABLE IF EXISTS _my_table; -- table does not exists, this does nothing
ALTER TABLE my_table
RENAME TO _my_table;
查询结果如下:
注意:表“_my_table”不存在,跳过错误:
类型“_my_table”已经存在
**********错误**********错误:类型“_my_table”已存在 SQL 状态:42710
'_my_table' 表是一个假名,但是通过实际创建一个 '_my_table' 表并运行上面的相同脚本会重现此错误。
我正在使用 pgAdmin III 访问数据库表并使用它的“重命名”操作会导致相同的错误。alter table 方法的 postgresql 文档没有明确告诉我这个特殊问题:http ://www.postgresql.org/docs/9.3/static/sql-altertable.html
我真的需要使用像' backup '这样的前缀而不是'_'吗?或者是否可以重命名它,我唯一的兴趣是维护表中的信息,同时对表名进行最小的更改。