Restrictions on serial data types
A named row type that contains a SERIAL, SERIAL8, or BIGSERIAL data type cannot be used as a column type in a table.
The following statements return an error when the database
server attempts to create the table:
CREATE ROW TYPE row_t (s_col SERIAL)
CREATE TABLE bad_tab (col1 row_t)
However, you can use a named row type that contains a SERIAL, SERIAL8, or BIGSERIAL data type to create a typed table.
For information about the use and behavior of SERIAL, SERIAL8, and BIGSERIAL types in table hierarchies, see SERIAL types in a table hierarchy.