私は次のようにを定義しましたserial PRIMARY KEY
:
CREATE TABLE auth_event(
id serial PRIMARY KEY,
time_stamp TIMESTAMP,
client_ip VARCHAR(512),
user_id INTEGER REFERENCES auth_user (id) ON DELETE CASCADE,
origin VARCHAR(512),
description TEXT
);
インポートしているダンプには、次のようにシリアルフィールドの明示的な値があります。
INSERT INTO "auth_event" VALUES(6,'2012-12-03 21:50:49','127.0.0.1',181,'auth','User 181 Logged-in');
INSERT INTO "auth_event" VALUES(7,'2012-12-04 07:37:43','127.0.0.1',181,'auth','User 181 Logged-in');
INSERT INTO "auth_event" VALUES(8,'2012-12-05 11:42:28','127.0.0.1',181,'auth','User 181 Logged-in');
INSERT INTO "auth_event" VALUES(9,'2012-12-07 08:01:59','127.0.0.1',181,'auth','User 181 Logged-in');
INSERT INTO "auth_event" VALUES(10,'2012-12-07 16:32:58','127.0.0.1',181,'auth','User 181 Logged-in');
INSERT INTO "auth_event" VALUES(11,'2012-12-11 15:41:24','127.0.0.1',181,'auth','User 181 Logged-in');
INSERT INTO "auth_event" VALUES(12,'2012-12-11 22:55:08','127.0.0.1',181,'auth','User 181 Logged-in');
つまり、これによると、シーケンス値(に関連する値auth_event.id
)は更新されません。
そして今、私の問題が発生します。私が使用しているフレームワークは、シリアルフィールドに値を与えていません。これは、postgresがデフォルト値を使用しており、更新されていないため、衝突が発生することを意味します。
auth_event.id
インポート後に関連するシーケンス値を更新するにはどうすればよいですか?