Перейти к содержанию

Устанавливаем сервер PostgreSQL

Устанавливаем сервер PostgreSQL

Готовый пакет можно скачать по ссылке В Linux входит в дистрибутив ОС.

apt-get install postgresql-9.4

Установка из исходных кодов

Распаковываем архив с исходными кодами PostgreSQL

tar xzf /home/user/postgresql-9.4.8.tar.gz

Создание конфигурации

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

make distclean

В команде configure можно указать различные параметры конфигурации. Например: --prefix - каталог установки, по умолчанию /usr/local/pgsql; --enable-debug - для включения отладочной информации.

cd /home/student/postgresql-9.4.8/
./configure

Сборка PostgreSQL

Возможные варианты:

make - сборка только сервера make world - сборка сервера, всех расширений и документации

cd /home/user/postgresql-9.4.8
make

Установка

cd /home/user/postgresql-9.4.8
make install

Если бы собирали сервер с расширениями и документацией make world, то можно было бы установить все вместе командой

make install-world

Пользователь postgres и каталог PGDATA

Создаем пользователя postgres

adduser postgres

Пользователь postgres, под которым будет работать СУБД, создан. Теперь необходимо создать каталог для данных и сделать postgres его владельцем:

mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data

Этот каталог часто называют PGDATA, по имени переменной окружения, которую удобно использовать при работе с утилитами сервера.

Команда для подключения под пользователем postgres:

su - postgres

В окружении пользователя postgres учтено, куда устанавливается СУБД и где находится каталог с данными:

postgres$ echo $PGDATA
/usr/local/pgsql/data
postgres$ echo $PATH
/usr/local/pgsql/bin:/home/postgres/bin:/home/postgres/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/snap/bin

Инициализация и запуск кластера

Для инициализации кластера базы данных используется утилита initdb. Ключ -k включает подсчет контрольной суммы страниц, что позволяет своевременно обнаруживать повреждение данных. В остальном используем настройки по умолчанию:

postgres$ initdb -k
user$ find /* -name initdb
/usr/lib/postgresql/9.4/bin/initdb