Представления в PostgreSQL
Создание представлений может улучшить время ответов на запросы путем ограничения количество таблиц и столбцов, в которых выполняется поиск при запросе данных. Можно создать представления, которые отображаются в клиентских приложениях в качестве классов объектов или непространственных таблиц. Представление может ссылаться на отдельную таблицу или класс объектов, а также можно создать представления для объединения данных из нескольких таблиц.
Представления в PostgreSQL используют правила. Определяющий запрос для представления передается в систему правил, которая проверяет любые правила, связанные с этим представлением. При наличии правил они добавляются в представления, и весь запрос, включая правила, передается в планировщик для создания плана выполнения и запуска запроса.
Любой пользователь, имеющий необходимые разрешения, может создать представления с помощью SQL или команды sdetable. Сведения о правах доступа, необходимых для создания или изменения представлений в вашей версии, можно получить в документации по PostgreSQL.
Доступ к определениям видов в PostgreSQL можно получить, выполнив запрос системного представления pg_views.
Системное представление pg_views
При создании системных представлений в базе данных PostgreSQL, информация о представлениях сохраняется в системных таблицах PostgreSQL. Однако вместо запроса к системным таблицам следует выполнить запрос к системному представлению pg_views для просмотра определений представления.
Имя поля |
Тип данных |
Описание |
---|---|---|
schemaname |
name |
Имя схемы, в которой хранится представление; ссылается на pg_namespace.nspname |
viewname |
name |
Имя представления; ссылается на pg_class.relname |
viewowner |
name |
Имя владельца представления; ссылается на pg_authid.rolname |
определение |
текст |
Реконструированный запрос SELECT, определяющий представление |