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