Добавление значения в столбец global ID (GUID) в PostgreSQL с использованием SQL

Типы данных global ID и GUID содержат реестр строк стилей (registry style strings), состоящий из 36 символов, заключенных в круглые скобки. Эти строки уникально определяют объект или запись таблицы внутри и вне базы геоданных. Global ID используются для поддержки уникальности записей в односторонней или двусторонней репликах базы геоданных. Идентификаторы GUID могут добавляться к любому слою.

Однако если таблица, которую вы хотите отредактировать, участвует в репликации или содержит столбец GUID, то вам необходимо вставить уникальное значение в столбец global ID или GUID, когда вы добавляете новую запись в таблицу, используя SQL. Чтобы сделать это, используйте функцию retrieve_guid().

ПримечаниеПримечание:

Вы должны установить модуль uuid-ossp contrib в базе данных PostgreSQL перед тем, как вы сможете запустить функцию retrieve_guid().

При редактировании неверсионной таблицы, вы можете добавлять идентификатор (ID) непосредственно в таблицу. При редактировании версионной таблицы, используйте функцию retrieve_guid() для добавления значения в столбец GUID или Global ID, в версионном представлении таблицы с помощью SQL.

ПодсказкаПодсказка:

Глобальные идентификаторы (global ID) можно добавить в класс пространственных объектов в окне Каталог (Catalog), щелкнув правой кнопкой мыши на наборе данных и выбрав Добавить Global IDs (Add Global IDs). После этого база геоданных будет автоматически поддерживать эти значения при редактировании в ArcGIS.

Шаги:
  1. Если вы редактируете версионную таблицу, используя ArcGIS 10.1 или выше, то для этой таблицы в базе геоданных уже существует версионное представление. Имя представления будет иметь имя таблицы с добавлением _vw. Если версионного представления еще нет, то его можно создать в ArcGIS for Desktop. Инструкции см. в разделе Создание версионных представлений из ArcGIS for Desktop
  2. Войдите в базу данных, используя psql, как пользователь с правами на редактирование таблицы.

    Если вы выполняете редактирование с помощью версионного представления, пользователь должен также иметь права на редактирование представления.

  3. Если вы выполняете редактирование версионной таблицы, см. Редактирование версионных данных в PostgreSQL с использованием SQL для дополнительных инструкций по использованию версионного представления для редактирования. Если вы редактируете неверсионную таблицу, перейдите к следующему шагу.
  4. При добавлении записи используйте функцию retrieve_guid() для добавления следующего значения global ID.
    INSERT INTO jason.assets (asset_id,globalid) 
    VALUES (57,sde.retrieve_guid());
    
9/11/2013