PGPOOL SET CACHE DELETEコマンドは、以前のクエリで作成されたクエリキャッシュを削除します。 クエリ文字列は、末尾の';'も含めて以前のクエリと完全に一致していなければなりません。 にもかかわらず、' (単一引用符)がクエリに含まれている場合は、以下のように'を前に追加する必要があります。
PGPOOL SET CACHE DELETE 'SELECT ''FOO'';';
このコマンドはとりわけ、クエリ中にテーブル参照を含んでいないために自動キャッシュ削除機能で削除されないクエリに有用です。
以前のクエリが思い出せない時は、pcp_invalidate_query_cacheを使って、削除したいクエリキャッシュも含み、すべてのクエリキャッシュを削除することができます。 ただし、これはPgpool-IIの管理者権限が必要になります。
クエリキャッシュの削除に成功すると、以下のNOTICEメッセージを表示します。
NOTICE: query cache deleted. query: "query string"
クエリキャッシュが存在しないか、クエリキャッシュが無効の場合には、以下のNOTICEメッセージを表示します。
NOTICE: query cache does not exist for query: "query string"
間違って希望しないクエリキャッシュを作成してしまいました。 以下のコマンドで削除します。
test=# /*FORCE QUERY CACHE*/SELECT current_timestamp; current_timestamp ------------------------------- 2024-10-18 18:25:07.826423+09 (1 row) test=# PGPOOL SET CACHE DELETE '/*FORCE QUERY CACHE*/SELECT current_timestamp;'; NOTICE: query cache deleted. query: "/*FORCE QUERY CACHE*/SELECT current_timestamp;" SET