Я знаю, что это старый вопрос, но кто-то может найти мою помощь здесь полезной в будущем.
Таким образом, мы очень тяжело работаем с временными таблицами, имеющими> 500 об / мин и асинхронно выполняемыми через nodejs, и поэтому испытываем очень сильное вздутие pg_attribute из-за этого. Все, что вам осталось, - это очень агрессивная уборка, которая снижает производительность.
Все ответы, приведенные здесь, не решают эту проблему, потому что удаление и воссоздание временной таблицы сильно раздувает pg_attribute, и поэтому в одно солнечное утро вы обнаружите, что производительность db мертва, а pg_attribute 200+ gb, в то время как ваш db будет выглядеть как 10gb.
Таким образом, решение элегантно это
create temp table if not exists my_temp_table (description) on commit delete rows;
Таким образом, вы продолжаете играть с временными столами, сохраняете свой pg_attribute, без сильной уборки темной стороной и получаете желаемую производительность.
не забудьте
vacuum full pg_depend;
vacuum full pg_attribute;
Приветствия:)