docs से :
डेटा प्रकार smallserial
, serial
और bigserial
सही प्रकार नहीं हैं, लेकिन विशिष्ट पहचानकर्ता कॉलम बनाने के लिए केवल एक उल्लेखनीय सुविधा है (कुछ अन्य डेटाबेस द्वारा समर्थित AUTO_INCREMENT संपत्ति के समान)। वर्तमान कार्यान्वयन में, निर्दिष्ट करना:
CREATE TABLE tablename (
colname SERIAL
);
निर्दिष्ट करने के बराबर है:
CREATE SEQUENCE tablename_colname_seq;
CREATE TABLE tablename (
colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
);
ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;
इस प्रकार, हमने एक पूर्णांक कॉलम बनाया है और इसके डिफ़ॉल्ट मानों को अनुक्रम जनरेटर से असाइन करने की व्यवस्था की है। यह सुनिश्चित करने के लिए कि एक शून्य मान सम्मिलित नहीं किया जा सकता है, एक नॉट न्यूल बाधा लागू की जाती है। (ज्यादातर मामलों में आप डुप्लीकेट मानों को दुर्घटनावश सम्मिलित होने से रोकने के लिए UNIQUE या PRIMARY KEY बाधा भी संलग्न करना चाहेंगे, लेकिन यह स्वचालित नहीं है।) अंत में, अनुक्रम को कॉलम के "स्वामित्व" के रूप में चिह्नित किया जाता है, ताकि यह अगर कॉलम या टेबल को गिरा दिया जाता है तो ड्रॉप हो जाएगा।