On 27/03/2019 21:54, Darafei "Komяpa" Praliaskouski wrote: > Hi hackers, > > Attached is sketch of small patch that fixes several edge cases with > autovacuum. Long story short autovacuum never comes to append only > tables, killing large productions. > > First case, mine. > > https://www.postgresql.org/message-id/CAC8Q8tLBeAxR%2BBXWuKK%2BHP5m8tEVYn270CVrDvKXt%3D0PkJTY9g%40mail.gmail.com > > We had a table we were appending and wanted Index Only Scan to work. For > it to work, you need to call VACUUM manually, since VACUUM is the only > way to mark pages all visible, and autovacuum never comes to append only > tables. We were clever to invent a workflow without dead tuples and it > painfully bit us. > > Second case, just read in the news. > https://mailchimp.com/what-we-learned-from-the-recent-mandrill-outage/ > > Mandrill has 6TB append only table that autovacuum probably never > vacuumed. Then anti-wraparound came and production went down. If > autovacuum did its job before that last moment, it would probably be okay. > > Idea: look not on dead tuples, but on changes, just like ANALYZE does. > It's my first patch on Postgres, it's probably all wrong but I hope it > helps you get the idea.
This was suggested and rejected years ago: https://www.postgresql.org/message-id/b970f20f-f096-2d3a-6c6d-ee887bd30...@2ndquadrant.fr -- Vik Fearing +33 6 46 75 15 36 http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support