Похоже на то, что сервер закрывает соединение из-за неактивности, а клиент его потом не переоткрывает. В Django доках можно почитать про persistent database connections, как это обычно реализовывается. Наверняка в Peewee тоже что-то похожее есть.
В случае большого кол-ва данных поиск начинает тормозить.
Если это единственная проблема с поиском, то лучше воспользоваться встроенным в Postgresql Full-Text Index. Это не потребует адовых затрат на настройку и интеграцию sphinxsearch в проект.
Since primary keys are not supported on partitioned tables, foreign keys referencing partitioned tables are not supported, nor are foreign key references from a partitioned table to some other table.
Похоже, FK на партиционированную таблицу не поддерживаются. Можно вручную дропнуть constraint и аккуратно следить за целостностью БД.