Lecture de données versionnées dans PostgreSQL à l'aide de vues multi-versionnées

Vous pouvez exécuter des instructions SELECT SQL sur des vues multi-versionnées pour accéder aux données versionnées.

Les vues multi-versionnées accèdent automatiquement à la version DEFAULT. Avant d'émettre des requêtes sur la vue, vous devez vérifier que vous allez interroger la version appropriée.

Pour accéder à une version spécifique autre que la version par défaut, exécutez la fonction ArcSDE sde_set_current_version. Cette procédure valide le nom de version fourni et définit l'état de la base de données correspondant en interne. Elle peut être exécutée directement à partir d'un client SQL. La syntaxe de la fonction permettant de définir la version courante est la suivante :

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

Le cas échéant, cette procédure peut être rappelée pour modifier d'autres versions. Elle peut être appelée chaque fois que l'espace de travail est actualisé pour renvoyer l'état courant de la table versionnée à l'application d'appel.

AttentionAttention :

Les vues multi-versionnées ne doivent pas être utilisées pour accéder ou modifier des entités complexes, telles que des entités qui participent aux réseaux géométriques, aux topologies, aux MNT, aux ateliers cadastraux, aux jeux de données réseau ou aux relations ou qui ont un comportement de géodatabase spécifique. Vous devez utiliser ArcGIS pour afficher et modifier ces types d'entités.

Étapes :
  1. Dans l'invite de commande MS-DOS (Windows) ou shell (Linux), exécutez l'utilitaire sdetable pour créer une vue multi-versionnée.
    sdetable –o create_mv_view –T code_mv –t code_enf 
    –i sde:postgresql:myserver –D code –u sarja –p not4U
  2. Ouvrez un client psql et utilisez la procédure sde_set_current_version pour définir la version que vous souhaitez mettre à jour.
    SELECT sde.sde_set_current_version('version2');
  3. Exécutez une instruction SELECT sur la vue multi-versionnée pour lire les données versionnées de la géodatabase.
    SELECT violationID,codenum,propowner,insp_date 
    FROM code_mv 
    WHERE zip = '99999';

Rubriques associées


3/6/2012