Невозможность изменения конфигурационных параметров самой базы данных. Настройки, такие как shared_buffers, work_mem или max_connections, управляются провайдером и недоступны для изменения через SQL-запросы.
Ограниченное управление пользователями и ролями. Хотя создание новых пользователей возможно, полный контроль над системой ролей, как это реализовано в классическом PostgreSQL, отсутствует.
Запрет на самостоятельное создание баз данных. Новые базы данных создаются исключительно через панель управления хостинг-провайдера, а не с помощью SQL-команды CREATE DATABASE.
Отсутствие возможности управления расширениями. Установка или удаление расширений PostgreSQL, таких как postgis или pg_cron, недоступна пользователю напрямую и требует обращения в службу поддержки.
Полный запрет на любые действия, требующие прав суперпользователя. Это ограничение, которое лежит в основе всех остальных, поскольку оно предотвращает любое потенциально опасное вмешательство в работу сервера.
Роли и привилегии: управление доступом в рамках ограничений
SELECT или INSERT), а роль — это контейнер, объединяющий набор таких привилегий. В облачном PostgreSQL эта система сохраняется, но с важными оговорками.cloud_user), автоматически становится владельцем первой базы данных (например, default_db). Владелец обладает максимальным набором привилегий на свою базу данных, право выдавать и отзывать привилегии другим пользователям с помощью команд GRANT и REVOKE.cdb_monitor: Эта роль предназначена для мониторинга и предоставляет доступ к системным представлениям и функциям, содержащим информацию о производительности и состоянии сервера. По сути, она включает в себя привилегии стандартных ролей PostgreSQL pg_monitor и pg_read_all_stats
cdb_read_all_data: Роль для создания пользователей с правами «только для чтения». Она дает возможность выполнять SELECT-запросы ко всем таблицам, представлениям и последовательностям в базе данных, что эквивалентно стандартной роли pg_read_all_data
CONNECT) к базе данных. Это отдельная привилегия, которую необходимо выдавать явно. Если новый пользователь создается без наследования от владельца базы данных, он не сможет подключиться к ней, пока владелец не выполнит команду GRANT CONNECT ON DATABASE database_name TO usernameПримеры управления правами
- Создать нового пользователя (например,
user1) в панели управления без специальных ролей. - Подключиться к базе данных от имени владельца (
cloud_user). - Выдать привилегию на подключение:
GRANT CONNECT ON DATABASE default_db TO user1;. - Выдать привилегию на вставку данных:
GRANT INSERT ON example TO user1;.
- При создании пользователя
user1в панели управления ему сразу назначается специальная рольcdb_read_all_data. - После этого владелец базы данных должен подключиться и выдать только привилегию на подключение:
GRANT CONNECT ON DATABASE default_db TO user1;.
REVOKE, например, REVOKE CONNECT ON DATABASE default_db FROM user1;.Управление расширениями и внешний доступ
0.0.0.0/0. Система не допускает добавления пересекающихся подсетей, чтобы избежать конфликтов в правилах безопасности.







