我有一个依赖于PostgreSQL系统的数据库,我正在维护它,所以我想更改表和整体方案.为此我想到重命名旧表,所以他们有一个下划线作为前缀.但这不起作用:
DROP TABLE IF EXISTS _my_table; -- table does not exists, this does nothing
ALTER TABLE my_table
RENAME TO _my_table;
Run Code Online (Sandbox Code Playgroud)
查询结果如下:
注意:表"_my_table"不存在,跳过ERROR:
类型"_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
我真的需要使用" 备份 "而不是"_" 这样的前缀吗?或者是否可以重命名它,我唯一的兴趣是保持表中的信息,同时对表名进行最小的更改.