<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Публичное облако на базе VMware с управлением через vCloud Director
Вход / Регистрация
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

PostgreSQL

PostgreSQL — это объектно-реляционная система управления базами данных с открытым исходным кодом. Она отличается высокой надежностью, масштабируемостью и широкими возможностями: поддержкой JSON, полнотекстовым поиском, хранимыми процедурами, расширениями и прочим.

Вы получаете полностью управляемый кластер PostgreSQL без необходимости ручной настройки — все происходит автоматически.

При создании кластера можно выбрать версию PostgreSQL: 14, 15, 16 или 17.

Создание баз

При создании нового кластера автоматически создается база с именем default_db. Дополнительные базы можно создавать во вкладке «Базы данных» в интерфейсе.

Image2

Пользователи и привилегии

Пользователей можно создавать на вкладке «Пользователи». Для этого нажмите кнопку «Добавить».

Image3

В открывшемся окне задайте имя пользователя и пароль:

  • Имя: от 3 до 64 символов. Допускаются латинские буквы, цифры и спецсимволы.
  • Пароль: от 8 до 30 символов. Допускаются латинские буквы, цифры и спецсимволы.

После создания вы можете настроить привилегии для пользователя.

Чтобы изменить привилегии позже, откройте вкладку «Пользователи», нажмите на три точки рядом с нужным пользователем и выберите пункт «Привилегии».

Image8

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

Image1

Доступные привилегии

Привилегия

Назначение

SELECT

Чтение данных из таблиц, представлений и последовательностей.

INSERT

Добавление новых строк в таблицы.

UPDATE

Изменение существующих строк в таблицах.

DELETE

Удаление строк из таблиц.

TRUNCATE

Быстрое удаление всех строк из таблицы (без логирования отдельных удалений).

CREATE

Создание новых объектов в базе данных (таблиц, представлений, функций и др.).

REFERENCES

Использование таблицы в качестве внешнего ключа.

TRIGGER

Создание и выполнение триггеров на таблице.

TEMPORARY

Создание временных таблиц в базе данных.

CREATEDB

Создание новых баз данных.

Расширения

PostgreSQL поддерживает расширения, которые позволяют расширить стандартную функциональность. Ниже представлены расширения, доступные для PostgreSQL:

Название

Описание

amcheck

Проверка целостности индексов и таблиц.

citext

Тип данных для строк без учета регистра.

pg_repack

Перестроение таблиц и индексов без длительных блокировок.

pg_stat_kcache

Сбор статистики по использованию ресурсов ядра операционной системы.

pg_stat_statements

Сбор и анализ статистики выполнения SQL-запросов.

pg_trgm

Поиск и сравнение строк с использованием триграмм (нечеткий поиск).

pgcrypto

Криптографические функции: хеширование, шифрование, цифровые подписи.

postgis

Работа с географическими и геометрическими данными (GIS).

timescaledb

Хранение и обработка временных рядов с поддержкой масштабируемых вставок и сложных запросов.

uuid-ossp

Генерация UUID различных версий.

pgvector

Тип данных для векторов и методы доступа ivfflat и hnsw для поиска по близости.

Для включения нужного расширения перейдите во вкладку «Конфигурация» и нажмите на кнопку «Изменить» в строке «Расширения».

Image6

Настройка параметров

Вы можете изменить параметры, используемые для PostgreSQL, перейдя во вкладку «Конфигурация» и нажав на кнопку «Изменить параметры» в строке «Параметры базы данных».

Для получения дополнительной информации о параметрах нажмите кнопку «Открыть описание» рядом с нужным параметром.

Image4

Чтобы применить изменения, нажмите кнопку «Применить» внизу страницы.

Подключение к базе

Подключиться к базе можно через встроенный веб-интерфейс — Adminer. Для этого нажмите кнопку «Веб-интерфейс» и выберите Adminer.

Image9

Подключение из терминала

Установите клиент PostgreSQL:

Ubuntu/Debian

sudo apt install postgresql-client

Arch

sudo pacman -S postgresql-libs

Fedora

sudo dnf install postgresql

Существует три способа подключения к кластеру PostgreSQL:

  • по публичному IP;
  • по приватному IP;
  • по домену.

Команду подключения можно скопировать:

  • на вкладке «Дашборд»;

Scr 20250808 Ksbe

  • на вкладке «Подключение».

Scr 20250808 Ksia

При подключении по домену используется защищенное подключение по TLS. В новых кластерах оно включено по умолчанию, в старых — требуется включение вручную. 

Чтобы включить TLS:

  1. Перейдите во вкладку «Подключение».
  2. Нажмите кнопку «Включить защищенное подключение».
  3. Дождитесь завершения настройки.

Scr 20250808 Ktca

После включения TLS для подключения потребуется установить сертификат.

Готовые команды для установки доступны в панели управления, во вкладке «Подключение», для всех популярных операционных систем.

Scr 20250808 Ktps

Создание дампа

Для создания дампа используйте следующую команду:

pg_dump -x 'postgresql://<user>:<password>@<host>:5432/<db>' | gzip > default_db.sql.gz

Параметр -x (--no-privileges) исключает из дампа команды GRANT и REVOKE, так как назначение прав осуществляется через панель. Без этого флага возможны ошибки при загрузке дампа, хотя они не помешают восстановлению данных.

Загрузка дампа

Для загрузки дампа выполните:

zcat default_db.sql.gz | psql 'postgresql://<user>:<password>@<host>:5432/<db>'

Команда распаковывает дамп и передает его в клиент PostgreSQL для выполнения.

Репликация

Кластеры PostgreSQL в DBaaS используют связку Patroni и Etcd для обеспечения отказоустойчивости. Репликация работает по принципу leader-replica: один узел принимает все записи (лидер), а остальные получают изменения в асинхронном режиме.

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

Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев