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

ApsaraDB RDS:sequential-uuids拡張を使用してシーケンシャルUUIDを生成する

最終更新日:Nov 12, 2024

このトピックでは、sequential-uuids拡張機能の使用方法について説明します。 ApsaraDB RDS for PostgreSQLは、この拡張機能を提供して、よりシーケンシャルなパターンでUUIDを生成します。

前提条件

  • RDSインスタンスは、次のいずれかのデータベースエンジンバージョンを実行します。

    • RDSインスタンスはPostgreSQL 10以降を実行します。

      説明

      この拡張機能は、PostgreSQL 17を実行するApsaraDB RDS for PostgreSQLインスタンスではサポートされていません。

    • RDSインスタンスのマイナーエンジンバージョンが20220228以降です。 RDSインスタンスのマイナーエンジンバージョンを更新する方法の詳細については、「マイナーエンジンバージョンの更新」をご参照ください。

  • RDSインスタンスへの接続には、特権アカウントが使用されます。 ApsaraDB RDSコンソールの [アカウント] ページで、使用するアカウントのタイプを確認できます。 アカウントが標準アカウントの場合、特権アカウントを作成し、その特権アカウントを使用してRDSインスタンスに接続する必要があります。 詳細については、「アカウントの作成」をご参照ください。

拡張機能の有効化または無効化

  • 次のステートメントを実行して、sequential-uuids拡張を有効にします。

    CREATE EXTENSION sequential_uuids;
  • 次のステートメントを実行して、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)

    例:

    CREATE SEQUENCE s;
    SELECT uuid_sequence_nextval('s'::regclass, 256, 256);

    サンプル結果:

            uuid_sequence_nextval
    --------------------------------------
     00cf26f7-ef7a-4746-8871-08b9c475713e
    (1 row)
  • uuid_time_nextval関数

    構文:

    uuid_time_nextval(interval_length int default 60, interval_count int default 65536) RETURNS uuid

    例:

    SELECT uuid_time_nextval(1, 256);

    サンプル結果:

              uuid_time_nextval
    --------------------------------------
     179f542c-978c-454c-9dee-5f4ba75288e1
    (1 row)