タグ

ブックマーク / qiita.com/yancya (2)

  • 正規化された複数のテーブルに JSON の値を反映する - Qiita

    去年のアドベントカレンダーではPostgreSQL で JSON を組み立てるというのを書いたので、今年は JSON からテーブルへ値を入れるにはどうしたらいいかというのを書きます CREATE TABLE parents ( parent_id bigserial PRIMARY KEY, "name" varchar NOT NULL UNIQUE ); CREATE TABLE children ( child_id bigserial PRIMARY KEY, "name" varchar NOT NULL UNIQUE, parent_id bigint NOT NULL REFERENCES parents(parent_id) ); CREATE OR REPLACE FUNCTION upsert_parent(parent json) RETURNS TABLE(pare

    正規化された複数のテーブルに JSON の値を反映する - Qiita
    n314
    n314 2019/04/13
    いつか使うかもしれない
  • PostgreSQL の範囲型について - Qiita

    PostgreSQL 9.2 から、組み込みの範囲型が利用できるようになりました。リリースされた直後から結構便利に使っているので、紹介しようと思います。概ねマニュアルに書いてあることの紹介となりますので、正確さを重視する方はマニュアルをご覧になった方が良いかもしれません。 どんなものなのか ざっくり 「1 から 10 まで」とか「2013 年 1 月 1 日から 2013 年 12 月 31 日まで」というようなデータを1つの要素として取り扱えます。 組み込みの型 最初から用意されている型は int4range, int8range, numrange, tsrange, tstzrange, daterange の6つです。この他にもユーザーが新しい範囲型を定義することが出来ます。 リテラル表現 リテラルはありません。コンストラクタ関数を使うか、文字列をキャストする事になります。私はハー

    PostgreSQL の範囲型について - Qiita
  • 1