Установка PostgreSQL 10.5 из исходного кода на Unix и Linux

PostgreSQL установка на Linux из исходных кодовВ то время как RPM пакеты предназначены для установки PostgreSQL в системах семейства Linux, исходный код позволяет собрать и устано­вить PostgreSQL практически на любой UNIX-совместимой системе.

Исходный код последней версии, а часто и следующей бета-версии PostgreSQL можно получить на сайте PostgreSQL. Если только вы не планируете находиться на переднем крае разработок, вполне можете ограничиться последней стабильной версией. На CD также записаны несколько предыдущих версий. Информацию о последних версиях и их доступности на CD можно получить на сайте PostgreSQL.

Исходный код распространяется в двух формах. Полный комплект ис­ходного кода находится в файле с именем вроде

postgresql-10.5.tar.gz

Во время написания этого блога этот файл имел размер около 25,6 Мбайт. Кроме того, для облегчения загрузки исходный код упаковывается в несколько файлов меньшего размера:

postgresql-10.5.base.tar.gz
postgresql-10.5.docs.tar.gz
postgresql-10.5.opt.tar.gz
postgresql-10.5.test.tar.gz

Разумеется, эти имена тоже меняются в соответствии с номером теку­щей версии.

Компиляция PostgreSQL выполняется очень просто. Если вы уже ком­пилировали продукты с открытым исходным кодом, то проблем не должно возникнуть. Впрочем, их не должно возникнуть, даже если это ваша первая попытка компиляции такого продукта. Для выполне­ния компиляции понадобится система Linux или UNIX с полностью установленной средой разработки, которая включает в себя компиля­тор C и GNU-версию утилиты make, необходимую для сборки системы.

Дистрибутивы Linux обычно поставляются со средой разработки, включающей GNU-инструментарий от фонда свободно распространяе­мых программ FSF. Сюда входит превосходный компилятор GNU C (gcc), являющийся стандартным в Linux. Программы GNU доступны и для большинства других UNIX-платформ, поэтому мы рекомендуем использовать их для компиляции PostgreSQL. Последнюю версию ин­струментария можно получить по адресу http://www.gnu.org. Сразу после установки среды разработки можно переходить к компиляции PostgreSQL.

Скопируйте архивный файл с исходным кодом в какой-либо подходя­щий для компиляции каталог. Этот каталог - еще не то место, куда бу­дет установлен PostgreSQL, он будет другим. Подходящим выбором будет подкаталог вашего домашнего подкаталога, поскольку для ком­пиляции не требуются права суперпользователя, они понадобятся только при установке. Распакуйте архив:

$ tar zxvf postgres-10.5.tar.gz

Авторы предпочитают хранить исходные тексты в специальном ката­логе для продуктов с открытым кодом /usr/src, но подойдет любой ка­талог, где достаточно свободного места для выполнения компиляции (понадобится около 80 Мбайт).

В процессе разархивирования будет создан новый каталог с именем, соответствующим версии PostgreSQL. Перейдите в этот каталог:

$ cd postgres-10.5

Там вы обнаружите файл INSTALL, содержащий подробные инструкции по сборке - на тот случай, если изложенный ниже метод автоматиче­ской сборки не даст результата.

В процессе сборки используется скрипт конфигурации configure, по­зволяющий настроить параметры сборки в соответствии с имеющимся окружением. При запуске без параметров configure руководствуется значениями по умолчанию:

 

$ ./configure

creating cache ./config.cache

checking host system type... i686-pc-linux-gnu

checking which template to use... linux

$

Скрипт configure устанавливает значения переменных, управляющих процессом сборки PostgreSQL, с учетом типа платформы, особеннос­тей компилятора и т. д. Нюансы использования скрипта configure с различными значениями переменных выходят за рамки моего блога. Описание всех параметров можно найти в руководстве man.

Место установки выбирается скриптом configure автоматически. По умолчанию основным рабочим каталогом PostgreSQL назначается /usr/local/pgsql, а приложения и данные располагаются в его подкаталогах.

Запуск configure c параметрами позволяет изменить расположение ка­талогов. Чаще всего подставляются параметры, описанные в табл. 1:

Таблица 1. Параметры configure

Параметр

Описание

--prefix=PREFIX

Устанавливать в каталог PREFIX. По умолчанию - /usr/local/ psql

--bindir=DIR

Устанавливать программы в DIR. По умолчанию - PREFIX/bin

--with-tcl

Компилировать с поддержкой приложений Tcl, таких как pgAccess

--with-perl

Компилировать с поддержкой приложений Perl

--with-python

Компилировать модуль поддержки Python

 

С помощью ключа --help можно получить полный список настроечных параметров:

$ ./configure --help

Usage: configure [options] [host]

Options: [defaults in brackets after descriptions]

Configuration:

--cache-file=FILE            cache test results in FILE

$

 

Нет необходимости определять место расположения базы данных и журнальных файлов на данном этапе. Эти параметры могут быть зада­ны при запуске серверного процесса после того, как он уже установлен.

Закончив конфигурирование, можно приступать к сборке с помощью программы make.

В процессе сборки PostgreSQL участвует ряд сложных make-файлов, управляю­щих компиляцией. Поэтому рекомендуется использовать GNU-make. В Linux эта версия установлена по умолчанию, но на других UNIX-платформах может потребоваться отдельная установка GNU-make. Часто ей дают имя gmake, для того чтобы отличать от программы gmake, поставляемой вместе с операци­онной системой. В дальнейшем обсуждении под make понимается GNU-make.

Компилируем программы:

 

$ make

All of PostgreSQL successfully made. Ready to install.

Если все настроено правильно, будут выведены множество сообщений о компиляции и завершающее сообщение об успешном окончании сборки.

После завершения программы make необходимо скопировать програм­мы в их рабочий каталог. Для этого мы также используем make, но прежде надо получить права суперпользователя:

 

$ su

 #make install

Thank you for choosing PostgreSQL, the most advanced open source database engine.

 #exit

$

Вот, собственно, и все. Программы, составляющие сервер базы данных PostgreSQL, установлены.

Такой же результат мы получили бы при установке PostgreSQL из пакетов RPM. Настало время выяснить, как же запускается PostgreSQL.

Вас заинтересует / Intresting for you:

Устанавливать или обновлять Po...
Устанавливать или обновлять Po... 1753 просмотров Максим Николенко Sat, 23 Jul 2022, 19:06:02
Установка PostgreSQL из дистри...
Установка PostgreSQL из дистри... 4346 просмотров Tarcoola Ningae Sun, 19 Aug 2018, 12:02:39
Обзор СУБД PostgreSQL: в чем п...
Обзор СУБД PostgreSQL: в чем п... 3508 просмотров Ирина Светлова Mon, 09 Aug 2021, 04:48:03
Зачем нужна оптимизация SQL? И...
Зачем нужна оптимизация SQL? И... 1560 просмотров Ирина Светлова Sat, 23 Jul 2022, 18:54:18
Войдите чтобы комментировать

ildergun аватар
ildergun ответил в теме #10625 1 год 8 мес. назад
Хорошая инструкция. Мерси!
AlexV аватар
AlexV ответил в теме #9342 5 года 2 мес. назад
Добротный мануал по инсталляции PostgreSQL. Ждем и для новых версии СУБД тоже! ;-)