pg_stat_statements ile sorgu deposu, autovacuum / bloat / dead tuple analizi, replication slots ile WAL birikimi, logical replication subscriber takibi ve RLS politikalarının kapsam denetimi.
queryid bazlı sıralama, total/mean exec time, rows, shared blks, temp blks. Resource scoring + sınıflandırma (read-heavy, cpu-heavy, etc.).
get_top_queriesget_pg_statementsget_query_detailsget_query_historyEXPLAIN (ANALYZE, BUFFERS, FORMAT JSON) ile yürütme planı, node bazlı maliyet, gerçek satır sayısı, buffer hit/read, JIT istatistikleri.
get_execution_planpg_stat_activity'den aktif sorgular, wait_event_type, wait_event, backend state. Lock wait analizi.
get_wait_eventsget_active_queriesget_active_sessionsget_live_query_monitorpg_stat_user_indexes ile index scan vs sequential scan dağılımı, idx_scan = 0 olan ölü index'ler, missing index önerileri.
get_index_usage_statsget_missing_index_recommendationsAktif backend sayısı, idle in transaction, max_connections kullanım oranı, connection pool davranışı, kullanıcı / DB başına dağılım.
get_connection_statsTüm GUC parametreleri, değer kaynağı (default/configfile/environment), restart gerektirenler, performance ayarları (work_mem, shared_buffers).
get_pg_settingspg_stat_user_tables üzerinden last_vacuum, last_autovacuum, last_analyze, n_dead_tup oranı, autovacuum_count. Hangi tablo geç kalmış, hangisi sık çalıştırılmış?
get_vacuum_statsget_table_statsİstatistik tabanlı bloat tahmini: gerçek boyut vs olması gereken boyut, % bloat, en şişkin tablolar / index'ler. VACUUM FULL veya pg_repack adayları.
get_bloat_statsUzun süreli transaction'lar autovacuum'u bloklar. Eşik dakika geçen tx'ler tespit edilir, idle in transaction (aborted) olanlar uyarılır.
get_long_running_transactionsBackground writer ve checkpoint istatistikleri, buffers_checkpoint vs buffers_clean oranı, checkpoint_warning, max_wal_size davranışı.
get_bgwriter_stats-- Vacuum stats: en geç vacuum gören tablolar SELECT schemaname, relname, n_live_tup, n_dead_tup, round(n_dead_tup::numeric / nullif(n_live_tup,0) * 100, 2) AS dead_pct, last_vacuum, last_autovacuum, autovacuum_count FROM pg_stat_user_tables WHERE n_dead_tup > 1000 ORDER BY dead_pct DESC NULLS LAST LIMIT 50;
pg_stat_replication: client_addr, state, sync_state, write_lag, flush_lag, replay_lag (interval). Senkron replikasyon davranışı.
get_replication_statuspg_replication_slots: aktif olmayan slot'larda biriken WAL byte miktarı, retained_wal, restart_lsn. Disk dolma riskinin erken tespiti.
get_replication_slotsPublications, subscriptions, subscription state, last_msg_send_time, last_msg_receipt_time, latest_end_lsn. Logical decoding sağlığı.
get_logical_replicationpg_stat_archiver: archived_count, failed_count, last_archived_wal, last_archived_time. Arşiv gecikmesi PITR için kritik.
get_wal_archiver_statusSUPERUSER hesap sayısı, public schema yetkileri, password authentication, ssl bağlantı durumu, log_statement = 'all' uyarısı.
get_security_checksHangi tablolarda RLS aktif, FORCE RLS uygulanmış mı, policy expressions, etkilenen rol listesi. RLS bypass eden bypassrls hesapları.
get_row_level_securityTükenmek üzere olan sequence'lar (max_value'ya yaklaşma %), bigint vs integer kullanım kontrolü, identity column geçişleri.
get_sequence_healthYüklü extension'lar (versiyon + namespace), eski sürüm uyarıları (default_version > installed_version), Foreign Data Wrapper yapılandırması.
get_extensionsget_foreign_data_wrappersCluster içindeki tüm veritabanlarının disk üzerinde kaplaması, en büyük tablolar, schema bazlı dağılım, growth trend.
get_db_sizespg_database_sizeSpilling sorgular: work_mem yetmediği için diske yazılan geçici dosyalar. temp_files / temp_bytes ile work_mem ayarı analizi.
get_temp_workspace_metricsget_temp_file_statsTablespace başına disk kullanımı, base + pg_tblspc, sürücü dolma uyarıları (warning %, critical %).
get_disk_volumesget_database_filespg_stat_database üzerinden blks_read, blks_hit, hit ratio, deadlocks, conflicts. PG 14+ pg_stat_io ile detay.
get_io_latency(hours)get_io_stats(hours)| Yetenek | Açıklama | PG Object |
|---|---|---|
| Performance & Query | ||
| Top sorgular | pg_stat_statements TOP-N | pg_stat_statements |
| Plan analizi | EXPLAIN (ANALYZE, BUFFERS, JSON) | EXPLAIN |
| Wait events | Backend wait_event_type | pg_stat_activity |
| Active sessions | Live query monitor | pg_stat_activity |
| Index usage | Idx scan vs seq scan | pg_stat_user_indexes |
| Missing index | Heuristic + sequential scan | — |
| Connection stats | max_connections kullanımı | pg_stat_activity |
| pg_settings | GUC parametre listesi | pg_settings |
| Vacuum & Bloat | ||
| Vacuum stats | last_vacuum, dead_tup oranı | pg_stat_user_tables |
| Bloat estimate | Tablo + index bloat % | pgstattuple / istatistik |
| Long tx | Idle in tx + autovacuum bloklama | pg_stat_activity |
| BG writer | Buffers_checkpoint vs buffers_clean | pg_stat_bgwriter |
| Table stats | n_live_tup, n_dead_tup | pg_stat_user_tables |
| Replication & WAL | ||
| Streaming replication | Replica lag (write/flush/replay) | pg_stat_replication |
| Replication slots | Retained WAL bytes | pg_replication_slots |
| Logical replication | Publication / subscription | pg_publication / pg_subscription |
| WAL archiver | Archive lag, failed count | pg_stat_archiver |
| Security | ||
| Security checks | Superuser, public grants, SSL | pg_authid + checks |
| Row Level Security | Aktif policy'ler, FORCE RLS | pg_policies |
| Sequence health | Tükenme % uyarısı | pg_sequences |
| Extensions | Outdated tespiti | pg_extension |
| FDW | Server + user mapping | pg_foreign_server |
| Storage & I/O | ||
| DB sizes | Tüm veritabanları | pg_database_size |
| Temp files | Spilling sorgular | pg_stat_database |
| Disk volumes | Tablespace usage | pg_tablespace |
| I/O stats | blks_read / hit ratio | pg_stat_database |
PG 12'den 16'ya, Aurora'dan Cloud SQL'e — tek platform, derin metric kapsaması.