0
我有這個簡單的查詢的輸出的煩惱:和pg_stat_activity奇怪的輸出
select
pid,
state
from pg_stat_activity
where datname = 'My_DB_name'
同時運行它不同的方式:
- 在IDE 在終端
- 通過運行PSQL在bash腳本中:
QUERY="copy (select pid, state from pg_stat_activity where datname = 'My_DB_name') to stdout with csv"
psql -h host -U user -d database -t -c "$QUERY" >> result
1和2返回的結果,因爲我需要他們:
1:
pid state
------ -----------------------------
23126 idle
25573 active
2642 active
20420 idle
23391 idle
5339 idle
7710 idle
1558 idle
12506 idle
2862 active
716 active
9834 idle in transaction (aborted)
2:
pid | state
-------+-------------------------------
23126 | idle
25573 | idle
2642 | active
20420 | idle
23391 | idle
5339 | active
7710 | idle
1558 | idle
12506 | idle
2211 | active
716 | active
9834 | idle in transaction (aborted)
3是奇怪的 - 它沒有給我任何狀態除「有效」外的名稱
23126,
25573,
2642,
20420,
23391,
5339,
7710,
1558,
12506,
1660,active
716,active
1927,active
9834,
我錯過了什麼?如何通過bash腳本獲取所有的狀態名稱?
您是否在所有情況下都以相同的用戶進行連接? 'pg_stat_activity'會向超級用戶顯示不同於普通用戶的輸出。 – jmelesky
是的,原因是作爲非超級用戶連接。謝謝。 – dreamca4er
@jmelesky,你可以發表你的評論作爲答案?所以我可以選擇它是正確的 – dreamca4er