Файлы баз данных в PostgreSQL организованы следующим образом: www.postgresql.org postgrespro.ru
- Все данные кластера баз данных хранятся в каталоге данных кластера (PGDATA). www.postgresql.org postgrespro.ru Обычно он находится в /var/lib/pgsql/data. postgrespro.ru
- Для каждой базы данных в кластере существует подкаталог в PGDATA/base, названный в честь OID базы данных в pg_database. www.postgresql.org postgrespro.ru Этот подкаталог является местом расположения файлов базы данных по умолчанию, в частности, там хранятся её системные каталоги. www.postgresql.org
- Каждая таблица и индекс хранятся в отдельном файле. www.postgresql.org postgrespro.ru Для обычных отношений файлы получают имя по номеру файлового узла таблицы или индекса, который содержится в pgclass.relfilenode. postgrespro.ru Для временных отношений имя файла имеет форму tBBBFFF, где BBB — идентификатор серверного процесса сервера, который создал данный файл, а FFF — номер файлового узла. postgrespro.ru
- Когда таблица или индекс превышает 1 ГБ, они делятся на сегменты размером в гигабайт. www.postgresql.org Имя файла первого сегмента совпадает с именем filenode, последующие сегменты называются filenode.1, filenode.2 и т.д.. www.postgresql.org
Временные файлы (для таких операций, как сортировка объёма данных большего, чем может уместиться в памяти) создаются внутри PGDATA/base/pgsqltmp или внутри подкаталога pgsqltmp каталога табличного пространства, если для них определено табличное пространство, отличное от pg_default. postgrespro.ru