В PostgreSQL, view — это виртуальная таблица (представление). Она хранит результат выполнения SELECT запроса. С помощью вьюхи можно сохранить SELECT запрос и получить быстрый доступ к часто используемым данным.

В предыдущей заметке я уже рассказывал как можно сохранить SELECT запрос как хранимую процедуру в PostgreSQL.

Создание представление (view) — это альтернативное решение. У него есть свои плюсы и минусы.

Как создать вью в PostgreSQL

Создать вьюху в постгрес намного проще, чем хранимую процедуру. Чтобы сохранить результат SELECT запроса в представление, нужно написать

CREATE VIEW view_name AS

Замени view_name на что-то, что больше похоже на данные которые ты сохраняешь и после ключевого слова AS напиши свой SELECT запрос.

Если мы представим, что у нас есть таблица users и у каждого юзера есть поле follower_count, то нам может быть полезно создать вью popular_users и включить туда всех пользователей у которых более 1000 подписчиков.

CREATE VIEW influencers AS
  SELECT name, email, created_at
  FROM users
  WHERE follower_count > 1000;

Сложность SELECT запроса может быть любой. Тебя никто не ограничивает. Можешь добавить джойны, группировки или еще что-то. Единственное ограничение в том, что команда ORDER BY не может использоваться в PostgreSQL вью.

Вьюха будет выглядеть как таблица в твоей базе данных. Это очень удобно если ты пользуешься GUI клиентом.

Как удалить вью в PostgreSQL

Чтобы удалить представление в PostgreSQL используется похожий на удаление таблицы синтаксис:

DROP view [ IF EXISTS ] view_name;

Флаг IF EXISTS не обязателен. Его полезно добавить, чтобы защититься от ошибок, которые появятся если ты случайно сделаешь опечатку в имени вьюхи view_name.