8.12. Тип UUID
Тип даннÑÑ
uuid ÑоÑ
ÑанÑÐµÑ ÑнивеÑÑалÑнÑе ÑникалÑнÑе иденÑиÑикаÑоÑÑ (Universally Unique Identifiers, UUID), опÑеделÑннÑе в RFC 4122, ISO/IEC 9834-8:2005 и ÑвÑзаннÑÑ
ÑÑандаÑÑаÑ
. (РнекоÑоÑÑÑ
ÑиÑÑемаÑ
ÑÑо назÑваеÑÑÑ GUID, глобалÑнÑм ÑникалÑнÑм иденÑиÑикаÑоÑом.) ÐÑÐ¾Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ Ð¿ÑедÑÑавлÑÐµÑ Ñобой 128-биÑное знаÑение, генеÑиÑÑемое ÑпеÑиалÑнÑм алгоÑиÑмом, пÑакÑиÑеÑки гаÑанÑиÑÑÑÑим, ÑÑо ÑÑим же алгоÑиÑмом оно не бÑÐ´ÐµÑ Ð¿Ð¾Ð»ÑÑено болÑÑе нигде в миÑе. Таким обÑазом, ÑÑи иденÑиÑикаÑоÑÑ Ð±ÑдÑÑ ÑникалÑнÑми и в ÑаÑпÑеделÑннÑÑ
ÑиÑÑемаÑ
, а не ÑолÑко в единÑÑвенной базе даннÑÑ
, как знаÑÐµÐ½Ð¸Ñ Ð³ÐµÐ½ÐµÑаÑоÑов поÑледоваÑелÑноÑÑей.
UUID запиÑÑваеÑÑÑ Ð² виде поÑледоваÑелÑноÑÑи ÑеÑÑнадÑаÑеÑиÑнÑÑ ÑиÑÑ Ð² нижнем ÑегиÑÑÑе, ÑазделÑннÑÑ Ð·Ð½Ð°ÐºÐ°Ð¼Ð¸ минÑÑа на неÑколÑко гÑÑпп, в Ñаком поÑÑдке: гÑÑппа из 8 ÑиÑÑ, за ней ÑÑи гÑÑÐ¿Ð¿Ñ Ð¸Ð· 4 ÑиÑÑ Ð¸, наконеÑ, гÑÑппа из 12 ÑиÑÑ, ÑÑо в ÑÑмме ÑоÑÑавлÑÐµÑ 32 ÑиÑÑÑ Ð¸ пÑедÑÑавлÑÐµÑ 128 биÑ. ÐÑÐ¸Ð¼ÐµÑ UUID в ÑÑом ÑÑандаÑÑном виде:
a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11
Postgres Pro Ñакже пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð°Ð»ÑÑеÑнаÑивнÑе ваÑианÑÑ: ÑиÑÑÑ Ð² веÑÑ Ð½ÐµÐ¼ ÑегиÑÑÑе, ÑÑандаÑÑнÑÑ Ð·Ð°Ð¿Ð¸ÑÑ, заклÑÑÑннÑÑ Ð² ÑигÑÑнÑе Ñкобки, запиÑÑ Ð±ÐµÐ· минÑÑов или Ñ Ð¼Ð¸Ð½ÑÑами, ÑазделÑÑÑими лÑбÑе гÑÑÐ¿Ð¿Ñ Ð¸Ð· ÑеÑÑÑÑÑ ÑиÑÑ. ÐапÑимеÑ:
A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11
{a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11}
a0eebc999c0b4ef8bb6d6bb9bd380a11
a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11
{a0eebc99-9c0b4ef8-bb6d6bb9-bd380a11}ÐÑводиÑÑÑ Ð·Ð½Ð°Ñение ÑÑого Ñипа вÑегда в ÑÑандаÑÑном виде.
Ðак можно ÑгенеÑиÑоваÑÑ UUID в PostgreSQL, опиÑÑваеÑÑÑ Ð² Разделе 9.14.