[prev] 32 [next]

File Descriptor Pool

Unix has limits on the number of concurrently open files.

PostgreSQL maintains a pool of open file descriptors:

  • to hide this limitation from higher level functions
  • to minimise expensive open() operations
File names are simply strings: typedef char *FileName

Open files are referenced via: typedef int File

A File is an index into a table of "virtual file descriptors".

Defs: include/storage/fd.h
Code: backend/storage/file/fd.c