sql >> データベース >  >> RDS >> PostgreSQL

時間範囲の「1対多」の関係整合性の問題

    また、「タイムスタンプ」とは、特定の期間を意味しているようです。 。

    除外制約 範囲タイプbaridの平等と組み合わせる (追加モジュール btree_gistを利用する )は完璧な解決策になります。

    CREATE EXTENSION btree_gist;  -- needed once per database
    
    CREATE TABLE foo (
      fooid  serial PRIMARY KEY
    , barid  integer NOT NULL REFERENCES bar(barid) 
    , bazid  integer NOT NULL REFERENCES baz(bazid)
    , time_range tsrange NOT NULL           -- replaces startdate  & enddate 
    , EXCLUDE USING gist (barid WITH =, time_range WITH &&)
    );
    

    これにはPostgres9.2が必要です またはそれ以降。

    関連:

    マニュアルには、一致するコード例があります!



    1. PHP MySqlを使用したキーワード検索?

    2. Postgresql docker image / containerをどのように使用する必要がありますか?

    3. 指定された名前と引数のタイプに一致する関数はありません

    4. NOTIN値リストのMySQL変数形式