Приложение Б. Ключи командной строки postgres.
Программа postgres и является исполнителем, непосредственно обрабатывающим команды SQL. Обычно она не запускается напрямую, а вызывается через многопользовательский процесс postmaster. Впрочем, основные ключи этой программы все же желательно знать, поскольку к ним возможны косвенные обращения при помощи ключа – о программы postmaster.
Ниже приведено описание синтаксиса командной строки postgres.
postgres [ – А { 0 | 1 } 3 [ – В буферы ] [ – с имя=значение ] [ – d уровень_отладки ] [ – D каталог_данных ] [ – е ] [ – Е ] [ – f { s | i | n | m | h } ] [ – F ] [ – i ] [ – L ] [ – N ] [ – о имя_файла ] [ – O ] [ – P ] [ – s | – t { pa | pi | ex } ] [ – S память ] [ – W интервал ] база_данных postgres [ – A { 0 ] 1 } ] [ – В буферы ] [ – с имя=значение ] [ – d уровень_отладки ] [ – 0 каталог_данных ] [ – е ] [ – f { s | i | n | m | h } ] [ – F ] [ – 1 ] [ – L ] [ – о имя_файла ] [ – O ] [ – p база_данных ] [ – P ] [ – s – t { pa | pi | ex } ] [ – S память ] [ – v версия ] [ – W интервал ]
Параметры:
- – A { 0 | 1 }. Флаг проверки отладочных директив на стадии выполнения. Позволяет выполнять отладку, если соответствующий ключ был указан во время компиляции. Ключ – А используется только опытными программистами, работающими над самим пакетом PostgreSQL.
- – В буферы. Количество дисковых буферов в общей памяти, выделяемых для использования postmaster. По умолчанию – 64.
Примечание
Значение ключа – В должно быть по крайней мере вдвое больше значения, передаваемого с ключом – N. - – с имя=значение. Произвольные параметры времени выполнения. Ключ позволяет переопределить любой параметр конфигурации, находящийся в файле postgresql.conf (в каталоге данных кластера).
- – d уровень отладки. Объем отладочного вывода, регистрируемого серверным процессом. По умолчанию -0. Чем больше число, тем подробнее вывод. Обычно значений до 4 оказывается вполне достаточно, хотя в этом случае журнал может занимать очень много места.
Примечание
Если стандартные потоки вывода и ошибок не были перенаправлены от postmaster в файл (на уровне командного интерпретатора или в pg_ctl при помощи ключа – l), вся отладочная информация выводится на управляющем терминале процесса postmaster. - – D каталог. Каталог данных кластера. Если каталог не задан, postmaster использует либо значение переменной среды PGDATA, либо вложенный каталог /data каталога, указанного в переменной POSTGRESHOME. Если вторая переменная также не существует, используется стандартный каталог, заданный на стадии компиляции (например, /usr/local/pgsql/data).
- – е. Выбор европейского формата даты. PostgreSQL считает, что в датах вида
- – Е. Режим вывода эха для передаваемых команд (например, в терминальном сеансе или в журнале на сервере).
- – f { s | i | n m h }. Запрет некоторых методов перебора и объединения. За ключом указываются следующие параметры:
- s – запрет последовательного перебора;
- i – запрет перебора по индексу;
- n – запрет вложенных циклов;
- m – запрет слияний;
- h – запрет хэширующих объединений.
- – F. Запрет fsync. Ключ повышает быстродействие, по одновременно растет риск порчи данных при внезапных сбоях оборудования или операционной системы. Хорошенько подумайте, прежде чем устанавливать этот флаг!
- – i. Запрет выполнения запросов (PostgreSQL ограничивается выводом плана).
- – l. Запрет блокировки. При наличии этого ключа в PostgreSQL исчезает возможность блокировки таблиц.
- – N. Ключ – N запрещает использование символа новой строки в качестве разделителя команд.
- – O. Ключ – O разрешает модификацию системных таблиц.
- – Р. база_данных. Ключ postmaster, означающий, что экземпляр postgres был запущен процессом postmaster, подключившимся к базе данных. При наличии ключа postgres принимает другие решения при операциях с памятью и файловыми дескрипторами.
- – s. При установке этого ключа PostgreSQL после каждого запроса выводит статистику (время выполнения запросов и т. д.), используемую при хронометраже и выборе количества буферов (ключ – В).
- – S память. Объем памяти, выделяемой для внутренних операции сортировки и хэширования. При исчерпании выделенной памяти PostgreSQL переходит на использование временных файлов на жестком диске. Объем памяти задается в килобайтах и по умолчанию равен 512. В сложных командах могут одновременно выполняться несколько операций сортировки пли хэширования; каждой операции выделяется блок памяти заданного размера, после заполнения которого используются временные файлы.
- – t { pa pi | ex }. Режим хронометража, относящийся к одному из основных компонентов postgres. За ключом – t указывается признак компонента:
- ра – хронометраж модуля лексического разбора;
- рl – хронометраж планировщика;
- е – хронометраж исполнительного модуля.
Примечание
Ключи – t и – s являются взаимоисключающими. - – W интервал. Интервал ожидания. При установке этого ключа PostgreSQL перед запуском делает паузу заданной продолжительности (в секундах), в течение которой программист подключает отладчик.