配置参数标识要配置的数据库对象。 其对应值用于标识在数据库中存储对象的方式。 这些参数及其配置字符串将通过配置关键字组合在一起。
旧版本:
配置关键字和参数主要是旧版功能。 当数据库需要数据库管理员进行更多干预和修补工作以使其运行良好时,需要执行这些功能。 在大多数情况下,您无需更改地理数据库中的配置参数。
创建企业级地理数据库时,将使用默认配置关键字和参数对其进行填充。 在大多数情况下,默认的参数值就足够了。 但用于存储空间数据的数据类型可能是其中的一个例外。
如果您希望大多数要素类使用不同于默认值的空间类型,请更改 DEFAULTS 关键字的 GEOMETRY_STORAGE 参数。 如果您只希望某些要素类使用其他的空间类型,请创建自定义关键字并包含设置为所需空间类型的 GEOMETRY_STORAGE 参数以及 UI_TEXT 参数,从而使您的自定义关键字可供用户使用。
由于其他参数仍保留在 sde_dbtune 表中且可能在某些特殊情况下使用,您仍可通过本主题中的大部分内容来了解每个参数在实现时所要控制的内容。
在存储于 PostgreSQL 数据库的地理数据库内,ArcGIS 使用“参数名称-配置字符串”对执行以下操作:
- 定义空间列的数据类型。
- 建立表和索引的存储特征。 您需要了解 PostgreSQL 创建并存储表和索引的方法,从而正确地更改这些设置。 因此,在更改这些设置之前,请查阅您所使用的 PostgreSQL 版本的 PostgreSQL 文档。
- 使用户可以在 ArcGIS 界面中使用关键字。
- 提供描述配置关键字的注释。
- 定义 XML 文档的存储方式。 ArcGIS 不直接使用 XML 文档,因此您不太可能需要设置这些参数。
下表按字母顺序列出了所有可在 PostgreSQL 中的地理数据库内使用的配置参数。 如果适用,则将先列出默认值。 下表之后的部分更详细深入地解释了各个参数(按其功能分组)。
参数名称 | 描述 | 值 |
---|---|---|
A_INDEX_ROWID | 添加表(A 表)ObjectID 列索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
A_INDEX_STATEID | A 表 sde_state_id 列索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
A_INDEX_USER | A 表用户索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
A_INDEX_XML | A 表 XML 列索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
A_STORAGE | 定义 A 表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
AUX_INDEX_COMPOSITE | 栅格 AUX 表复合列索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
AUX_STORAGE | 定义栅格 AUX 表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
B_INDEX_RASTER | 业务表中栅格列索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
B_INDEX_ROWID | 业务表 ObjectID 列和栅格 rowid R<N>_SDE_ROWID_UK 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
B_INDEX_TO_DATE | 用于创建索引 r<registration_id>_sde_todate 的存储参数信息,归档操作期间对历史记录表进行更新时将使用该信息 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
B_INDEX_USER | 业务表用户索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
B_INDEX_XML | 业务表 XML 列索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
B_STORAGE | 定义业务表与栅格属性表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
BLK_INDEX_COMPOSITE | 栅格 BLK 表复合列索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
BLK_STORAGE | 定义栅格 BLK 表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
BND_INDEX_COMPOSITE | 栅格 BND 表复合列索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
BND_INDEX_ID | 栅格 BND 表 RID 列索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
BND_STORAGE | 定义栅格 BND 表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
COMMENT | 用于添加注释的行 | 最多可容纳 2,048 个字符长的注释 |
D_INDEX_ALL | 定义 sde_states_id、sde_deletes_row_id 和 deleted_at 列索引的填充系数 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
D_INDEX_DELETED_AT | 删除表(D 表)sde_deleted_at 列索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
D_STORAGE | 定义 D 表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
GEOMETRY_STORAGE | 指定要用于要素类中的空间列的数据类型 | ST_GEOMETRY、PG_GEOMETRY 或 PG_GEOGRAPHY |
LD_INDEX_ALL | 定义 sde_logfile_data 临时表的主键 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
LD_STORAGE | 定义 sde_logfile_data 临时表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
LF_INDEX_ID | 定义 sde_logfiles 临时表的主键索引存储 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
LF_INDEX_NAME | sde_logfiles 临时表上创建的唯一索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
LF_STORAGE | 定义 sde_logfiles 临时表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
MVTABLES_MODIFIED_INDEX | mvtables_modified 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
MVTABLES_MODIFIED_TABLE | 定义 mvtables_modified 表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
RAS_INDEX_ID | 栅格 RAS 表上 RID 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
RAS_STORAGE | 定义栅格 RAS 表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
RASTER_STORAGE | 指定要在表中使用的栅格数据存储类型 | rasterblob 或二进制 ArcGIS 10.4.1 和较早版本的客户端以及 ArcGIS Pro 1.3 和较早版本的客户端无法创建或访问使用 rasterblob 存储的栅格数据集或镶嵌数据集。 |
SESSION_INDEX | 基于会话的日志文件表索引的存储子句 | 此参数存在但未在 PostgreSQL 中使用。 |
SESSION_STORAGE | 定义基于会话的日志文件表的存储方式 | 此参数存在但未在 PostgreSQL 中使用。 |
SESSION_TEMP_TABLE | 控制是否在 tempdb 中创建日志文件 | 1 或 0 此参数存在但未在 PostgreSQL 中使用。 |
STATES_INDEX | 状态表索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
STATES_LINEAGES_INDEX | 控制 sde_state_lineages 表主键索引的存储方式 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
STATES_LINEAGES_TABLE | 定义 sde_state_lineages 表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
STATES_TABLE | 定义 sde_states 表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
UI_NETWORK_TEXT | 用于在 ArcGIS 用户界面中显示相关配置关键字;包括网络配置的描述 | 描述不能超过 2,048 个字符 |
UI_TERRAIN_TEXT | 用于在 ArcGIS 用户界面中显示相关配置关键字;包括地形配置的描述 | 描述不能超过 2,048 个字符 |
UI_TEXT | 用于在 ArcGIS 用户界面中显示相关配置关键字;包含相关的非复合配置关键字的描述 | 描述不能超过 2,048 个字符 |
UI_TOPOLOGY_TEXT | 用于在 ArcGIS 用户界面中显示相关配置关键字;包括拓扑配置的描述 | 描述不能超过 2,048 个字符 |
VERSIONS_INDEX | sde_versions 表索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
VERSIONS_TABLE | 定义 sde_versions 表的存储方式 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
XML_COLUMN_STORAGE | 指定要创建的 XML 列类型:本地 DBMS XML 或 ArcSDE XML | DB_XML 或 SDE_XML |
XML_DOC_INDEX | sde_xml_doc<n> 表中 xmldoc<n>_pk 索引和 xml_doc<n>_ix 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
XML_DOC_STORAGE | sde_xml_doc<n> 表的存储子句 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
XML_DOC_UNCOMPRESSED_TYPE | 指定 XML 文档的存储格式 | BINARY 或 TEXT |
XML_IDX_FULLTEXT_UPDATE_METHOD | 指定如何将 sde_xml_doc<n> 表(XML 文档表)中 xml_doc_val 列的更改内容和 sde_xml_idx<n> 表(XML 列的索引表)中 text_tag 列的更改内容传递至全文索引 | MANUAL 或 AUTOMATIC |
XML_IDX_INDEX_DOUBLE | sde_xml_idx<n> 表中 double_tag 列的 xmlix<n>_db 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
XML_IDX_INDEX_ID | xml_idx<n> 表中 ID 列的 xmlix<n>_id 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
XML_IDX_INDEX_PK | sde_xml_idx<n> 表中 xml_key_column 标识列的 xmlix<n>_pk 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
XML_IDX_INDEX_STRING | sde_xml_idx<n> 表中 string_tag 列的 xmlix<n>_st 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
XML_IDX_INDEX_TAG | sde_xml_idx<n> 表中 tag_id 列的 xmlix<n>_tg 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 PostgreSQL 文档。 |
XML_IDX_STORAGE | sde_xml_idx<n> 表(XML 列的索引表)的存储子句 | 有关 CREATE TABLE 参数的信息,请参阅 PostgreSQL 文档。 |
对于 XML 参数,<n> 指与特定 XML 列关联的 xml_column_id。
参数的功能描述
默认情况下,PostgreSQL 在数据库的默认表空间中存储表和索引。 要在其他表空间中存储表和索引,postgres 超级用户需要创建其他表空间并为将在其中创建对象的用户授予 CREATE 权限。 可使用 psql 元命令 \db+ 列出现有的表空间及其权限。
完成此配置后,可使用存储参数指定用于存储各种表的不同表空间。 用于指定表空间存储的语法因参数而异。
注:
PostgreSQL 中的表空间使用符号链接;因此,用户定义的表空间只能在支持符号链接的系统上使用。
业务表和索引存储参数
业务表是指要素类或非空间表的属性表。 使用 B_STORAGE 参数可定义业务表的存储配置。
支持创建业务表索引的索引存储参数有五个:
- B_INDEX_USER 参数保存用户定义索引的存储配置。
- B_INDEX_ROWID 参数用于保存 ArcGIS 对注册表中 ObjectID 列(也称为 ROWID 或 OBJECTID 列)创建的索引的存储方式配置。
- B_INDEX_RASTER 参数用于保存向业务表添加栅格列时 ArcGIS 创建的栅格列索引的填充系数信息。 ArcGIS 将在含栅格列的要素类上创建此索引。
- B_INDEX_TO_DATE 参数将为索引 R<registration_id>_sde_todate 指定填充系数。 此索引是在对业务表启用存档时创建的,并且在执行存档操作期间更新历史记录表时使用。
- B_INDEX_XML 参数指定业务表中 XML 列的索引的填充系数(后面的“XML 类型参数”部分也将介绍这一参数)。
A 表和 D 表存储参数
将业务表或要素类注册为版本化业务表或要素类,从而允许多个用户维护和编辑同一个对象。ArcGIS 会为注册版本的每个表创建两个表,即添加表和删除表。
每过一段适当的时间间隔,用户就会合并他们所做的更改和其他用户所做的更改,并协调修改相同要素时产生的所有冲突。
A 表参数
A_STORAGE 参数维护 A 表的存储配置。 A 表的名称为 A<n>,其中 <n> 是在 sde_table_registry 地理数据库系统表中列出的注册 ID。 例如,如果业务表 ROADS 使用注册 ID 10 列出,则 ArcGIS 会创建名为 A10 的 A 表。
另外,还有五个存储参数,用于保存 A 表索引的存储方式配置。 A_INDEX_ROWID 参数指定 ArcGIS 在版本化 ObjectID 列(也称为 ROWID)中所创建索引的填充系数。 A 表的 ROWID 索引名为 A<n>_ROWID_IX1,其中 <n> 是业务表的注册 ID,业务表使用该 ID 与 A 表建立关联。
A_INDEX_STATEID 参数保存 ArcGIS 在 A 表中 SDE_STATE_ID 列创建的索引的填充系数配置。 SDE_STATE_ID 列索引称为 A<n>_STATE_IX2,其中 <n> 是业务表的注册 ID,业务表使用该 ID 与 A 表建立关联。
A_INDEX_USER 参数保存 ArcGIS 在 A 表创建的用户定义索引的填充系数配置。 业务表中用户定义的索引在 A 表中可重复。 A_INDEX_RASTER 参数指定 A 表中栅格列的栅格列索引的索引的填充系数。
A_INDEX_XML 参数指定 A 表中 XML 列的索引的填充系数(后面的“XML 类型参数”部分也将介绍这一参数)。
D 表参数
D_STORAGE 参数保存 D 表的存储配置。 D 表的名称为 D<n>,其中 <n> 是在 sde_table_registry 系统表中列出的注册 ID。 例如,如果业务表 ROADS 列出的注册 ID 为 10,则 ArcGIS 将创建名为 D10 的删除表。
另外,还有两个存储参数用于保存 ArcGIS 为 D 表创建的索引的存储方式配置:
- D_INDEX_ALL 参数指定 ArcGIS 在 D 表中 SDE_STATE_ID 和 SDE_DELETES_ROW_ID 列创建的 D<n>_IDX1 索引的填充系数。
- D_INDEX_DELETED_AT 参数保存 ArcGIS 在 D 表 SDE_DELETED_AT 列创建的 D<n>_IDX2 索引的填充系数。
栅格表参数
创建栅格数据集或镶嵌数据集时,如果您在指定关键字时将 RASTER_STORAGE 设置为二进制,则添加到业务表的栅格列是对存储在包含支持的表和索引的方案中的栅格数据的外键引用。 如果将 RASTER_STORAGE 设置为 rasterblob(默认设置),可将 bytea 列添加到业务表中,并将支持的栅格信息存储在其他表中。
以下将介绍一些栅格表参数,这些参数可以定义支持的栅格表和索引的配置。
RAS_STORAGE 参数保存 RAS 表的 PostgreSQL CREATE TABLE 的存储配置。
RAS_INDEX_ID 参数指定 RAS 表索引的填充系数。 BND_STORAGE 参数保存 BND 表的 PostgreSQL CREATE TABLE 的存储配置。
BND_INDEX_COMPOSITE 参数指定 BND 表中复合列索引的填充系数。
BND_INDEX_ID 存储指定 BND 表中行 ID (RID) 列索引的填充系数。
AUX_STORAGE 参数保存 AUX 表的 PostgreSQL CREATE TABLE 的存储配置。
AUX_INDEX_COMPOSITE 参数指定 AUX 表索引的填充系数。
BLK_STORAGE 参数保存 BLK 表的 PostgreSQL CREATE TABLE 的存储配置。
BLK_INDEX_COMPOSITE 参数指定 BLK 表索引的填充系数。
您会发现栅格索引的默认填充系数要比其他索引的系数大。 这是因为栅格数据通常不会发生太大变化。
B_STORAGE 参数用于定义栅格属性表的存储类型。 此表(或这些表;可以存在多个此类表)存储栅格像元值的属性值。 如果要将这些表存储在与要素类业务表不同的位置,请为栅格属性表创建一个可指定不同存储信息的栅格关键字。 指示数据创建者在创建栅格数据集时使用此关键字。
几何存储参数
在 PostgreSQL 中使用的地理数据库中必须存在 Esri ST_Geometry 类型。 但是,创建以后,您可以在 PostgreSQL 的地理数据库中使用三种空间数据存储格式:ST_Geometry、PostGIS 几何或 PostGIS 地理。 GEOMETRY_STORAGE 参数指定使用的几何存储方法。 该参数具有以下值:ST_GEOMETRY、PG_GEOMETRY 或 PG_GEOGRAPHY。
注:
要使用 PG_GEOMETRY 或 PG_GEOGRAPHY 值,必须安装 PostGIS,且必须启用数据库以使用 PostGIS。
日志文件参数
日志文件表供 ArcGIS 使用,用于维护所选记录的集合。 日志文件参数不再用于 PostgreSQL 中的地理数据库。
用户界面参数
用户界面参数以 UI 开头,用于指示其关联配置关键字在 ArcGIS 用户界面和 ArcObjects 中是否可用。 UI_TEXT 用于非复合配置关键字。 UI_TOPOLOGY_TEXT 用于拓扑关键字。 UI_NETWORK_TEXT 用于网络关键字。 需要 UI 参数的默认配置关键字已具备 UI 参数。 仅在创建您自己的自定义关键字时才需要添加这些参数的其中之一。
XML 类型参数
注:
如果您在地理数据库中未使用 XML 列和 XML 文档,则无需对这些参数进行配置。 由于不再有 ArcGIS 客户端直接使用 XML 文档,因此您不太可能需要更改这些参数。
XML 配置参数用于指定用来跟踪和存储 XML 文档的表与索引的存储信息。
XML_COLUMN_STORAGE 参数会确定是以 ArcSDE XML 方式,还是以本机 PostgreSQL XML 方式创建 XML 列。 默认设置为使用原生 PostgreSQL XML (DB_XML)。
DATA_DICTIONARY 配置关键字的 XML_INDEX_TAGS_INDEX 参数指定 sde_xml_indexes 表索引的填充系数。
DATA_DICTIONARY 配置关键字的 XML_INDEX_TAGS_TABLE 参数定义 sde_xml_index_tags 地理数据库系统表的存储方式。 如果想使用这两个参数指定自定义存储方式,必须在创建地理数据库之前更改它们的值,因为它们控制地理数据库系统表的存储方式。
A_INDEX_XML 参数定义版本化要素类的 A 表中 XML 列的索引的填充系数。
B_INDEX_XML 参数定义业务表中 XML 列的索引的填充系数。
XML_IDX_FULLTEXT_UPDATE_METHOD 定义如何将 XML 文档表 (sde_xml_doc<n>) 中 xml_doc_val 列的更改内容和 XML 列 (sde_xml_idx<n>) 索引表中 text_tag 列的更改内容传递至全文索引。 此参数的选项为 AUTOMATIC 或 MANUAL。 设置为 AUTOMATIC 时,为 XML 端表创建的触发器将在插入行时更新索引。 如果 XML_IDX_FULLTEXT_UPDATE_METHOD 的值未设置为 AUTOMATIC,则假定为 MANUAL。
XML_DOC_STORAGE 参数设置 sde_xml_doc<n> 表的存储方式。
XML_DOC_INDEX 配置参数设置 sde_xml_doc<n> 表中 xmldoc<n>_pk 和 xml_doc<n>_ix 索引的填充系数。
XML_DOC_UNCOMPRESSED_TYPE 配置参数确定 XML 文档内容的存储方式。 选项为 BINARY 或 TEXT。 如果使用 BINARY,则以 bytea 数据类型存储数据。 如果使用 TEXT,则数据将为 Unicode 或 ASCII,具体取决于数据库是否设置为存储 Unicode 数据 (UTF-8)。
XML_IDX_STORAGE 配置参数设置 sde_xml_idx<n> 表(XML 列的索引表)的存储方式。 以下参数定义 sde_xml_idx<n> 表自身各列的索引的存储方式:
- XML_IDX_INDEX_DOUBLE - 定义 double_tag 列 xmlix<n>_db 索引的存储方式
- XML_IDX_INDEX_ID - 定义 ID 列 xmlix<n>_id 索引的存储方式
- XML_IDX_INDEX_PK - 定义 xml_key_column 标识列 xmlix<n>_pk 索引的存储方式
- XML_IDX_INDEX_STRING - 定义 string_tag 列 xmlix<n>_st 索引的存储方式
- XML_IDX_INDEX_TAG - 定义 string_tag 列 xmlix<n>_st 索引的存储方式