В 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
.