Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.
Установка из репозитория Debian 11
На**** Debian установить PostgreSQL**** можно прямо из системного репозитория.
Сначала обновите список пакетов. Запустите терминал и выполните:
sudo apt update && sudo apt upgradeПакет PostgreSQL находится в репозитории Debian, поэтому вы можете установить его с помощью утилиты apt. Для этого выполните:
sudo apt install postgresql postgresql-contribПосле завершения установки проверьте статус соответствующей службы с помощью команды:
sudo systemctl status postgresqlЕсли служба не запустилась автоматически, вы можете стартовать её вручную. Для этого выполните:
sudo systemctl start postgresqlЧтобы остановить работающую службу, выполните:
sudo systemctl stop postgresqlПрежде чем настраивать PostgreSQL на Debian, убедитесь в том, что служба запущена.
Установка из официального репозитория СУБД
Если вы хотите использовать только свежие версии Постгреса, рекомендуется использовать для установки и последующего обновления официальный репозиторий СУБД.
Прежде всего необходимо добавить ключ подписи GPG. Это требование безопасности, чтобы подтвердить подлинность репозитория PostgreSQL. Чтобы сделать это, запустите терминал и выполните:
Теперь вы готовы добавить репозиторий Postgres. Используйте следующую команду:
После успешной интеграции библиотеки PostgreSQL вы готовы к установке СУБД. Но перед этим рекомендуется обновить репозиторий системы с помощью команды:
После обновления выполните PostgreSQL install на Debian:
sudo apt install postgresqlУстановка завершена. Теперь можно переходить к базовой настройке СУБД.
При установке СУБД автоматически создаётся пользователь postgres. Вы можете использовать эту учётную запись для первого подключения.
Переключитесь на пользователя postgres:
Запустите утилиту psql — это оболочка для управления PostgreSQL:
Теперь вы можете взаимодействовать с сервером PostgreSQL. Чтобы выйти из оболочки, введите:
Вы можете использовать команду для доступа к командной строке Postgres без переключения пользователей:
Однако пользователь postgres обычно используется только с локального хоста. Если, например, вы используете облачные базы данных, рекомендуется создать новую роль для подключения.
Создание роли и базы данных
Команда createuser позволяет создавать новые роли из командной строки. Только суперпользователи и роли с привилегиями CREATEROLE могут создавать новые роли.
В следующем примере создадим новую роль с именем Simple-Server и базу данных с именем timeweb_db, а затем предоставим новой роли привилегии для управления базой данных.
Сначала создайте новую роль:
sudo su - postgres -c "createuser Simple-Server"
sudo su - postgres -c "createdb timeweb_db"Чтобы предоставить пользователю права доступа к базе данных, подключитесь к оболочке:
Выполните следующий запрос, чтобы предоставить пользователю Simple-Server привилегии для управления базой данных timeweb_db:
GRANT ALL PRIVILEGES ON DATABASE timeweb_db TO Simple-Server;Создавать новые роли и базы данных можно и сразу в оболочке СУБД. В таком случае синтаксис будет незначительно отличаться.
Чтобы создать новую роль с паролем, выполните:
create user cloud with password 'cloudtimeweb';Чтобы создать новую БД, выполните:
create database cloud_db;Затем нужно также предоставить все привилегии командой GRANT ALL PRIVILEGES ON DATABASE … TO ….
Настройка удалённого доступа
По умолчанию сервер Postgres слушает только локальный интерфейс 127.0.0.1. Это может быть неудобно. Допустим, у вас есть сервер на Simple-Server с установленной СУБД. Гораздо комфортнее будет подключаться к нему удалённо. Для этого нужно настроить сервер на прослушивание других сетевых интерфейсов.
Чтобы изменить конфигурацию, с помощью любого редактора откройте файл postgresql.conf. В этом примере используется редактор nano:
sudo nano /etc/postgresql/12/main/postgresql.confНайдите в файле конфигурации раздел CONNECTIONS AND AUTHENTICATION и строку #listen_addresses = 'localhost'. Измените значение строки на listen_addresses = '*'. Если вы хотите, чтобы сервер слушал не все сетевые интерфейсы, а только выбранный, укажите его вместо звёздочки.
Сохраните файл и перезапустите службу Postgres, чтобы изменения вступили в силу:
sudo service postgresql restartПоследний шаг — разрешение подключений из сети. Чтобы установить его, нужно отредактировать файл pg_hba.conf. Откройте его в редакторе:
sudo nano /etc/postgresql/12/main/pg_hba.confНайдите строку IPv4 local connections. Укажите нужную сеть. Например, вот так:
| TYPE | DATABASE | USER | ADDRESS | METHOD |
|---|---|---|---|---|
| host | all | Simple-Server | 192.168.1.134 | md5 |
Вы можете использовать другие методы аутентификации. Полный их список смотрите в документации СУБД.
Запустите облачную базу PostgreSQL в один клик
Установка PostgreSQL на Debian**** выполняется двумя способами.
Первый вариант — использование системного репозитория. Его главный плюс — скорость. Не нужно ничего устанавливать дополнительно, достаточно выполнить одну команду. Минус в том, что в системном репозитории не всегда находится последняя версия ПО.
Второй вариант установки — использование официального репозитория PostgreSQL. Этот способ гарантирует, что вы будете пользоваться последней версией СУБД. Но действий придётся выполнить чуть больше — сначала добавить сам официальный репозиторий и лишь затем ставить Постгрес из него.
При дальнейшей работе с базами PostgreSQL не забывайте создавать бэкапы данных. С этим поможет наша статья «Дампы в PostgreSQL: резервное копирование и восстановление».
Кстати, в официальном канале Simple-Server собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.
Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.