Найти в Дзене
Timeweb Cloud

Установка PostgreSQL на Debian

PostgreSQL — система управления реляционными базами данных продвинутого уровня с открытым исходным кодом. Установить её на Debian 11 можно двумя способами: из репозитория операционной системы или из официального репозитория PostgreSQL. В этой статье вы изучите оба метода, а также научитесь выполнять стандартные операции вроде создания ролей и баз данных. Читайте также: Развертывание приложений Python с помощью Gunicorn Установка из репозитория Debian 11 На Debian установить PostgreSQL можно прямо из системного репозитория. Сначала обновите список пакетов. Запустите терминал и выполните: sudo apt update && sudo apt upgrade Пакет PostgreSQL находится в репозитории Debian, поэтому вы можете установить его с помощью утилиты apt. Для этого выполните: sudo apt install postgresql postgresql-contrib После завершения установки проверьте статус соответствующей службы с помощью команды: sudo systemctl status postgresql Если служба не запустилась автоматически, вы можете стартовать её вручную. Для
Оглавление

PostgreSQL — система управления реляционными базами данных продвинутого уровня с открытым исходным кодом. Установить её на Debian 11 можно двумя способами: из репозитория операционной системы или из официального репозитория PostgreSQL.

В этой статье вы изучите оба метода, а также научитесь выполнять стандартные операции вроде создания ролей и баз данных.

Читайте также: Развертывание приложений Python с помощью Gunicorn

Установка из репозитория 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. Чтобы сделать это, запустите терминал и выполните:

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg

Теперь вы готовы добавить репозиторий Postgres. Используйте следующую команду:

echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

После успешной интеграции библиотеки PostgreSQL вы готовы к установке СУБД. Но перед этим рекомендуется обновить репозиторий системы с помощью команды:

sudo apt update

После обновления выполните PostgreSQL install на Debian:

sudo apt install postgresql

Установка завершена. Теперь можно переходить к базовой настройке СУБД.

Базовая настройка

При установке СУБД автоматически создаётся пользователь postgres. Вы можете использовать эту учётную запись для первого подключения.

Переключитесь на пользователя postgres:

sudo su - postgres

Запустите утилиту psql — это оболочка для управления PostgreSQL:

psql

Теперь вы можете взаимодействовать с сервером PostgreSQL. Чтобы выйти из оболочки, введите:

\q

Вы можете использовать команду для доступа к командной строке Postgres без переключения пользователей:

sudo -u postgres psql

Однако пользователь postgres обычно используется только с локального хоста. Если, например, вы используете облачные базы данных, рекомендуется создать новую роль для подключения.

Создание роли и базы данных

Команда createuser позволяет создавать новые роли из командной строки. Только суперпользователи и роли с привилегиями CREATEROLE могут создавать новые роли.

В следующем примере создадим новую роль с именем timeweb и базу данных с именем timeweb_db, а затем предоставим новой роли привилегии для управления базой данных.

Сначала создайте новую роль:

sudo su - postgres -c "createuser timeweb"

Затем создайте новую БД:

sudo su - postgres -c "createdb timeweb_db"

Чтобы предоставить пользователю права доступа к базе данных, подключитесь к оболочке:

sudo -u postgres psql

Выполните следующий запрос, чтобы предоставить пользователю timeweb привилегии для управления базой данных timeweb_db:

GRANT ALL PRIVILEGES ON DATABASE timeweb_db TO timeweb;

Создавать новые роли и базы данных можно и сразу в оболочке СУБД. В таком случае синтаксис будет незначительно отличаться.

Чтобы создать новую роль с паролем, выполните:

create user cloud with password 'cloudtimeweb';

Чтобы создать новую БД, выполните:

create database cloud_db;

Затем нужно также предоставить все привилегии командой GRANT ALL PRIVILEGES ON DATABASE … TO ….

Настройка удалённого доступа

По умолчанию сервер Postgres слушает только локальный интерфейс 127.0.0.1. Это может быть неудобно. Допустим, у вас есть сервер на Timeweb Cloud с установленной СУБД. Гораздо комфортнее будет подключаться к нему удалённо. Для этого нужно настроить сервер на прослушивание других сетевых интерфейсов. Как это сделать, читайте далее - в полной версии статьи.

Кстати, в официальном канале Timeweb Cloud собрали комьюнити из специалистов, которые говорят про IT-тренды, делятся полезными инструкциями и даже приглашают к себе работать.