Так tmpfs это и есть механизм на основе системного page кэша в оперативке, просто без backing device под ним. Оно даже в кеш второй раз не кладётся. Фактически это будет как просто сходу всю базу прочитать чтобы она влезла в кэш. Ну и дополнительно при записи долгого fsync от диска ждать не нужно в принципе.
> Фактически это будет как просто сходу всю базу прочитать чтобы она влезла в кэш.
Что в типичном тестировании и так произойдёт, только база "влезет" в shared buffers (что существенно лучше).
> Ну и дополнительно при записи долгого fsync от диска ждать не нужно в принципе.
Тут уже обсуждается fsync=off (ждать ничего не надо, этот аспект tmpfs бесполезен).
Т.е. Вы посчитайте / сравните варианты
1. Отдать под tmpfs столько RAM, чтобы влезла вся база.
2. Просто выкинуть часть той RAM, что была бы использована под tmpfs, и отдать всё, что можно, под shared buffers.
на каком-то конкретном примере — станет понятнее, почему вариант 2 почти наверняка лучше. ;)