Некоторые способы разделения сложной конфигурации PostgreSQL на несколько файлов:
- Использование директив включения. 1 Файл конфигурации postgresql.conf может содержать директивы включения файлов, которые будут прочитаны и обработаны, как если бы их содержимое было вставлено в данном месте файла конфигурации. 1 Директивы записываются в формате
include 'имя_файла'
. 1 Если имя файла задаётся не абсолютным путём, оно рассматривается относительно каталога, в котором находится включающий файл конфигурации. 1 - Использование директивы includeifexists. 1 Она работает подобно include, за исключением случаев, когда включаемый файл не существует или не может быть прочитан. 1 Обычная директива include считает это критической ошибкой, но includeifexists просто выводит сообщение и продолжает обрабатывать текущий файл конфигурации. 1
- Использование директивы include_dir. 1 Она позволяет подключать целые каталоги с файлами конфигурации. 1 Директива записывается в формате
include_dir 'каталог'
. 1 В заданном каталоге включению подлежат только файлы с именами, оканчивающимися на .conf. 1
Также для разделения больших таблиц на несколько меньших в PostgreSQL используется разделение (partitioning). 34 Есть несколько его форм: 4
- Range partitioning. 4 Таблица делится на «диапазоны», определённые столбцом ключа или набором столбцов. 4 Например, можно разделить по диапазонам дат или идентификаторов для конкретных бизнес-объектов. 4
- List partitioning. 4 Таблица делится путём явного перечисления значений ключа, которые появляются в каждом разделе. 4
- Hash partitioning. 4 Для каждого раздела указывается модуль и остаток. 4 В каждом разделе будут храниться строки, для которых значение хэша ключа раздела при делении на указанный модуль даст указанный остаток. 4