powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как узнать Id пользователя и можноли установить свой Id?
13 сообщений из 13, страница 1 из 1
Как узнать Id пользователя и можноли установить свой Id?
    #34915095
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!
Насколько я понимаю у каждого пользователя в БД есть свой Id !
Как узнать имя текущего пользователя из хранимой прецедуры я знаю, а как узнать его Id?
И можноли при создании пользователя или в дальнейшем изменить этот Id ! Сделать его таким каким я хочу!?
...
Рейтинг: 0 / 0
Как узнать Id пользователя и можноли установить свой Id?
    #34915352
hnfgnfnhgmn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select usesysid
from pg_user
usename = 'user_name'

а вот по поводу изменить ID сомневаюсь
...
Рейтинг: 0 / 0
Как узнать Id пользователя и можноли установить свой Id?
    #34915488
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hnfgnfnhgmnselect usesysid
from pg_user
usename = 'user_name'


А может без SELECTа можно?
Может он также как и пользователь хранится в памяти в момент сессии?
Ктонибудь знает
...
Рейтинг: 0 / 0
Как узнать Id пользователя и можноли установить свой Id?
    #34917534
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeximusВсем привет!
Насколько я понимаю у каждого пользователя в БД есть свой Id !
Как узнать имя текущего пользователя из хранимой прецедуры я знаю, а как узнать его Id?
И можноли при создании пользователя или в дальнейшем изменить этот Id ! Сделать его таким каким я хочу!?
ИМХО, глубоко закопанные грабли. Id пользователя - внутренние дела посгреса. Именно так разработчики и считают, оставляя за собой право поменять способ формирования Id. Напоролся на эти грабли при переходе с 7.4 на 8.1. В 7-ой версии id имел свой тип данных и счетчик. С 8-ой версии id имеет тип данных oid и привязан к счетчику oid'ов. Кстати, при восстановлении кластера из дампа, id пользователей при подходе, организованном в 8.х вполне может поменяться.
...
Рейтинг: 0 / 0
Как узнать Id пользователя и можноли установить свой Id?
    #34918762
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые читатели данного топика, как вы думаете, разумно былобы сделать имя пользователи егоже Id! Ну например есть сотрудник Пупкин Вася. У него номер Id 66 ! Ну дак и логин у него будет 66.
Я бы так сделал конечно не задумываясь - еслибы не проблема безопастности. Ну например при импорте данных есть список Id, ну например импортирую список сотрудников. По их Id можно подбирать пароль... Вот! Но зато как удобно, Если что то кто то делает, то функцией user_session можно узнать Id того кто что то сделал. И не надо запрашивать и проверять в данных что увеличит потерю времени!
...
Рейтинг: 0 / 0
Как узнать Id пользователя и можноли установить свой Id?
    #34919239
Dan Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
логин пользователя является его id только в другой форме.
чем он не устраивает?
...
Рейтинг: 0 / 0
Как узнать Id пользователя и можноли установить свой Id?
    #34920909
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeximusУважаемые читатели данного топика, как вы думаете, разумно былобы сделать имя пользователи егоже Id! Ну например есть сотрудник Пупкин Вася. У него номер Id 66 ! Ну дак и логин у него будет 66.
Лично я разумности не вижу. Равно как и задачи которую Вы пытаетесть таким образом решить. Если Вы под действиями понимаете DML (I/U/D) то потери на 1 селект - не такие и большие (всё равно скорее всего в кеш попадёт), если только у Вас не потоковая вставка, но там это тогда можно по другому решить.

У меня в одном из проектов есть таблица с логинами и шифроваными паролями postgresql, которые расшифровываются от пароля юзверя. И намана, на эту тему ничего не тормозит. Аудит настроен на логин пользователя ессно.
...
Рейтинг: 0 / 0
Как узнать Id пользователя и можноли установить свой Id?
    #34920914
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dan Blackлогин пользователя является его id только в другой форме.
чем он не устраивает?

