Ошибка адресации: в дочерней таблице отсутствует столбец «*» при добавлении наследования в существующие таблицы в PostgreSQL - PullRequest
0 голосов
/ 02 августа 2020

Я пытаюсь выполнить простую команду ALTER TABLE, чтобы добавить наследование между двумя таблицами, и получаю сообщение об ошибке «в дочерней таблице отсутствует столбец« * »для любого столбца в родительской таблице.

Например, таблица "parent" имеет столбец "class", а таблица "child" должна наследовать "parent". Эти две таблицы уже существуют в базе данных без ограничений, проверок, первичных ключей и т. д. c.

Я использую:

ALTER TABLE child INHERIT parent;

И получаю сообщение с ошибкой «в дочерней таблице отсутствует столбец« class ».

Я использую PostgreSQL 12.

1 Ответ

0 голосов
/ 03 августа 2020

Да, просмотрел PostgreSQL документы по изменению таблицы и

"Чтобы быть добавленным в качестве дочернего элемента, целевая таблица должна уже содержать все те же столбцы, что и родительская (в ней могут быть дополнительные столбцы, тоже). "

...