uuid
を使用する 。 PostgreSQLには理由からネイティブタイプがあります。
これは、uuidを128ビットのバイナリフィールドとして内部に格納します。他の提案されたオプションはそれを16進数として保存しますが、これは比較すると非常に非効率的です。
それだけでなく、:
-
uuid
順序付けのために単純なバイト単位のソートを行います。テキストコード> 、
char
およびvarchar
照合とロケールを検討してください。これは、uuidには無意味です。 -
uuid
の正規表現は1つだけです。 。同じことはテキストなどには当てはまりません。大文字と小文字の16進数、{...-...}
の有無を考慮する必要があります。 sなど
疑問の余地はありません。 uuid
を使用する 。
意味のある他のタイプはbytea
だけです。 、少なくともuuidの16バイトを直接格納するために使用できます。これは、ある種の本当にばかげたORMのように、基本セット以外のデータ型を処理できないシステムを使用していた場合に行うことです。