Не у каждого сотрудника будет имя пользователя, иначе говоря не у каждого сотрудника будет свой доступ в БД. Некоторые сотрудники, будут просто созданы для учёта.
И былобы не правильно создавать для каждого пользователя.
К томуже, сотрудники у меня будут храниться в контрагентак, точнее в справочнике контрагентов. И опятьже, слишком круто создавать под каждого контрагента для выделения ему Id имя пользователя. Но на самом деле то что я описал можно былобы сделать по другому еслибы не одно но...
В моей БД предпологается возможность использовать несколько серверов. Ну например есть два магазина запчастей на авто. Они находятся друг от друга на отдалёном растоянии, и у хотябы у одного нет доступа в интернет. А проводить его довольнотаки дорого или просто невозможно.
В такой ситуации можно присвоить каждому серверу свой Id и тогда Id сотрудника в одном магазине никак не пересечётся с Id сотрудника в другом магазине. Так как в первом магазине Id сервера будет 1, а во втором 2. А ключ Id будет из двух полей. И сотрудники одного сервера легко добавятся к сотрудникам другого сервера. Также и все контрагенты.
...
Рейтинг: 0 / 0
Как узнать Id пользователя и можноли установить свой Id?
    #34921097
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leximus Dan Blackлогин пользователя является его id только в другой форме.
чем он не устраивает?

Не у каждого сотрудника будет имя пользователя, иначе говоря не у каждого сотрудника будет свой доступ в БД. Некоторые сотрудники, будут просто созданы для учёта.
И былобы не правильно создавать для каждого пользователя.
К томуже, сотрудники у меня будут храниться в контрагентак, точнее в справочнике контрагентов. И опятьже, слишком круто создавать под каждого контрагента для выделения ему Id имя пользователя. Но на самом деле то что я описал можно былобы сделать по другому еслибы не одно но...
В моей БД предпологается возможность использовать несколько серверов. Ну например есть два магазина запчастей на авто. Они находятся друг от друга на отдалёном растоянии, и у хотябы у одного нет доступа в интернет. А проводить его довольнотаки дорого или просто невозможно.
В такой ситуации можно присвоить каждому серверу свой Id и тогда Id сотрудника в одном магазине никак не пересечётся с Id сотрудника в другом магазине. Так как в первом магазине Id сервера будет 1, а во втором 2. А ключ Id будет из двух полей. И сотрудники одного сервера легко добавятся к сотрудникам другого сервера. Также и все контрагенты.
Не надо путать мухов и котлетов. Сотрудники-контрагенты это объект базы данных типа таблица. Логин пользователя это совсем другая котлета.
Можно таблицу связку замутить в стиле:
CREATE TABLE agent_login (unique_id int4, agent_id int4, db_id Int4, uid name), где agent_id - ссылка на таблицу контрагентов, db_id - айдишник базы данных, uid - name пользователя. Именно Name, а не Id. По причинам вышеуказанным. А вот unique_id можно писать в таблицы в качестве userstamp или еще для чего там это надо было.
...
Рейтинг: 0 / 0
Как узнать Id пользователя и можноли установить свой Id?
    #34922664
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leximus
Не у каждого сотрудника будет имя пользователя, иначе говоря не у каждого сотрудника будет свой доступ в БД. Некоторые сотрудники, будут просто созданы для учёта.
И былобы не правильно создавать для каждого пользователя.
К томуже, сотрудники у меня будут храниться в контрагентак, точнее в справочнике контрагентов. И опятьже, слишком круто создавать под каждого контрагента для выделения ему Id имя пользователя. Но на самом деле то что я описал можно былобы сделать по другому еслибы не одно но...
В моей БД предпологается возможность использовать несколько серверов. Ну например есть два магазина запчастей на авто. Они находятся друг от друга на отдалёном растоянии, и у хотябы у одного нет доступа в интернет. А проводить его довольнотаки дорого или просто невозможно.
В такой ситуации можно присвоить каждому серверу свой Id и тогда Id сотрудника в одном магазине никак не пересечётся с Id сотрудника в другом магазине. Так как в первом магазине Id сервера будет 1, а во втором 2. А ключ Id будет из двух полей. И сотрудники одного сервера легко добавятся к сотрудникам другого сервера. Также и все контрагенты.
1. Разделение по базам ИМХО лучше делать разделением диапазонов SERIAL полей, т.е. сиквенсов, но это не критично.
2. Ну у Вас видно есть две сущности - пользователи (реально работающие) и сотрудники (просто есть . В чем проблема? Связка 1:1 необязательная.
...
Рейтинг: 0 / 0
Как узнать Id пользователя и можноли установить свой Id?
    #34946959
фыфвв
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди, а подскажите, плиз, где просто свой ЛИЧНЫЙ ID посмотреть
...
Рейтинг: 0 / 0
Как узнать Id пользователя и можноли установить свой Id?
    #34947977
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фыфввЛюди, а подскажите, плиз, где просто свой ЛИЧНЫЙ ID посмотреть
select usesysid from pg_user where pg_user.usename = session_user
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как узнать Id пользователя и можноли установить свой Id?
    #35678842
Noks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а вконтакте можно както ухнать чужой айди?? ;-)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как узнать Id пользователя и можноли установить свой Id?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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