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

पोस्टग्रेज़ दिनांक अतिव्यापी बाधा

ठीक है, मैंने यह करना समाप्त कर दिया:

CREATE TABLE test (
    from_ts TIMESTAMPTZ,
    to_ts TIMESTAMPTZ,
    account_id INTEGER DEFAULT 1,
    product_id INTEGER DEFAULT 1,
    CHECK ( from_ts < to_ts ),
    CONSTRAINT overlapping_times EXCLUDE USING GIST (
        account_id WITH =,
        product_id WITH =,
        period(from_ts, CASE WHEN to_ts IS NULL THEN 'infinity' ELSE to_ts END) WITH &&
    )
);

अनंत, लेन-देन के सबूत के साथ पूरी तरह से काम करता है।

मुझे बस अस्थायी विस्तार स्थापित करना था जो 9.2 पोस्टग्रेज में मूल होने जा रहा है और btree_gist 9.1 CREATE EXTENSION btree_gist; में एक एक्सटेंशन के रूप में उपलब्ध है।

nb:यदि आपके पास नल टाइमस्टैम्प नहीं है, तो अस्थायी एक्सटेंशन का उपयोग करने की कोई आवश्यकता नहीं है, आप मेरे प्रश्न में निर्दिष्ट बॉक्स विधि के साथ जा सकते हैं।



  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 डेटाबेस के साथ वेब ऐप में पूर्ण ऑफ़लाइन कार्यक्षमता कैसे प्राप्त करें?

  2. PostgreSQL WHERE क्लॉज में कॉलम उपनाम स्वीकार नहीं करता है

  3. PostgreSQL मामले में फ़ंक्शन नाम असंवेदनशील हैं?

  4. मैं एएससीआईआई (आईएसओ/आईईसी 8859-1) से अपने रेल/पीजीएसक्यूएल डेटाबेस में डेटा कैसे आयात कर सकता हूं?

  5. अगर आपका पोस्टग्रेएसक्यूएल प्रतिकृति पिछड़ रहा है तो क्या देखना है