Устанавливаем сервер 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