Установка PostgreSQL из дистрибутива Linux

PostgreSQL установка на Linux из пакета rpmВозможно, наиболее простой способ установки PostgreSQL на Linux состоит в использовании предварительно откомпилированных двоич­ных пакетов, доступных в формате менеджера пакетов RedHat (Red- Hat Package Manager, RPM) во многих дистрибутивах. Ко времени на­писания этой статьи имелись пакеты RPM для следующих версий:

  • RedHat 6.x, 7.x и выше
  • SuSe 4, 7.x и выше
  • TurboLinux 6.x и выше
  • Caldera OpenLinux eServer 2.3 и выше
  • Mandrake 7.x и выше
  • LinuxPPC 2000 и выше

 

Для установки полнофункциональной СУБД нам понадобятся как ми­нимум базовый и серверный пакеты. Полный список пакетов приве­ден в табл.1:

Таблица 1. Пакеты, необходимые для установки полнофункциональной СУБД

Пакет

Описание

postgresql

Базовый пакет

postgresql-server

Программы создания и запуска сервера

postgresql-devel

Заголовочные файлы и библиотеки для разработки

postgresql-jdbc

Драйверы JDBC для доступа к PostgreSQL из Java

postgresql-odbc

Драйверы ODBC для доступа к PostgreSQL

postgresql-perl

Интерфейс Perl для PostgreSQL

postgresql-python

Интерфейс Python для PostgreSQL

postgresql-tcl

Интерфейс Tcl для PostgreSQL

postgresql-test

Тестовые программы PostgreSQL

postgresql-tk

Оболочка и графический интерфейс Tk

К имени файла добавляется номер версии соответствующего пакета. Рекомендуется устанавливать пакеты с одинаковыми номерами вер­сий и ревизий. Номер ревизии - это последняя цифра в номере версии, то есть x в 7.1.x.

Для установки пакетов используется программа RPM Package Mana­ger. Перед тем как начинать установку, убедитесь, что вы зарегистри­рованы как суперпользователь (superuser/root). Для установки RPM-пакетов подойдет любой графический менеджер пакетов, например GnoRPM или Kpackage. Можно также скопировать все файлы RPM в один каталог и как суперпользователь (superuser/root) выполнить команду:

$ rpm -i *.rpm

Эта команда распаковывает пакет и копирует находящиеся в нем фай­лы в предназначенные для них каталоги.

Можно выполнить установку PostgreSQL и из пакета, входящего в со­став дистрибутива Linux, такого как RedHat или SuSe. Например, в SuSe 7.x для установки PostgreSQL можно запустить утилиту YaST (рис. 1) и выбрать пакеты из списка, приведенного в табл. 1.

Утилита YaST

Рис. 1. Утилита установки YaST

 

В качестве альтернативы можно загрузить или заказать на CD ком­мерческую версию (само программное обеспечение остается бесплат­ным) PostgreSQL, включающую инсталлятор и дополнительную доку­ментацию. Одна из таких коммерческих версий доступна на сайте компании Great Bridge.

Разработка PostgreSQL не прекращается, и, следовательно, время от времени будут выходить новые версии. Установка «вручную» из паке­тов RPM имеет то преимущество, что позволяет обновлять установлен­ную версию до текущей, просто повторяя процедуру. Для этого доста­точно сообщить программе установки, что она должна выполнить об­новление, а не первоначальную установку, заменив параметр -i на -u:

$ rpm -u *.rpm

Настоятельно рекомендуется сохранить резервную копию базы данных пе­ред началом обновления. Подробные инструкции по выполнению обновления доступны на сайте PostgreSQL.

 

Состав дистрибутива PostgreSQL

К сожалению, во время написания этой статьи стандарт на установку PostgreSQL еще не был выработан. Такой стандарт в большинстве слу­чаев стал бы благом, хотя иногда и мог бы создавать некоторые труд­ности.

В состав PostgreSQL входят ряд приложений, утилит и каталогов с данными. Его главное приложение (postmaster или postgres) содержит серверный код, отвечающий за обслуживание запросов на доступ к данным от клиентов. Утилиты, такие как pg_ctl, применяются для уп­равления главным серверным процессом, который должен выполнять­ся постоянно, обеспечивая работу сервера. В каталоге data находятся все файлы, необходимые базе данных. В них хранятся не только таб­лицы и записи, но и системные параметры.

По умолчанию устанавливаются все компоненты PostgreSQL, пере­численные в табл. 2, каждый в соответствующем подкаталоге. В ка­честве общего каталога (и каталога по умолчанию при установке из ис­ходного кода) обычно используется /usr/local/pgsql.

Главный каталог PostgreSQL включает в себя следующие подката­логи:

Таблица 2. Компоненты PostgreSQL

Каталог

Описание

bin

Приложения и утилиты, например pg_ctl и postmaster

data

Файлы базы данных

doc

Документация в формате HTML

include

Заголовочные файлы для разработки приложений PostgreSQL

lib

Библиотеки для разработки приложений PostgreSQL

man

Руководство по PostgreSQL

share

Примеры файлов конфигурации

Недостаток работы с единственным каталогом в том, что неизменные файлы программ и изменяющиеся данные хранятся совместно, а это не всегда удобно.

Файлы, используемые PostgreSQL, можно разделить на несколько ка­тегорий. Файлы программ не могут и не должны изменяться во время работы. Файлы журналов, создаваемые сервером, содержат информа­цию о доступе к базе данных и могут быть очень полезны в решении проблем. Они растут по мере того, как в них добавляются новые запи­си. Файлы данных - это сердце системы, в них хранится вся информа­ция всех баз данных.

Из соображений эффективности и удобства администрирования фай­лы разных типов можно поместить в разные каталоги. Гибкость PostgreSQL позволяет хранить файлы программ, системных журналов и данных в различных местах, а дистрибутивы Linux позволяют извлечь из этой гибкости максимум выгоды.

Например, в SuSE 7.0 программы PostgreSQL размещаются вместе с остальными приложениями в /usr/bin, для журнальных файлов от­водится /var/log/postgresql, а данные хранятся в /var/lib/pgsql/data. Благодаря этому можно легко разделить процедуры резервного копи­рования наиболее важных файлов данных и менее критичных жур­нальных файлов и т. п.

В других дистрибутивах могут применяться собственные схемы разме­щения файлов. Для просмотра списка файлов, установленных опреде­ленным пакетом, можно использовать утилиту RPM, запустив ее с та­кими параметрами:

 

$ rpm -q -l postgres

/usr/bin/createdb
....
/usr/share/man/manl/vacuum.1.gz

$

Чтобы просмотреть все установленные файлы, придется запустить rpm для каждого из пакетов, входящих в PostgreSQL:

 

$ rpm -q -l pg_serv

/sbin/conf.d/SuSEconfig.Postgres 
.....
/var/lib/pgsql/data/pg_options

$

В разных дистрибутивах названия пакетов могут слегка отличаться, в данном случае серверному пакету дано имя pg_serv. Вместо rpm мож­но использовать графический менеджер пакетов, например kpackage (рис. 2), поставляемый в комплекте с оболочкой KDE:

Графический менеджер пакетов kpackage

Рис. 2. Графический менеджер пакетов kpackage

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

Иногда бывает удобнее установить PostgreSQL из исходного кода.

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

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

apv аватар
apv ответил в теме #10616 1 год 8 мес. назад
Качественный мануал. Ждем инструкций по установке PistgreSQL и для новых версий данной базы данных!