Я использую этот гем: https://github.com/rails/activerecord-session_store
Когда я запускаю несколько экземпляров приложения rails, я получаю следующую ошибку:
PG :: UniqueViolation: ОШИБКА:Двойное значение ключа нарушает уникальное ограничение "session_pkey". ПОДРОБНЕЕ: Key (id) = (3005307) уже существует.: INSERT INTO "session" ("session_id", "data", "creat_at", "updated_at") ЗНАЧЕНИЯ ($ 1, $ 2, $ 3, $ 4) ВОЗВРАЩЕНИЕ "id"
Столбец idсгенерировано последовательностью:
CREATE TABLE public.sessions
(
id integer NOT NULL DEFAULT nextval('sessions_id_seq'::regclass),
session_id character varying(255) COLLATE pg_catalog."default" NOT NULL,
data text COLLATE pg_catalog."default",
created_at timestamp without time zone,
updated_at timestamp without time zone,
CONSTRAINT sessions_pkey PRIMARY KEY (id)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
Учитывая это, разве последовательность не должна гарантировать уникальность, даже если вставки происходят из нескольких процессов?