आप एक सीरियल क्यों नहीं जोड़ते
तालिका में प्राथमिक कुंजी स्तंभ?
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 पर उदाहरण:
कई तालिकाओं के लिए पंक्तियों को क्रम से क्रमांकित करना