From: | digoal(at)126(dot)com |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #14360: snapshot too old bug? cann't reclaim dead tuple after has only xmin's transaction. |
Date: | 2016-10-07 14:54:13 |
Message-ID: | 20161007145413.1413.99726@wrigleys.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 14360
Logged by: Zhou Digoal
Email address: digoal(at)126(dot)com
PostgreSQL version: 9.6.0
Operating system: CentOS 6.x x64
Description:
```
session a:
postgres=# select pg_sleep(1000);
then :
session b:
postgres=# insert into tbl1 values (1);
INSERT 0 1
postgres=# delete from tbl1;
DELETE 1
postgres=# insert into tbl1 values (1);
INSERT 0 1
postgres=# delete from tbl1;
DELETE 1
after old_snapshot_threshold:
cann't reclaim tbl1's dead tuple
but when it scan tbl1 , and then after old_snapshot_threshold again, it's ok
now.
postgres=# vacuum verbose tbl1;
INFO: vacuuming "public.tbl1"
INFO: "tbl1": found 0 removable, 2 nonremovable row versions in 1 out of 1
pages
DETAIL: 2 dead row versions cannot be removed yet.
There were 2 unused item pointers.
Skipped 0 pages due to buffer pins.
0 pages are entirely empty.
CPU 0.00s/0.00u sec elapsed 0.00 sec.
VACUUM
postgres=# vacuum verbose tbl1;
INFO: vacuuming "public.tbl1"
INFO: "tbl1": found 0 removable, 0 nonremovable row versions in 1 out of 1
pages
DETAIL: 0 dead row versions cannot be removed yet.
There were 4 unused item pointers.
Skipped 0 pages due to buffer pins.
0 pages are entirely empty.
CPU 0.00s/0.00u sec elapsed 0.00 sec.
```
From | Date | Subject | |
---|---|---|---|
Next Message | digoal | 2016-10-07 15:03:55 | BUG #14361: snapshot too old bug? in xmin>=xid transaction, also raise snapshot too old error |
Previous Message | hubert depesz lubaczewski | 2016-10-07 12:10:51 | Re: Rows go missing when selecting "for update" after savepoint "play" |