postgresql:如何在模式中重命名表

时间:2015-01-05 20:54:44

标签: postgresql

我使用PostgreSQL 9.x,我想重命名一个表。这个SQL代码:

CREATE TABLE new (id int);
ALTER TABLE new RENAME TO old;
DROP TABLE old;

正确重命名表格。但是这个SQL代码:

CREATE SCHEMA domain;
CREATE TABLE domain.new (id int);
ALTER TABLE domain.new RENAME TO domain.old;

失败,错误:

  

错误:语法错误在或附近"。"

"。"下划线是'域'之间的域名。和' old'

4 个答案:

答案 0 :(得分:88)

一种方法:

ALTER TABLE domain.new RENAME TO old

其他方式:

SET search_path TO domain;
ALTER TABLE new RENAME TO old;

search_path的文档。

答案 1 :(得分:1)

  1. 切换到数据库
machine$\c my_database
  1. 为数据库命名
my_databse=# alter table old_name rename to new_name;

答案 2 :(得分:0)

SET search_path TO domain;
ALTER TABLE IF EXISTS old_table_name RENAME TO new_table_name;

答案 3 :(得分:-1)

它正在与我合作:

ProfileTableViewController