В данной статье расскажем, как установить PostgreSQL на VPS/VDS с ОС Ubuntu.
Выбирайте VPS
Если Вы в поисках надежного провайдера для аренды VPS, то смотрите подборку лучших VDS серверов в России.
Перейти
Как поставить PostgreSQL?
1. Сначала обновим пакеты на нашей VPS. Команда:
sudo apt update
2. Устанавливаем PostgreSQL и утилите -contrib. Данное ПО присутствует в официальных репозиториях, поэтому команда будет выглядеть, как:
sudo apt install postgresql postgresql-contrib
Если установка прошла успешно, на экране у Вас должно отобразиться примерно следующее:
Success. You can now start the database server using:
pg_ctl cluster 12 main start

Как запустить PostgreSQL?
3. Запускаем Postgresql, проверяем его статус и добавляем в автозагрузку.
sudo systemctl start postgresql.servicesudo systemctl status postgresql.servicesudo systemctl enable postgresql.service
Как установить утилиту PhpPgAdmin?
4. Для удобства управления базами Postgresql можно установить утилита PhpPgAdmin. Для Ubuntu 20 данная утилита также должна присутствовать в стандартных репозиториях, команда:
sudo apt-get install phppgadminВ процессе будет установлена все необходимое для работы утилиты ПО, в том числе веб-сервер Apache.

По завершению установки откроем конфигурационный файл виртуального хоста командой:
nano /etc/apache2/conf-available/phppgadmin.confи разрешим доступ к PhpPgAdmin через Интернет, а не только с локальной машины.
Для этого закомментируем строку Require local и пропишем строку.

Сохраняем изменения и перезапускаем Apache командой:
sudo systemctl restart apache2
Теперь в браузере мы можем открыть PhpPgAdmin по адресу: http://IP_ сервера/phppgadmin/.

5. В PostgreSQL используется концепция ролей (roles) для управления разрешениями на доступ к базе данных, которые привязываются к одноименным аккаунтам в Unix-системах. При установке данной СУБД создается пользователь (и роль) postgres, являющийся суперпользователем для PostgreSQL.
Работать с базами под ним можно, но не рекомендуется по соображениям безопасности. Поэтому создадим новую пользователя и базу для него. Переключимся на данного пользователя командой:
sudo -i -u postgresКак можем видеть, пользователь в консоли сервера также сменился. Теперь создаем роль командой:
sudo -u postgres create user–interactiveДалее входим в консоль PostgreSQL, команда:
psqlСоздаем базу (в данном примере база и пользователь-роль имеют имя tester), задаем пароль для пользователя и даем ему права на созданную базу.
CREATE DATABASE tester;
ALTER USER tester WITH PASSWORD 'new_password';
GRANT ALL PRIVILEGES ON DATABASE tester to tester;И выходим из консоли PostgreSQL. Выйти можно прописав exit; или \q

Проверка PostgreSQL
6. Возвращаемся в пользователя root и добавляем пользователя Linux с тем же именем, которое мы задавали нашей роли ранее, команда:
sudo add user testerТеперь, если мы переключимся на этого пользователя (команда sudo -i -u tester), то сможем подключится к его базе в консоли сервера без ввода пароля, просто командой psql

Командой \conninfo можно проверить, под каким пользователем и к какой базе мы подключились.
Для входа через PhpPgAdmin потребуется указать тот пароль, который мы задали при создании базы и роли, на шаге 5.


Предыдущая статья:
Сброс root пароля MySQL на VPSСледующая статья:
Как установить и настроить Redis на VPS?
Комментарии ()