我创建了两个PostgreSQL表表(代码来自Django应用程序):
CREATE TABLE "app_book" (
"id" serial NOT NULL PRIMARY KEY,
"title" varchar(256)
);
CREATE TABLE "app_author" (
"book_ptr_id" integer NOT NULL PRIMARY KEY REFERENCES "app_book" ("id") DEFERRABLE INITIALLY DEFERRED,
"name" varchar(128) NOT NULL
);
我想将表格app_book
重命名为app_item
。以下行是否足够,或者我是否还必须更新app_author
中的参考?如果是这样,我该怎么做?
ALTER TABLE app_book RENAME TO app_item;
看this page,我猜它没有。但该页面没有解释如何更新参考。
答案 0 :(得分:1)
亲眼看看http://sqlfiddle.com/#!15/0dd1f/5
链接中描述的问题仅涉及使用Slony时的问题。
如果您可以接受id
列后面的序列不反映名称更改这一事实,那么一切都很好。如果它困扰你,你也需要重命名序列。请注意,pg_get_serial_sequence()
仍然有效。