From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
---|---|
To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | Jesper Pedersen <jesper(dot)pedersen(at)redhat(dot)com>, Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Page Scan Mode in Hash Index |
Date: | 2017-09-20 10:34:48 |
Message-ID: | CA+TgmoYNjOaCGiX_SONLaykR0R4mgwkUKMLw3QQGXBCTa0mVQQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Sep 19, 2017 at 11:34 PM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> This point has been discussed above [1] and to avoid this problem we
> are keeping the scan always behind vacuum for unlogged and temporary
> tables as we are doing without this patch. That will ensure vacuum
> won't be able to remove the TIDs which we are going to mark as dead.
> This has been taken care in patch 0003. I understand that this is
> slightly ugly, but the other alternative (as mentioned in the email
> [1]) is much worse.
Hmm. So if I understand correctly, you're saying that the LSN check
in patch 0001 is actually completely unnecessary if we only apply
0001, but is needed in preparation for 0003, after which it will
really be doing something?
In more detail, I suppose the idea is: a TID cannot be reused until a
VACUUM has intervened; VACUUM always visits every data page in the
index; we won't allow a scan to pass VACUUM (and thus possibly have
one of its TIDs get reused) except when the LSN check is actually
sufficient to guarantee no TID reuse (i.e. table is not unlogged).
Page-at-a-time index vacuum as in _hash_vacuum_one_page doesn't matter
because such an operation doesn't allow TIDs to be reused.
Did I get it right?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
From | Date | Subject | |
---|---|---|---|
Next Message | Petr Jelinek | 2017-09-20 10:59:41 | Re: src/test/subscription/t/002_types.pl hanging on particular environment |
Previous Message | Dagfinn Ilmari =?utf-8?Q?Manns=C3=A5ker?= | 2017-09-20 10:26:46 | Re: Show backtrace when tap tests fail |