On Thu, May 19, 2011 at 4:21 AM, Albe Laurenz <laurenz.albe@wien.gv.at> wrote:
> Pavel Stehule wrote:
>>> Is there any function in PGSQL that returns an unique Session
>>> identifier of the actual session?
>>> For example a Bigint, or GUID, or etc?
>>> Can I get the living Session identifiers from PG?
>>
>> try
>>
>> postgres=# select pg_backend_pid();
>> pg_backend_pid
>> ----------------
>> 17327
>> (1 row)
>
> I don't totally understand the intended use, but process IDs have the
> problem that they will get reused eventually.
>
> So if that's not good enough, you can construct a session ID like
> %c in log_line_prefix with the query found in the documentation:
no, but pid + backend_start_time *is* enough -- the backend session is
generated directly from them. I personally wouldn't use the hex
version -- pointless obfuscation -- I would just maintain pid+start
time as the session if I wasn't worried about the session being
guessed, and a salted digest of those two values if I was.
merlin