Sí, es posible borrar los búferes compartidos de la caché de postgres Y la caché del sistema operativo. La siguiente solución es para Windows ... otros ya han dado la solución de Linux.
Como ya han dicho muchas personas, para borrar los búferes compartidos, puede simplemente reiniciar Postgres (no es necesario reiniciar el servidor). Pero simplemente hacer esto no borrará el caché del sistema operativo.
Para borrar el caché del sistema operativo utilizado por Postgres, después de detener el servicio, utilice el excelente RamMap ( https://technet.microsoft.com/en-us/sysinternals/rammap ), de la excelente Sysinternals Suite. Una vez que ejecute RamMap, simplemente haga clic en "Vaciar" -> "Lista de espera vacía" en el menú principal.
Reinicie Postgres y verá que su próxima consulta será muy lenta debido a que no hay caché en absoluto.
También puede ejecutar RamMap sin cerrar Postgres, y probablemente obtendrá los resultados "sin caché" que desea, ya que, como ya se ha dicho, los búferes compartidos suelen tener poco impacto en comparación con el caché del sistema operativo. Pero para una prueba confiable, prefiero detener postgres como todo antes de borrar la caché del sistema operativo para asegurarme.
Nota: AFAIK, no recomiendo borrar las otras cosas además de "Lista de espera" cuando se usa RamMap, porque los otros datos se están usando de alguna manera, y puede causar problemas / perder datos si lo hace. Recuerde que está borrando la memoria no solo utilizada por los archivos de Postgres, sino también por cualquier otra aplicación y sistema operativo.
Saludos, Thiago L.