ログイン許可すればユーザ扱いでログインを許可しなければグループ扱い
テーブルの所有者のロールをグループにしておけば ユーザをそのグループに所属させてテーブルへの権限を与えられる
グループに所属させる GRANT コマンドは「GRANT グループ名 TO ユーザ名」でグループをユーザへ GRANT (付与)
CREATE ROLE "test_group";
CREATE ROLE "test_user1" WITH LOGIN PASSWORD 'PASSWORD';
GRANT "test_group" TO "test_user1";
CREATE TABLE kv
(
key text NOT NULL,
value text,
CONSTRAINT common_setting_pkey PRIMARY KEY (key)
);
ALTER TABLE kv OWNER TO "test_group";
postgres=# \du
ロール一覧
ロール名 | 属性 | 所属グループ
------------+----------------------------------------------------------------------------+--------------
postgres | スーパーユーザ, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス | {}
test_group | ログインできません | {}
test_user1 | | {test_group}