Для систем на базе Linux Postgres Pro Enterprise поставляется в виде двоичных пакетов. Все двоичные дистрибутивы Postgres Pro Enterprise состоят из нескольких пакетов. Структура пакетов отличается от структуры ванильного PostgreSQL и поддерживает следующие режимы установки:
Quick installation and setup.
The postgrespro-ent-10 package
installs and configures all the components required for a viable
ready-to-use configuration of both server and client components.
Choose this option if you are going to install a single
Postgres Pro Enterprise instance only,
and you are not worried about possible conflicts with other
PostgreSQL-based products.
Расширенная установка. Вы можете выбрать любые пакеты, требующиеся для ваших целей, включая пакеты для разработчиков. Этот вариант требует ручной настройки, поэтому для него необходимо хорошо разбираться в Linux и понимать архитектуру PostgreSQL. Это единственно возможный вариант, если вы планируете реализовать один из следующих сценариев использования Postgres Pro Enterprise:
Установка одновременно нескольких версий Postgres Pro Enterprise либо установка вместе с другими продуктами на базе PostgreSQL.
Обновление с другой версии или миграция с другого продукта на базе PostgreSQL.
Управление сервером Postgres Pro Enterprise с использованием программных средств обеспечения высокой степени доступности, таких как pacemaker, вместо стандартных системных механизмов управления службами.
Двоичные пакеты Postgres Pro Enterprise предоставляются для следующих систем на базе Linux:
Системы Red Hat Enterprise Linux (RHEL) и производные от них: CentOS 6/7, Red Hat Enterprise Linux 6/7, Oracle Linux 6/7, Rosa Enterprise Linux Server 6, РОСА «КОБАЛЬТ» на платформе РОСА 6/7, Гослинукс 6, МСВСфера 6.3
Системы на базе Debian: Debian 7/8/9, Ubuntu 14.04/16.04/17.10, Astra Linux «Смоленск» 1.4/1.5
Альт Линукс 8, Альт Линукс 7.0, Альт Линукс СПТ 6.0/7.0
SUSE Linux Enterprise Server 11/12.1
Если вам нужно установить только один экземпляр Postgres Pro Enterprise и вы не собираетесь использовать никакие другие продукты на базе PostgreSQL в вашей системе, вы можете использовать режим быстрой установки. Типичная процедура установки в этом случае выглядит так:
Подключите репозиторий пакетов, предназначенный для вашей операционной системы. Конкретные адреса репозиториев и команды для их подключения в поддерживаемых дистрибутивах Linux вы можете найти на Странице загрузки для соответствующей версии Postgres Pro Enterprise.
Install the postgrespro-ent-10 package.
It will bring all the required components via dependencies,
together with documentation, create the default database, start the database server,
as well as enable server autostart at system boot and
make all the provided programs available in PATH.
In the quick installation mode, the database cluster is
initialized with checksums enabled.
После завершения установки вы можете запустить psql от имени пользователя postgres и подключиться к только что созданной базе данных.
Разделение дистрибутива на несколько пакетов позволяет произвести инсталляцию по-разному для различных применений: для серверов баз данных, клиентских систем или рабочих станций разработчиков. Такие инсталляции необходимо настраивать вручную, но это даёт дополнительную гибкость при использовании продукта. Вы можете установить несколько версий Postgres Pro Enterprise параллельно, а также вместе с другими продуктами PostgreSQL. В частности, это может потребоваться при осуществлении обновления или при миграции с другого продукта на базе PostgreSQL.
Для осуществления расширенной установки выполните следующие действия:
Подключите репозиторий пакетов, предназначенный для вашей операционной системы. Конкретные адреса репозиториев и команды для их подключения в поддерживаемых дистрибутивах Linux вы можете найти на Странице загрузки для соответствующей версии Postgres Pro Enterprise.
Выберите пакеты Postgres Pro Enterprise, требующиеся для ваших целей, и установите их с помощью стандартных для вашего дистрибутива Linux команд. Доступные пакеты перечислены в Таблице 17.1.
As a result, all files get installed into the
/opt/pgpro/ent-10 directory.
Run the pg-wrapper utility provided in the
postgrespro-ent-10-client
package to make the installed client and server programs
available via PATH and add SQL
man pages to the man page configuration file:
pg-wrapper links update
For details on how to handle possible conflicts, see pg-wrapper.
If you chose to install the postgrespro-ent-10-server
package, make sure to complete the following server setup:
Создайте начальную базу данных, запустив вспомогательный скрипт pg-setup от имени root с ключом initdb:
/opt/pgpro/ent-10/bin/pg-setup initdb [initdb_options]
Здесь initdb_options — обычные параметры программы initdb.
pg-setup инициализирует кластер баз данных со включёнными контрольными суммами. Если для вас это нежелательно, не используйте pg-setup для инициализации кластера, а запустите непосредственно initdb.
The pg-setup script performs database
administration operations as user postgres.
If you do not specify any initdb options,
the default database is created in the
/var/lib/pgpro/ent-10/data directory,
using localization settings specified in the LANG
environment variable for the current session.
All the LC_* environment variables are ignored.
Запустите сервер с помощью pg-setup, следующим образом:
pg-setup service start
Как и сервер ванильного PostgreSQL, сервер Postgres Pro Enterprise работает под именем пользователя postgres.
По умолчанию автоматический запуск сервера отключён, чтобы вы могли вручную управлять восстановлением базы данных после перезагрузки системы. Однако вы можете настроить и автоматический запуск сервера Postgres Pro Enterprise. За подробностями обратитесь к Подразделу 17.1.3.2.
В следующей таблице перечислены все имеющиеся пакеты Postgres Pro Enterprise.
Таблица 17.1. Пакеты Postgres Pro Enterprise
|
Пакет |
Описание |
|---|---|
|
|
Пакет верхнего уровня, устанавливающий и настраивающий Postgres Pro Enterprise для серверных и клиентских систем. Не используйте этот пакет при обновлении или миграции. |
|
|
Стандартные клиентские приложения, такие как psql и pg_dump. |
|
|
Общие библиотеки, требующиеся для развёртывания клиентских приложений, включая libpq; библиотеки времени выполнения для обработчика ECPG. |
|
|
Сервер Postgres Pro Enterprise и серверный язык программирования PL/pgSQL. |
|
|
Дополнительные расширения и программы, разворачиваемые на серверах баз данных. |
|
|
Утилита pg_probackup. |
|
|
Заголовочные файлы и библиотеки для разработки клиентских приложений и серверных расширений. On Debian-based systems,
this package is called |
|
|
Реализация языка Perl для программирования на стороне сервера. |
|
|
Реализация языка Python для программирования на стороне сервера. |
|
|
Реализация языка Python 3 для программирования на стороне сервера. Этот пакет представлен только для систем на базе Debian. |
|
|
Реализация языка Tcl для программирования на стороне сервера. |
|
|
Документация на английском языке. |
|
|
Документация на русском языке. |
|
|
Тестовые скрипты для сервера. Этот пакет представлен только для систем на базе RHEL и SUSE. |
Кроме того, Postgres Pro Enterprise предоставляет отдельные пакеты с отладочной информацией для некоторых операционных систем:
On Debian-based systems, see the postgrespro-ent-10-dbg package.
On RHEL-based systems, see the postgrespro-ent-10-debuginfo package.
В Альт Линукс для всех пакетов с двоичными файлами имеются соответствующие пакеты -debuginfo.
Server installations require at least the following packages:
postgrespro-ent-10-server
postgrespro-ent-10-client
postgrespro-ent-10-libs
To use additional Postgres Pro Enterprise extensions, you must also install
the postgrespro-ent-10-contrib package.
On Debian-based systems, postgrespro-ent-10-server package
depends on postgrespro-ent-10-contrib package,
so the latter must always be installed together with the server.
For client installations, it is usually enough to install the
postgrespro-ent-10-client and
postgrespro-ent-10-libs packages.
If you use custom applications and do not need standard client utilities such as
psql, you can install the
postgrespro-ent-10-libs package only.
Для рабочих станций разработчиков необходимый минимум составляют следующие пакеты:
postgrespro-ent-10-libs
postgrespro-ent-10-devel/
postgrespro-ent-10-dev
Также вы можете установить и настроить сервер с тестовой базой данных. Подробнее о настройке, которая может потребоваться дополнительно, рассказывается в Подразделе 17.1.4.
If you are running a custom installation, automatic server
startup is disabled by default. Once the default database
is created, you can configure the server to start automatically
upon system boot using service management solutions available
in your operating system or third-party high-availability software.
To facilitate this task, postgrespro-ent-10-server
package provides the pg-setup script, which is
installed in the /opt/pgpro/ent-10/bin
directory.
Для настройки автозапуска сервера запустите скрипт pg-setup со следующими параметрами:
pg-setup service enable
Если требуется, вы можете отключить автозапуск сервера, используя тот же скрипт:
pg-setup service disable
Alternatively, you can use system
service management solutions directly by running the
autostart scripts for SysV-style init.d
and systemd provided in the
postgrespro-ent-10-server package.
Depending on your Linux distribution, Postgres Pro Enterprise
supports different service management solutions:
|
Дистрибутив Linux |
Предоставляемые скрипты |
|---|---|
|
RHEL 7, SLES 12.1 |
файл службы systemd |
|
RHEL 6 и совместимые дистрибутивы, SLES 11, Альт Линукс 6 |
скрипт init.d (в стиле SysV) |
|
Debian, Ubuntu, Альт Линукс 7/8 |
И файл службы systemd, и скрипт init.d в стиле SysV |
Для включения автоматического запуска сервера средствами systemd выполните следующую команду:
systemctl enable postgrespro-ent-10.service
Для использования скрипта init.d в стиле SysV:
On RHEL 6, SLES 11, and ALT Linux systems, use chkconfig command to add
the postgrespro-ent-10 script to the appropriate runlevel.
See chkconfig man page for the exact syntax.
В системах Debian воспользуйтесь скриптом update-rc.d. За подробностями обратитесь к соответствующей странице man.
While installing postgrespro-ent-10-libs and
postgrespro-ent-10-devel/
postgrespro-ent-10-dev
packages may be enough, it is usually convenient to have the server
set up on the development system. For quick setup, you can install
postgrespro-ent-10 package, which
automatically configures the provided client and server programs
and creates the default database. However, if you are going
to use several PostgreSQL-based
products simultaneously, follow the custom installation instructions
in Подраздел 17.1.3.
To compile programs with Postgres Pro Enterprise
libraries using the pg_config utility shipped
with Postgres Pro Enterprise, you have to make sure
that its path is specified in the PATH environment variable before
the path to any other pg_config version.
If you do not have any other pg_config versions
on your system, you can use pg-wrapper provided in the
postgrespro-ent-10-client package to create a symbolic
link to pg_config in the standard binary directory.
To compile programs using pkg-config command,
add the /opt/pgpro/ent-10/lib/pkgconfig/
path to the PKG_CONFIG_PATH environment variable.
Чтобы использовать сервер Postgres Pro Enterprise с клиентской программой из стороннего продукта, вы можете установить версию библиотек PostgreSQL, с которыми компилировалась эта программа. Например, если программа поставляется в составе ванильного PostgreSQL, вам может потребоваться установить пакеты libpq или postgresql-libs, предоставляемые для вашего дистрибутива Linux. В этом случае программа, возможно, не будет использовать некоторые новые возможности сервера Postgres Pro Enterprise, но скорее всего она и не поддерживает их.
Если вы предпочитаете использовать библиотеки Postgres Pro Enterprise со сторонней программой или хотели бы задействовать новую возможность, которая не требует изменения самого клиентского приложения, например, проверку подлинности SCRAM, вы можете перекомпилировать вашу программу с библиотеками Postgres Pro Enterprise.
Если программа скомпилирована с одной версией libpq, а используется с другой, её стабильная работа не гарантируется.
Если вы создаёте пакеты .rpm или .deb для вашей программы, рекомендуется сделать следующее:
Add /opt/pgpro/ent-10/bin
to PATH inside your build
scripts (.spec files or debian/rules).
Specify postgrespro-ent-10-dev
in the BuildDepends or BuildRequires
tags for your program.
Тем самым вы обеспечите вызов в процессе создания пакетов нужной версии pg_config при каждой пересборке пакета исходного кода.
Для запуска нескольких экземпляров сервера Postgres Pro Enterprise с разными каталогами данных нужно проделать следующее:
Установите и настройте Postgres Pro Enterprise, следуя указаниям в Подразделе 17.1.2 или Подразделе 17.1.3.
После создания начальной базы данных запустите initdb и укажите путь к другому каталогу данных и любые другие параметры, требующиеся для инициализации другого экземпляра сервера.
Задайте другие порты для экземпляров серверов в соответствующих файлах postgresql.conf, чтобы не допустить конфликтов.
Если требуется, настройте автоматический запуск сервера следующим образом:
Create a copy of /etc/init.d/postgrespro-ent-10
or /lib/systemd/system/postgrespro-ent-10.service
with a different name, specifying the path to the data directory.
Включите автоматический запуск сервера, используя скрипты автозапуска, предоставленные для вашего системного механизма управления службами, вместо pg-setup, как описано в Подразделе 17.1.3.2. Убедитесь в том, что вы используете переименованные копии скриптов, созданные на шаге 1.
Разные основные версии Postgres Pro Enterprise, а также разные продукты на базе PostgreSQL, даже имеющие одинаковую основную версию, могут иметь несовместимые на двоичном уровне базы данных, так что просто заменить программу сервера и продолжить его использование в общем случае невозможно. Чтобы преобразовать базы данных с более старой основной версии, вам потребуется выполнить выгрузку/загрузку данных с помощью pg_dumpall или использовать pg_upgrade. Первый вариант безопаснее, а второй быстрее и может значительно ускорить процесс обновления для больших баз данных.
Инструкции по обновлению для определённой версии вы найдёте в Замечаниях к выпуску для этой версии Postgres Pro Enterprise.