Документация по PostgreSQL 9.4.1 | |||
---|---|---|---|
Пред. | Уровень выше | Глава 15. Установка из исходного кода | След. |
15.2. Требования
В принципе, запустить PostgreSQL должно быть возможно на любой современной Unix-совместимой платформе. Платформы, прошедшие специальную проверку на совместимость к моменту выпуска версии, перечислены далее в Разделе 15.6. В подкаталоге doc дистрибутива PostgreSQL вы можете найти несколько документов FAQ по разным платформам, к которым следует обратиться в случае затруднений.
Для сборки PostgreSQL требуются следующие программные пакеты:
Требуется GNU make версии 3.80 или новее; другие программы make или ранние версии GNU make работать не будут. (Иногда GNU make устанавливается под именем gmake.) Чтобы проверить наличие и версию GNU make, введите:
make --version
Вам потребуется компилятор C, соответствующий ISO/ANSI (как минимум, совместимый с C89). Рекомендуется использовать последние версии GCC, но известно, что PostgreSQL собирается самыми разными компиляторами и других производителей.
Для распаковки пакета исходного кода необходим tar, а также gzip или bzip2.
По умолчанию при сборке используется библиотека GNU Readline. Она позволяет запоминать все вводимые команды в psql (SQL-интерпретатор командной строки для PostgreSQL) и затем, пользуясь клавишами-стрелками, возвращаться к ним и редактировать их. Это очень удобно и мы настоятельно рекомендуем пользоваться этим. Если вы не желаете использовать эту возможность, вы должны добавить указание --without-readline для configure. В качестве альтернативы часто можно использовать библиотеку libedit с лицензией BSD, изначально разработанную для NetBSD. Библиотека libedit совместима с GNU Readline и подключается, если libreadline не найдена, или когда configure передаётся указание --with-libedit-preferred. Если вы используете систему на базе Linux с пакетами, учтите, что вам потребуются два пакета: readline и readline-devel, если в вашем дистрибутиве они разделены.
По умолчанию для сжатия данных используется библиотека zlib. Если вы не хотите её использовать, вы должны передать configure указание --without-zlib. Это указание отключает поддержку сжатых архивов в pg_dump и pg_restore.
Следующие пакеты не являются обязательными. Они не требуются в стандартной конфигурации, но они необходимы для определённых вариантов сборки, описанных ниже:
Чтобы сервер поддерживал язык программирования PL/Perl, вам потребуется полная инсталляция Perl, включая библиотеку libperl и заголовочные файлы. Так как PL/Perl будет разделяемой библиотекой, библиотека libperl так же должна быть разделяемой для большинства платформ. В последних версиях Perl это вариант по умолчанию, но в ранних версиях это было не так, и в любом случае это выбирает тот, кто устанавливает Perl в вашей системе. Если вы планируете отвести PL/Perl не второстепенную роль, следует убедиться в том, что инсталляция Perl была собрана с флагом usemultiplicity (так ли это, может показать команда perl -V).
Если вам не хватает какой-то необходимой разделяемой библиотеки, при сборке PostgreSQL появится примерно такое сообщение об этом:
*** Cannot build PL/Perl because libperl is not a shared library. *** You might have to rebuild your Perl installation. Refer to *** the documentation for details.
(Если вы проигнорируете это замечание, вы просто увидите, что объект библиотеки PL/Perl, plperl.so или подобный, не будет установлен.) Если вы получили это сообщение, вы должны пересобрать и установить Perl вручную, чтобы успешно собрать PL/Perl. При этом в процессе конфигурирования Perl выберите разделяемую библиотеку.
Чтобы собрать сервер с поддержкой языка программирования PL/Python, вам потребуется инсталляция Python с заголовочными файлами и модулем distutils. Версия Python должна быть не меньше 2.3. (Чтобы работать с аргументами функций типа numeric, в инсталляции 2.3.x должен быть включён отдельно устанавливаемый модуль cdecimal; заметьте, что регрессионные тесты PL/Python не будут пройдены, если он отсутствует.) Python 3 поддерживается, начиная с версии 3.1, но используя Python 3, следует учитывать написанное в Разделе 43.1.
Так как PL/Python будет разделяемой библиотекой, библиотека libpython так же должна быть разделяемой для большинства платформ. По умолчанию в стандартной инсталляции Python это не так. Если вы собираете и устанавливаете PostgreSQL и вы получили файл plpython.so (возможно, с другим расширением), всё в порядке. В противном случае вы заметите при сборке пролетающее уведомление такого содержания:
*** Cannot build PL/Python because libpython is not a shared library. *** You might have to rebuild your Python installation. Refer to *** the documentation for details.
Это значит, что вам придётся пересобрать (возможно, частично) вашу инсталляцию Python, чтобы получить эту разделяемую библиотеку.
Если у вас возникли сложности, запустите для Python 2.3 или новее configure с флагом --enable-shared. В некоторых операционных системах компилировать разделяемую библиотеку не требуется, но вам нужно убедить в этом систему сборки PostgreSQL. За подробностями обратитесь к Makefile в каталоге src/pl/plpython.
Чтобы собрать поддержку процедурного языка PL/Tcl, вам конечно потребуется инсталляция Tcl. Если вы используете Tcl до версии 8.4, убедитесь в том, что она собрана без поддержки многопоточности.
Чтобы включить поддержку национальных языков (NLS, Native Language Support), то есть возможность выводить сообщения программы не только на английском языке, вам потребуется реализация API Gettext. В некоторых системах эта реализация встроена (например, в Linux, NetBSD, Solaris), а для других вы можете получить дополнительный пакет по адресу http://www.gnu.org/software/gettext/. Если вы используете реализацию Gettext в библиотеке GNU, вам понадобится ещё пакет GNU Gettext для некоторых утилит. Для любых других реализаций он не требуется.
Вам могут понадобиться пакеты Kerberos, OpenSSL, OpenLDAP и/или PAM, если вам нужна поддержка аутентификации или шифрования, которую они обеспечивают.
Для сборки документации PostgreSQL предъявляется отдельный набор требований; см. Раздел I.2.
Если вы хотите скомпилировать код из дерева Git, а не из специального пакета исходного кода, либо вы хотите работать с этим кодом, вам также понадобятся следующие пакеты:
GNU Flex и Bison потребуются для сборки из содержимого Git или если вы меняете собственно файлы определений анализа и разбора. Если они вам понадобятся, то версия Flex должна быть не меньше 2.5.31, а Bison — не меньше 1.875. Другие программы lex и yacc работать не будут.
Perl 5.8 или новее потребуется для сборки из содержимого Git, либо если вы меняете исходные файлы этапов сборки, построенных на скриптах Perl. Если вы выполняете сборку в Windows, вам потребуется Perl в любом случае. Perl также требуется для выполнения некоторых комплектов тестов.
Если вам понадобится какой-либо пакет GNU, вы можете найти его на вашем локальном зеркале GNU (список зеркал: http://www.gnu.org/order/ftp.html) или на сайте ftp://ftp.gnu.org/gnu/.
Также проверьте, достаточно ли места на диске. Вам потребуется около 100 Мб для исходного кода в процессе компиляции и около 20 Мб для каталога инсталляции. Пустой кластер баз данных занимает около 35 Мб; базы данных занимают примерно в пять раз больше места, чем те же данные в обычном текстовом файле. Если вы планируете запускать регрессионные тесты, вам может временно понадобиться ещё около 150 Мб. Проверить наличие свободного места можно с помощью команды df.
Пред. | Начало | След. |
Краткий вариант | Уровень выше | Получение исходного кода |