From: Jamison, Kirk/ジャミソン カーク <k.jami...@fujitsu.com> > I added comment in 0004 the limitation of optimization when there are TOAST > relations that use NON-PLAIN strategy. i.e. The optimization works if the data > types used are integers, OID, bytea, etc. But for TOAST-able data types like > text, > the optimization will be skipped and force a full scan during recovery.
bytea is a TOAST-able type. + /* + * Enter the optimization if the total number of blocks to be + * invalidated for all relations is below the full scan threshold. + */ + if (cached && nBlocksToInvalidate < BUF_DROP_FULL_SCAN_THRESHOLD) Checking cached here doesn't seem to be necessary, because if cached is false, the control goes to the full scan path as below: + if (!cached) + goto buffer_full_scan; + Regards Takayuki Tsunakawa