LoginSignup
3
3

More than 5 years have passed since last update.

PostgreSQLのJSON型を使う

Posted at

PostgreSQLにはJSON型がある

配列やハッシュを格納できる。

Rails での使い方

create_table :user do |t|
  t.json :foo
  t.jsonb :bar
end

PostgreSQLドキュメントのJSONデータ型 からの引用

JSONデータ型にはjson型とjsonb型という2種類のデータ型があります。 それらは ほとんど 同一の入力値セットを受け入れます。現実的に主要な違いは効率です。

json型は入力値のコピーを格納しているので、意味的に重要でないトークン間の空白だけでなく、JSONオブジェクト内のキーの順序も維持します。これとは対照的に、jsonbは空白を保持しません。

ほとんどのアプリケーションではJSONデータ型としてjsonb型のほうが望ましいでしょう

おまけ

serializerを使えば他のDBでも使える。
手っ取り早い。けど遅い。

class Article < ActiveRecord::Base
  serialize :tags, JSON
end

Railsリファレンス serialize

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3