они несколько отличаются для MS и Pg. Ms обрабатывает локальные временные таблицы, созданные в SP, - отбрасывается после завершения процедуры Postgres не в настоящее время поддерживает GLOBAL временные таблицы (указание этого в операторе create
игнорируется)
Опционально, GLOBAL или LOCAL могут быть написаны до TEMPORARY или TEMP.
В настоящее время это не имеет значения в PostgreSQL и устарело;
Лучшая практика здесь не очень применима, я бы сказал. Оставлять временные таблицы на время сеанса можно (они будут удалены в конце). Но часто вы бы предпочли использовать ON COMMIT DROP
для удаления таблицы после завершения транзакции, а не сессии ... Если бесконечный сеанс сравнительно подходит для postgres, бесконечная транзакция может быть промежуточной для MVCC и блокировок и т. Д. хочу посмотреть на способы с этим бороться ...
Подводя итог: часто практикуется сохранение временных таблиц до конца сеанса, более "нормальных", чтобы оставить их до конца транзакции. Postgres не обрабатывает временные таблицы, созданные в fn()
специально. Postgres не имеет GLOBAL
временных таблиц. В зависимости от кода, который вы пишете и env у вас есть, вы можете удалить или оставить временную таблицу для автоматического удаления. Не забывайте об особенностях объединения сессий / транзакций.