Самоучитель по SQL-сервер в Linux



Приложение Б. Ключи командной строки postgres

Программа postgres и является исполнителем, непосредственно обрабатывающим команды SQL. Обычно она не запускается напрямую, а вызывается через многопользовательский процесс postmaster. Впрочем, основные ключи этой программы все же желательно знать, поскольку к ним возможны косвенные обращения при помощи ключа -о программы postmaster.

Ниже приведено описание синтаксиса командной строки postgres.

postgres [ -А { 0 | 1 } 3 [ -В буферы ] [ -с имя=значение ]

[ -d уровень_отладки ] [ -D каталог_данных ] [ -е ] [ -Е ]

[ -f { s | i | n | m | h } ] [ -F ] [ -i ] [ -L ] [ -N ]

[ -о имя_файла ] [ -0 ] [ -P ] [ -s | -t { pa | pi | ex } ]

[ -S память ] [ -W интервал ] база_данных

postgres [ -A { 0 ] 1 } ] [ -В буферы ] [ -с имя=значение ]

[ -d уровень_отладки ] [ -0 каталог_данных ] [ -е ]

[ -f { s | i | n | m | h } ] [ -F ] [ -1 ]

[ -L ] [ -о имя_файла ] [ -0 ] [ -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 — запрет вложенных циклов;
    • т — запрет слияний;
    • h — запрет хэширующих объединений.
  • - F. Запрет fsync. Ключ повышает быстродействие, по одновременно растет риск порчи данных при внезапных сбоях оборудования или операционной системы. Хорошенько подумайте, прежде чем устанавливать этот флаг!
  • -i. Запрет выполнения запросов (PostgreSQL ограничивается выводом плана).
  • -l. Запрет блокировки. При наличии этого ключа в PostgreSQL исчезает возможность блокировки таблиц.
  • -N. Ключ -N запрещает использование символа новой строки в качестве разделителя команд.
  • -0. Ключ -0 разрешает модификацию системных таблиц.
  • -Р. база_данных. Ключ postmaster, означающий, что экземпляр postgres был запущен процессом postmaster, подключившимся к базе данных. При наличии ключа postgres принимает другие решения при операциях с памятью и файловыми дескрипторами.
  • - s. При установке этого ключа PostgreSQL после каждого запроса выводит статистику (время выполнения запросов и т. д.), используемую при хронометраже и выборе количества буферов (ключ -В).
  • -S память. Объем памяти, выделяемой для внутренних операции сортировки и хэширования. При исчерпании выделенной памяти PostgreSQL переходит на использование временных файлов на жестком диске. Объем памяти задается в килобайтах и по умолчанию равен 512. В сложных командах могут одновременно выполняться несколько операций сортировки пли хэширования; каждой операции выделяется блок памяти заданного размера, после заполнения которого используются временные файлы.
  • -t { pa pi | ex }. Режим хронометража, относящийся к одному из основных компонентов postgres. За ключом -t указывается признак компонента:
    • ра — хронометраж модуля лексического разбора;
    • рl — хронометраж планировщика;
    • е — хронометраж исполнительного модуля.

ПРИМЕЧАНИЕ

Ключи -t и -s являются взаимоисключающими.

  • -W интервал. Интервал ожидания. При установке этого ключа PostgreSQL перед запуском делает паузу заданной продолжительности (в секундах), в течение которой программист подключает отладчик.