Использование uuid-cb в Managed Service for Greenplum®
Расширение uuid-cb
экспортирует функции генерации и валидации уникальных идентификаторов по требованиям Центрального банка Российской Федерации:
uuid_cb_generate()
— генерирует значение типаtext
, являющееся уникальным идентификатором в формате, требуемом ЦБ РФ.uuid_cb_valid(text)
— возвращает значение типаboolean
, которое указывает, является ли текстовый аргумент уникальным идентификатором в формате, требуемом ЦБ РФ.
Установить расширение uuid-cb в кластер Greenplum®
-
Подключитесь к базе данных от имени владельца или пользователя, имеющего в базе данных разрешение
CREATE
, и выполните команду:CREATE EXTENSION "uuid-cb";
-
Проверьте, что расширение было установлено:
SELECT extname FROM pg_extension;
Пример использования
-
Создайте таблицу, содержащую уникальные идентификаторы и данные:
CREATE TABLE uid_tbl ( uid TEXT NOT NULL DEFAULT uuid_cb_generate() CHECK (uuid_cb_valid(uid) = true), data INTEGER NOT NULL, PRIMARY KEY (uid) ) DISTRIBUTED BY(uid);
Уникальные идентификаторы в формате, требуемом ЦБ РФ, будут генерироваться в столбце
uid
как значения по умолчанию. Проверкой запрещена вставка значений, которые не являются уникальными идентификаторами в формате, требуемом ЦБ РФ. -
Вставьте тестовые данные в столбец
data
:INSERT INTO uid_tbl (data) SELECT d FROM generate_series(1, 10) d;
Для каждого запуска команды генерируется псевдослучайные значения идентификаторов.
-
Проверьте сгенерированные данные:
SELECT * FROM uid_tbl;
Результат:
uid | data ----------------------------------------+------ 4b68f587-6739-11ed-80d4-1b1dc5b7125e-1 | 8 4b68f589-6739-11ed-80d4-1b1dc5b7125e-1 | 10 4b68f581-6739-11ed-80d4-1b1dc5b7125e-1 | 2 4b68f583-6739-11ed-80d4-1b1dc5b7125e-1 | 4 4b68f585-6739-11ed-80d4-1b1dc5b7125e-1 | 6 4b68f588-6739-11ed-80d4-1b1dc5b7125e-9 | 9 4b68f580-6739-11ed-80d4-1b1dc5b7125e-9 | 1 4b68f582-6739-11ed-80d4-1b1dc5b7125e-9 | 3 4b68f584-6739-11ed-80d4-1b1dc5b7125e-9 | 5 4b68f586-6739-11ed-80d4-1b1dc5b7125e-9 | 7 (10 rows)
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.