Индекс это индекс, первичный отличается только тем что он указывает на уникальность записи
То есть, если неделя находится на стыке месяца/года, то она должна разделяться на 2 отдельные строки, с указанием периода недели в первом месяце/году, и остальной частью периода недели в следующем месяце/году.
есть диск, на котором есть данные
pg_stat показывал много запросов одинаковых в state=idle
для этого потребовалось бы бесконечно много времени и бесконечно много памяти.
Не обязательно. Всё-таки, весьма накладно было бы таблицу полностью переписывать чтобы добавить новую строку со значением PK меньше всех предыдущих или в середину диапазона, например. В пределах страницы данных упорядочены, сами страницы данных в датафайле могут быть не всегда упорядочены.
Я по этим вопросам, конечно, могу многое понаписать как DBA и контрибьютор. Но не хочу, очень много писать.