Добрый день! В прошлой статье мы занимались установкой MySQL ветки MariaDB, а также провели первичную настройку.
Сегодня мы продолжим рассматривать тему установки Систем Управления Базами Данных (СУБД) на примере установки такой замечательной СУБД, как PostgreSQL или, как ее часто еще называют, Postgres.
Мы уже делали краткий обзор о преимуществах той или иной системы, с ним вы можете ознакомиться по ссылке.
СУБД PostgreSQL существует под множеством Unix-подобных OC, а также под OC Windows и MAC OS. Несмотря на это, чаще всего используется в сочетании с ОС Linux. По этой причине давайте установим ее, как и MySQL, на нашу виртуальную машину с CentOS.
В реальной жизни я не рекомендую ставить их вместе, у каждой СУБД должна быть своя машина, ведь реальные проекты требуют немало ресурсов.
Для начала установки запустим нашу машину. И перейдем на официальный сайт СУБД, он располагается по адресу: https://www.postgresql.org/ . В принципе, сайт содержит довольно понятную документацию по установке и использованию СУБД PostreSQL. Найти ее можно в главном меню или перейдя по адресу: https://www.postgresql.org/download/linux/redhat/
На момент написание статьи, актуальная версия Postgres 10, а 11, к сожалению, находится лишь в бета-версии.
Нам остается выбрать только наш дистрибутив Linux (в моем случае — это CentOS 7), и автоматически появится документация по установке.
Что ж, приступим непосредственно к установке. Как я уже рассказывал раньше, основной способ распространения пакета – репозиторий. В репозитории CentOS уже лежит Postgres, но, к сожалению, версии 9.2. Поэтому, чтобы установить 10–ю версию, добавим репозиторий в нашу машину, выполнив команду: yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm.
Дальше пакетный менеджер все сделает за нас и добавит репозиторий и GPG-ключ в нашу систему, нам остается лишь подтвердить согласие на установку нажав y.
По окончании мы увидим информацию об успешной установке репозитория на CentOS.
На следующем шаге установим серверные пакеты, набрав команду: yum install postgresql10-server.
Пакетный менеджер yum запросит информацию о наличии пакетов в репозиториях и найдет добавленный нами репозиторий, а также автоматически определит, какие дополнительно нам необходимы пакеты, чтобы удовлетворить зависимостям.
В нашем случае, это, в дополнение к серверу, клиентские службы, а также библиотеки, необходимые для работы СУБД.
Также примем необходимые пакеты, введя в терминал y.
Установка не займет много времени.
Теперь давайте проведем первичную настройку базы, хотя это и не обязательно.
Для настройки выполним команду /usr/pgsql-10/bin/postgresql-10-setup initdb.
Будет запущен скрипт, который проведет инициализацию базы данных.
Теперь давайте запустим базу и добавим ее в автозагрузку Linux, мы это уже делали ранее с MySQL, и выглядят эти команды так:
systemclt start posgtresql-10
systemctl enable postgresql-10
Если все прошло успешно, то Linux выведет информацию только о том, что он поместил ссылку на приложение в автозагрузку.
Не слишком информативно, верно? Воспользуемся командой: systemctl status postgresql-10, которая нам покажет, что СУБД запущена и работает в нормальном режиме.
Раз база работает, то давайте подключимся к ней. Для этого в системе на CentOS автоматически был создан пользователь postgres, и нам, чтобы иметь возможность запустить консольную утилиту, необходимо задать пароль для этого пользователя. Обратите внимание, что под пользователей root вы не сможете подключиться.
Итак, зададим пароль: passwd postgres и укажем свой пароль. Если ваш пароль менее 8 символов или слишком простой, то появится сообщение о том, что пароль плохой.
Но на тестовой машине не имеет смысла использовать сложный пароль. Поэтому просто повторим его, и пароль будет успешно установлен. При помощи команды: su – postgres сменим нашего пользователя.
И запустим терминальную утилиту Postgres, выполнив команду psql postgres.
Должно появится аналогичное postgres=#. Это значит, что PostgreSQL действительно работает, и мы можем приступать к созданию баз данных и пользователей. Об этом мы поговорим чуть позже.
На этом мы закончим сегодняшнюю статью. Спасибо за уделенное время. Всего Доброго!