获得 Production Mapping 许可后可用。
标准 GIS 存储建议倾向于将索引和日志文件与矢量和表格业务表分开保存。出于性能方面的考虑,最好分开放置业务、要素和空间索引表,并根据表空间数据文件的使用模式对其进行放置。对于多版本化且非常活跃的编辑地理数据库,VERSIONS 表空间的数据库文件可能是分开的并分布于各个可用磁盘中,从而避免出现输入/输出争用情况。
下表列出了为存储工作空间要素类和表而建议创建的工作空间。
TABLESPACE | TABLESPACE |
---|---|
PRODLIB_BDATA | Business table |
PRODLIB_BINDEX | Business table index |
PRODLIB_ADATA | Adds table (versioned) |
PRODLIB_AINDEX | Adds table index |
PRODLIB_DDATA | Deletes table (versioned) |
PRODLIB_DINDEX | Deletes table index |
Use scripts to create roles, directories, tablespaces and permissions
以下脚本可用于通过 pgAdmin 或 psql 添加表空间。
- Create roles.
The following script can create roles.
\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 'prodlib'. DROP ROLE prodlib; CREATE ROLE prodlib LOGIN ENCRYPTED PASSWORD 'prodlibadmin' NOINHERIT CREATEDB; -- Group role ckb_users DROP ROLE ckb_users; CREATE ROLE ckb_users NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE; --User to edit called 'prodlibuser'. DROP ROLE prodlibuser; CREATE ROLE prodlibuser LOGIN ENCRYPTED PASSWORD 'prodlibuser ' INHERIT; GRANT ckb_users to prodlibuser;
- Create directories.
The following script can be used to create directories.
cd D:/postgresqldata/prodlib D: mkdir prodlib_sde_dict mkdir prodlib_sde_dict_index mkdir prodlib_sde_log mkdir prodlib_sde_log_index mkdir prodlib_Adata mkdir prodlib_Aindex mkdir prodlib_Ddata mkdir prodlib_Dindex mkdir prodlib_Bdata mkdir prodlib_Bindex
- Create tablespaces.
The following script can be used to create tablespaces.
-- sde dictionary DROP TABLESPACE prodlib_sde_dict; CREATE TABLESPACE prodlib_sde_dict OWNER postgres LOCATION 'D:/postgresqldata/prodlib/prodlib_sde_dict'; DROP TABLESPACE prodlib_sde_dict_index; CREATE TABLESPACE prodlib_sde_dict_index OWNER postgres LOCATION 'D:/postgresqldata/prodlib/prodlib_sde_dict_index'; --sde log files DROP TABLESPACE prodlib_sde_log; CREATE TABLESPACE prodlib_sde_log OWNER postgres LOCATION 'D:/postgresqldata/prodlib/prodlib_sde_log'; DROP TABLESPACE prodlib_sde_log_index; CREATE TABLESPACE prodlib_sde_log_index OWNER postgres LOCATION 'D:/postgresqldata/prodlib/prodlib_sde_log_index'; --delta tables DROP TABLESPACE prodlib_Adata; CREATE TABLESPACE prodlib_Adata OWNER postgres LOCATION 'D:/postgresqldata/prodlib/prodlib_Adata'; DROP TABLESPACE prodlib_Aindex; CREATE TABLESPACE prodlib_Aindex OWNER postgres LOCATION 'D:/postgresqldata/prodlib/prodlib_Aindex'; DROP TABLESPACE prodlib_Ddata; CREATE TABLESPACE prodlib_Ddata OWNER postgres LOCATION 'D:/postgresqldata/prodlib/prodlib_Ddata'; DROP TABLESPACE prodlib_Dindex; CREATE TABLESPACE prodlib_Dindex OWNER postgres LOCATION 'D:/postgresqldata/prodlib/prodlib_Dindex'; --vector data DROP TABLESPACE prodlib_Bdata; CREATE TABLESPACE prodlib_Bdata OWNER postgres LOCATION 'D:/postgresqldata/prodlib/prodlib_Bdata'; DROP TABLESPACE prodlib_Bindex; CREATE TABLESPACE prodlib_Bindex OWNER postgres LOCATION 'D:/postgresqldata/prodlib/prodlib_Bindex';
-
Grant permission to tablespaces.
The following script can be used to grant permissions.
GRANT CREATE ON TABLESPACE prodlib_sde_dict TO sde; GRANT CREATE ON TABLESPACE prodlib_sde_dict_index TO sde; GRANT CREATE ON TABLESPACE prodlib_Adata TO prodlib; GRANT CREATE ON TABLESPACE prodlib_Aindex TO prodlib; GRANT CREATE ON TABLESPACE prodlib_Ddata TO prodlib; GRANT CREATE ON TABLESPACE prodlib_Dindex TO prodlib; GRANT CREATE ON TABLESPACE prodlib_Bdata TO prodlib; GRANT CREATE ON TABLESPACE prodlib_Bindex TO prodlib; GRANT CREATE ON TABLESPACE prodlib_sde_log TO sde; GRANT CREATE ON TABLESPACE prodlib_sde_log_index TO sde; GRANT CREATE ON TABLESPACE prodlib_sde_log TO prodlib; GRANT CREATE ON TABLESPACE prodlib_sde_log_index TO prodlib; GRANT CREATE ON TABLESPACE prodlib_sde_log TO prodlibuser; GRANT CREATE ON TABLESPACE prodlib_sde_log_index TO prodlibuser;