このトピックでは、sequential-uuids拡張機能の使用方法について説明します。 ApsaraDB RDS for PostgreSQLは、この拡張機能を提供して、よりシーケンシャルなパターンでUUIDを生成します。
前提条件
- RDSインスタンスは、次のいずれかのデータベースエンジンバージョンを実行します。
- RDSインスタンスはPostgreSQL 10以降を実行します。
- RDSインスタンスのマイナーエンジンバージョンが20220228以降です。 RDSインスタンスのマイナーエンジンバージョンを更新する方法の詳細については、「マイナーエンジンバージョンの更新」をご参照ください。
- RDSインスタンスへの接続には、特権アカウントが使用されます。 ApsaraDB RDSコンソールの [アカウント] ページで、使用するアカウントのタイプを確認できます。 アカウントが標準アカウントの場合、特権アカウントを作成し、その特権アカウントを使用してRDSインスタンスに接続する必要があります。 詳細については、「アカウントの作成」をご参照ください。
拡張機能の有効化または無効化
- 次のステートメントを実行して、sequential-uuids拡張を有効にします。
CREATE extension sequential_uuuids;
- 次のステートメントを実行して、sequential-uuids拡張子を無効にします。
DROP extension sequential_uuids;
例
この拡張機能は、シーケンスまたはタイムスタンプを使用してシーケンシャルUUIDを生成する2つの機能を提供します。
説明 拡張機能と関連パラメーターの使用方法の詳細については、「シーケンシャルUUIDジェネレータ」をご参照ください。
- uuid_sequence_nextval関数構文:
uuid_sequence_nextval(sequence regclass, block_size int default 65536, block_count int default 65536)
サンプル文:SEQUENCEの作成 SELECT uuuid_sequence_nextval ('s'::regclass、256、256);
サンプル結果:uuid_sequence_nextval -------------------------------------- 00cf26f7-ef7a-4746-8871-08b9c475713e (1行)
- uuid_time_nextval関数構文:
uuid_time_nextval(interval_length int default 60、interval_count int default 65536)
サンプルステートメント:SELECT uuid_time_nextval(1, 256);
サンプル結果:uuid_time_nextval -------------------------------------- 179f542c-978c-454c-9dee-5f4ba75288e1 (1行)