What is the best way to select all user defined field names in a table?

Yasuo Ohgaki <yasuo_ohgaki@hotmail.com>

From: "Yasuo Ohgaki" <yasuo_ohgaki@hotmail.com>
To: <pgsql-general@postgresql.org>
Date: 2001-02-28T05:55:32Z
Lists: pgsql-general
I'm wandering what is the best way to get all user fields from a table using
SQL.

With following SQL, I get extra field names that is not defined by user.
(cmax,
cmin, etc)

select a.attname from pg_class as c, pg_attribute as a where c.oid =
a.attrelid and c.relname = 'table_name';

It seems pg_attribute does not have flag to distinguish user defined fields.
(Is it?)
An option is excluding all system fields in where clause one by one, but I
thought there might be a better way to do that. (I searched recent mail list
archive, couldn't find one)

Thanks,

--
Yasuo Ohgaki