Postgresql

IDENTITY COLUMNS 可以生成 UUID 嗎?

  • January 3, 2018

我只是想知道實現規範(PostgreSQL)是否提供了從 UUId 等生成標識列。

有沒有替代方案,

CREATE TABLE f (
 id uuid DEFAULT gen_random_uuid()
);

尤其是可以保護柱子的GENERATED ALAWYS

貌似目前PostgreSQL只提供以下

GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( sequence_options ) ]

PostgreSQL文件繼續說

**此子句將該列創建為標識列。**它將附加一個隱式序列,並且新行中的列將自動具有分配給它的序列中的值。

所以它似乎是特定於序列的。SLQ 2011 規範暗示沒有更多內容,

標識列的聲明類型要麼是比例為 0(零)的精確數字類型,例如 INTEGER,要麼是源類型是比例為 0(零)的精確數字類型的不同類型。標識列具有起始值、增量、最大值、最小值和循環選項。標識列與內部序列生成器 SG 相關聯。

引用自:https://dba.stackexchange.com/questions/194427