Re: Reducing the size of BufferTag & remodeling forks

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Reducing the size of BufferTag & remodeling forks
Дата
Msg-id 14196.1435845119@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Reducing the size of BufferTag & remodeling forks  (Andres Freund <andres@anarazel.de>)
Ответы Re: Reducing the size of BufferTag & remodeling forks  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
Andres Freund <andres@anarazel.de> writes:
> 1) Introduce a shared pg_relfilenode table. Every table, even
>    shared/nailed ones, get an entry therein. It's there to make it
>    possibly to uniquely allocate relfilenodes across databases &
>    tablespaces.
> 2) Replace relation forks, with the exception of the init fork which is
>    special anyway, with separate relfilenodes. Stored in seperate
>    columns in pg_class.

> Thoughts?

I'm concerned about the traffic and contention involved with #1.
I'm also concerned about the assumption that relfilenode should,
or even can be, unique across an entire installation.  (I suppose
widening it to 8 bytes would fix some of the hazards there, but
that bloats your buffer tag again.)

But here's the big problem: you're talking about a huge amount of
work for what seems likely to be a microscopic improvement in some
operations.  Worse, we'll be taking penalties for other operations.
How will you do DropDatabaseBuffers() for instance?

CREATE DATABASE is going to be a problem, too.
        regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: Support for N synchronous standby servers - take 2
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: drop/truncate table sucks for large values of shared buffers