Hello SEQUENCE isn't datatype. It is a database object. Simple object, that can to generate unique integer numbers.
SERIAL is a fictive datatype. It can create a own SEQUENCE object and can create a reference on this object. pavel=# create sequence aaaa; CREATE SEQUENCE Time: 461.883 ms pavel=# select nextval('aaaa'); nextval ───────── 1 (1 row) Time: 78.413 ms pavel=# select nextval('aaaa'); nextval ───────── 2 (1 row) Time: 12.761 ms pavel=# create table ggg(a serial); NOTICE: CREATE TABLE will create implicit sequence "ggg_a_seq" for serial column "ggg.a" CREATE TABLE Time: 91.866 ms pavel=# \d ggg Table "public.ggg" Column │ Type │ Modifiers ────────┼─────────┼───────────────────────────────────────────────── a │ integer │ not null default nextval('ggg_a_seq'::regclass) pavel=# regards Pavel Stehule 2011/2/1 Adarsh Sharma <adarsh.sha...@orkash.com>: > Dear all, > > I am not able to distinct these two datatypes ( Serial and Sequence ) in > Postgresql which resembles like auto-increment in Mysql. > > Which one gets priority and When ? > > The only thing I am able to find is to use SERIAL because if a drop table > occurs , still SEQUENCE memory is not freed, its garbage remains. > > However if we define a SERIAL column in a table , implicitly it makes a > sequence. > > Could anyone Please describe me the difference and Which to Use When ? > > > Thanks & Regards > > Adarsh Sharma > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general > -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general