pg_stat_activity ile Canlı Etkinliği Tanılama
Her bağlantının o anda ne yaptığını görmek, uzun süren ve engellenmiş sorguları bulmak ve sorunlu oturumları güvenle iptal etmek veya sonlandırmak için pg_stat_activity görünümünü kullanmayı öğrenin.
pg_stat_activity ile Canlı Etkinliği Tanılama, CoddyKit'te ücretsiz bir PostgreSQL Performance & Query Optimization dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PostgreSQL Performance & Query Optimization öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PostgreSQL Performance & Query Optimization kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Your Window into Live Sessions
The pg_stat_activity view has one row per server connection. It is the first place to look when the database feels slow or stuck, showing what each session is doing this instant.
The Key Columns
The most useful columns are:
pid: the backend process idstate: active, idle, idle in transactionquery: the current or last SQL textwait_event: what the session is waiting on
A Basic Look
Select the essentials for all active sessions.
SELECT pid, usename, state, wait_event, query
FROM pg_stat_activity
WHERE state <> 'idle';Finding Long-Running Queries
Compute how long each active query has been running by subtracting query_start from now.
SELECT pid, now() - query_start AS runtime, query
FROM pg_stat_activity
WHERE state = 'active'
ORDER BY runtime DESC;Idle in Transaction Danger
A session in idle in transaction holds locks and pins the oldest XID without doing work. These can block vacuum and other sessions. Hunt them down.
SELECT pid, now() - xact_start AS tx_age, query
FROM pg_stat_activity
WHERE state = 'idle in transaction'
ORDER BY tx_age DESC;Seeing What a Session Waits On
The wait_event_type and wait_event columns reveal whether a session is waiting on a lock, on I/O, or on a client. This pinpoints the bottleneck.
SELECT pid, wait_event_type, wait_event, query
FROM pg_stat_activity
WHERE wait_event IS NOT NULL;Finding Who Blocks Whom
Combine activity with pg_blocking_pids to see which sessions are blocking others.
SELECT pid, pg_blocking_pids(pid) AS blocked_by, query
FROM pg_stat_activity
WHERE cardinality(pg_blocking_pids(pid)) > 0;Cancelling a Query
pg_cancel_backend stops the current query in a session but leaves the connection open. Try this first — it is the gentler option.
SELECT pg_cancel_backend(12345);Terminating a Connection
If cancelling is not enough, pg_terminate_backend closes the whole connection, rolling back its transaction. Use it for stuck idle-in-transaction sessions.
SELECT pg_terminate_backend(12345);Building a Monitoring Habit
Good practice:
- Set
idle_in_transaction_session_timeoutto auto-kill stragglers - Set
statement_timeoutto bound runaway queries - Watch
pg_stat_activityduring incidents before reaching for the kill switch
Counting Connections by State
To gauge overall pressure, summarize how many connections sit in each state. A pile of idle-in-transaction or active sessions hints at pooling or query problems.
SELECT state, count(*)
FROM pg_stat_activity
GROUP BY state
ORDER BY count(*) DESC;Quick Check
Test your live-monitoring knowledge.
Recap
You learned live diagnosis with pg_stat_activity:
- One row per connection with state, query, and wait info
- Find long queries via
now() - query_start - Hunt idle-in-transaction sessions that block vacuum
pg_blocking_pidsreveals who blocks whom- Cancel a query or terminate a backend when needed
Yapay zeka eğitmeniyle SQL öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 22
- Dersler
- 88
Sıkça Sorulan Sorular
“pg_stat_activity ile Canlı Etkinliği Tanılama” dersi ücretsiz mi?
Evet — “pg_stat_activity ile Canlı Etkinliği Tanılama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PostgreSQL Performance & Query Optimization kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PostgreSQL Performance & Query Optimization kursu toplamda 4 dersten oluşur.
“pg_stat_activity ile Canlı Etkinliği Tanılama” dersinde ne öğreneceğim?
Her bağlantının o anda ne yaptığını görmek, uzun süren ve engellenmiş sorguları bulmak ve sorunlu oturumları güvenle iptal etmek veya sonlandırmak için pg_stat_activity görünümünü kullanmayı öğrenin. PostgreSQL Performance & Query Optimization ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
PostgreSQL Performance & Query Optimization öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te PostgreSQL Performance & Query Optimization, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“pg_stat_activity ile Canlı Etkinliği Tanılama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu PostgreSQL Performance & Query Optimization dersinde kod yazıp çalıştırabilir miyim?
Evet. Her PostgreSQL Performance & Query Optimization dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- pg_stat_statements ve pg_buffercache Kullanımı
- Analiz için Günlük Kaydı Yapılandırması
- Harici İzleme Araçlarıyla Entegrasyon
- pg_stat_activity ile Canlı Etkinliği Tanılama