Как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04
В данном руководстве мы ознакомимся с установкой PostgreSQL 12, реляционной объекто-ориентированной системой управления базами данных (СУБД). А также, мы проинсталлируем pgAdmin4, инструментарий для работы с сервером баз данных PostgreSQL. Итак, наш мануал – о том, как установить PostgreSQL и pgAdmin4 в Ubuntu 20.04.
Все работы на нашем сервере мы будем производить под учётной записью, имеющей привилегии sudo . Также, на нашем сервере установлен и настроен брандмауэр UFW .
Установка PostgreSQL
Поскольку PostgreSQL устанавливается из стандартных репозиториев Ubuntu, для запуска установки подключитесь к вашему серверу под учётной записью, входящей в группу sudo , и наберите в командной строке:
$ sudo apt update $ sudo apt install postgresql
При установке пакета инсталлятор создаст новый PostgreSQL-кластер. Данный кластер представляет из себя коллекцию баз данных, которая управляется одним сервером. Также, установщик создаст рабочие директории для PostgreSQL. Данные, необходимые для работы PostgreSQL, будут находится в каталоге /var/lib/postgresql/12/main , а файлы конфигурации – в каталоге /etc/postgresql/12/main .
После завершения установки вы можете убедиться, что служба PostgreSQL активна. Для чего в командной строке наберите:
$ sudo systemctl is-active postgresql
Также, посмотрите, включена ли служба:
$ sudo systemctl is-enabled postgresql
И наконец, вы можете увидеть статус службы PostgreSQL:
$ sudo systemctl status postgresql
После чего, убедитесь, что PostgreSQL-сервер готов принимать подключения от клиентов:
Создание базы данных в PostgreSQL
Чтобы создать новую базу данных, вы должны получить доступ к программной оболочке PostgreSQL. Во-первых, подключитесь к системе с помощью учётной записи postgres :
Подключившись, выполните команду psql :
Если вы видите приглашение ко вводу команд postgres=# , значит вы находитесь в оболочке СУБД PostgreSQL. И значит, можно приступать к созданию базы данных. Первая команда добавит в PostgreSQL пользователя bob (на своём сервере вы можете использовать свои имена пользователей и баз данных):
# CREATE USER bob WITH PASSWORD 'P@$$w0rd';
Как вы понимаете, P@$$w0rd – это пароль для входа под учётной записью bob . В своём примере вы, конечно, можете использовать другой пароль.
Следующая команда создаст базу данных, которую мы назовём, например, bobdb :
Теперь, назначьте своему пользователю все права сразу на вашу базу данных. В нашем примере это будет выглядеть так:
# GRANT ALL PRIVILEGES ON DATABASE bobdb to bob;
Чтобы покинуть оболочку, наберите:
И теперь, можно отключить от системы пользователя postgres :
Настройка клиентской аутентификации PostgreSQL
СУБД PostgreSQL использует клиентскую аутентификацию для того, чтобы решать, какая учётная запись к какой базе данных и с какого хоста может подключаться. Это определяется настройками конфигурационного файла клиентской аутентификации. В Ubuntu таким файлом является файл pg_hba.conf . Он располагается в директории /etc/postgresql/12/main/ .
Откройте этот файл для редактирования, например, с помощью текстового редактора nano :
$ cd /etc/postgresql/12/main $ sudo nano pg_hba.conf
PostgreSQL использует много типов методов клиентской аутентификации, таких как peer, ident, password или md5. Тип md5 является наиболее безопасным и рекомендуемым по причине того, что он требует от клиента использовать для аутентификации пароли с двойным md5-хешированием. Поэтому нам остаётся лишь убедиться, что в строках ниже указан именно метод md5:
Если вы произвели в конфигурационном файле какие-либо изменения, не забудьте сохранить их при закрытии файла. В nano для этого необходимо нажать Ctrl X , затем Y и Enter . После чего, перезапустите службу:
$ sudo systemctl restart postgresql
Установка pgAdmin4
Пакет pgAdmin4 не доступен для установки из официальных репозиториев Ubuntu. Поэтому мы будем устанавливать его из репозитория pgAdmin4 APT . Для этого сначала необходимо установить данный репозиторий.
Добавьте публичный ключ для репозитория и создайте его конфигурационный файл. Для чего наберите следующие команды:
$ curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add $ sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
Затем запустите установку pgAdmin4:
$ sudo apt install pgadmin4
Данной командой вы установили набор необходимых пакетов включая веб-сервер Apache2. После завершения инсталляции запустите скрипт для установки веб-компонентов. Данный скрипт должен был установиться вместе с пакетом pgdmin4. Во время своей работы скрипт попросит вас ввести адрес электронной почты. В нашем примере мы будем использовать mailofbob@mail.ru , вместо которого вам необходимо ввести свой. Также, скрипт потребует установить пароль, который необходимо ввести дважды. Учтите, что эти E-mail и пароль вы будете в дальнейшем использовать для подключения к веб-интерфейсу pgAdmin4.
$ sudo /usr/pgadmin4/bin/setup-web.sh
В процессе установки скрипт перезапустит службу Apache2 для того, чтобы вступили в силу произведённые изменения.
После того, как скрипт закончит свою работу, вам нужно будет добавить разрешение для Apache2 на доступ через брандмауэр. Чтобы сделать это, наберите:
Убедитесь, что служба Apache2 включена в список разрешённых на брандмауэре вашего сервера:
Настройка доступа через веб-интерфейс
Чтобы получить доступ к веб-интерфейсу pgAdmin4, откройте браузер и введите адрес в строке навигации:
http://Your-Server-IP-address/pgadmin4
где, Your-Server-IP-address – IP-адрес вашего VPS.
После этого вы увидите страницу для подключения к pgAdmin4. Для входа используйте адрес электронной почты и пароль, который вы вводили при работе скрипта setup-web.sh :
В случае успешной авторизации, вы попадёте на панель веб-приложения pgAdmin4. Там, вы можете подключиться к своему серверу PostgreSQL, нажав на ярлык Add New Server:
Далее, заполните данные нового сервера на закладке General и перейдите на закладку Connection :
Теперь, заполните данные, необходимые для подключения к серверу. В строке Host name/address введите localhost , в строке Port можно оставить номер порта по умолчанию – 5432. В строке Maintenance database оставьте значение postgres . А вот, в строках Username и Password вы должны указать имя пользователя и его пароль, которые вы ранее добавили в PostgreSQL. В нашем примере это был пользователь bob с паролем P@$$w0rd . Вам, разумеется, необходимо использовать данные своей учётной записи PostgreSQL. Когда всё будет готово, нажмите Save .
Если введённые учётные данные корректны, вы попадёте в панель управления pgAdmin4. Здесь, вы даже можете найти ту базу данных, которую вы создавали при настройке PostgreSQL. В нашем примере это была база данных bobdb .
Таким образом, мы установили СУБД PostgreSQL, создали там учётную запись, базу данных и добавили созданному пользователю набор полномочий по отношению к созданной базе. После чего, мы подключились к СУБД PostgreSQL при помощи веб-интерфейса pgAdmin4. Основой всего нам послужил виртуальный выделенный сервер (VPS), работающий под управлением операционной системы Ubuntu 20.04.