powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / users and groups
8 сообщений из 8, страница 1 из 1
users and groups
    #34445465
Knifer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые участники форума. Прошу не кидать в меня камни. Вопрос в следующем. Есть таблицы групп. Мне необходимо вывести всех пользователей принадлежащих одной из групп.
...
Рейтинг: 0 / 0
users and groups
    #34446948
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KniferУважаемые участники форума. Прошу не кидать в меня камни. Вопрос в следующем. Есть таблицы групп. Мне необходимо вывести всех пользователей принадлежащих одной из групп.
Да, вероятно, таблицы групп действительно есть. Только вот структуру этих таблиц знаете только вы.
Могу даже предположить, что есть таблица(ы) пользователей. Теперь осталось только бросить руны и, может, они дадут ответ на ваш вопрос.
:)
вероятно запрос может быть примерно таким (пользователь может входить только в одну группу 1:М)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
выбрать
  п.имя_пользователя
из
  группы г,
  пользователи п
где г.имя_группы = 'Группа1'
 и п.идентификатор_группы = г.идентификатор_группы
но может и таким (Н:М)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
выбрать
  п.имя_пользователя
из
  группы г,
  группы_пользователи гп,
  пользователи п
где г.имя_группы = 'Группа1'
 и гп.идентификатор_группы = г.идентификатор_группы
 и п.идентификатор_пользователя = гп.идентификатор_пользователя
или же совсем другим, руны, к сожалению, не дают точного ответа :)
...
Рейтинг: 0 / 0
users and groups
    #34447095
Serik Akhmetov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вас интересуют системные группы и пользователи
Код: plaintext
select * from information_schema.applicable_roles;
...
Рейтинг: 0 / 0
users and groups
    #34457420
Knifer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа имеются ввиду стандартные группы и пользователи - те pg_group и pg_user.
Спасибо
...
Рейтинг: 0 / 0
users and groups
    #34462945
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
echo "\dg" | psql -E template1
...
Рейтинг: 0 / 0
users and groups
    #34468122
Knifer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа мне необходим именно SQL запрос
...
Рейтинг: 0 / 0
users and groups
    #34468175
"...Гаспада все в Париже!" (с)
Совсем деревянные пошли разработчики. Ты ему вот-как-сделать а он - сделай за мИня.
Короче - полный виндоус настал.
По сабжу Похоже искать решение сам ты просто не пробовал. Ничо, кодер без мозгов - это тоже кодер с мозгами, только без мозгов
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
Вот что  я получил  используя предложенную в предыдуш\щем посте команду(psql - самая крутая из консольных утилитт- оракловый sqlpus  нервно курит бамбук isql от sybase, firebird - фтопку - там рулят  толстопопые тормозные GUI)
=# \dg
********* QUERY **********
SELECT g.groname AS "Group name",
  g.grosysid AS "Group ID"
FROM pg_catalog.pg_group g
ORDER BY  1 ;
**************************

    List of groups
 Group name | Group ID 
------------+----------
 ahtungi    |       103 
 dolboebi   |       104 
 kozli      |       101 
 pidorasi   |       100 
 vomuchki   |       102 
( 5  rows)

=# \du
********* QUERY **********
SELECT u.usename AS "User name",
  u.usesysid AS "User ID",
  CASE WHEN u.usesuper AND u.usecreatedb THEN CAST('superuser, create database' AS pg_catalog.text)
       WHEN u.usesuper THEN CAST('superuser' AS pg_catalog.text)
       WHEN u.usecreatedb THEN CAST('create database' AS pg_catalog.text)
       ELSE CAST('' AS pg_catalog.text)
  END AS "Attributes",
  ARRAY(SELECT g.groname FROM pg_catalog.pg_group g WHERE u.usesysid = ANY(g.grolist)) as "Groups"
FROM pg_catalog.pg_user u
ORDER BY  1 ;
**************************

                             List of users
 User name | User ID |         Attributes         |       Groups       
-----------+---------+----------------------------+--------------------
 p1        |      101  |                            | {ahtungi,dolboebi}
 p2        |      102  |                            | {ahtungi,dolboebi}
 p3        |      103  |                            | {kozli}
 p4        |      104  |                            | {pidorasi}
 p5        |      105  |                            | {pidorasi}
 p6        |      106  |                            | 
 p7        |      107  |                            | 
 p8        |      108  |                            | 
 postgres  |        1  | superuser, create database | 
 
=# SELECT u.usename AS "User name",
  u.usesysid AS "User ID",
  ARRAY(SELECT g.groname FROM pg_catalog.pg_group g WHERE u.usesysid = ANY(g.grolist)) as "Groups"
FROM pg_catalog.pg_user u
 where 'dolboebi' in (SELECT g.groname FROM pg_catalog.pg_group g WHERE u.usesysid = ANY(g.grolist)) 
ORDER BY  1 ;
 User name | User ID |       Groups       
-----------+---------+--------------------
 p1        |      101  | {ahtungi,dolboebi}
 p2        |      102  | {ahtungi,dolboebi}
( 2  rows)

=# SELECT u.usename AS "User name",
  u.usesysid AS "User ID",
  ARRAY(SELECT g.groname FROM pg_catalog.pg_group g WHERE u.usesysid = ANY(g.grolist)) as "Groups"
FROM pg_catalog.pg_user u
 where 'pidorasi' in (SELECT g.groname FROM pg_catalog.pg_group g WHERE u.usesysid = ANY(g.grolist)) 
ORDER BY  1 ;

 User name | User ID |   Groups   
-----------+---------+------------
 p4        |      104  | {pidorasi}
 p5        |      105  | {pidorasi}
( 2  rows)
[/fixed]
...
Рейтинг: 0 / 0
users and groups
    #34471048
Knifer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо
Особенно понравилось - " Ничо, кодер без мозгов - это тоже кодер с мозгами, только без мозгов" Это супер. Времени не хватила доки почитать, читал урезаный русский перевод - PostgreSQL руководство разработчика и администратора.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / users and groups
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]