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

एक चयन के भीतर अस्थायी अनुक्रम

आप एक सीरियल क्यों नहीं जोड़ते तालिका में प्राथमिक कुंजी स्तंभ?

ALTER TABLE login ADD column login_id serial;
ALTER TABLE login ADD CONSTRAINT login_pkey PRIMARY KEY(login_id);

पहला ऑपरेशन टेबल को फिर से लिखेगा और कुछ समय के लिए लॉक लेगा। फिर मैं दौड़ूंगा

VACCUM FULL ANALYZE login;

अवर विकल्प:row_number() जैसा @Joachim द्वारा बताया गया . अधिकतम प्रदर्शन के लिए आप OVER . छोड़ सकते हैं खंड खाली:

row_number() OVER () AS rn

इसके अलावा:AS . का उपयोग करें स्तंभ उपनामों के लिए कीवर्ड (जबकि वे तालिका उपनामों के लिए केवल शोर हैं)।

या आप ctid<का उपयोग कर सकते हैं /कोड> प्राथमिक कुंजी के लिए गरीब आदमी के सरोगेट के रूप में। यह और भी तेज़ होगा :

विवरण:
इन-ऑर्डर सीक्वेंस जेनरेशन

dba.SE पर उदाहरण:
कई तालिकाओं के लिए पंक्तियों को क्रम से क्रमांकित करना



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jsonb (PostgreSQL) का उपयोग करके, मैं एक निश्चित मान के साथ आइटम कैसे पुनर्प्राप्त कर सकता हूं जो एक सरणी के रूप में सहेजा गया है?

  2. डालने पर त्रुटि पोस्ट करता है - त्रुटि:UTF8 एन्कोडिंग के लिए अमान्य बाइट अनुक्रम:0x00

  3. डेटाबेस पर pg_dump फेंकने में त्रुटि 'साझा स्मृति से बाहर'

  4. pg_restore त्रुटि:भूमिका XXX मौजूद नहीं है

  5. PostgreSQL चयन क्वेरी में कॉलम की अधिकतम संख्या क्या है