Да, возможно очистить оба кеша postgres совместно используемых буферов И кеш ОС. Ниже приведено решение для Windows ... другие уже дали решение linux.
Как уже говорили многие люди, для очистки общих буферов вы можете просто перезапустить Postgres (не нужно перезагружать сервер). Но одно только это не очистит кэш ОС.
Чтобы очистить кэш ОС, используемый Postgres, после остановки службы используйте превосходную RamMap (https://technet.microsoft.com/en-us/sysinternals/rammap), из превосходного Sysinternals Suite).
Как только вы запустите RamMap, просто нажмите «Очистить» -> «Очистить резервный список» в главном меню.
Перезапустите Postgres, и вы увидите, что ваш следующий запрос будет медленным из-за отсутствия кеша.
Вы также можете выполнить RamMap, не закрывая Postgres, и, вероятно, будут иметь желаемые результаты «без кэширования», поскольку, как уже говорили, общие буферы обычно оказывают незначительное влияние по сравнению с кэшем ОС. Но для надежного теста я бы предпочел остановить postgres, как и все, прежде чем очищать кеш ОС, чтобы убедиться.
Примечание: AFAIK, я не рекомендую очищать другие вещи, кроме «Резервного списка» при использовании RamMap, потому что другие данные каким-то образом используются, и вы можете потенциально вызвать проблемы / потерять данные, если вы это сделаете. Помните, что вы очищаете память не только для файлов postgres, но и для любых других приложений и ОС.
С уважением, Тьяго Л.