Thread: Update to equivalent SQL in 8.1.4. Serial Types
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/11/datatype-numeric.html Description: In 8.1.4. Serial Types it says that CREATE TABLE tablename ( colname SERIAL ); is equivalent to 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; Since Postgres 10, the datatype of the automatically-created sequence matches the datatype of the serial column. But the default type for CREATE SEQUENCE remains as bigint. So the second block should start with the line CREATE SEQUENCE tablename_colname_seq AS INTEGER;
On 2019-02-20 13:47, PG Doc comments form wrote: > CREATE TABLE tablename ( > colname SERIAL > ); > > is equivalent to > > 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; > > Since Postgres 10, the datatype of the automatically-created sequence > matches the datatype of the serial column. But the default type for > CREATE SEQUENCE remains as bigint. So the second block should start with > the line > > CREATE SEQUENCE tablename_colname_seq AS INTEGER; fixed -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services