PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

समय सीमा के लिए 'एक-से-अनेक' संबंध अखंडता मुद्दा

और "टाइमस्टैम्प" से आपका मतलब एक निश्चित समयावधि . लगता है ।

एक बहिष्करण बाधा एक श्रेणी प्रकार पर , 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 &&)
);

इसके लिए पोस्टग्रेज की आवश्यकता है 9.2 या बाद में।

संबंधित:

मैनुअल में एक मिलान कोड उदाहरण है!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql और jsonb - एक बहु-स्तरीय सरणी में एक कुंजी/मान डालना

  2. पोस्टग्रेज में Seq स्कैन और बिटमैप हीप स्कैन में क्या अंतर है?

  3. PostgreSQL में माध्यिका की गणना कैसे करें

  4. Postgresql hstore को php सरणी में बदलें

  5. पोस्टग्रेज:एक उपयोगकर्ता को सुपरयुसर बनने के लिए अपग्रेड करें?