[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"/ru/kb/faq/cloud/oblachnyj-postgresql-tehnicheskaya-informacziyaKbData":3},{"page":4,"pages":90,"recommendedPages":91,"category":43,"categoryTree":43,"total":97,"currentOrder":120,"activeManualCategoryId":43,"tag":-1},{"route":5,"uuid":8,"title":9,"excerpt":10,"content":11,"view_count":12,"published_at":13,"modified_at":14,"like":15,"category":18,"hero_image":36,"seo_metadata":37,"schema_org_metadata":41,"open_graph_metadata":44,"sections":45,"tags":79,"breadcrumbs":80,"images":87},{"language":6,"path":7},"ru","/kb/faq/cloud/oblachnyj-postgresql-tehnicheskaya-informacziya","256b4a5e-fffd-9898-cafa-5da09335eea0","Облачный PostgreSQL: Техническая информация","В этой статье мы расскажем о нюансах использования PostgreSQL в облаке – существующих ограничениях, управлении пользователями, ролями и привилегиями, а также настройках внешнего доступа. Ограничения Облачный PostgreSQL – это DBaaS-решение, которое предполагает, что обслуживание PostgreSQL и виртуальной машины, на которой работает PostgreSQL, производится нашими силами.","\n\u003Cp>В этой статье мы расскажем о нюансах использования PostgreSQL в облаке – существующих ограничениях, управлении пользователями, ролями и привилегиями, а также настройках внешнего доступа.\u003C/p>\n\n\n\n\u003Ch2 id=\"ogranicheniya\">Ограничения\u003C/h2>\n\n\n\n\u003Cp>Облачный PostgreSQL – это DBaaS-решение, которое предполагает, что обслуживание PostgreSQL и виртуальной машины, на которой работает PostgreSQL, производится нашими силами. В связи с этим существует ряд ограничений, запрещающий выполнение некоторых действий со стороны пользователя посредством SQL-запросов:\u003C/p>\n\n\n\n\u003Cul>\u003Cli>Нельзя менять настройки облачной базы данных PostgreSQL.\u003C/li>\u003Cli>Нельзя управлять пользователями, а также создавать и назначать роли. Однако можно назначать пользователям привилегии на уровне отдельных объектов баз данных.\u003C/li>\u003Cli>Нельзя создавать базы данных. Однако владельцу БД можно выполнять команду \u003Ccode>ALTER DATABASE\u003C/code> для ранее созданной БД.\u003C/li>\u003Cli>Нельзя управлять расширениями PostgreSQL.\u003C/li>\u003Cli>Недоступны никакие действия, требующие прав суперпользователя.\u003C/li>\u003C/ul>\n\n\n\n\u003Ch2 id=\"upravlenie-polzovatelyami-rolyami-i-privilegiyami\">Управление пользователями, ролями и привилегиями\u003C/h2>\n\n\n\n\u003Cp>Атомарные полномочия в \u003Cstrong>PostgreSQL\u003C/strong> называются \u003Cem>привилегиями\u003C/em>, группы полномочий – \u003Cem>ролями\u003C/em>. Подробнее об организации прав доступа вы можете прочитать в \u003Ca href=\"https://www.postgresql.org/docs/current/user-manag.html\">документации PostgreSQL\u003C/a>.\u003C/p>\n\n\n\n\u003Cp>Пользователь, создаваемый вместе с облачной базой данных PostgreSQL, является владельцем первой базы данных. Вы можете создавать других пользователей и настраивать их права по своему усмотрению.\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-alert alert-block alert-block-info\">\u003Cdiv class=\"alert-block-title\">Обратите внимание!\u003C/div>\u003Cdiv class=\"alert-block-content\">В случае если ваш проект требует кастомной системы ролей и пользователей, которые невозможно настроить в рамках ограничений облачного PostgreSQL, напишите в нашу \u003Ca href=\"https://cp.beget.com/login?utm_source=kb&amp;utm_medium=manual&amp;utm_content=postgresql_tech_info&amp;next=%2Fsupport\">техническую поддержку\u003C/a>.\u003C/div>\u003C/div>\n\n\n\n\u003Ch3 id=\"izmenenie-spiska-roley-polzovatelya\">Изменение списка ролей пользователя\u003C/h3>\n\n\n\n\u003Cp>Для назначения роли пользователю необходимо использовать интерфейс панели управления. Назначение роли с помощью команды \u003Ccode>GRANT\u003C/code> невозможно.\u003C/p>\n\n\n\n\u003Cp>В рамках облачной базы данных PostgreSQL нет доступа к \u003Ca href=\"https://www.postgresql.org/docs/current/predefined-roles.html\">предопределенным ролям\u003C/a>, в том числе к роли суперпользователя. Назначить пользователю можно только специальные роли либо унаследовать роль от другого пользователя.\u003C/p>\n\n\n\n\u003Cp>Специальные роли:\u003C/p>\n\n\n\n\u003Cul>\u003Cli>\u003Ccode>cdb_monitor\u003C/code> – для пользователей, которые должны читать различные параметры конфигурации, статистику и другую системную информацию.\u003Cbr>\u003Cbr>Включает в себя привилегии предопределенных ролей \u003Ccode>pg_monitor\u003C/code> и \u003Ccode>pg_read_all_stats\u003C/code>.\u003Cbr>\u003C/li>\u003Cli>\u003Ccode>cdb_read_all_data\u003C/code> – для readonly-пользователей, которым необходима возможность выполнять SELECT-запросы к таблицам, представлениям (view) и последовательностям (sequence).\u003Cbr>\u003Cbr>Включает в себя привилегии предопределенной роли \u003Ccode>pg_read_all_data\u003C/code>.\u003C/li>\u003C/ul>\n\n\n\n\u003Cdiv class=\"wp-block-beget-alert alert-block alert-block-info\">\u003Cdiv class=\"alert-block-title\">Обратите внимание!\u003C/div>\u003Cdiv class=\"alert-block-content\">В рамках облачной базы данных PostgreSQL не предусмотрено создание пользовательских ролей. Права пользователя определяются назначенными ему привилегиями.\u003C/div>\u003C/div>\n\n\n\n\u003Cp>Назначить роль пользователю вы можете в панели управления в разделе “Базы данных”, во вкладке “Пользователи и роли”:\u003C/p>\n\n\n\n\u003Cul>\u003Cli>При создании пользователя нажмите на кнопку “Дополнительные параметры” и выберите любое количество ролей в поле “Родительские роли”.\u003C/li>\u003Cli>Для созданного пользователя нажмите на кнопку \u003Cimg src=\"https://cp.beget.com/shared/xrNkFrp0Bkn56FRpraOjw8wk8iRSJ7pG/edit.png\" class=\"wp-inline-image\"> в списке пользователей и выберите любое количество ролей в поле “Пользователи, от которых будут унаследованы роли”.\u003C/li>\u003C/ul>\n\n\n\n\u003Ch3 id=\"polzovateli-i-dostup-k-baze-dannyh\">Пользователи и доступ к базе данных\u003C/h3>\n\n\n\n\u003Cp>Для подключения к базе данных PostgreSQL \u003Cstrong>пользователю необходима привилегия \u003Ccode>connect\u003C/code>.\u003C/strong>&nbsp;\u003C/p>\n\n\n\n\u003Cp>При создании облачной базы данных первый пользователь (по умолчанию \u003Ccode>cloud_user\u003C/code>) становится владельцем первой базы данных (по умолчанию \u003Ccode>default_db\u003C/code>). При создании базы данных в разделе “Базы данных” вы выбираете пользователя-владельца из уже созданных пользователей.\u003C/p>\n\n\n\n\u003Cp>Пользователь-владелец базы данных получает максимальные возможные привилегии для работы с базой данных, владельцем которой он является. \u003Cstrong>В том числе пользователь-владелец получает привилегию \u003Ccode>connect\u003C/code>.\u003C/strong>\u003C/p>\n\n\n\n\u003Cp>При создании нового пользователя с ролями \u003Ccode>cdb_read_all_data\u003C/code>, \u003Ccode>cdb_monitor\u003C/code> или без роли вообще \u003Cstrong>привилегия \u003Ccode>connect\u003C/code> отсутствует\u003C/strong>. Как следствие, отсутствует возможность подключиться к базе данных под новым пользователем.\u003C/p>\n\n\n\n\u003Cp>Есть несколько способов выдать привилегию connect новому пользователю:\u003C/p>\n\n\n\n\u003Cul>\u003Cli>Унаследовать пользователя от пользователя-владельца базы данных либо другого пользователя, которому выдана привилегия \u003Ccode>connect\u003C/code>.\u003C/li>\u003Cli>Выдать привилегию \u003Ccode>connect\u003C/code> вручную, подключившись к базе данных под пользователем-владельцем.\u003C/li>\u003C/ul>\n\n\n\n\u003Ch3 id=\"upravlenie-privilegiyami-polzovateley\">Управление привилегиями пользователей\u003C/h3>\n\n\n\n\u003Cp>Управлять привилегиями пользователей может пользователь-владелец базы данных.\u003C/p>\n\n\n\n\u003Cp>Для выдачи привилегий пользователю необходимо использовать команду \u003Ccode>GRANT\u003C/code>. Подробное описание синтаксиса команды смотрите в \u003Ca href=\"https://www.postgresql.org/docs/current/sql-grant.html\">документации PostgreSQL\u003C/a>.\u003C/p>\n\n\n\n\u003Cp>Для отзыва привилегий пользователю необходимо использовать команду \u003Ccode>REVOKE\u003C/code>. Подробное описание синтаксиса команды смотрите в \u003Ca href=\"https://www.postgresql.org/docs/current/sql-revoke.html\">документации PostgreSQL\u003C/a>.\u003C/p>\n\n\n\n\u003Ch4 id=\"primery\">Примеры\u003C/h4>\n\n\n\n\u003Cp>Во всех примерах используется новая база данных с названием \u003Ccode>default_db\u003C/code> и пользователем-владельцем \u003Ccode>cloud_user\u003C/code>. Также в базе данных создана таблица \u003Ccode>example\u003C/code>.\u003C/p>\n\n\n\n\u003Ch4 id=\"sozdanie-polzovatelya-s-vozmozhnostyu-vypolneniya-insert-zaprosov-v-tablicu-example\">Создание пользователя с возможностью выполнения INSERT-запросов в таблицу example\u003C/h4>\n\n\n\n\u003Col>\u003Cli>Создайте пользователя \u003Ccode>user1\u003C/code> в панели управления.\u003C/li>\u003Cli>Подключитесь к базе данных \u003Ccode>default_db\u003C/code> с помощью данных пользователя-владельца, например, через \u003Ccode>psql\u003C/code>:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;shell&quot;}\">\u003Ccode>psql --host example.beget.app --username cloud_user --password --dbname default_db\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Col start=\"3\">\u003Cli>Выдайте привилегию на подключение к базе данных \u003Ccode>default_db\u003C/code> пользователю \u003Ccode>user1\u003C/code>, выполнив следующий запрос:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;sql&quot;}\">\u003Ccode>GRANT CONNECT ON DATABASE default_db TO user1;\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Col>\u003Cli>Выдайте привилегию на выполнение INSERT-запросов к таблице \u003Ccode>example\u003C/code>, выполнив следующий запрос:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;sql&quot;}\">\u003Ccode>GRANT INSERT ON example TO user1;\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Отозвать выданные привилегии можно с помощью следующих запросов:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;sql&quot;}\">\u003Ccode>REVOKE CONNECT ON DATABASE default_db FROM user1;\nREVOKE INSERT ON example FROM user1;\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Ch4 id=\"sozdanie-readonly-polzovatelya-s-dostupom-k-baze-dannyh-default-db\">Создание readonly-пользователя с доступом к базе данных default_db\u003C/h4>\n\n\n\n\u003Col>\u003Cli>Создайте пользователя \u003Ccode>user1\u003C/code> в панели управления. При создании укажите ему роль \u003Ccode>cdb_read_all_data\u003C/code>.\u003C/li>\u003Cli>Подключитесь к базе данных \u003Ccode>default_db\u003C/code> с помощью данных пользователя-владельца, например, через \u003Ccode>psql\u003C/code>:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;shell&quot;}\">\u003Ccode>psql --host example.beget.app --username cloud_user --password --dbname default_db\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Col start=\"3\">\u003Cli>Выдайте привилегию на подключение к базе данных \u003Ccode>default_db\u003C/code> пользователю \u003Ccode>user1\u003C/code>, выполнив следующий запрос:\u003C/li>\u003C/ol>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;sql&quot;}\">\u003Ccode>GRANT CONNECT ON DATABASE default_db TO user1;\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Отозвать выданную привилегию можно с помощью следующего запроса:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;sql&quot;}\">\u003Ccode>REVOKE CONNECT ON DATABASE default_db FROM user1;\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Ch2 id=\"ustanovka-rasshireniy-postgresql\">Установка расширений PostgreSQL\u003C/h2>\n\n\n\n\u003Cp>На данный момент установка расширений PostgreSQL в облаке из панели управления недоступна. Если вам необходимо установить расширение, напишите обращение в \u003Ca href=\"https://cp.beget.com/login?utm_source=kb&amp;utm_medium=manual&amp;utm_content=postgresql_tech_info&amp;next=%2Fsupport\">техническую поддержку\u003C/a>.\u003C/p>\n\n\n\n\u003Ch2 id=\"nastroyka-vneshnego-dostupa\">Настройка внешнего доступа\u003C/h2>\n\n\n\n\u003Cp>Настроить внешний доступ к облачной базе данных вы можете в панели управления, в разделе “Настройки”.\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-image image-block\">\u003Cimg src=\"https://cp.beget.com/shared/eepoVUy5qWMymnoWs5iMxSNEzFTEmTwB/image1.png\" alt=\"Доступ из внешней сети\">\u003C/div>\n\n\n\n\u003Cp>По умолчанию доступ к базе данных в облаке разрешен только из приватной сети. Чтобы настроить доступ к базе данных из внешней сети, укажите IP адреса или подсети в формате \u003Ccode>ip/subnet\u003C/code> в поле “Доступ по внешнему IP-адресу”.\u003C/p>\n\n\n\n\u003Cp>Если необходимо разрешить доступ с любого IP, укажите в поле подсеть \u003Ccode>0.0.0.0/0\u003C/code>.\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-alert alert-block alert-block-info\">\u003Cdiv class=\"alert-block-title\">Обратите внимание!\u003C/div>\u003Cdiv class=\"alert-block-content\">Невозможно указать пересекающиеся подсети либо IP-адрес, который входит в уже добавленную подсеть.\u003C/div>\u003C/div>\n\n\n\n\u003Cdiv class=\"wp-block-beget-button button-block text-center\">\u003Ca href=\"https://cp.beget.com/login?utm_source=kb&amp;utm_medium=manual&amp;utm_content=postgresql_tech_info&amp;next=%2Fcloud%2Fdatabases%2Fcreate\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-break btn btn-outline-primary btn-lg\">Создать облачную базу данных\u003C/a>\u003C/div>\n\n\n\n\u003Cp>Если у вас возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “\u003Ca href=\"https://cp.beget.com/login?utm_source=kb&amp;utm_medium=manual&amp;utm_content=postgresql_tech_info&amp;next=%2Fsupport\">Помощь и поддержка\u003C/a>”), а если вы захотите обсудить эту статью или наши продукты с коллегами по цеху и сотрудниками Бегета – ждем вас в нашем \u003Ca href=\"https://t.me/beget_chat\">сообществе\u003C/a> в Telegram.\u003C/p>\n",1652,"2024-03-14T10:53:25+03:00","2026-03-20T18:11:07+03:00",{"count":16,"liked":17},129,false,{"route":19,"title":21,"tags":22,"breadcrumbs":28,"uuid":29,"parent_uuid":30,"default_page_path":27,"seo_metadata":31},{"language":6,"path":20},"/kb/faq/cloud","Облако",[23],{"id":24,"title":25,"seo_metadata":26},"vps","VPS",{"title":27,"description":27,"header":27,"keywords":27},"",[],"84f1ca7a-bf82-4e7e-c119-17f24305d20a","80213437-0399-4b4f-2333-426bb5050534",{"title":32,"description":33,"header":34,"keywords":35},"FAQ. Облако — Beget","Ответы на часто задаваемые вопросы раздела “FAQ. Облако” базы знаний Beget. Настройка почты. Общие вопросы и определения в блоге Beget","FAQ. Облако","faq,  Beget, Облако",{"src":27,"text":27},{"title":38,"description":39,"keywords":40},"PostgreSQL в облаке: особенности использования","Работа с облачной базой данных PostgreSQL: важные технические нюансы. Как управлять привилегиями пользователей и настраивать внешний доступ в PostgreSQL | Бегет","PostgreSQL ,  postgresql что это, установка postgresql ",{"faq":42,"how_to":43,"product":43},[],null,{},[46,50,53,57,60,63,67,70,73,76],{"level":47,"name":48,"anchor":49},1,"Ограничения","ogranicheniya",{"level":47,"name":51,"anchor":52},"Управление пользователями, ролями и привилегиями","upravlenie-polzovatelyami-rolyami-i-privilegiyami",{"level":54,"name":55,"anchor":56},2,"Изменение списка ролей пользователя","izmenenie-spiska-roley-polzovatelya",{"level":54,"name":58,"anchor":59},"Пользователи и доступ к базе данных","polzovateli-i-dostup-k-baze-dannyh",{"level":54,"name":61,"anchor":62},"Управление привилегиями пользователей","upravlenie-privilegiyami-polzovateley",{"level":64,"name":65,"anchor":66},3,"Примеры","primery",{"level":64,"name":68,"anchor":69},"Создание пользователя с возможностью выполнения INSERT-запросов в таблицу example","sozdanie-polzovatelya-s-vozmozhnostyu-vypolneniya-insert-zaprosov-v-tablicu-example",{"level":64,"name":71,"anchor":72},"Создание readonly-пользователя с доступом к базе данных default_db","sozdanie-readonly-polzovatelya-s-dostupom-k-baze-dannyh-default-db",{"level":47,"name":74,"anchor":75},"Установка расширений PostgreSQL","ustanovka-rasshireniy-postgresql",{"level":47,"name":77,"anchor":78},"Настройка внешнего доступа","nastroyka-vneshnego-dostupa",[],[81,85],{"route":82,"title":84},{"language":6,"path":83},"/kb/faq","Руководство по услугам",{"route":86,"title":21},{"language":6,"path":20},[88],{"src":89},"https://cp.beget.com/shared/eepoVUy5qWMymnoWs5iMxSNEzFTEmTwB/image1.png",[],[92,102,111],{"route":93,"uuid":95,"title":96,"excerpt":27,"content":27,"view_count":97,"published_at":27,"modified_at":27,"like":43,"category":43,"hero_image":43,"seo_metadata":43,"schema_org_metadata":43,"open_graph_metadata":43,"sections":98,"tags":99,"breadcrumbs":100,"images":101},{"language":6,"path":94},"/kb/faq/cloud/video-rezervnoe-kopirovanie-wordpress-v-s3","d074314e-b492-cc7c-5c2b-4edbf3179bbf","Видео: Резервное копирование WordPress в S3",0,[],[],[],[],{"route":103,"uuid":105,"title":106,"excerpt":27,"content":27,"view_count":97,"published_at":27,"modified_at":27,"like":43,"category":43,"hero_image":43,"seo_metadata":43,"schema_org_metadata":43,"open_graph_metadata":43,"sections":107,"tags":108,"breadcrumbs":109,"images":110},{"language":6,"path":104},"/kb/faq/cloud/podklyuchenie-k-obektnomu-hranilishchu-s3-pri-pomoshchi-klientov-aws-cli-s3cmd-cyberduck-sdk","b9fba15d-2336-6c64-7e56-0380a719d46f","Настройка подключения к S3 при помощи клиентов AWS CLI, S3cmd, Cyberduck, Rclone, Goofys, MinIO Client, SDK и FTP/SFTP",[],[],[],[],{"route":112,"uuid":114,"title":115,"excerpt":27,"content":27,"view_count":97,"published_at":27,"modified_at":27,"like":43,"category":43,"hero_image":43,"seo_metadata":43,"schema_org_metadata":43,"open_graph_metadata":43,"sections":116,"tags":117,"breadcrumbs":118,"images":119},{"language":6,"path":113},"/kb/faq/cloud/video-podklyuchenie-s3-s-ispolzovaniem-klienta-s3fs","6de1f341-d39e-4cbe-f40c-c62ecf2a7c34","Видео: Подключение S3 с использованием клиента s3fs",[],[],[],[],"popularity-desc"]