Я перехожу к Postgresql, но перед вами стоит проблема.postgresql эквивалент SQL Server sysprocesses loginname и имя_программы
«Трюк», который я использую с SQL Server, заключается в постоянном входе в систему с использованием одного пользователя (типично sa), и я пишу имя_программы в подключении к базе данных, чтобы проверить количество зарегистрированных в настоящее время пользователей в приложении. Каждый раз, когда я подключаю db для UserX, я устанавливаю имя_компьютера в соединении как «MyApp_UserX». Таким образом, используя следующий запрос, я могу подсчитать, сколько пользователей подключено к моему приложению. Я использую это для проверки лицензии, и он очень надежен в sql-сервере.
select count(sp.loginame) as CNT
from Master.dbo.sysprocesses sp
join Master.dbo.sysdatabases sd on sp.dbid = sd.dbid
where sd.name = MYDATABASE and sp.program_name like 'MyApp%'
В настоящее время Postgresql не позволяет мне указывать строку типа program_name. Что вы можете предложить?
Для пользователей Delphi: Примечание. Я использую unidac, переходя из SDAC. в SDAC у меня было TMSConnection.ApplicationName, но нет эквивалента Postgresql.
Спасибо за ценную информацию, на самом деле 9,0 содержит ту же самую функцию, и было бы здорово иметь его. – LaBracca