Ответ 1
Как прокомментировал @Clodoaldo: используйте временную таблицу в PostgreSQL. Для вашего примера:
CREATE TEMP TABLE product_totals (
product_id int,
revenue money
);
Дополнительную информацию в руководстве о CREATE TABLE
можно найти здесь:
Если указано, таблица создается как временная таблица. временный таблицы автоматически отбрасываются в конце сеанса или необязательно в конце текущей транзакции (см. ВКЛ. КОМИТЕТ ниже). Существующие постоянные таблицы с тем же именем не видны к текущему сеансу, пока существует временная таблица, если только они ссылаются на имена, обозначенные схемой. Любые индексы, созданные на временная таблица также является временной.
Незарегистрированные таблицы - это несколько связанная функция PostgreSQL 9.1. Они сохраняют записи на диске, не записывая WAL. Вот обсуждение функций Роберта Хааса.