В соответствии со стандартными рекомендациями ГИС по хранению файлы журналов и индексов предпочтительно хранить отдельно от векторных и табличных бизнес-таблиц. В целях повышения производительности предпочтительней располагать бизнес-таблицы, таблицы объектов и пространственного индекса раздельно, а файлы данных табличного пространства – в соответствии с шаблоном их применения. В мультиверсионных базах геоданных с высокой активностью работы файлы баз данных табличного пространства VERSIONS могут быть разделены и рассредоточены по доступным дискам, что позволяет уменьшить риски возникновения конфликтов на входе/выходе.
В следующей таблице указаны рекомендуемые табличные пространства для хранения классов объектов и таблиц рабочей области.
TABLESPACE | CONFIGURATION_KEYWORD_PARAMETER |
---|---|
WMX_BDATA | Бизнес-таблица |
WMX_BINDEX | Индекс бизнес-таблицы |
WMX_ADATA | Таблица добавлений (версионная) |
WMX_AINDEX | Индекс таблицы добавлений |
WMX_DDATA | Таблица удалений (версионная) |
WMX_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 'wmx'.
DROP ROLE wmx;
CREATE ROLE wmx LOGIN ENCRYPTED PASSWORD 'wmxadmin' NOINHERIT CREATE DB;
--Group role wmx_editor;
DROP ROLE role_wmx_wmx_editor;
CREATE ROLE role_wmx_wmx_editor NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
--Group role wmx viewer;
DROP ROLE role_wmx_wmx_viewer;
CREATE ROLE role_wmx_wmx_viewer NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;
--User to edit called 'pmeditor'.
DROP ROLE pmeditor;
CREATE ROLE pmeditor LOGIN ENCRYPTED PASSWORD 'pmeditor' INHERIT;
GRANT role_wmx_wmx_editor TO pmeditor;
--User to edit called 'pmviewer'.
DROP ROLE pmviewer;
CREATE ROLE pmeditor LOGIN ENCRYPTED PASSWORD 'pmviewer' INHERIT;
GRANT role_wmx_wmx_editor TO pmviewer;
2. Создание директорий
Следующий скрипт может использоваться для создания директорий.
cd D:/postgresqldata/wmx D:
mkdir wmx_sde_dict mkdir wmx_sde_dict_index mkdir wmx_sde_log mkdir wmx_sde_log_index mkdir wmx_Adata mkdir wmx_Aindex mkdir wmx_Ddata mkdir wmx_Dindex mkdir wmx_Bdata
mkdir wmx_Bindex
3. Создание табличных пространств
Следующий скрипт может использоваться для табличных пространств.
--sde dictionary DROP TABLESPACE wmx_sde_dict;
CREATE TABLESPACE wmx_sde_dict OWNER postgres LOCATION
'D:/postgresqldata/wmx/wmx_sde_dict';
DROP TABLESPACE wmx_sde_dict_index;
CREATE TABLESPACE wmx_sde_dict_index OWNER postgres LOCATION
'D:/postgresqldata/wmx/wmx_sde_dict_index';
--sde log files DROP TABLESPACE wmx_sde_log;
CREATE TABLESPACE wmx_sde_log OWNER postgres LOCATION
'D:/postgresqldata/wmx/wmx_sde_log';
DROP TABLESPACE wmx_sde_log_index;
CREATE TABLESPACE wmx_sde_log_index OWNER postgres LOCATION
'D:/postgresqldata/wmx/wmx_sde_log_index';
--delta tables DROP TABLESPACE wmx_Adata;
CREATE TABLESPACE wmx_Adata OWNER postgres LOCATION
'D:/postgresqldata/wmx/wmx_Adata';
DROP TABLESPACE wmx_Aindex;
CREATE TABLESPACE wmx_Aindex OWNER postgres LOCATION
'D:/postgresqldata/wmx/wmx_Aindex';
DROP TABLESPACE wmx_Ddata;
CREATE TABLESPACE wmx_Ddata OWNER postgres LOCATION
'D:/postgresqldata/wmx/wmx_Ddata';
DROP TABLESPACE wmx_Dindex;
CREATE TABLESPACE wmx_Dindex OWNER postgres LOCATION
'D:/postgresqldata/wmx/wmx_Dindex';
--vector data DROP TABLESPACE wmx_Bdata;
CREATE TABLESPACE wmx_Bdata OWNER postgres LOCATION
'D:/postgresqldata/wmx/wmx_Bdata';
DROP TABLESPACE wmx_Bindex;
CREATE TABLESPACE wmx_Bindex OWNER postgres LOCATION
'D:/postgresqldata/wmx/wmx_Bindex';
4. Предоставление прав доступа к табличным пространствам
Следующий скрипт может использоваться для предоставления прав доступа.
GRANT CREATE ON TABLESPACE wmx_sde_dict TO sde;
GRANT CREATE ON TABLESPACE wmx_sde_dict_index TO sde;
GRANT CREATE ON TABLESPACE wmx_Adata TO wmx;
GRANT CREATE ON TABLESPACE wmx_Aindex TO wmx;
GRANT CREATE ON TABLESPACE wmx_Ddata TO wmx;
GRANT CREATE ON TABLESPACE wmx_Dindex TO wmx;
GRANT CREATE ON TABLESPACE wmx_Bdata TO wmx;
GRANT CREATE ON TABLESPACE wmx_Bindex TO wmx;
GRANT CREATE ON TABLESPACE wmx_sde_log TO sde;
GRANT CREATE ON TABLESPACE wmx_sde_log_index TO sde;
GRANT CREATE ON TABLESPACE wmx_sde_log TO wmx;
GRANT CREATE ON TABLESPACE wmx_log_index TO wmx;
GRANT CREATE ON TABLESPACE wmx_sde_log TO pmeditor;
GRANT CREATE ON TABLESPACE wmx_sde_log_index TO pmeditor;
GRANT CREATE ON TABLESPACE wmx_sde_log TO pmviewer;
GRANT CREATE ON TABLESPACE wmx_sde_log_index TO pmviewer;