Leer datos versionados en PostgreSQL con vistas multiversionadas

Puede ejecutar las declaraciones SQL SELECT contra vistas multiversionadas para acceder a los datos multiversionados.

Las vistas multiversionadas acceden automáticamente a la versión DEFAULT. Antes de hacer cualquier consulta contra la vista, debe asegurarse de que está consultando la versión requerida.

Para acceder a una versión específica diferente de la versión predeterminada, ejecute la función sde_set_current_version de ArcSDE. Este procedimiento valida el nombre de versión proporcionado y configura internamente el estado de la base de datos correspondiente. Se puede ejecutar directamente desde un cliente SQL. La sintaxis para que la función configure la versión actual es la siguiente:

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

Este procedimiento se puede invocar otra vez para cambiar a otras versiones según se requiera, y se puede invocar cada vez que el espacio de trabajo se actualice para devolver el estado actual de la tabla versionada a la aplicación que la invoca.

PrecauciónPrecaución:

Las vistas multiversionadas no deberían utilizarse para acceder a entidades complejas o modificarlas, como las entidades que participan en redes geométricas, topologías, terrenos, estructuras catastrales, datasets de red, relaciones, o entidades con un comportamiento de geodatabase específico. Debería usar ArcGIS para visualizar y modificar estos tipos de entidades.

Pasos:
  1. Ejecute la utilidad sdetable para crear una vista multiversionada en una ventana de comando de MS-DOS (Windows) o de shell (Linux).
    sdetable –o create_mv_view –T code_mv –t code_enf  –i sde:postgresql:myserver –D code –u sarja –p not4U
  2. Abra un cliente psql y utilice el procedimiento sde_set_current_version para establecer la versión que desea editar.
    SELECT sde.sde_set_current_version('version2');
  3. Emita la declaración SELECT contra la vista multiversionada para leer los datos versionados desde la geodatabase.
    SELECT violationID,codenum,propowner,insp_date  FROM code_mv  WHERE zip = '99999';

Temas relacionados


3/6/2012