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

डैश के बिना यूयूआईडी कैसे उत्पन्न करें

आप जो चाहते हैं उसके करीब कुछ हासिल करने के लिए यहां एक कार्यशील समाधान दिया गया है:

CREATE TABLE foo (
  ts TIMESTAMP WITH TIME ZONE,
  uuid VARCHAR DEFAULT REPLACE(uuid_generate_v4()::text, '-', '' )
); 

INSERT INTO foo ( ts ) VALUES ( now() );

लेकिन (और यह एक बड़ा लेकिन है ) यहां हम uuid . कन्वर्ट करते हैं एक string . के लिए इसका मतलब है कि सूचकांक स्वयं किसी संख्या या वास्तविक uuid . से कहीं अधिक महंगा होगा ।

इस लेख में आप एक अच्छी व्याख्या पा सकते हैं:
https://tomharrisonjr.com/uuid-or-guid-as-primary-keys-be-careful-7b2aa3dcb439

जहां तक ​​मुझे पता है, पोस्टग्रेज 'uuid हाइफ़न का उपयोग करता है, भले ही आप उन्हें हटाने का प्रयास करें:

CREATE TABLE foo (
  ts TIMESTAMP WITH TIME ZONE,
  queue UUID DEFAULT REPLACE(uuid_generate_v4()::text, '-', '' )::uuid,
);

INSERT INTO foo ( ts ) VALUES ( now() );

ऊपर दिया गया उदाहरण Postgres 9.6 में ठीक काम करता है, लेकिन जब हम uuid पर वापस आते हैं हाइफ़न वापस जोड़े जाते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres सरणी में अतिव्यापी तत्वों की संख्या की गणना करें

  2. केवल-पढ़ने के लिए (अपरिवर्तनीय) PostgreSQL तालिका की पंक्ति गणना प्राप्त करने के लिए सूचकांक?

  3. खोज शब्द में थोड़ा सा परिवर्तन क्वेरी को इतना धीमा क्यों कर देता है?

  4. postgresql - json बनाने के लिए क्वेरी

  5. PostgreSQL वृद्धिशील बैकअप और पॉइंट-इन-टाइम रिकवरी