Добавление значения в столбец 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.
- Если вы редактируете версионную таблицу, используя ArcGIS 10.1 или выше, то для этой таблицы в базе геоданных уже существует версионное представление. Имя представления будет иметь имя таблицы с добавлением _vw. Если версионного представления еще нет, то его можно создать в ArcGIS for Desktop. Инструкции см. в разделе Создание версионных представлений из ArcGIS for Desktop
- Войдите в базу данных, используя psql, как пользователь с правами на редактирование таблицы.
Если вы выполняете редактирование с помощью версионного представления, пользователь должен также иметь права на редактирование представления.
- Если вы выполняете редактирование версионной таблицы, см. Редактирование версионных данных в PostgreSQL с использованием SQL для дополнительных инструкций по использованию версионного представления для редактирования. Если вы редактируете неверсионную таблицу, перейдите к следующему шагу.
-
При добавлении записи используйте функцию retrieve_guid() для добавления следующего значения global ID.
INSERT INTO jason.assets (asset_id,globalid) VALUES (57,sde.retrieve_guid());