Reading versioned data in PostgreSQL using multiversioned views

You can execute SQL SELECT statements against multiversioned views to access versioned data.

Multiversioned views automatically access the DEFAULT version. Before issuing any queries against the view, you must ensure that you will be querying the required version.

To access a specific version other than the default, execute the ArcSDE sde_set_current_version function. This procedure validates the supplied version name and sets the corresponding database state internally. It can be executed directly from a SQL client. The syntax for the function to set the current version is as follows:

SELECT sde.sde_set_current_version('<version_name>');

This procedure may be called again to change to other versions as required and can be called each time the workspace is refreshed to return the current state of the versioned table to the calling application.

CautionCaution:

Multiversioned views should not be used to access or modify complex features such as features that participate in geometric networks, topologies, terrains, cadastral fabrics, network datasets, or relationships or that have specific geodatabase behavior. You should use ArcGIS to view and modify these types of features.

Steps:
  1. At an MS-DOS (Windows) or shell (Linux) command prompt, execute the sdetable utility to create a multiversioned view.
    sdetable –o create_mv_view –T code_mv –t code_enf 
    –i sde:postgresql:myserver –D code –u sarja –p not4U
  2. Open a psql client and use the sde_set_current_version procedure to set the version you want to edit.
    SELECT sde.sde_set_current_version('version2');
  3. Issue a SELECT statement against the multiversioned view to read versioned data from the geodatabase.
    SELECT violationID,codenum,propowner,insp_date 
    FROM code_mv 
    WHERE zip = '99999';

Related Topics


2/5/2013