> (ради производительности и удобства администрирования, полагаю)
Так вот, ради производительности делить
не нужно — есть некоторые "типичные" ситуации (и их немного), когда это работает (настолько
везёт).
По умолчанию partitioning
снижает производительность, но делать его приходится
всё равно, по причине "удобства администрирования" (даже его эффективности, скорее).
Так вот Вам, очевидно, не повезло (FK сделать не удаётся, PK Вы
тоже "сломали", не так ли?) — так почему бы не партиционировать по id?
> Про совет с констрейнтами на подтаблицы (секции?) не понял честно говоря.
Имелось в виду вот это:
https://dbfiddle.uk/?rdbms=postgres_13&fiddle=16b98a4d666b58b8c15dca244bfad662Между прочим, pg_partman "умеет" так делать автоматически, если настроить.