Re: Why Postgres doesn't use TID scan?

Andrew Gierth <andrew@tao11.riddles.org.uk>

From: Andrew Gierth <andrew@tao11.riddles.org.uk>
To: Vladimir Ryabtsev <greatvovan@gmail.com>
Cc: tgl@sss.pgh.pa.us, pgsql-performance@lists.postgresql.org
Date: 2018-12-19T11:41:27Z
Lists: pgsql-performance
>>>>> "Vladimir" == Vladimir Ryabtsev <greatvovan@gmail.com> writes:

 Vladimir> I can't believe it.
 Vladimir> I see some recommendations in Internet to do like this

well, 90% of what you read on the Internet is wrong.

 Vladimir> Did it really work in 2011? Are you saying they broke it?
 Vladimir> It's a shame...

The method in that SO link does work, it's just slow. The workaround is
to do it like this instead:

delete from mytable
 where ctid = any (array(select ctid from mytable
                          where ...
                          order by ...
                          limit 1000));

But of course that's still an ugly hack.

-- 
Andrew (irc:RhodiumToad)