Начальная настройка системы

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

Чтобы описанные ниже действия были возможны, их должен производить либо администратор, либо пользователь с привилегиями на создание других пользователей, ролей и вычислительных пулов.
  1. Создадим роль analyst:

    CREATE ROLE analyst;
  2. Создадим вычислительный пул compute_s и установим для него размер S:

    CREATE WORKER POOL compute_s WORKER SIZE S;
  3. Создадим пользователя tengri_demo_user, зададим его пароль для идентификации и назначим для него вычислительный пул по умолчанию compute_s:

    CREATE USER tengri_demo_user
        IDENTIFIED BY PASSWORD '***'
        DEFAULT WORKER POOL compute_s;
  4. Назначим пользователю tengri_demo_user роль analyst:

    GRANT ROLE analyst TO tengri_demo_user;
  5. Предоставим роли analyst привилегии USAGE и MONITOR на вычислительный пул compute_s:

    GRANT USAGE, MONITOR ON WORKER POOL compute_s TO ROLE analyst;

    Далее:

    1. если в системе уже есть схема analytical_sandbox и наш пользователь будет работать только в ней, то предоставим ему привилегию на работу со всеми таблицами внутри этой схемы, как существующими, так и теми, которые будут созданы в будущем:

      GRANT ALL ON SCHEMA analytical_sandbox TO ROLE analyst;
    2. если же пользователь будет работать в новой схеме, то создадим эту схему analytical_sandbox_new и предоставим ему привилегию на работу со всеми таблицами внутри этой схемы:

      CREATE SCHEMA analytical_sandbox_new;
      
      GRANT ALL ON SCHEMA analytical_sandbox_new TO ROLE analyst;
  6. Если предполагается, что пользователь tengri_demo_user будет создавать новые схемы, то предоставим ему привилегию на создание схемы внутри каталога:

    GRANT CREATE SCHEMA ON CATALOG TO ROLE analyst;

После этого пользователь tengri_demo_user сможет:

  • Создавать таблицы внутри схемы analytical_sandbox (или analytical_sandbox_new)

  • Читать таблицы внутри схемы analytical_sandbox (или analytical_sandbox_new)

С такими настройками пользователь tengri_demo_user сможет:

  • Удалять таблицы внутри схемы analytical_sandbox (или analytical_sandbox_new)

  • Удалить схему analytical_sandbox (или analytical_sandbox_new)