po 13. 2. 2023 v 18:06 odesÃlatel Peter Eisentraut < peter.eisentr...@enterprisedb.com> napsal:
> On 09.02.23 10:11, Pavel Stehule wrote: > > first and main (for me) - I can use psql variables tab complete - just > > :B<tab> - it is significantly faster > > second - I can see all connection related information by \set > > third - there is not hook on reconnect in psql - so if you implement > > BACKEND_PID by self, you ensure to run query with pg_backend_pid() after > > any reconnect or connection change. > > > > It is clean so you can run "select pg_backend_pid() AS "BACKEND_PID" > > \gset" and you can store it to .psqlrc. But most of the time I am in > > customer's environment, and I have the time, possibility to do a > > complete setup of .psqlrc. It looks (for me) like a generally useful > > feature to be everywhere. > > But what do you need the backend PID for in the first place? > > Of course, you might want to use it to find your own session in > pg_stat_activity or something like that, but then you're already in a > query and can use pg_backend_pid(). What do you need the backend PID > for outside of such a query? > In every real use case you can use pg_backend_pid(), but you need to write a complete name without tab complete, and you need to know so this function is available. BACKEND_PID is supported by tab complete, and it is displayed in \set list and \? variables. Nothing less, nothing more, Custom psql variable can have some obsolete value. I can imagine using :BACKEND_PID in \echo command - and it just saves you one step with its own custom variable. It is just some more comfort with almost zero cost. Regards Pavel