I want to allow "notes" on any row in any table in my database. A table row may have multiple notes. Say my tables are "foo," "bar," and "qux." I want to avoid having a lookup table for each of them ("foo_notes," "bar_notes," and "qux_notes"). Is there a standard way of solving this problem? Not knowing SQL all that well, I thought that maybe I could have a "notes" table: CREATE TABLE notes ( id integer primary key, table_name regclass not null, row_id integer not null, note text not null ); But I have no idea how I could use notes.table_name and notes.row_id to relate (table_name.id = row_id) to notes.note. I've looked a little bit at information_schema and the system catalog, but I haven't found any examples of what I'm trying to do, so I don't know if I'm on the right track here. Any suggestions would be appreciated!