Этап 3. Настройка конфигурации.
Перед компиляцией необходимо произвести настройку исходных текстов и задать конфигурацию в соответствии с вашим потребностями. Для этой цели используется сценарий configure.
Сценарий configure также осуществляет проверку связей, необходимых для компиляции PostgreSQL. В процессе проверки связей сценарий автоматически создает файлы, необходимые для работы gmake.
Стандартный сценарий установки запускается командой ./configure. Чтобы активизировать возможности, отключенные по умолчанию, включите соответствующий ключ в команду ./configure. Полный список всех ключей конфигурации выводится командой ./configure --help.
Скорее всего, используемая по умолчанию конфигурация будет отличаться от той, которая нужна вам. Для нормальной установки PostgreSQL рекомендуется задать по крайней мере следующие ключи:
- --with-CXX – построение библиотеки libpq++ позволяет создавать программы C++, работающие с PostgreSQL;
- --enable-odbc – поддержка подключения к PostgreSQL из программ, имеющих совместимый драйвер ODBC (например, Microsoft Access);
- --enable-multibyte – возможность использования многобайтовых кодировок (например, для японского языка);
- --with-maxbackends=число – в параметре указывается максимальное количество подключений (по умолчанию – 32).
Ниже приведен полный список параметров конфигурации.
- --рrеfiх=префикс. Каталог, в котором размещаются установленные файлы вместо используемого по умолчанию каталога /usr/local/pgsql.
- --exec-prefix=префикс. Каталог для размещения системных исполняемых файлов.
- --bindir=каталог. Каталог для размещения пользовательских исполняемых файлов (например, psql).
- --datadir=каталог. Каталог для установки файлов данных, используемых программами PostgreSQL, а также для примеров файлов конфигурации. Каталог, заданный этим параметром, не используется в качестве альтернативного каталога для хранения данных; он всего лишь содержит служебные файлы PostgreSQL, доступные только для чтения.
- --sysconfigdir=каталог. Каталог для размещения системных конфигурационных файлов. По умолчанию файлы хранятся в подкаталоге etc базового каталога установки.
- --libdiг=каталог. Каталог для размещения библиотечных файлов. В системе Linux этот каталог также должен указываться в файле ld.so.conf.
- --includediг=каталог. Каталог для размещения заголовочных файлов С и C++. По умолчанию заголовочные файлы хранятся в подкаталоге include базового каталога установки.
- --docdir=каталог. Каталог для размещения файлов документации. Man-страницы PostgreSQL хранятся в другом каталоге.
- --mandiг=каталог. Каталог для размещения man-страниц.
- --with-includes=каталог. Список каталогов, просматриваемых при поиске дополнительных заголовочных файлов. Элементы списка разделяются двоеточиями (:).
- --with-libraries=каталоги. Список каталогов, просматриваемых при поиске дополнительных библиотечных файлов. Элементы списка разделяются двоеточиями (:).
- --enable-locale. Поддержка локальных контекстов. Отрицательно сказывается на быстродействии и включается только в том случае, если вы работаете не в англоязычной среде.
- --enable-multibyte. Поддержка многобайтовых кодировок. При указании этого ключа включается поддержка символов, не входящих в кодировку ASCII; особенно часто используется при работе с японским, китайским и корейским языками.
- --with-pgport=номер. Номер порта, используемый PostgreSQL по умолчанию. Может быть изменен при запуске приложения postmaster.
- --with-maxbackends=число. Максимальное количество подключений (по умолчанию – 32).
- --with-CXX. В процессе установки автоматически компилируется интерфейсная библиотека C++. Ключ указывается в том случае, если вы намерены разрабатывать приложения C++, работающие с PostgreSQL.
- --with-perl. В процессе установки автоматически компилируется интерфейсный модуль Perl. Этот модуль должен устанавливаться в каталог, обычно принадлежащий пользователю root, поэтому для завершения установки при выборе этого режима вам придется обладать правами root. Ключ обязателен лишь в том случае, если вы собираетесь использовать процедурный язык pi/Perl.
- --with-python. В процессе установки автоматически компилируется интерфейсный модуль PostgreSQL Python. Как и в случае с ключом --with-perl, для завершения установки с этим ключом необходимо обладать правами root. Ключ обязателен лишь в том случае, если вы собираетесь использовать процедурный язык pi/Python.
- --with-tcl. Включение поддержки Tel. При наличии этого ключа устанавливаются приложения и расширения PostgreSQL, требующие Tel, такие как pgaccess (популярный графический клиент баз данных) и процедурный язык pl/Tcl.
- --without-tk. Поддержка Tel компилируется без поддержки графического инструментария Tk. Если ключ задается в сочетании с ключом --with-tcl, то приложения PostgreSQL, для которых необходима поддержка Tk (например, pgtksh и pgaccess), не устанавливаются.
- --with-tclconfig=каталог, --with-tkconfig=каталог. Каталог для размещения конфигурационного файла Tel или Tk (tclconfig.sh или tkConfig.sh в зависимости от ключа). Эти два файла устанавливаются при установке Tcl/Tk, а хранящиеся в них данные используются интерфейсными модулями Tcl/Tk в PostgreSQL.
- --enable-odbc. Включение поддержки ODBC.
- --with-odbcinst=каталог. Каталог, в котором драйвер ODBC ищет файл odbcinst.ini. По умолчанию файл находится в подкаталоге etc базового каталога установки.
- --with-krb4=каталог, --with-krb5=каталог. Поддержка системы аутентификации Kerberos. В настоящей книге система Kerberos не рассматривается.
- --with-krb-srvnam=имя. Имя службы Kerberos. По умолчанию используется имя postgres.
- --with-openssl=каталог. Поддержка шифрованного обмена данными с базой по протоколу SSL. Пакет OpenSSL должен быть установлен в заданном каталоге и правильно настроен. Ключ обязателен в том случае, если вы собираетесь использовать stunnel.
- --with-Java. ПоддержкаJava/JDBC. Для правильной компиляции PostgreSQL с этим ключом необходимы пакеты Ant и JDK.
- --enable-syslog. Ведение системного журнала при помощи демона syslog.
- --enable-debug. Компиляция всех библиотек и приложений PostgreSQL производится с включением отладочных символических имен. Это приводит к снижению быстродействия и росту числа двоичных файлов, но символические имена упрощают диагностику ошибок, возникающих при работе с PostgreSQL.
- --enable-cassert. Включение режима проверки условий (assertions). Режим снижает быстродействие PostgreSQL и используется только в процессе отладки самой системы PostgreSQL
Если после компиляции PostgreSQL выяснится, что вы забыли включить нужный режим, вернитесь к этому этапу, измените конфигурацию и продолжите процесс построения и установки PostgreSQL. Если возврат происходит перед завершением установки, обязательно выполните команду gmake clean в каталоге верхнего уровня иерархии исходных текстов (обычно /usr/local/src/postgresql-["epc"^]). В результате будут удалены все промежуточные объектные и частично откомпилированные файлы.