On Wed, Jan 6, 2010 at 9:08 PM, Richard Broersma <richard.broersma@xxxxxxxxx> wrote: > On Wed, Jan 6, 2010 at 7:51 PM, Yan Cheng Cheok <yccheok@xxxxxxxxx> wrote: > > >> instead of let customer_id being type as integer, can i let it be serial? is there any difference? >> >> if the table referenced by customer_id is having primary key typed big serial, customer_id shall be declared as bigint ? > > This is a good section about the distinction between: > > serial -> integer > bigserial -> bigint > > the short answer is that the serial type is actually is the datatype > *integer* with the sequence generator attached to the default value of > the column. > > So it only makes sense for primary key to be defined as serial. A > serial foreign key would be nonsensical since foreign keys should be > be generating their own values. Pretty sure the OP was talking about referencing a bigserial from a foreign key, which makes perfect sense for certain types of mappings. FKs don't generate their own values, they reference values in a PK or unique field somewhere else really. -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general