需要 Data Reviewer 许可。
标准 GIS 存储建议倾向于将索引和日志文件与矢量和表格业务表分开保存。出于性能方面的考虑,最好分开放置业务、要素和空间索引表,并根据表空间数据文件的使用模式对其进行放置。对于多版本化且非常活跃的编辑地理数据库,VERSIONS 表空间的数据库文件可能是分开的并分布于各个可用磁盘中,从而避免出现输入/输出争用情况。
下表列出了为存储工作空间要素类和表而建议创建的工作空间。
TABLESPACE | CONFIGURATION_KEYWORD_PARAMETER |
---|---|
REV_BDATA | 业务表 |
REV_BINDEX | 业务表索引 |
REV_ADATA | 添加表(版本化) |
REV_AINDEX | 添加表索引 |
REV_DDATA | 删除表(版本化) |
REV_DINDEX | 删除表索引 |
使用脚本来创建角色、目录、表空间和权限
以下脚本可用于通过 pgAdmin 或 psql 添加表空间。
1. 创建角色
以下脚本可用于创建角色。
\connect postgres postgres
--create sde role
DROP ROLE sde;
CREATE ROLE sde LOGIN ENCRYPTED PASSWORD 'sdeadmin' SUPERUSER NOINHERIT CREATEDB
CREATEROLE;
--User to own data called 'rev'.
DROP ROLE rev;
CREATE ROLE rev LOGIN ENCRYPTED PASSWORD 'revadmin' NOINHERIT CREATEDB;
--Group role rev editor
DROP ROLE role_rev_rev_editor;
CREATE ROLE role_rev_rev_editor NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
--Group role rev viewer
DROP ROLE role_rev_rev_viewer;
CREATE ROLE role_rev_rev_viewer NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
--User to edit called 'pmeditor'.
DROP ROLE pmeditor;
CREATE ROLE pmeditor LOGIN ENCRYPTED PASSWORD 'pmeditor' INHERIT;
GRANT role_rev_rev_editor TO pmeditor;
--User to view data called 'pmviewer'.
DROP ROLE pmviewer;
CREATE ROLE pmviewer LOGIN ENCRYPTED PASSWORD 'pmviewer' INHERIT;
GRANT role_rev_rev_viewer TO pmviewer;
2. 创建目录
以下脚本可用于创建目录。
cd D:/postgresqldata/rev D:
mkdir rev_sde_dict mkdir rev_sde_dict_index mkdir rev_sde_log mkdir rev_sde_log_index mkdir rev_Adata mkdir rev_Aindex mkdir rev_Ddata mkdir rev_Dindex mkdir rev_Bdata
mkdir rev_Bindex
3. 创建表空间
以下脚本可用于创建表空间。
--sde dictionary DROP TABLESPACE rev_sde_dict;
CREATE TABLESPACE rev_sde_dict OWNER postgres LOCATION
'D:/postgresqldata/rev/rev_sde_dict';
DROP TABLESPACE rev_sde_dict_index;
CREATE TABLESPACE rev_sde_dict_index OWNER postgres LOCATION
'D:/postgresqldata/rev/rev_sde_dict_index';
--sde log files DROP TABLESPACE rev_sde_log;
CREATE TABLESPACE rev_sde_log OWNER postgres LOCATION
'D:/postgresqldata/rev/rev_sde_log';
DROP TABLESPACE rev_sde_log_index;
CREATE TABLESPACE rev_sde_log_index OWNER postgres LOCATION
'D:/postgresqldata/rev/rev_sde_log_index';
--delta tables DROP TABLESPACE rev_Adata;
CREATE TABLESPACE rev_Adata OWNER postgres LOCATION 'D:/postgresqldata/rev/rev_Adata';
DROP TABLESPACE rev_Aindex;
CREATE TABLESPACE rev_Aindex OWNER postgres LOCATION
'D:/postgresqldata/rev/rev_Aindex';
DROP TABLESPACE rev_Ddata;
CREATE TABLESPACE rev_Ddata OWNER postgres LOCATION 'D:/postgresqldata/rev/rev_Ddata';
DROP TABLESPACE rev_Dindex;
CREATE TABLESPACE rev_Dindex OWNER postgres LOCATION
'D:/postgresqldata/rev/rev_Dindex';
--vector data DROP TABLESPACE rev_Bdata;
CREATE TABLESPACE rev_Bdata OWNER postgres LOCATION 'D:/postgresqldata/rev/rev_Bdata';
DROP TABLESPACE rev_Bindex;
CREATE TABLESPACE rev_Bindex OWNER postgres LOCATION
'D:/postgresqldata/rev/rev_Bindex';
4. 向表空间授予权限
以下脚本可用于授予权限。
GRANT CREATE ON TABLESPACE rev_sde_dict TO sde;
GRANT CREATE ON TABLESPACE rev_sde_dict_index TO sde;
GRANT CREATE ON TABLESPACE rev_Adata TO rev;
GRANT CREATE ON TABLESPACE rev_Aindex TO rev;
GRANT CREATE ON TABLESPACE rev_Ddata TO rev;
GRANT CREATE ON TABLESPACE rev_Dindex TO rev;
GRANT CREATE ON TABLESPACE rev_Bdata TO rev;
GRANT CREATE ON TABLESPACE rev_Bindex TO rev;
GRANT CREATE ON TABLESPACE rev_sde_log TO sde;
GRANT CREATE ON TABLESPACE rev_sde_log_index TO sde;
GRANT CREATE ON TABLESPACE rev_sde_log TO rev;
GRANT CREATE ON TABLESPACE rev_sde_log_index TO rev;
GRANT CREATE ON TABLESPACE rev_sde_log TO pmeditor;
GRANT CREATE ON TABLESPACE rev_sde_log_index TO pmeditor;
GRANT CREATE ON TABLESPACE rev_sde_log TO pmviewer;
GRANT CREATE ON TABLESPACE rev_sde_log_index TO pmviewer;