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だけで済ませられるのは便利。