はい、共有バッファのpostgresキャッシュとOSキャッシュの両方をクリアすることが可能です。以下のソリューションはWindows用です...他の人はすでにLinuxソリューションを提供しています。
多くの人がすでに言っているように、共有バッファをクリアするには、Postgresを再起動するだけです(サーバーを再起動する必要はありません)。ただし、これを実行してもOSキャッシュはクリアされません。
Postgresが使用するOSキャッシュをクリアするには、サービスを停止した後、優れたSysinternals Suiteの優れたRamMap(https://technet.microsoft.com/en-us/sysinternals/rammap)を使用します。RamMapを実行したら、メインメニューの[空]-> [空のスタンバイリスト]をクリックするだけです。
Postgresを再起動すると、キャッシュがまったくないため、次のクエリが非常に遅くなることがわかります。
Postgresを閉じずにRamMapを実行することもできます。すでに述べたように、共有バッファは通常OSキャッシュと比較してほとんど影響を与えないため、おそらく「キャッシュなし」の結果が得られます。しかし、信頼性の高いテストのために、OSキャッシュをクリアして確認する前に、postgresをすべて停止したいと思います。
注:AFAIK、RamMapを使用するときに「スタンバイリスト」以外の他のものをクリアすることはお勧めしません。他のデータが何らかの形で使用されており、そうすると問題やデータの損失を引き起こす可能性があるためです。postgresファイルだけでなく、他のアプリやOSでも使用されているメモリをクリアしていることを忘れないでください。
よろしく、チアゴL。