HerokuのPostgreSQLではuuid-oospが使える。
create extension
で有効にすると
create extension "uuid-ossp";
uuid_generate_v4
などの関数が使えるようになる(v1とかはまず使わないよなあ)。
INSERT
文でデータ新規作成時に使うこともできるし、UPDATE
文で行ごとに別々の値をSET uuid_row = uuid_generate_v4()
のように設定もできる。
あとはテーブル定義で列の初期値にすることもできる(DEFAULT uuid_generate_v4()
みたいな感じで)。
ただPostgreSQL独自の機能なので、アプリのポータビリティを考えたらアプリ側でUUIDの値は作るようにした方がいいのかな、と。一律でバッチ処理やDB操作でUUIDの値を挿入しないといけない場合に、SQLだけで済ませられるのは便利。