Re: looking for a globally unique row ID

From: Rafal Pietrak <rafal(at)ztk-rp(dot)eu>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: looking for a globally unique row ID
Date: 2017-09-16 09:57:20
Message-ID: 1df67125-5662-2aad-a5f8-0f47d74faceb@ztk-rp.eu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


<disclaimer>
I'M NOT POSTGRES HACKER. THIS IS JUST NA INTUITION.
</disclaimer>

W dniu 15.09.2017 o 21:30, Christopher Browne pisze:
> On 15 September 2017 at 14:45, Adam Brusselback
> <adambrusselback(at)gmail(dot)com> wrote:

[-----------]
>
> b) Referencing which index entries can be dropped (e.g. - vacuumed out)
> is a fair bit more complex because the index entries depend on multiple
> tables. This adds, um, concurrency complications, if data is being deleted
> from multiple tables concurrently. (Over-simplifying question: "When
> a table that participates in the sharing is vacuumed, does the shared
> index get vacuumed? What if two such tables are vacuumed concurrently?")

This is probably postgresql-hackers knowledge, but I'd appreciate if you
elaborate: why "concurrent vacuum" of two table with common index is
such a problem?

1. why cannot it be "serialized on demand" in such case/exception (e.i
the case of tables being bond by a common index)? In other words, can
the initial concurrency be turned into serialized commands?

2. why common index cannot be implemented as "split files" - locking
with their respective tables the usual way? The problem of concurrent
locking would vanish at the expense of performance hit ... but if
someone desperately needs such "global index", I'd bet he/she will live
with performance hit. I would.

-R

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rafal Pietrak 2017-09-16 10:15:46 Re: looking for a globally unique row ID
Previous Message Rafal Pietrak 2017-09-16 08:18:13 Re: looking for a globally unique row ID