Артур Закиров

Postgres Professional

Разработчик

Использование pg_variables в качестве временных таблиц

PostgreSQL предоставляет возможность создания временных таблиц. Хотя временная таблица доступна только для сессии, которая ее создала, и удаляется по окончании этой сессии, вся информация о ней хранится в системном каталоге PostgreSQL. С этим связаны несколько проблем, которые затрудняют или делают невозможным использование временных таблиц в некоторых случаях. Есть различные попытки решения этой особенности, в том числе в нашей компании. Но они пока не увенчались успехом, главным образом из-за движка PostgreSQL. В докладе я хочу рассказать о довольно простом и небольшом расширении pg_variables. Оно позволяет создавать табличные переменные наряду со скалярными. Я расскажу, в каких случаях оно может заменить временные таблицы, какие у него есть достоинства и недостатки.