他のバージョンの文書 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

9.14. UUID関数 #

表 9.45は、UUIDの生成に使用できるPostgreSQLの関数を示しています。

表9.45 UUID生成関数

関数

説明

gen_random_uuiduuid

uuidv4uuid

バージョン4(ランダム)のUUIDを生成します。

gen_random_uuid()5b30857f-0bfa-48b5-ac0b-5c64e28078d1

uuidv4()b42410ee-132f-42ee-9e4f-09a6485c95b8

uuidv7 ( [ shift interval ] ) → uuid

バージョン7(時間順)のUUIDを生成します。 タイムスタンプは、ミリ秒精度のUNIXタイムスタンプ+サブミリ秒のタイムスタンプ+ランダム値を使用して計算されます。 オプションのパラメータshiftは、計算されたタイムスタンプを指定されたintervalだけシフトします。

uuidv7()019535d9-3df7-79fb-b466-fa907fa17f9e


注記

uuid-osspモジュールは、UUIDを生成するための他の標準アルゴリズムを実装した追加の関数を提供します。

表 9.46は、UUIDから情報を抽出するために使用できるPostgreSQL関数を示しています。

表9.46 UUID抽出関数

関数

説明

uuid_extract_timestamp ( uuid ) → timestamp with time zone

この関数は、UUIDバージョン1と7からtimestamp with time zoneを抽出します。 他のバージョンでは、この関数はNULLを返します。 抽出されたタイムスタンプは必ずしもUUIDが生成された時間と正確に同じではありません。 これはUUIDを生成した実装に依存します。

uuid_extract_timestamp('019535d9-3df7-79fb-b466-​fa907fa17f9e'::uuid)2025-02-23 21:46:24.503-05

uuid_extract_version ( uuid ) → smallint

この関数は、RFC 9562に記述されている種類のUUIDからバージョンを抽出します。 他の種類については、この関数はNULLを返します。 例えば、gen_random_uuidによって生成されたUUIDに対して、この関数は4を返します。

uuid_extract_version('41db1265-8bc1-4ab3-992f-​885799a4af1d'::uuid)4

uuid_extract_version('019535d9-3df7-79fb-b466-​fa907fa17f9e'::uuid)7


PostgreSQL表 9.1で示すUUIDのための通常の比較演算子を提供しています。

PostgreSQLUUIDデータ型の詳細は8.12を参照してください。