From: | Ken Benson <Ken(at)infowerks(dot)com> |
---|---|
To: | "pgsql-admin(at)lists(dot)postgresql(dot)org" <pgsql-admin(at)lists(dot)postgresql(dot)org> |
Subject: | RE: delete then insert |
Date: | 2020-01-17 20:59:46 |
Message-ID: | BN6PR19MB0081C5DFB5E0AD45BACD6838A3310@BN6PR19MB0081.namprd19.prod.outlook.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-admin |
From: Ron <ronljohnsonjr(at)gmail(dot)com>
Sent: Friday, January 17, 2020 12:12 PM
To: pgsql-admin(at)lists(dot)postgresql(dot)org
Subject: Re: delete then insert
On 1/17/20 2:03 PM, Ken Benson wrote:
So – I THINK I know – that when a row is deleted from a table – the row is not actually removed from the table – but, merely marked as deleted, thus becoming a dead tuple.
AUTOVACUUM – takes care of the process of removing these dead tuples.
My question. If – an insert occurs to that same table before autovacuum comes along, does that inserted record use a dead tuple? Or – does the insert result in an actual added row?
If there's an open transaction which is still looking at the now-deleted record, then over-writing that area of the file would be a Bad Thing.
So – the answer is – NO – the dead tuple won’t be used until is has been reclaimed by vacuum – and that it doesn’t because it would be a bad thing, right?
--
Angular momentum makes the world go 'round.
From | Date | Subject | |
---|---|---|---|
Next Message | Ron | 2020-01-17 21:20:25 | Re: delete then insert |
Previous Message | Ron | 2020-01-17 20:12:10 | Re: delete then insert |