Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / users and groups / 8 сообщений из 8, страница 1 из 1
07.04.2007, 22:46
    #34445465
Knifer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
users and groups
Уважаемые участники форума. Прошу не кидать в меня камни. Вопрос в следующем. Есть таблицы групп. Мне необходимо вывести всех пользователей принадлежащих одной из групп.
...
Рейтинг: 0 / 0
09.04.2007, 12:13
    #34446948
st_serg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
users and groups
KniferУважаемые участники форума. Прошу не кидать в меня камни. Вопрос в следующем. Есть таблицы групп. Мне необходимо вывести всех пользователей принадлежащих одной из групп.
Да, вероятно, таблицы групп действительно есть. Только вот структуру этих таблиц знаете только вы.
Могу даже предположить, что есть таблица(ы) пользователей. Теперь осталось только бросить руны и, может, они дадут ответ на ваш вопрос.
:)
вероятно запрос может быть примерно таким (пользователь может входить только в одну группу 1:М)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
выбрать
  п.имя_пользователя
из
  группы г,
  пользователи п
где г.имя_группы = 'Группа1'
 и п.идентификатор_группы = г.идентификатор_группы
но может и таким (Н:М)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
выбрать
  п.имя_пользователя
из
  группы г,
  группы_пользователи гп,
  пользователи п
где г.имя_группы = 'Группа1'
 и гп.идентификатор_группы = г.идентификатор_группы
 и п.идентификатор_пользователя = гп.идентификатор_пользователя
или же совсем другим, руны, к сожалению, не дают точного ответа :)
...
Рейтинг: 0 / 0
09.04.2007, 12:49
    #34447095
Serik Akhmetov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
users and groups
Если вас интересуют системные группы и пользователи
Код: plaintext
select * from information_schema.applicable_roles;
...
Рейтинг: 0 / 0
12.04.2007, 19:37
    #34457420
Knifer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
users and groups
Господа имеются ввиду стандартные группы и пользователи - те pg_group и pg_user.
Спасибо
...
Рейтинг: 0 / 0
16.04.2007, 11:46
    #34462945
Shweik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
users and groups
echo "\dg" | psql -E template1
...
Рейтинг: 0 / 0
18.04.2007, 03:45
    #34468122
Knifer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
users and groups
Господа мне необходим именно SQL запрос
...
Рейтинг: 0 / 0
18.04.2007, 06:46
    #34468175
users and groups
"...Гаспада все в Париже!" (с)
Совсем деревянные пошли разработчики. Ты ему вот-как-сделать а он - сделай за мИня.
Короче - полный виндоус настал.
По сабжу Похоже искать решение сам ты просто не пробовал. Ничо, кодер без мозгов - это тоже кодер с мозгами, только без мозгов
Код: 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
18.04.2007, 19:54
    #34471048
Knifer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
users and groups
Спасибо
Особенно понравилось - " Ничо, кодер без мозгов - это тоже кодер с мозгами, только без мозгов" Это супер. Времени не хватила доки почитать, читал урезаный русский перевод - PostgreSQL руководство разработчика и администратора.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / users and groups / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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