PostgreSQL 中地理数据库 (geodatabase) 的存档

可使用地理数据库存档追踪数据的历史事务时间。事务时间表示某一事件在数据库中得以重现的时刻。每次向数据库插入要素,然后对其进行修改或逻辑删除时,都会记录一个事务时间。对数据集历史记录的追踪可用于记录数据发生变更的时间和方式。 而且,还允许您查询以前版本的数据。

在 ArcGIS Desktop 中存档表

要使用地理数据库存档,请将数据完全注册为版本,然后在目录窗口中启用该数据以进行存档。(有关如何执行此操作的详细信息,请参阅地理数据库 (geodatabase) 存档及其相关主题。)要判断某一数据集是否已经启用存档功能,可在目录窗口中右键单击该数据集然后单击存档,如果弹出的快捷菜单中“禁用存档”选项可用但“启用存档”选项不可用,则说明存档功能已被启用。

存档类无法在目录窗口中进行查看,但可以通过空间数据库连接属性 对话框将连接保存到特定的历史版本中。为便于查看特定时间的数据变更,您可以创建历史标记,这样其他用户便可以使用该标记来查看数据在该特定时间的状态。有关创建历史标记的详细信息,请参阅使用历史标记

在 PostgreSQL DBMS 中存档表

启用表的存档功能后,将创建一个存档类。此类为该业务表的副本,它包含业务表中的所有字段,另外还包括三个新字段:gdb_from_dategdb_to_datexol_gdb_archvie_oid。有关这些字段的填充方式的说明,请参阅存档过程

存档类表的名称是原业务表名称后加一条下划线和 H。例如,对要素类 trails 启用存档功能后,将在该要素类所有者的方案中创建一个存档类 trails_H。存档类表是只读的,用于存储已保存或提交到“默认”版本地理数据库中的变更;即使对应数据集取消注册为版本或被删除,也不会删除该存档类表。如果已存档的数据集未版本化或被删除,对应的存档类将被转换为临时表,且仍可对其进行查询。有关查看不同历史版本的详细信息,请参阅使用地理数据库(Geodatabase)历史查看器

对数据集启用存档功能后,如果对其方案进行了更改(例如,添加或删除了某一字段),则所做更改将自动添加到对应的存档类中。

注意注意:

请勿直接更改存档类的方案。

此外,对表启用存档功能后,将向 sde_archives 表中添加一条记录。该条记录中存储了为进行存档而被启用的表的注册 ID 及该表相关联的存档类表的注册 ID。

有关 sde_archives 表的详细信息,请参见 PostgreSQL 中地理数据库的系统表

下图显示了为存档而启用的业务表 lots、其对应的存档类表以及 sde_archives 表中的记录。业务表通过 sde_table_registry 表关联到 sde_archives 表。

为存档而启用的业务表以及关联的系统表

创建历史标记以便于查看数据在特定时间的状态时,将填充 gdb_items 表。该表与 gdb_itemtypes 表相关联,以表明项类型为历史标记。有关创建历史标记的详细信息,请参阅使用历史标记

在 XML 工作空间文档中存档表

存档类并不导出到 XML 工作空间文档中。

相关主题


3/7/2012