HerokuのPostgreSQLでuuid-oospを使う #heroku #postgresql version 2
:追加された部分
:削除された部分
(差分が大きい場合、文字単位では表示しません)
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が使える。
- Extensions, PostGIS, and Full Text Search Dictionaries on Heroku Postgres | Heroku Dev Center
- PostgreSQL: Documentation: 9.5: uuid-ossp
- PostgreSQL: Documentation: 9.5: UUID Type
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だけで済ませられるのは便利。