Ya, adalah mungkin untuk menghapus cache postgres buffer bersama DAN cache OS. Solusi di bawah ini untuk Windows ... yang lain telah memberikan solusi linux.
Seperti yang sudah dikatakan banyak orang, untuk menghapus buffer bersama, Anda dapat memulai ulang Postgres (tidak perlu memulai ulang server). Tetapi hanya melakukan ini tidak akan menghapus cache OS.
Untuk menghapus cache OS yang digunakan oleh Postgres, setelah menghentikan layanan, gunakan RamMap yang sangat baik ( https://technet.microsoft.com/en-us/sysinternals/rammap ), dari Sysinternals Suite yang sangat baik. Setelah Anda menjalankan RamMap, cukup klik "Empty" -> "Empty Standby List" di menu utama.
Mulai ulang Postgres dan Anda akan melihat sekarang kueri Anda berikutnya akan sangat lambat karena tidak ada cache sama sekali.
Anda juga dapat mengeksekusi RamMap tanpa menutup Postgres, dan mungkin akan mendapatkan hasil "tanpa cache" yang Anda inginkan, karena seperti yang telah dikatakan orang, buffer bersama biasanya memberikan sedikit pengaruh dibandingkan dengan cache OS. Tetapi untuk pengujian yang andal, saya lebih suka menghentikan postgres karena semuanya sebelum membersihkan cache OS untuk memastikan.
Catatan: AFAIK, saya tidak menyarankan menghapus hal-hal lain selain "Daftar siaga" saat menggunakan RamMap, karena data lain entah bagaimana sedang digunakan, dan Anda berpotensi menyebabkan masalah / kehilangan data jika Anda melakukannya. Ingatlah bahwa Anda membersihkan memori tidak hanya digunakan oleh file postgres, tetapi juga aplikasi dan OS lain.
Hormat kami, Thiago L.