https://www.postgresql.org/docs/current/sql-expres...CAST ( expression AS type )
expression::type
The CAST syntax conforms to SQL; the syntax with :: is historical PostgreSQL usage.
Приводить конечно можно не всё. 'abc' вы к числу никак не приведёте, это не число.
К serial, к слову, вы не сможете привести ничего. Такого типа на самом деле нет, это синтаксический сахар вокруг sequence и int.
Свои правила можно добавлять через
create cast