ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Чтение версионных данных в PostgreSQL с использованием версионных представлений

  • Чтение из версии Default
  • Чтение из версии, отличной от Default

Для доступа к версионным данным можно выполнять запросы SQL SELECT к версионным представлениям.

Чтение из версии Default

При выполнении запросов SQL к версии Default у вас есть две опции: вы можете обращаться к последней версии или к заданному состоянию.

Чтение последнего состояния версии Default

Версионные представления автоматически получают доступ к текущему состоянию версии Default. Если вы выполняете запросы SELECT к версионному представлению, оно будет обращаться к текущему состоянию Default на момент выполнения команды. Если другие пользователи вносят изменения в версию Default (тем самым изменяя состояние, на которое ссылается версия Default), последующие запросы будут адресованы к последнему по времени состоянию с соответствующими изменениями.

Чтение определенного состояния версии

Если вы хотите выполнить запрос к определенному состоянию версии Default и не хотите, чтобы состояние изменилось во время выполнения запроса, выполните функцию sde_set_current_version. Эта функция проверяет имя версии и задает соответствующее состояние базы данных. Если вы выполняете sde_set_current_version к версии Default, запросы к Default всегда будут обращаться к тому состоянию, в котором находилась версия при начале выполнения функции sde_set_current_version.

Sde_set_current_version можно выполнить непосредственно из клиента SQL. Синтаксис выглядит так:

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

Вы можете снова выполнить эту функцию, чтобы вернуться к текущему состоянию версионной таблицы, если необходимо.

  1. Убедитесь, что для версионного класса объектов или таблицы, к которой вы обращаетесь, имеется версионное представление.

    Начиная с ArcGIS 10.1, версионные представления создаются автоматически для всех версионных данных. Если данные были зарегистрированы как версионные в ПО, выпущенном ранее версии 10.1, вы можете создать версионное представление, щелкнув набор данных в дереве Каталога или в ArcMap правой кнопкой мыши и выбрав Управление, Включить SQL-доступ.

  2. Откройте клиент psql и используйте функцию sde_set_current_version, чтобы задать версию Default.
    SELECT sde.sde_set_current_version('default');
    
  3. Выполнение выражения SELECT к версионному представлению для чтения версионных данных из базы геоданных.

    В этом примере версионное представление называется sightings_ev.

    SELECT id, species, reporter
     FROM sightings_ev
     WHERE reporter = 'chuck';
    

Чтение из версии, отличной от Default

Если вы хотите выполнить запрос к другой версии, отличной от Default, или не хотите, чтобы ваши запросы меняли состояние Default, выполните функцию sde_set_current_version. Эта функция проверяет имя версии и задает соответствующее состояние базы данных. Запросы к версии всегда указывают на состояние соответствующей версии, полученное при выполнении функции sde_set_current_version.

Эту функцию можно вызвать снова, чтобы изменить другие версии, также ее можно вызывать каждый раз при обновлении рабочей области, чтобы возвращать текущее состояние версионной таблицы вызывающему приложению.

  1. Убедитесь, что для версионного класса объектов или таблицы, к которой вы обращаетесь, имеется версионное представление.

    Версионные представления создаются при регистрации таблицы, класса объектов или набора классов в качестве версионных. Если данные были сделаны версионными до ArcGIS 10.1, вы можете создать версионное представление, щелкнув набор данных правой кнопкой мыши, выбрав Управление и Включить SQL-доступ.

  2. Откройте клиент psql и используйте функцию sde_set_current_version, чтобы задать версию, к которой будет создаваться запрос.

    В этом примере, для запросов выбирается версия fieldinspection.

    SELECT sde.sde_set_current_version('fieldinspection');
    
  3. Выполнение выражения SELECT к версионному представлению для чтения версионных данных из базы геоданных.

    В этом примере версионное представление называется code_ev.

    SELECT owner, site_address, region
     FROM code_ev
     WHERE region = 'b';
    

Если необходимо вернуть в запрос текущее состояние версии Default, вызовите функцию set_default.

SELECT sde.set_default;
Затем можно выполнить выражения SELECT над версионными представлениями, тогда запросы будут работать с последними версиями Default.

Связанные разделы

  • Что такое версионное представление?
  • Редактирование версионных данных в PostgreSQL с помощью SQL

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация