すべてのプロダクト
Search
ドキュメントセンター

Hologres:GEN_RANDOM_UUID

最終更新日:Mar 27, 2026

GEN_RANDOM_UUID は、ランダムな 16 進数の整数で構成されるバージョン 4 の UUID を生成します。これは、プライマリキー列の DEFAULT 値のように、書き込み時に行に一意の ID を割り当てるために、ID シーケンスを手動で管理することなく使用できます。

前提条件

開始する前に、以下を準備してください。

  • Hologres データベース

  • そのデータベースで DDL 文を実行する権限

pgcrypto 拡張機能のインストール

GEN_RANDOM_UUID を使用するには、pgcrypto 拡張機能が必要です。この関数を呼び出す前に、データベースごとに 1 回インストールしてください。

-- 拡張機能をインストールします。
CREATE EXTENSION pgcrypto;

-- 不要になった場合は、拡張機能を削除します。
DROP EXTENSION pgcrypto;
この拡張機能はデータベースにスコープされます。新しいデータベースを作成する場合は、そのデータベースでも CREATE EXTENSION pgcrypto を実行してください。

構文

GEN_RANDOM_UUID() → uuid

uuid 値を返します。例: 3a5401f1-0f0c-4380-8611-78e654efd86d

UUID は 128 ビットの固定長です。その値は 00000000-0000-0000-0000-000000000000 から ffffffff-ffff-ffff-ffff-ffffffffffff の範囲です。UUID データの型に関する詳細については、「データの型」をご参照ください。

UUID のオンデマンド生成

SELECT GEN_RANDOM_UUID();

結果:

gen_random_uuid
------------------------------------
3a5401f1-0f0c-4380-8611-78e654efd86d

挿入時の UUID 列の自動生成

gen_random_uuid()INSERT ... SELECT 文内で呼び出すことで、ソーステーブルの各行に一意の ID を割り当てます。

-- ソーステーブルを作成し、サンプルデータを入力します。
CREATE TABLE t_source (a INT);
INSERT INTO t_source SELECT * FROM generate_series(1, 5);

-- UUID 列を持つ宛先テーブルを作成します。
CREATE TABLE t_result (a INT, b UUID);

-- 行を挿入し、それぞれに UUID を生成します。
INSERT INTO t_result SELECT *, gen_random_uuid() FROM t_source;

-- 結果を確認します。
SELECT * FROM t_result;

結果:

 a |                  b
---+--------------------------------------
 1 | 27477537-abc4-4c17-9cf3-91c856a3b298
 2 | 2522b1ce-fdf3-4b14-a3c3-78f4baac5186
 3 | c69959a3-ad40-424f-9eb1-3271d0c6a8d4
 4 | 5493e087-b1b8-47e2-8117-adea27aaa676
 5 | f0e55a29-e72e-42e6-99aa-486db4f8b624
(5 rows)