have you seen contrib/hstore ? You can have one table with common attributes and hide others in hstore
pgsql-performance by date:
Соглашаюсь с условиями обработки персональных данных