ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

示例:使用 SQL 在 PostgreSQL 中创建数据库视图

  • 授予表权限
  • 创建视图
  • 授予视图权限
  • 测试权限

您可以使用 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

授予表权限

如果创建视图的用户不是该视图所依据的表的所有者,则表所有者必须至少授予视图创建者从表中进行选择的权限。

在本例中,视图所依据的表 (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) 的访问权限。在本例中,将视图 view_dept_201 的 SELECT 权限授予用户 mgr200:

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

像预期一样,只返回了 department 201 中的雇员记录。

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

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

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2018 Esri. | 隐私政策 | 法律声明