личность не работает с унаследованной таблицей - PullRequest
0 голосов
/ 04 мая 2019

Я использую последнюю версию PostgreSQL 11, у меня проблемы с идентификацией как PK, который наследует таблицу.

Предположим, у вас есть простая родительская таблица, например:

CREATE TABLE test7 
    (
    id_t7 int GENERATED always AS IDENTITY PRIMARY KEY,
    folio int GENERATED always AS IDENTITY,
    client int
    );

с любой унаследованной таблицей, например:

CREATE TABLE test7_detail1
(
  --  uuid uuid DEFAULT uuid_generate_v4(), <-- fiddle doesn't support it
    in_process boolean,
    id_corte integer,
    ts_captura timestamp(6) without time zone DEFAULT (now())::timestamp without time zone
) INHERITS (test7);

, если я попытаюсь вставить как:

insert into test7_detail1 (client,in_process, id_corte)
values (20797,'t',101)

возвращает:

ERROR:  null value in column "id_t7" violates not-null constraint
DETAIL:  Failing row contains (null, null, 20797, t, 101, 2019-05-03 22:27:54.823894).

здесь это скрипка

что я делаю не так?
это ошибка?

1 Ответ

0 голосов
/ 04 мая 2019

Я попытался id_t7 serial PRIMARY KEY вместо id_t7 int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY и, кажется, работает.

CREATE TABLE test7 (
  id_t7 serial PRIMARY KEY,
  folio serial,
  client int
);

CREATE TABLE test7_detail1 (
  --  uuid uuid DEFAULT uuid_generate_v4(),
  in_process boolean,
  id_corte integer,
  ts_captura timestamp(6) without time zone DEFAULT (now())::timestamp without time zone
) INHERITS (test7);

insert into test7_detail1 (client,in_process, id_corte)
values (20797,'t',101);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...