Документ о Наследование сообщает вам:
Наследование не распространяет данные из команд INSERT или COPY автоматически в другие таблицы в иерархии наследования.
Это означает, что вам нужно удалить строку из родительской таблицы и вставить новую в дочернюю таблицу.
Вы говорите:
Понижение бара до foo будет простым, просто удалив строку из Bars.
Это заставляет меня думать, вы неправильно понимаете, как наследование работает в PostgreSQL. В основном у вас есть две таблицы, таблица Bar
имеет те же столбцы, что и Foo
плюс любые дополнительные столбцы. При вставке Bar
данные записываются только в Bar
, никакие «общие данные» не будут записываться в Foo
. Когда вы удаляете строку из Bar
, ваши данные не будут «понижены», они полностью исчезнут. Таким образом, для продвижения и понижения необходимо перетасовывать данные между таблицами.
Вы можете прочитать длинную историю в прекрасном руководстве, которое я связал: -)