HerokuのPostgreSQLでuuid-oospを使う #heroku #postgresql version 2

2016/07/26 11:02 by hiro_y hiro_y
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
HerokuのPostgreSQLでuuid-oospを使う #heroku #postgresql
HerokuのPostgreSQLでは[uuid-oosp](https://www.postgresql.org/docs/current/static/uuid-ossp.html)が使える。

- [Extensions, PostGIS, and Full Text Search Dictionaries on Heroku Postgres | Heroku Dev Center](https://devcenter.heroku.com/articles/heroku-postgres-extensions-postgis-full-text-search)
  - [Announcing Support for 16 new Postgres Extensions | Heroku](https://blog.heroku.com/announcing_support_for_17_new_postgres_extensions_including_dblink)
- [PostgreSQL: Documentation: 9.5: uuid-ossp](https://www.postgresql.org/docs/current/static/uuid-ossp.html)
- [PostgreSQL: Documentation: 9.5: UUID Type](https://www.postgresql.org/docs/current/static/datatype-uuid.html)

`create extension`で有効にすると

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

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