diff --git a/src/.vitepress/config.mts b/src/.vitepress/config.mts
index 5529249..7cc43eb 100644
--- a/src/.vitepress/config.mts
+++ b/src/.vitepress/config.mts
@@ -159,6 +159,24 @@ export default defineConfig({
{text: 'Бесплатный период', link: '/start/trial.md'},
{text: 'Платное использование', link: '/start/organization.md'},
],
+
+ '/PaaS/': [
+ {
+ text: 'Начало работы в Cloud PostgreSQL', link: '/PaaS/index.md',
+ },
+ { text: 'Cloud PostgreSQL', link: '/PaaS/Postgresql-index.md',
+ collapsed: true,
+ items: [
+ {text: 'Обзор сервиса', link: '/PaaS/postgresql/about.md'},
+ {text: 'Описание раздела', link: '/PaaS/postgresql/cluster_parameter.md'},
+ {text: 'Общая схема подключения', link: '/PaaS/postgresql/connection.md'},
+ {text: 'Создание сервиса', link: '/PaaS/postgresql/user_capabilities.md'},
+ ],
+ },
+ {text: 'Веб-интерфейс pgAdmin', link: '/PaaS/pgadmin.md'},
+ {text: 'Веб-интерфейс Grafana', link: '/PaaS/grafana.md'},
+ ],
+
// '/billing/': [
// ],
@@ -299,7 +317,7 @@ export default defineConfig({
{ text: 'Управление ВМ', link: '/compute/compute-how-to/compute-servers-manage.md' },
],
},
-{ text: 'Диски', link: '/compute/compute-how-to/compute-disks/compute-disk-index.md',
+ { text: 'Диски', link: '/compute/compute-how-to/compute-disks/compute-disk-index.md',
collapsed: true,
items: [
{ text: 'Обзор', link: '/compute/compute-how-to/compute-disks/compute-disk-about.md' },
diff --git a/src/PaaS/PostgreSQL/grafana.md b/src/PaaS/PostgreSQL/grafana.md
deleted file mode 100644
index 6717787..0000000
--- a/src/PaaS/PostgreSQL/grafana.md
+++ /dev/null
@@ -1,98 +0,0 @@
-
-# Метрики
-## Инструкция по подключению к Grafana.
-Для того, чтобы получить доступ к метрикам кластера, предварительно необходимо запросить доступы. Когда доступы будут получены, появится возможность перейти в систему мониторинга.
-Ссылка для входа - https://metrics.dfcloud.ru.
-
-При переходе по ссылке откроется главная страница Grafana. Для того чтобы найти нужные метрики, необходимо проделать следующий путь:
-1. Нажать на кнопку "Dashboards", которая располагается в левом боковом меню.
-2. В открывшемся списке всех имеющихся дашбордов необходимо выбрать папку "Cloud PostgreSQL".
-3. Внутри будет элемент **Cloud PostgreSQL** - это именно тот дашборд, который нам нужен.
-Перейдя на дашборд Cloud PostgreSQL, открываются все метрики кластера.
-
-В верхней части дашборда расположены все селекторы, с помощью которых можно управлять отображаемыми данными:
-- **InstallationID** - выбор одного из кластеров. Если у клиента несколько кластеров PostgreSQL, он может выбирать тот кластер, по которому хочет посмотреть информацию;
-- **Cluster node name** - выбор конкретной ноды кластера. Значения графиков меняются в зависимости от того, какой хост выбран. Этот селектор влияет на все графики, кроме блока Patroni;
-- **Database** - выбор базы данных, по которой можно смотреть показатели метрик;
-- **Lock table** - данный селектор применим не для всех графиков. С его помощью можно выбирать, какой тип блокировки использовать для отображения информации;
-
-## Блок метрик PostgreSQL
-
-Данный блок отображает ключевые параметры конфигурации и текущие показатели работы экземпляра PostgreSQL.
-
-| Наименование метрики | Описание метрики |
-| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Version** | Показывает текущую версию PostgreSQL, установленную на кластере. |
-| **Current fetch data** | Объем данных, извлеченных из базы за текущий период (операции чтения). |
-| **Current insert data** | Объем данных, вставленных в базу (операции записи новых данных). |
-| **Current update data** | Объем данных, обновленных в базе. |
-| **Seq Page Cost** | Стоимость последовательного чтения страницы данных. Влияет на выбор плана запроса: чем выше значение, тем реже оптимизатор будет выбирать последовательное сканирование таблиц. |
-| **Random Page Cost** | Стоимость чтения случайной страницы данных. Низкое значение говорит о том, что в системе используются быстрые диски, и оптимизатор будет чаще выбирать доступ по индексам. |
-| **Max Connections** | Максимальное количество одновременных подключений к базе данных, разрешенное на сервере. |
-| **Shared Buffers** | Объем оперативной памяти, выделенный под кэш данных PostgreSQL. Здесь хранятся часто используемые данные для ускорения доступа к ним. |
-| **Effective Cache** | Предполагаемый размер системного кэша файлов. Используется оптимизатором для оценки вероятности нахождения данных в кэше операционной системы. |
-| **Maintenance Work Mem** | Объем памяти для выполнения операций обслуживания. |
-| **Work Mem** | Объем памяти, выделяемый для внутренних сортировок и хеш-таблиц при выполнении запросов (на каждую операцию). |
-| **Max WAL Size** | Максимальный размер журнала предзаписи, после достижения которого запускается процесс контрольной точки (checkpoint). |
-| **Max Worker Processes** | Максимальное количество фоновых процессов, которые могут быть запущены в системе. |
-| **Max Parallel Workers** | Максимальное количество параллельных процессов, которые могут быть задействованы при выполнении одного запроса. |
-
-## Блок метрик Database Stats
-
-Данный блок метрик отражает текущую нагрузку и состояние баз данных в кластере PostgreSQL. Эти метрики позволяют оценить, насколько эффективно работает база данных, отследить скачки нагрузки и своевременно среагировать на потенциальные проблемы до того, как они повлияют на работу приложений.
-
-| Наименование метрики | Описание метрики |
-| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| **Average CPU Usage** | Показывает время, затраченное на выполнение пользовательских и системных задач, а также, насколько интенсивно используются вычислительные ресурсы сервера базы данных. |
-| **Average Memory Usage** | Средний объем оперативной памяти, используемой процессами PostgreSQL за 5-минутные интервалы. Показывает, сколько памяти потребляет база данных в процессе работы. |
-| **Open File Descriptors** | Количество открытых файловых дескрипторов процессами PostgreSQL. Метрика показывает среднее (Mean), последнее (Last), максимальное (Max) и минимальное (Min) значение за интервал. |
-| **Active sessions** | Показывает, сколько в данный момент выполняется запросов к PostgreSQL. Метрика показывает среднее (Mean), последнее (Last), максимальное (Max) значение. |
-| **Transcations** | Количество транзакций в базах данных кластера. Метрика разделена на два типа операций: commits (успешно завершенные транзакции) и rollbacks (откаченные транзакции). |
-| **Update data** | Объем данных, обновленных в базах данных кластера. Показывает, сколько данных было изменено в результате выполнения операций UPDATE. |
-| **Fetch data (SELECT)** | Объем данных, извлеченных из базы с помощью запросов SELECT. Показывает, сколько данных было считано из базы в результате операций чтения. |
-| **Insert data** | Объем данных, вставленных в базы данных кластера. Показывает, сколько данных было добавлено в результате выполнения операций INSERT. |
-| **Lock tables** | Количество блокировок таблиц в базах данных кластера. Показывает, сколько раз таблицы были заблокированы для выполнения операций.
AccessShareLock - это блокировка, которая возникает, когда кто-то читает данные из таблицы (делает SELECT). Данная блокировка не мешает операциям чтения, но не дает удалить в этот момент таблицу или изменить ее структуру. |
-| **Return data** | Объем данных, возвращаемых клиенту в результате выполнения запросов. Показывает, сколько данных было отправлено обратно клиенту после обработки запросов в базе. |
-| **Idle sessions** | Количество бездействующих сессий подключения к базе данных. Показывает, сколько открытых подключений в данный момент не выполняют никаких запросов и просто ждут. |
-| **Delete data** | Объем данных, удаленных из базы данных в результате выполнения операций DELETE. Показывает, сколько данных было удалено из таблиц. |
-| **Cache Hit Rate** | Показывает процент запросов к данным, которые были удовлетворены из кэша (оперативной памяти), без обращения к диску. Показывает, насколько эффективно используется кэш PostgreSQL. |
-| **Buffers (bgwriter)** | Метрика, показывающая активность фонового процесса записи, который занимается синхронизацией данных из оперативной памяти на диск. |
-| **Conflicts/Deadlocks** | Метрика, отслеживающая две проблемы при работе с базой данных: конфликты восстановления и взаимоблокировки. |
-| **Temp File (Bytes)** | Объем данных, записанных во временные файлы при выполнении запросов в базах данных. PostgreSQL создает временные файлы на диске, когда для выполнения запроса не хватает оперативной памяти. |
-| **Checkpoint Stats** | Метрика, показывающая время, затрачиваемое на выполнение checkpoints в PostgreSQL, где:
- write_time - время, затраченное на запись данных на диск во время checkpoint (сколько миллисекунд ушло на запись файлов).
- sync_time - время, затраченное на синхронизацию файлов с диском (чтобы данные гарантированно сохранились). |
-
-## Блок метрик Patroni
-
-Данный блок метрик отображает состояние и конфигурацию кластера PostgreSQL под управлением Patroni. Эти метрики позволяют контролировать отказоустойчивость кластера, отслеживать переключения мастера и убеждаться, что репликация работает штатно.
-
-| Наименование метрики | Описание метрики |
-| ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **Patroni Leader** | Метрика, которая показывает, какая нода в кластере PostgreSQL в данный момент является master-сервером, принимающим запросы на запись. |
-| **Patroni Replica** | Метрика, которая показывает, какие узлы кластера PostgreSQL в данный момент выполняют роль реплики. |
-| **Sync Standby** | Метрика, которая показывает, какая из реплик в кластере PostgreSQL назначена синхронной. |
-| **PostgreSQL WAL Replay** | Метрика, которая показывает, включена ли на узлах кластера синхронизация данных через WAL. |
-| **PostgreSQL Pending Restart** | Метрика, которая показывает, требуется ли перезагрузка PostgreSQL на узлах кластера после изменения конфигурационных параметров. |
-| **Patroni Primary Node** | Метрика, которая показывает, какой узел в кластере PostgreSQL в данный момент является основным и принимает запросы на запись. |
-| **Patroni Secondary Nodes** | Метрика, которая показывает, какие узлы кластера PostgreSQL в определенные моменты времени выполняли роль реплик. |
-| **Replicas Received WAL Location** | Метрика, показывающая объем журналов предзаписи (WAL), полученных каждой репликой кластера. |
-| **Primary WAL Location** | Метрика, показывающая объем журналов предзаписи (WAL), на основном сервере кластера PostgreSQL. |
-| **Replicas Replayed WAL Location** | Метрика, показывающая объем журналов предзаписи (WAL), которые были не просто получены, а уже применены на репликах кластера. |
-| **WAL Replay Paused** | Метрика, которая отслеживает, не приостановлен ли процесс применения WAL-журналов на узлах кластера. Если передача или применение WAL-файлов останавливается, на графике происходит скачок. |
-
-## Блок метрик Hosts
-
-Блок Hosts управляется селектором **Cluster node name**. Данный блок метрик отображает состояние и ресурсы серверов, на которых развернут кластер PostgreSQL. Эти метрики позволяют оценить, хватает ли серверу ресурсов для текущей нагрузки, и своевременно обнаружить проблемы с производительностью или нехваткой места на дисках.
-
-| Наименование метрики | Описание метрики |
-| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| **CPU Busy** | Метрика, показывающая общую загруженность всех процессорных ядер на сервере, где работает PostgreSQL. |
-| **RAM Used** | Метрика, показывающая процент оперативной памяти, который занят на сервере всеми процессами. |
-| **CPU Cores** | Метрика, показывающая общее количество процессорных ядер, доступных на сервере, где работает PostgreSQL. |
-| **RAM Total** | Метрика, показывающая общий объем оперативной памяти, установленный на сервере. |
-| **DB Disk Total** | Метрика, показывающая общий объем дискового пространства, выделенного для хранения данных базы данных PostgreSQL на сервере. |
-| **CPU Basic** | Метрика, которая показывает детальную разбивку загрузки процессора по типам выполняемых задач. Она позволяет увидеть, на что именно тратится процессорное время на сервере. |
-| **Memory Basic** | Метрика, которая показывает детальную разбивку использования оперативной памяти на сервере, а также информацию о SWAP. |
-| **Disk IOps** | Метрика, показывающая количество операций чтения и записи, выполняемых на диске сервера в секунду. |
-| **Disk Space Used Basic** | Метрика, показывающая процент занятого дискового пространства на всех подключенных файловых системах сервера. |
-| **Disk R/W Data** | Показывает объем данных в байтах, читаемых с диска и записываемых на диск в секунду. |
-| **Filesystem space available** | Метрика, показывающая объем свободного дискового пространства на файловой системе сервера. |
diff --git a/src/PaaS/grafana.md b/src/PaaS/grafana.md
new file mode 100644
index 0000000..d265790
--- /dev/null
+++ b/src/PaaS/grafana.md
@@ -0,0 +1,106 @@
+# Grafana
+
+## Инструкция по работе с метриками
+
+Доступ к метрикам кластера предоставляется после запроса соответствующих прав. После получения доступа можно перейти в систему мониторинга по ссылке:
+
+https://metrics.dfcloud.ru.
+
+Открывается главная страница Grafana. Для просмотра метрик кластера PostgreSQL выполните следующие шаги:
+
+1. В левом боковом меню нажмите **Dashboard**;
+2. В списке доступных дашбордов выберите **папку Cloud PostgreSQL**;
+3. Внутри папки выберите **дашборд Cloud PostgreSQL** — в нём отображаются все метрики кластера.
+
+## Управление отображаемыми данными
+
+В верхней части дашборда доступны селекторы для настройки отображения:
+
+- **InstallationID** - выбор одного опеределенного кластера;
+- **Cluster node name** - выбор конкретного нода кластера, в котором значения графиков меняются в зависимости от выбранного хоста (селектор влияет на все графики, кроме блока Patroni);
+- **Database** - выбор базы данных, по которым отображаются метрики;
+- **Lock table** - выбор типа блокировки для отображения (применим не для всех графиков).
+
+## Метрики PostgreSQL
+
+Метрики отображают ключевые параметры конфигурации и текущие показатели работы экземпляра PostgreSQL.
+
+| Наименование | Описание | Примечание |
+|---------------------|-----------------------------------------------------------------------------------------------------------------|------------|
+|Version | Текущая версия PostgreSQL, установленную на кластере ||
+|Current fetch data | Объем данных, извлеченных из базы за текущий период | Для операции чтения |
+|Current insert data | Объем данных, вставленных в базу | Для операции записи новых данных |
+|Current update data | Объем данных, обновленных в базе ||
+|Seq Page Cost | Стоимость последовательного чтения страницы данных | Влияет на выбор плана запроса: чем выше значение, тем реже оптимизатор будет выбирать последовательное сканирование таблиц|
+|Random Page Cost | Стоимость чтения случайной страницы данных | Низкое значение говорит о том, что в системе используются быстрые диски, и оптимизатор будет чаще выбирать доступ по индексам|
+|Max Connections | Максимальное количество одновременных подключений к базе данных, разрешенное на сервере ||
+|Shared Buffers | Объем оперативной памяти, выделенный под кэш данных PostgreSQL | Хранит часто используемые данные для ускорения доступа к ним|
+|Effective Cache | Предполагаемый размер системного кэша файлов | Используется оптимизатором, для оценки вероятности нахождения данных в кэше операционной системы|
+|Maintenance Work Mem | Объем памяти для выполнения операций обслуживания. ||
+|Work Mem | Объем памяти, выделяемый для внутренних сортировок и хеш-таблиц при выполнении запросов | Для каждой операции |
+|Max WAL Size | Максимальный размер журнала предзаписи, после достижения которого запускается процесс контрольной точки |checkpoint|
+|Max Worker Processes | Максимальное количество фоновых процессов, которые могут быть запущены в системе. ||
+|Max Parallel Workers | Максимальное количество параллельных процессов, которые могут быть задействованы при выполнении одного запроса. ||
+
+## Метрики Database Stats
+
+Метрики отображают текущую нагрузку и состояние баз данных в кластере PostgreSQL. Данные метрики позволяют:
+- оценить эффективность работы баз данных;
+- отследить скачки нагрузки;
+- своевременно среагировать на потенциальные проблемы до того, как они повлияют на работу приложений.
+
+| Наименование | Описание |
+|-----------------------| -------------------|
+| Average CPU Usage | Показывает время, затраченное на выполнение пользовательских и системных задач, а также, насколько интенсивно используются вычислительные ресурсы сервера базы данных. |
+| Average Memory Usage | Средний объем оперативной памяти, используемой процессами PostgreSQL за 5-минутные интервалы. Показывает, сколько памяти потребляет база данных в процессе работы. |
+| Open File Descriptors | Количество открытых файловых дескрипторов процессами PostgreSQL. Метрика показывает среднее (Mean), последнее (Last), максимальное (Max) и минимальное (Min) значение за интервал. |
+| Active sessions | Показывает, сколько в данный момент выполняется запросов к PostgreSQL. Метрика показывает среднее (Mean), последнее (Last), максимальное (Max) значение. |
+| Transcations | Количество транзакций в базах данных кластера. Метрика разделена на два типа операций: commits (успешно завершенные транзакции) и rollbacks (откаченные транзакции). |
+| Update data | Объем данных, обновленных в базах данных кластера. Показывает, сколько данных было изменено в результате выполнения операций UPDATE. |
+| Fetch data (SELECT) | Объем данных, извлеченных из базы с помощью запросов SELECT. Показывает, сколько данных было считано из базы в результате операций чтения. |
+| Insert data | Объем данных, вставленных в базы данных кластера. Показывает, сколько данных было добавлено в результате выполнения операций INSERT. |
+| Lock tables | Количество блокировок таблиц в базах данных кластера. Показывает, сколько раз таблицы были заблокированы для выполнения операций.
AccessShareLock - это блокировка, которая возникает, когда кто-то читает данные из таблицы (делает SELECT). Данная блокировка не мешает операциям чтения, но не дает удалить в этот момент таблицу или изменить ее структуру. |
+| Return data | Объем данных, возвращаемых клиенту в результате выполнения запросов. Показывает, сколько данных было отправлено обратно клиенту после обработки запросов в базе. |
+| Idle sessions | Количество бездействующих сессий подключения к базе данных. Показывает, сколько открытых подключений в данный момент не выполняют никаких запросов и просто ждут. |
+| Delete data | Объем данных, удаленных из базы данных в результате выполнения операций DELETE. Показывает, сколько данных было удалено из таблиц. |
+| Cache Hit Rate | Показывает процент запросов к данным, которые были удовлетворены из кэша (оперативной памяти), без обращения к диску. Показывает, насколько эффективно используется кэш PostgreSQL. |
+| Buffers (bgwriter) | Метрика, показывающая активность фонового процесса записи, который занимается синхронизацией данных из оперативной памяти на диск. |
+| Conflicts/Deadlocks | Метрика, отслеживающая две проблемы при работе с базой данных: конфликты восстановления и взаимоблокировки. |
+| Temp File (Bytes) | Объем данных, записанных во временные файлы при выполнении запросов в базах данных. PostgreSQL создает временные файлы на диске, когда для выполнения запроса не хватает оперативной памяти. |
+| Checkpoint Stats | Метрика, показывающая время, затрачиваемое на выполнение checkpoints в PostgreSQL, где:
- **write_time** - время, затраченное на запись данных на диск во время checkpoint (сколько миллисекунд ушло на запись файлов).
- **sync_time** - время, затраченное на синхронизацию файлов с диском (чтобы данные гарантированно сохранились). |
+
+## Метрики Patroni
+
+Метрик отображают состояние и конфигурацию кластера PostgreSQL под управлением Patroni. Эти метрики позволяют контролировать отказоустойчивость кластера, отслеживать переключения мастера и убеждаться, что репликация работает штатно.
+
+| Наименование | Описание |
+|--------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
+| Patroni Leader | Метрика, которая показывает, какая нода в кластере PostgreSQL в данный момент является master-сервером, принимающим запросы на запись. |
+| Patroni Replica | Метрика, которая показывает, какие узлы кластера PostgreSQL в данный момент выполняют роль реплики. |
+| Sync Standby | Метрика, которая показывает, какая из реплик в кластере PostgreSQL назначена синхронной. |
+| PostgreSQL WAL Replay | Метрика, которая показывает, включена ли на узлах кластера синхронизация данных через WAL. |
+| PostgreSQL Pending Restart | Метрика, которая показывает, требуется ли перезагрузка PostgreSQL на узлах кластера после изменения конфигурационных параметров. |
+| Patroni Primary Node | Метрика, которая показывает, какой узел в кластере PostgreSQL в данный момент является основным и принимает запросы на запись. |
+| Patroni Secondary Nodes | Метрика, которая показывает, какие узлы кластера PostgreSQL в определенные моменты времени выполняли роль реплик. |
+| Replicas Received WAL Location | Метрика, показывающая объем журналов предзаписи (WAL), полученных каждой репликой кластера. |
+| Primary WAL Location | Метрика, показывающая объем журналов предзаписи (WAL), на основном сервере кластера PostgreSQL. |
+| Replicas Replayed WAL Location | Метрика, показывающая объем журналов предзаписи (WAL), которые были не просто получены, а уже применены на репликах кластера. |
+| WAL Replay Paused | Метрика, которая отслеживает, не приостановлен ли процесс применения WAL-журналов на узлах кластера. Если передача или применение WAL-файлов останавливается, на графике происходит скачок. |
+
+## Метрики Hosts
+
+Блок Hosts управляется селектором **Cluster node name**. Метрики отображают состояние и ресурсы серверов, на которых развернут кластер PostgreSQL. Данные метрики позволяют оценить, хватает ли серверу ресурсов для текущей нагрузки, и своевременно обнаружить проблемы с производительностью или нехваткой места на дисках.
+
+| Наименование | Описание |
+| ---------------------------|-------------------------------------------------------------------------------------------------------------------------------|
+| CPU Busy | Метрика, показывающая общую загруженность всех процессорных ядер на сервере, где работает PostgreSQL. |
+| RAM Used | Метрика, показывающая процент оперативной памяти, который занят на сервере всеми процессами. |
+| CPU Cores | Метрика, показывающая общее количество процессорных ядер, доступных на сервере, где работает PostgreSQL. |
+| RAM Total | Метрика, показывающая общий объем оперативной памяти, установленный на сервере. |
+| DB Disk Total | Метрика, показывающая общий объем дискового пространства, выделенного для хранения данных базы данных PostgreSQL на сервере. |
+| CPU Basic | Метрика, которая показывает детальную разбивку загрузки процессора по типам выполняемых задач. Она позволяет увидеть, на что именно тратится процессорное время на сервере. |
+| Memory Basic | Метрика, которая показывает детальную разбивку использования оперативной памяти на сервере, а также информацию о SWAP. |
+| Disk IOps | Метрика, показывающая количество операций чтения и записи, выполняемых на диске сервера в секунду. |
+| Disk Space Used Basic | Метрика, показывающая процент занятого дискового пространства на всех подключенных файловых системах сервера. |
+| Disk R/W Data | Показывает объем данных в байтах, читаемых с диска и записываемых на диск в секунду. |
+| Filesystem space available | Метрика, показывающая объем свободного дискового пространства на файловой системе сервера. |
diff --git a/src/PaaS/index.md b/src/PaaS/index.md
new file mode 100644
index 0000000..aabc1ca
--- /dev/null
+++ b/src/PaaS/index.md
@@ -0,0 +1,14 @@
+---
+section_links:
+ - title: Grafana
+ link: /PaaS/grafana.md
+ description: Мониторинг и визуализация метрик кластера
+ - title: PgAdmin
+ link: /PaaS/pgadmin.md
+ description: Веб‑интерфейс для администрирования PostgreSQL
+
+---
+
+# Cloud PostgreSQL
+
+В данном разделе представлена документация по управляемым сервисам платформы Beeline Cloud, относящимся к категории **PaaS**.
\ No newline at end of file
diff --git a/src/PaaS/PostgreSQL/pgadmin.md b/src/PaaS/pgadmin.md
similarity index 66%
rename from src/PaaS/PostgreSQL/pgadmin.md
rename to src/PaaS/pgadmin.md
index 7133416..9c282a3 100644
--- a/src/PaaS/PostgreSQL/pgadmin.md
+++ b/src/PaaS/pgadmin.md
@@ -1,6 +1,6 @@
# PgAdmin
-После предоставления доступа к сервису Cloud PostgreSQL пользователь получает возможность управлять базами данных через веб-интерфейс pgAdmin. Ниже приведена инструкция по входу в систему и выполнению основных операций.
+После предоставления доступа к сервису **Cloud PostgreSQL** пользователь получает возможность управлять базами данных через веб-интерфейс **pgAdmin**. Ниже приведена инструкция по входу в систему и выполнению основных операций.
## Вход в pgAdmin
@@ -11,47 +11,60 @@
4. Выберите предварительно настроенный сервер с названием **PostgreSQL**;
5. В открывшемся окне введите пароль;
> Важно: на данном этапе необходимо указать **пароль учетной записи базы данных**, а не пароль от pgAdmin.
-6. Нажмите **ОК**;
-7. После успешной аутентификации станет доступен веб-интерфейс СУБД PostgreSQL.
+6. Нажмите **ОК**.
+
+После успешной аутентификации станет доступен веб-интерфейс СУБД PostgreSQL.
## Просмотр реплик и параметров конфигурации
pgAdmin позволяет осуществлять мониторинг реплик, входящих в состав кластера.
+### Список реплик
+
Чтобы просмотреть список реплик:
- Откройте раздел **Replica nodes** в панели навигации.
+### Состояние репликации
+
Чтобы проверить состояние репликации:
1. Выберите нужную реплику в разделе **Replica nodes**;
2. Перейдите в подраздел **Replication**;
3. Откройте пункт **Replication stats**;
-4. Разверните раздел **Подробности** - в нем отображаются все параметры и текущее состояние репликации;
-> Вкладка **Replication** позволяет определить, выполняется ли передача данных на дополнительные узлы кластера.
+4. Разверните раздел **Подробности** - в нем отображаются все параметры и текущее состояние репликации.
-Так же, есть возможность посмотреть **параметры конфигурации PostgreSQL**, применённых к конкретной реплике. Для этого необходимо перейти в раздел **Конфигурация**, который расположен в блоке **Replica nodes**.
+Вкладка **Replication** позволяет определить, выполняется ли передача данных на дополнительные узлы кластера.
-Во вкладке отображается таблица со следующими колонками:
+### Конфигурация реплики
+
+Чтобы просмотреть **параметры конфигурации PostgreSQL**, применённые к конкретной реплике, перейдите в раздел **Конфигурация**, расположенный в блоке **Replica nodes**.
+
+Раздел **Конфигурация** содержит следующие параметры:
- **Имя** - наименование конфигурационного параметра;
- **Категория** - логическая группа параметра;
- **Значение** - текущее установленное значение;
- **Единицы** - единицы измерения (если применимо);
- **Описание** - краткое пояснение назначения параметра.
> Вкладка **Конфигурация** предназначена для просмотра текущих настроек реплики.
+
## Просмотр и управление базами данных
-Для просмотра существующих баз данных:
-- Откройте раздел **Базы данных** в панели навигации. В этом разделе отображается перечень всех созданных баз.
+### Просмотр существующих баз данных:
+
+Чтобы просмотреть существующие базы данных, откройте раздел Базы данных в левой панели навигации. В этом разделе отображается перечень всех созданных баз.
+
+### Создание новой базы данных:
-Для создания новой базы данных:
1. Щелкните правой кнопкой мыши по разделу **Базы данных**;
2. В контекстном меню выберите **Создать**, затем - **База данных**;
3. Заполните обязательные поля в открывшейся форме;
4. Нажмите **Сохранить**.
+
## Роли входа / группы
В разделе **Роли входа/группы** отображается список пользователей (ролей), имеющих доступ к базам данных кластера.
-Для создания новой роли:
+### Создание новой роли:
+
1. Щелкните правой кнопкой мыши по разделу **Роли входа/группы**;
2. Выберите **Создать**, затем - **Роль входа/группы**;
3. Заполните необходимые параметры в форме создания роли;
diff --git a/src/PaaS/postgresql/PostgreSQL-index.md b/src/PaaS/postgresql/PostgreSQL-index.md
new file mode 100644
index 0000000..3e5f030
--- /dev/null
+++ b/src/PaaS/postgresql/PostgreSQL-index.md
@@ -0,0 +1,19 @@
+---
+section_links:
+ - title: Назначение сервсиа
+ link: /PaaS/PostgreSQL/about.md
+ description: Конфигурации и возможности сервиса
+ - title: Параметры кластера PostgreSQL
+ link: /PaaS/PostgreSQL/cluster_parameter.md
+ description: Технические параметры кластера PostgreSQL
+ - title: Схема подключения
+ link: /PaaS/PostgreSQL/connection.md
+ description: Общая схема подключения к Cloud PostgreSQL
+ - title: Создание сервиса
+ link: /PaaS/PostgreSQL/user_capabilities.md
+ description: Создание сервиса Cloud PostgreSQL
+---
+
+# Cloud PostgreSQL
+
+В данном разделе представлена документация по управляемому сервису **Cloud PostgreSQL** платформы Beeline Cloud.
\ No newline at end of file
diff --git a/src/PaaS/postgresql/about.md b/src/PaaS/postgresql/about.md
new file mode 100644
index 0000000..b286657
--- /dev/null
+++ b/src/PaaS/postgresql/about.md
@@ -0,0 +1,87 @@
+# Cloud PostgreSQL
+
+## Назначение сервиса
+
+**Cloud PostgreSQL** - это управляемый облачный сервис реляционной базы данных PostgreSQL. Он позволяет развернуть и использовать отказоустойчивый кластер базы данных без необходимости самостоятельно настраивать серверы, репликацию и механизмы отказоустойчивости.
+
+PostgreSQL - это современная система управления базами данных, которая поддерживает стандарт SQL и используется для хранения и обработки данных приложений.
+
+В **Cloud PostgreSQL** все основные операции по управлению кластером выполняются автоматически.
+
+Сервис самостоятельно:
+- управляет ролями серверов базы данных (основной сервер и реплики);
+- отслеживает состояние узлов;
+- автоматически переключает основной сервер при сбоях.
+
+Для обеспечения стабильной работы сервиса используется несколько инфраструктурных компонентов:
+- **Patroni** - управляет кластером PostgreSQL и автоматическим переключением при отказах;
+- **etcd** - хранит состояние кластера и обеспечивает согласованность работы узлов;
+- **HAProxy** - обеспечивает единую точку подключения и распределяет клиентские подключения между узлами.
+
+Подключение к базе данных выполняется через прокси-узлы сервиса. Пользователю не требуется подключаться к отдельным серверам кластера — все операции производятся через единую точку доступа.
+
+Для управления базами данных и пользователями доступен web-интерфейс **pgAdmin**, позволяющий выполнять администрирование непосредственно через браузер.
+
+## Конфигурации кластера
+
+Сервис Cloud PostgreSQL поддерживает версии СУБД с 13 по 17 включительно.
+
+Кластер предоставляется в архитектуре Primary–Standby, которая обеспечивает:
+
+- синхронную репликацию данных;
+- повышенную отказоустойчивость.
+
+В рамках данной конфигурации создаётся кластер из виртуальных серверов, включающий:
+
+- **Primary** (основной сервер) — обязательный узел, на котором выполняются операции записи данных;
+- **Replica** (реплики) — дополнительные узлы (от 0 до 4), создаваемые по желанию пользователя.
+
+Реплики являются полноценными участниками кластера PostgreSQL и могут использоваться для выполнения запросов, не изменяющих данные (например, SELECT).
+
+В многоузловой конфигурации серверы кластера размещаются на разных физических хостах гипервизора, что повышает устойчивость сервиса к отказам оборудования.
+
+## Режимы репликации
+
+По умолчанию фиксация изменений выполняется в **синхронном режиме**. Это означает, что операция записи считается завершённой только после того, как данные будут зафиксированы как на основном сервере, так и на одной из реплик.
+
+Если в кластере настроено несколько реплик, синхронный режим применяется только к одной из них. Остальные реплики работают в асинхронном режиме — изменения передаются на них без ожидания подтверждения.
+
+При необходимости режим репликации может быть изменён на полностью **асинхронный**. В этом случае изменения сначала фиксируются на основном сервере, а затем передаются на реплики с задержкой.
+
+## Доступ к серверам и оптимизация соединений
+
+Прямой доступ к серверам кластера (например, по протоколу SSH) не предоставляется. Пользователь взаимодействует с базой данных исключительно через точки подключения, предоставленные сервисом.
+
+На каждом узле кластера установлен пулер соединений **PgBouncer**, который может использоваться для ускорения работы приложений за счёт оптимизации подключений к базе данных.
+
+::: warning Примечание
+
+Использование PgBouncer не является обязательным - подключение возможно как напрямую к PostgreSQL, так и через пулер, а также одновременно обоими способами.
+
+:::
+
+## Возможности сервиса
+
+**Cloud PostgreSQL** предоставляет набор возможностей, позволяющих использовать PostgreSQL в облаке без необходимости самостоятельного администрирования инфраструктуры.
+
+Сервис обеспечивает:
+
+- автоматическое управление кластером PostgreSQL;
+- высокую доступность за счёт репликации и автоматического переключения primary-узла;
+- единую точку подключения к базе данных через прокси;
+- автоматическое переключение при отказе узлов кластера без вмешательства пользователя;
+- web-доступ к управлению базами данных и пользователями через pgAdmin;
+- совместимость со стандартными клиентскими инструментами PostgreSQL;
+- возможность установки расширений PostgreSQL в базу данных.
+
+## Сценарии использования сервиса
+
+**Cloud PostgreSQL** подходит для использования в системах, где требуется надёжное хранение данных и упрощённое управление инфраструктурой базы данных.
+
+Сервис может применяться в следующих сценариях:
+
+- размещение production-баз данных с высокими требованиями к доступности;
+- использование PostgreSQL в микросервисной архитектуре с единой точкой подключения к базе данных;
+- хранение критичных данных с минимальным временем простоя при отказах инфраструктуры;
+- быстрое развёртывание PostgreSQL-кластера без необходимости ручной настройки репликации и failover;
+- администрирование баз данных через веб-интерфейс без прямого доступа к серверам кластера.
diff --git a/src/PaaS/postgresql/cluster_parameter.md b/src/PaaS/postgresql/cluster_parameter.md
new file mode 100644
index 0000000..bf27193
--- /dev/null
+++ b/src/PaaS/postgresql/cluster_parameter.md
@@ -0,0 +1,205 @@
+# О разделе
+
+Данный раздел содержит описание технических параметров кластера PostgreSQL и порядок их первичной конфигурации.
+
+Настройка указанных параметров выполняется администратором облачного провайдера на этапе развёртывания сервиса. Пользователь не имеет прямого доступа к их самостоятельной установке.
+
+Перед созданием кластера клиент предоставляет перечень требуемых параметров менеджеру. Администратор облачного провайдера выполняет конфигурацию в соответствии с согласованными требованиями.
+
+## Выбор типа и размера дискового хранилища
+
+Производительность базы данных напрямую зависит от скорости, с которой она может читать и записывать данные на диск. При заказе кластера необходимо выбрать тип дискового хранилища, который определит максимальную скорость работы (IOPS) и время отклика.
+
+**IOPS (Input/Output Operations Per Second)** — количество операций чтения или записи, которые диск может выполнить за секунду. Чем выше этот показатель, тем быстрее база данных обрабатывает запросы.
+
+## Доступные типы хранилищ:
+
+| Название | Лимит IOPS | Время отклика |
+| ---------------| ------------------ | ------------- |
+| **Fast SAS** | до 2 IOPS на 1 ГБ | до 10 мс |
+| **SSD** | до 5 IOPS на 1 ГБ | до 7 мс |
+| **Fast SSD** | до 10 IOPS на 1 ГБ | до 5 мс |
+| **Ultra NVMe** | до 25 IOPS на 1 ГБ | до 3 мс |
+
+::: warning Примечание
+
+После выбора типа диска необходимо указать объем дискового хранилища, который будет выделен под данные кластера PostgreSQL. Минимальный объем - 50 ГБ.
+
+:::
+
+## Конфигурация вычислительных ресурсов
+
+В данном разделе определяются вычислительные мощности кластера: процессорные ресурсы, оперативная память и количество серверов (нод), из которых будет состоять кластер PostgreSQL.
+
+### Количество нод в кластере
+
+Количество нод определяет отказоустойчивость кластера и возможность распределять запросы на чтение между репликами. Чем больше нод, тем выше надёжность и производительность операций чтения.
+
+Количество нод выбирается в диапазоне **от 1 до 5**.
+
+### Процессор (CPU)
+
+Процессор — это вычислительная мощность, выделяемая каждой ноде кластера. Количество vCPU определяет, насколько быстро база данных сможет:
+
+- обрабатывать запросы;
+- выполнять сложные операции (сортировки, объединения таблиц);
+- обслуживать одновременные подключения.
+
+Доступный диапазон: **от 2 до 24 vCPU** на ноду.
+
+### Оперативная память (RAM)
+
+Оперативная память — один из ключевых ресурсов для производительности базы данных. Данные, помещающиеся в RAM, обрабатываются максимально быстро, без обращения к диску.
+
+Доступный диапазон: **от 4 до 768 ГБ RAM** на ноду.
+
+### Доступ в интернет
+
+При заказе сервиса можно выбрать пропускную способность канала связи, через который будет осуществляться доступ к кластеру PostgreSQL из сети интернет.
+
+**Доступные варианты скорости:**
+- 50 Мбит/с;
+- 100 Мбит/с;
+- 200 Мбит/с;
+- 300 Мбит/с;
+- 400 Мбит/с;
+- 500 Мбит/с;
+- 1000 Мбит/с (1 Гбит/с).
+
+::: warning Примечание
+
+Для выбранного канала предоставляется статический белый IP-адрес.
+
+:::
+
+## Параметры конфигурации IPSEC
+
+Ниже приведены основные параметры, задаваемые при развёртывании кластера PostgreSQL. Часть параметров определяется клиентом на этапе заказа услуги, часть — фиксирована и не подлежит изменению.
+
+### Данные о конфигурации IPSEC
+
+Параметры подключения (имя туннеля, устройство, публичный IP-адрес) заполняются вручную на основании информации, предоставленной заказчиком.
+
+### Версия IKE (Internet Key Exchange)
+
+Версия IKE выбирается из выпадающего списка, который содержит два значения:
+
+- **IKE v1** — более ранняя версия протокола;
+- **IKE v2** — более современная версия, обеспечивающая лучшую устойчивость соединения и более гибкую обработку ошибок.
+
+Рекомендуется использовать IKE v2, если оборудование заказчика это поддерживает.
+
+### Метод аутентификации
+
+Метод аутентификации выбирается из выпадающего списка, который содержит два варианта:
+
+- **PSK** (Pre-Shared Key) — аутентификация с использованием заранее согласованного общего ключа;
+- **Certificate** (сертификат) — аутентификация с использованием цифровых сертификатов.
+
+## Этап 1 - установка защищенного соединения
+
+На данном этапе задаются параметры шифрования и аутентификации для защищённого канала связи. Все параметры выбираются вручную из выпадающих списков.
+
+### Алгоритм хэширования
+
+Определяет алгоритм хэширования для защиты управляющего канала. Параметр заполняется вручную из выпадающего списка:
+
+- **SHA1** — формирует хэш длиной 160 бит, имеет коллизии (уязвимости), в современных системах считается устаревшим, используется только для совместимости со старым оборудованием.
+- **SHA2-256** — формирует хэш длиной 256 бит, существенно более устойчив к атакам, оптимальный баланс между безопасностью и производительностью.
+- **SHA2-384** — длина хэша составляет 384 бита, имеет повышенную криптостойкость, требует больше вычислительных ресурсов, чем SHA-1 и SHA2-256. Используется в средах с повышенными требованиями к безопасности.
+- **SHA2-512** — длина хэша составляет 512 бит, обеспечивает самый высокий уровень стойкости из перечисленных, создает наибольшую нагрузку на процессор. Обычно применяется в системах с повышенными требованиями к криптографии.
+
+### Шифрование (Hash)
+
+Определяет алгоритм симметричного шифрования. Параметр заполняется вручную из выпадающего списка:
+
+AES 128 — использует 128-битный ключ, обеспечивает быстрое шифрование, имеет достаточный уровень безопасности для большинства задач.
+AES 256 — использует 256-битный ключ, обеспечивает более высокую криптостойкость, оказывает немного большую нагрузку на CPU.
+AES GCM 128 / AES GCM 192 / AES GCM 256 — данные алгоритмы совмещают шифрование и контроль целостности, обладают более современным режимом работы, считаются более эффективными по производительности, рекомендуются в современных конфигурациях. Разница между алгоритмами — в длине ключа.
+
+### DH Group (группа Диффи — Хеллмана)
+
+Механизм Diffie-Hellman используется для безопасной генерации общего секретного ключа между сторонами туннеля без передачи этого ключа по сети. Чем выше номер группы и длина ключа, тем выше криптографическая стойкость соединения.
+
+Параметр заполняется вручную из выпадающего списка:
+
+group 2;
+group 5;
+group 14;
+group 15;
+group 16;
+group 19;
+group 20;
+group 21.
+
+### IKE Mode (только для IKEv1)
+
+Параметр **IKE Mode** определяет способ установления соединения на этапе 1 при использовании протокола IKEv1.
+
+Доступны два режима: Main и Aggressive. Они отличаются количеством сообщений при установке соединения и уровнем защиты идентификационных данных.
+
+- **Main Mode** — стандартный и более безопасный режим работы IKEv1;
+- **Aggressive Mode** — упрощённый и ускоренный режим установления соединения с более низким уровнем защиты данных.
+
+### Время жизни (Lifetime)
+
+Параметр определяет, как долго действуют согласованные ключи в рамках первой фазы. После истечения времени выполняется повторная генерация ключей.
+
+## Этап 2 - передача данных
+
+Этап 2 IPsec-соединения отвечает за шифрование и защиту пользовательского трафика после того, как защищённый канал был установлен на этапе 1. Этот этап регулирует передачу данных между сторонами через безопасный туннель, который обеспечивает конфиденциальность и целостность данных.
+
+### Алгоритм хэширование (Hash)
+
+Аналогично этапу 1, параметр Hash используется для защиты целостности передаваемых данных. Он обеспечивает проверку того, что данные не были изменены при передаче. Доступны следующие алгоритмы:
+
+- SHA1;
+- SHA2-256;
+- SHA2-384;
+- SHA2-512.
+
+## Шифрование
+
+Этап 2 отвечает за шифрование пользовательского трафика. Это важнейший параметр, который защищает данные при их передаче по сети. Доступны следующие алгоритмы:
+
+- AES 128;
+- AES 256;
+- AES GCM 128;
+- AES GCM 192;
+- AES GCM 256.
+
+### PFS
+
+**Enable perfect forward secrecy (PFS)** - параметр, активирующий генерацию нового ключа на этапе 2. При включенном PFS группа Diffie-Hellman (DH) будет такая же как и на 1-й фазе.
+
+Данный параметр представлен в виде чекбокса. При его включении:
+
+- на этапе 2 выполняется дополнительный обмен ключами DH;
+- для каждой новой IPsec-сессии формируется новый независимый криптографический секрет;
+- ключи шифрования пользовательского трафика не зависят от ключей этапа 1.
+
+### DH Group (группа Диффи — Хеллмана)
+
+Группа DH определяет параметры обмена ключами между сторонами. Чем выше номер группы, тем выше криптографическая стойкость и безопасность обмена.
+
+Данный параметр так же содержит в себе выпадающий список, состоящий из следующих значений:
+
+- group 2;
+- group 5;
+- group 14;
+- group 15;
+- group 16;
+- group 19;
+- group 20;
+- group 21.
+
+### Время жизни (Lifetime)
+
+Определяет, как долго действуют согласованные ключи в рамках второй фазы.
+
+- рекомендуемое значение: 3600 секунд (1 час);
+- после истечения времени выполняется повторная генерация ключей.
+
+### Префиксы локальной сети заказчика
+
+Этот параметр определяет, какие сети на стороне заказчика будут маршрутизироваться через **IPsec-туннель**. Префиксы задаются в формате `192.168.1.0/24`, который позволяет указать диапазон IP-адресов.
\ No newline at end of file
diff --git a/src/PaaS/postgresql/connection.md b/src/PaaS/postgresql/connection.md
new file mode 100644
index 0000000..d561775
--- /dev/null
+++ b/src/PaaS/postgresql/connection.md
@@ -0,0 +1,86 @@
+# Общая схема подключения
+
+Доступ к кластеру PostgreSQL осуществляется через прокси. Клиентские подключения принимаются прокси, который маршрутизирует трафик к соответствующим узлам кластера (master или replica) в зависимости от выбранного порта. Прямое подключение к узлам базы данных не используется.
+
+Подключение к кластеру **Cloud PostgreSQL** осуществляется через прокси-сервер. Прокси является единой точкой входа для всех клиентских подключений и принимает входящие соединения от приложений, административных инструментов и пользователей.
+
+В зависимости от выбранного порта прокси автоматически направляет трафик:
+- на активный primary-узел - для операций чтения и записи
+- на реплики - для операций только чтения
+
+Прямое подключение к отдельным узлам базы данных не используется и не предоставляется. Взаимодействие с кластером всегда выполняется через прокси-сервер.
+
+## Подключение к базе данных
+
+Для подключения к базе данных необходимо использовать IP-адрес прокси-сервера, который предоставляется после заказа услуги.
+
+Этот IP-адрес является единой точкой входа для работы с кластером PostgreSQL. Все подключения к базе данных - как из приложений, так и из клиентских инструментов - выполняются через него.
+
+Использование других IP-адресов или попытка прямого подключения к отдельным узлам кластера не предусмотрены.
+
+## Доступные порты
+
+Для разных типов нагрузки используются разные порты:
+
+|Порт |Назначение |
+|------|-----------------------------------------|
+|5432 |Primary (чтение и запись) |
+|15432 |Replica (только чтение) |
+|6432 |Primary через PgBouncer (чтение и запись)|
+|16432 |Replica через PgBouncer (только чтение) |
+
+### Особенности работы портов
+
+- Порты для чтения и записи (5432, 6432) всегда направляют трафик на активный primary-узел. При смене primary переключение происходит автоматически;
+- Порты только для чтения (15432, 16432) направляют трафик на активные реплики. Если реплик несколько, нагрузка распределяется между ними по принципу round-robin;
+- Если в кластере отсутствуют реплики, порты для чтения не используются - подключение по ним не устанавливается.
+
+### Рекомендации по выбору порта
+
+- Для OLTP-нагрузки и большого количества соединений рекомендуется использовать **порты PgBouncer (6432 или 16432)**;
+- Для операций записи используйте **master-порты (5432 или 6432)**;
+- Для read-only запросов можно использовать **replica-порты (15432 или 16432)**.
+
+## Доступ к pgAdmin
+
+Для администрирования базы данных используется web-интерфейс pgAdmin.
+Доступ осуществляется по DNS-имени, которое нужно прописать локально в инфраструктуре откуда будет происходить доступ к web-интерфейсу сервиса:
+`10.X.X.4 .cloud-pg.dfcloud.ru`
+
+После добавления записи pgAdmin будет доступен по адресу:
+`https://.cloud-pg.dfcloud.ru`
+
+Авторизация выполняется с использованием учётных данных, предоставленных вместе с доступом к сервису.
+
+::: warning Важно
+
+- подключение к базе данных возможно только через указанный прокси-IP;
+- в интерфейсе pgAdmin уже добавлен сервер базы данных, созданный для данной инсталляции. Для подключения требуется ввести пароль от учётной записи базы данных;
+- pgAdmin предназначен для администрирования и не рекомендуется для выполнения тяжёлых или длительных запросов в production-среде.
+
+:::
+
+## Примеры подключения к PostgreSQL
+
+Подключение к primary:
+`psql -h 10.X.X.4 -p 5432 -U -d `
+
+Подключение через PgBouncer:
+`psql -h 10.X.X.4 -p 6432 -U -d `
+
+### Подключение через DBeaver / DataGrip
+
+При создании подключения укажите:
+- Host: 10.X.X.4;
+- Port: 5432 или 6432;
+- Database: ``;
+- User / Password: согласно выданным доступам;
+- Тип подключения: PostgreSQL.
+
+### Пример строки подключения
+
+Primary:
+`postgresql://:@10.X.X.4:5432/`
+
+Через PgBouncer:
+`postgresql://:@10.X.X.4:6432/`
diff --git a/src/PaaS/postgresql/user_capabilities.md b/src/PaaS/postgresql/user_capabilities.md
new file mode 100644
index 0000000..dbe1ea2
--- /dev/null
+++ b/src/PaaS/postgresql/user_capabilities.md
@@ -0,0 +1,203 @@
+# Создание сервиса Cloud PostgreSQL
+
+Данный раздел описывает права, которые предоставляются пользователю PostgreSQL при создании сервиса **Cloud PostgreSQ**L**, а также перечень административных операций, доступных ему для самостоятельного выполнения.
+
+При развертывании сервиса автоматически создаётся пользователь базы данных с преднастроенными атрибутами и привилегиями. Эти права позволяют заказчику самостоятельно управлять своими базами данных, ролями и пользователями в рамках созданного экземпляра PostgreSQL.
+
+## Общая информация о пользователе
+
+При инициализации сервиса автоматически создаётся пользователь:
+
+```nginx
+client
+```
+
+Данный пользователь является основной учётной записью для административной работы в рамках предоставленного экземпляра PostgreSQL. Он предназначен для самостоятельного управления базами данных, ролями и правами доступа в пределах выданных привилегий.
+
+## Выданные права и ограничения
+
+Пользователю `client` назначается набор атрибутов и привилегий, позволяющих выполнять административные операции в рамках своего экземпляра базы данных.
+
+### Атрибуты роли
+
+Пользователь создаётся со следующими атрибутами:
+- `CREATEDB` — разрешено создание и удаление баз данных;
+- `CREATEROLE` — разрешено создание ролей и пользователей, а также управление их.
+
+Атрибут `SUPERUSER` пользователю не предоставляется. Соответственно, доступ к системным операциям уровня кластера и настройкам сервера отсутствует.
+
+### Права на системную базу postgres:
+
+К стандартной базе данных `postgres` пользователю предоставлено только право подключения:
+- `CONNECT`
+Иные привилегии (создание объектов, изменение схем и т.д.) на данную базу не выдаются.
+
+### Мониторинг и системные представления:
+
+Для выполнения базовых задач мониторинга пользователю дополнительно предоставлены:
+- членство в роли `pg_monitor`;
+- право `SELECT` на системное представление:
+```sql
+pg_catalog.pg_stat_replication
+```
+
+Доступ к системной информации предоставляется исключительно в режиме чтения. Изменение системных представлений и параметров сервера недоступно.
+
+## Обязательная смена пароля
+
+После первого подключения к базе данных пользователь `client` обязан выполнить смену пароля.
+Смена пароля может быть выполнена:
+- в открытом виде (с передачей нового значения пароля);
+- с указанием заранее сгенерированного хэша.
+
+На сервере используется алгоритм шифрования паролей:
+
+```
+scram-sha-256
+```
+
+При использовании SCRAM применяется следующий формат хэша:
+
+```
+$:$:
+```
+
+### Пример смены пароля в открытом виде
+
+```sql
+ALTER USER client WITH PASSWORD 'new_strong_password';
+```
+
+### Пример смены пароля с указанием хэша
+
+```sql
+ALTER USER client WITH ENCRYPTED PASSWORD '$4096:...';
+```
+
+Рекомендуется использовать сложный уникальный пароль, соответствующий требованиям информационной безопасности, и хранить его в защищённом хранилище.
+
+## Создание новой базы данных
+
+Пользователь `client` имеет право создавать новые базы данных в рамках своего экземпляра PostgreSQL.
+
+### Пример создания базы данных
+
+Для создания базы данных используется стандартная команда:
+
+```sql
+CREATE DATABASE app_db;
+```
+
+Если необходимо назначить владельца базы данных, можно указать соответствующего пользователя. По умолчанию владельцем создаваемой базы данных является пользователь, который её создает.
+
+### Пример создания базы данных с указанием владельца
+
+```sql
+CREATE DATABASE app_db OWNER client;
+```
+
+В этом примере база данных `app_db` будет принадлежать пользователю `client`. Пользователь, указанный как владелец, будет иметь полный контроль над базой данных, включая права на её удаление и изменение.
+
+## Создание пользователей и ролей
+
+Пользователь `client` имеет право создавать новые роли и пользователей для приложений, а также управлять их правами доступа.
+
+### Создание роли без логина
+
+Если требуется создать роль, которая не будет иметь возможности входа в базу данных (например, для организации прав доступа), можно использовать команду:
+
+```sql
+CREATE ROLE app_role;
+```
+
+### Создание пользователя с паролем
+
+Для создания пользователя с паролем используется команда:
+
+```sql
+CREATE USER app_user WITH PASSWORD 'app_password';
+```
+
+После этого новый пользователь `app_user` будет иметь возможность входа в базу данных, используя указанный пароль.
+
+### Назначение роли пользователю
+
+Для назначения роли пользователю используется команда `GRANT`. Это позволяет управлять правами пользователя в рамках определённой роли:
+
+```sql
+GRANT app_role TO app_user;
+```
+
+После выполнения этой команды пользователь `app_user` станет членом роли `app_role`, и будет наследовать все права, связанные с этой ролью.
+
+### Передача владельца базы данных
+
+Если необходимо передать право владения базой данных другому пользователю, это можно сделать с помощью следующей команды:
+
+```sql
+ALTER DATABASE app_db OWNER TO app_user;
+```
+
+Теперь база данных `app_db` будет принадлежать пользователю `app_user`, и он будет иметь полный контроль над ней.
+
+### Управление правами доступа
+
+После создания пользователей и ролей необходимо назначить им соответствующие права доступа.
+
+### Выдача прав на подключение к базе данных
+
+Для того чтобы пользователь мог подключаться к базе данных, нужно предоставить ему соответствующие права:
+
+```sql
+GRANT CONNECT ON DATABASE app_db TO app_user;
+```
+
+Эта команда разрешает пользователю `app_user` подключаться к базе данных `app_db`.
+
+### Права на схему public
+
+Для предоставления пользователю прав на использование схемы `public` можно выполнить следующую команду:
+
+```sql
+GRANT USAGE, CREATE ON SCHEMA public TO app_user;
+```
+
+Эти права позволяют пользователю `app_user` использовать объекты в схеме `public`, а также создавать новые объекты внутри неё.
+
+### Права на существующие таблицы
+
+Чтобы предоставить пользователю доступ к существующим таблицам в схеме `public`, можно использовать команду:
+
+```sql
+GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO app_user;
+```
+
+Эта команда позволяет пользователю `app_user` выполнять операции чтения, вставки, обновления и удаления данных в существующих таблицах схемы `public`.
+
+### Права на будущие таблицы
+
+Если необходимо автоматически предоставить пользователю права на новые таблицы, создаваемые в схеме `public`, используйте команду:
+
+```sql
+ALTER DEFAULT PRIVILEGES IN SCHEMA public
+GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO app_user;
+```
+
+Эта команда обеспечит, что все будущие таблицы, создаваемые в схеме `public`, будут автоматически иметь права для пользователя `app_user` на чтение, вставку, обновление и удаление данных.
+
+## Мониторинг репликации
+
+Пользователь `client` имеет доступ к системным представлениям для мониторинга состояния репликации в кластере PostgreSQL.
+
+### Просмотр состояния репликации
+
+Для того чтобы просмотреть текущий статус репликации, пользователь может выполнить запрос к системному представлению:
+
+``` SQL
+SELECT * FROM pg_stat_replication;
+```
+Этот запрос возвращает информацию о всех репликах, подключённых к основному (primary) серверу.
+
+### Ограничения доступа
+
+Пользователь `client` имеет доступ к данным в представлении `pg_stat_replication` только в режиме **read-only**. Это означает, что он может просматривать состояние репликации, но не может изменять или вмешиваться в процесс репликации.
\ No newline at end of file