У меня есть таблица с примерно 60 миллионами строк, которые я разделил по штатам на 53 подтаблицы. Эти таблицы «наследуют» большую таблицу следующим образом:
CREATE TABLE b2b_ak (LIKE b2b including indexes, CHECK ( state = 'AK') ) INHERITS (b2b8) TABLESPACE B2B;
У меня такой вопрос: если я не строю индексы на b2b8 до тех пор, пока не завершится оператор копирования, наследуют ли вложенные таблицы индексы? Другими словами, я хочу сделать это:
Create b2b8
Create b2b8_ak inherits b2b8
COPY b2b8 FROM bigcsvfile.csv
CREATE INDEX CONCURRENTLY
И оказалось, что все это создало все индексы во вложенных таблицах.
источник
Из документов: "LIKE .... В отличие от INHERITS, новая таблица и исходная таблица полностью отделены после завершения создания. Изменения исходной таблицы не будут применены к новой таблице"
источник
Я сделал эту функцию для построения индексов на дочерних таблицах.
источник