Истории успеха наших клиентов — лучшие проекты
Вход/ Регистрация

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

18345
6 минут чтения
Средний рейтинг статьи: 5

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

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

База Данных Фото С Помощью Html, PHP И My SQL

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

DBaaS

Запустите свою базу данных в облаке и
оптимизируйте процессы DevOps и CI/CD.

Установка из официального репозитория СУБД

Если вы хотите использовать только свежие версии Постгреса, рекомендуется использовать для установки и последующего обновления официальный репозиторий СУБД.

Прежде всего необходимо добавить ключ подписи 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 с установленной СУБД. Гораздо комфортнее будет подключаться к нему удалённо. Для этого нужно настроить сервер на прослушивание других сетевых интерфейсов. 

Чтобы изменить конфигурацию, с помощью любого редактора откройте файл 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

timeweb

192.168.1.134 

md5

Вы можете использовать другие методы аутентификации. Полный их список смотрите в документации СУБД.

Запустите облачную базу PostgreSQL в один клик

Cloud DB 1/1/8

447 ₽/мес

Процессор
1 x 3.3 ГГц
Память
1 ГБ
Диск NVMe
8 ГБ
Приватный IP
Есть
Резервные копии
Есть
Cloud DB 1/2/20

711 ₽/мес

Процессор
1 x 3.3 ГГц
Память
2 ГБ
Диск NVMe
20 ГБ
Приватный IP
Есть
Резервные копии
Есть
Таблица тарифов
Сравнение тарифов
Cloud DB 1/1/8
496
Cloud DB 1/2/20
790
Cloud DB 2/2/30
1160
Cloud DB 2/4/40
1580
Cloud DB 4/8/80
3160
Cloud DB 4/12/120
4240
Cloud DB 6/12/180
5460
Cloud DB 8/16/220
7040
Процессор1 x 3.3 ГГц1 x 3.3 ГГц2 x 3.3 ГГц2 x 3.3 ГГц4 x 3.3 ГГц4 x 3.3 ГГц6 x 3.3 ГГц8 x 3.3 ГГц
Память1 ГБ2 ГБ2 ГБ4 ГБ8 ГБ12 ГБ12 ГБ16 ГБ
Диск NVMe8 ГБ20 ГБ30 ГБ40 ГБ80 ГБ120 ГБ180 ГБ220 ГБ
Приватный IPЕстьЕстьЕстьЕстьЕстьЕстьЕстьЕсть
Резервные копииЕстьЕстьЕстьЕстьЕстьЕстьЕстьЕсть

Заключение

Установка PostgreSQL на Debian выполняется двумя способами. 

Первый вариант — использование системного репозитория. Его главный плюс — скорость. Не нужно ничего устанавливать дополнительно, достаточно выполнить одну команду. Минус в том, что в системном репозитории не всегда находится последняя версия ПО.

Второй вариант установки — использование официального репозитория PostgreSQL. Этот способ гарантирует, что вы будете пользоваться последней версией СУБД. Но действий придётся выполнить чуть больше — сначала добавить сам официальный репозиторий и лишь затем ставить Постгрес из него. 

При дальнейшей работе с базами PostgreSQL не забывайте создавать бэкапы данных. С этим поможет наша статья «Дампы в PostgreSQL: резервное копирование и восстановление».

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

18345
6 минут чтения
Средний рейтинг статьи: 5

Читайте также

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
Пока нет комментариев