ArcGIS Desktop

  • Документация
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Пример. Создание представления базы данных в PostgreSQL с помощью SQL

  • Предоставление прав доступа к таблице
  • Создание представления.
  • Выдача прав доступа к представлению
  • Тестовые права доступа

Для отображения таблиц и классов пространственных объектов многопользовательской базы геоданных можно использовать SQL.

Приведенные в настоящей теме примеры показывают, как создать в PostgreSQL простое представление для просмотра с ограничением доступа пользователей к другим столбцам. Этот пример построен на базе таблицы со следующим определением:

CREATE TABLE employees(emp_id integer not null, name varchar(32),
department smallint not null, hire_date timestamp without time zone not null

Предоставление прав доступа к таблице

Если создающий представление пользователь не является владельцем таблицы или таблиц в этом представлении, владелец таблиц должен предоставить создателю как минимум права доступа Select.

В данном примере таблица, на базе которой построено представление (employees), принадлежит пользователю gdb. Представление создается пользователем rocket.

psql testdb gdb
Enter password for user gdb:

GRANT SELECT
 ON gdb.employees
 TO rocket;

Создание представления.

В этом примере пользователь rocket создает представление таблицы employees и ограничивает доступ к нему только пользователям из отдела 201:

psql testdb rocket
Enter password for user rocket:

CREATE VIEW view_dept_201
 AS SELECT emp_id, name, hire_date
 FROM gdb.employees 
 WHERE department = 201;

Выдача прав доступа к представлению

Права доступа к представлению можно предоставлять определенным пользователям, не передавая им права доступа к базовой таблице (employees). В данном примере пользователю mgr200 предоставлены права доступа SELECT к представлению view_dept_201:

GRANT SELECT
 ON rocket.view_dept_201
 TO mgr200;

Тестовые права доступа

Войдите в систему как mgr200 и выберите записи view_dept_201:

psql testdb mgr200
Enter password for mgr200:

SELECT * FROM rocket.view_dept_201; 

emp_id   name        hire_date 
112      LOLLI POP   2007-06-30 08:44:38
134      VAN CHIN    2007-10-15 07:41:20
150      DON GUN     2009-03-01 15:39:05

Как ожидалось, выводятся только записи для сотрудников отдела 201.

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2018 Esri. | Конфиденциальность | Правовая информация