Я бы предположил, что вы можете пройти оба пути (1) к сообщениям (N) путь И модель только для сообщений.
Если для обоих хранятся одинаковые данные, я не понимаю, почему вы НЕ МОЖЕТЕ смоделировать все как одну таблицу. Вот как это сделать:
CREATE TABLE posts
(
post_id serial,
post_thread_id int,
post_number int,
post_title character varying,
...
PRIMARY KEY(post_id)
);
INSERT INTO posts(post_thread_id, post_number, post_title) VALUES (1, 1, 'Welcome to my thread!');
INSERT INTO posts(post_thread_id, post_number, post_title) VALUES (1, 2, 'The first response!');
INSERT INTO posts(post_thread_id, post_number, post_title) VALUES (1, 3, 'The second response!');
Очевидно, что в такой конструкции есть некоторые нежелательные фрагменты, но ... это можно сделать.