According to the system table documentation
http://developer.postgresql.org/docs/postgres/catalog-pg-type.html the
typdefault information is to be copied from the pg_type value to the
table value when the default specified is NULL or a default is not
specified.
The below shows that it's not to be true.
junk=# update pg_type set typdefault = 3 where typname = 'int2';
UPDATE 1
junk=# create table example (col1 int2);
CREATE
junk=# \d example Table "example"Column | Type | Modifiers
--------+----------+-----------col1 | smallint |
--
Rod Taylor
Your eyes are weary from staring at the CRT. You feel sleepy. Notice
how restful it is to watch the cursor blink. Close your eyes. The
opinions stated above are yours. You cannot imagine why you ever felt
otherwise.