Hi, On 2023-02-13 18:06:23 +0100, Peter Eisentraut wrote: > 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?
For me it's using gdb, pidstat, strace, perf, ... But for those %p in the PROMPTs is more useful. > 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? E.g. I fire of a query, it's slower than I'd like, I want to attach perf. Of course I can establish a separate connection, query pg_stat_activity there, and then perf. But that requires manually filtering pg_stat_activity to find the query. Greetings, Andres Freund