Как хранить базу postgres 8.4 в памяти?
Закупаете железку с 256гб ram и выше. Ставите shared_buffers в 200гб. Всё. Со временем все данные к каким обращались будут подтянуты в память. А поскольку буферов больше чем база - база их не будет вытеснять из памяти.
Можно было бы воспользоваться pg_prewarm для более удобного подтягивания данных в память после старта СУБД - да у вас какая-то ископаемая, давно уже не поддерживаемая версия. pg_prewarm для такой древности нет. (если, конечно, вы не опечатались в 9.4)
Для такого объёма shared_buffers желательно huge pages сделать по объёму на пару процентов больше чем shared_buffers. А вот как - может для 8.4 и никак, я не настолько старый DBA, не знаю.
У постгреса есть встроенные механизмы, делающие примерно то же самое - часто используемые данные кэшируются в памяти. Всю базу хранить в памяти - несколько другое, обычно это и не требуется, при достаточном объёме выданной СУБД памяти.
Из релевантных параметров - отключение fsync (не рекомендую) и synchronous_commit.