C.5. Управление пользователями

C.5.1. Поддерживает ли Shardman глобальные роли пользователей?

Да, глобальные роли пользователей поддерживаются.

C.5.2. Как создать глобального пользователя в Shardman?

postgres=# create role my_user with login password 'my_user123' in role global;
NOTICE:  user mapping for "my_user" does not exist for server "shardman_rg_2", skipping
NOTICE:  user mapping for "my_user" does not exist for server "shardman_rg_3", skipping
CREATE ROLE
    

C.5.3. Как предоставить права доступа глобальному пользователю?

Следующие команды могут быть выполнены в одном сегменте и будут автоматически отправлены другим сегментам:

GRANT\REVOKE
CREATE ROLE ... IN ROLE GLOBAL / ALTER ROLE (for global role) 
    
postgres=# grant CONNECT on DATABASE postgres TO my_user;
GRANT ROLE
postgres=# grant pg_monitor TO my_user;
GRANT ROLE
postgres=# \du
                                     List of roles
 Role name |                         Attributes                         |  Member of   
-----------+------------------------------------------------------------+--------------
 my_user   |                                                            | {pg_monitor}
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 repluser  | Replication                                                | {}
    

Список каскадируемых команд дорабатывается и будет изменён в следующих версиях Shardman.