Postgresql 缓存准备好的语句及其后续执行的计划。见: https ://www.postgresql.org/docs/current/sql-prepare.html https://stackoverflow.com/questions/7142335/how-does-postgresql-cache-statements-and-data
我的问题是破坏/重写/清除 postgres 缓存的内容是什么?自然,任何 DDL 语句(例如 drop、alter 等)都可以。但是还有其他事情吗?
如果计划使用的任何对象遭受“缓存失效”,则计划将失效。比较此源评论:
在表格的情况下:
在 PostgreSQL 源中,您可以找到涉及表的哪些更改导致计划无效:
REINDEX
CLUSTER
和VACUUM (FULL)
ALTER TABLE
TRUNCATE
导致任何此类行动的其他行动当然也会使计划无效。