Re: How does Postgres store a B-Tree on disk while using the OS file system?

Поиск
Список
Период
Сортировка
От Ron
Тема Re: How does Postgres store a B-Tree on disk while using the OS file system?
Дата
Msg-id 8e25aeed-b834-8e4e-1d11-2ea00b2d13cb@gmail.com
обсуждение исходный текст
Ответ на How does Postgres store a B-Tree on disk while using the OS file system?  (Siddharth Jain <siddhsql@gmail.com>)
Список pgsql-general
On 3/6/23 18:24, Siddharth Jain wrote:
I am trying to sharpen my understanding of Postgres. As I understand, Postgres does not write directly to disk blocks. It uses the file system provided by the OS:
My question: How can it then store a B Tree on disk? I would think storing a B Tree requires storing disk offset addresses and so on (for a node to navigate to another etc.). For this, one would need to write directly to the disk using low-level disk access functions and not use file system API.

Disk offsets... file offsets... one is just a step up on the abstraction layer.

How can that be? The OS only knows about Logical Block Addresses, which are a huge list of block numbers (just like userland software sees files as long lists of bytes).  It hasn't see cylinders, heads and platters in almost FORTY (more, probably, for SCSI and mainframe systems) years.

--
Born in Arizona, moved to Babylonia.

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

Предыдущее
От: Siddharth Jain
Дата:
Сообщение: How does Postgres store a B-Tree on disk while using the OS file system?
Следующее
От: Christophe Pettus
Дата:
Сообщение: Re: How does Postgres store a B-Tree on disk while using the OS file system?