วิธีดูการเชื่อมต่อที่ใช้งานและ "กิจกรรมปัจจุบัน" ใน PostgreSQL 8.4


99

ฉันกำลังตรวจสอบปัญหาเกี่ยวกับการเชื่อมต่อฐานข้อมูลที่เปิดทิ้งไว้ไม่สิ้นสุดทำให้เกิดปัญหาบนเซิร์ฟเวอร์ฐานข้อมูล ฉันจะดูการเชื่อมต่อที่เปิดไปยังเซิร์ฟเวอร์ PostgreSQL ได้อย่างไรโดยเฉพาะอย่างยิ่งการเชื่อมต่อที่ใช้ฐานข้อมูลเฉพาะ โดยหลักการแล้วฉันต้องการดูว่าคำสั่งใดที่กำลังดำเนินการอยู่ที่นั่นเช่นกัน โดยทั่วไปฉันกำลังมองหาบางสิ่งบางอย่างที่เทียบเท่ากับมุมมอง "กิจกรรมปัจจุบัน" ใน MSSQL


จาก PostgreSQL 9.0 บนคุณจะเห็นชื่อของแอปพลิเคชันที่ทำให้เกิดปัญหา อาจเป็นประโยชน์สำหรับการตรวจสอบในอนาคต
postgresql007

คำตอบ:


137

ตกลงรับจากคนอื่น แบบสอบถามนี้ควรทำเคล็ดลับ:

select *
from pg_stat_activity
where datname = 'mydatabasename';

23

ดูเพิ่มเติมที่pg-topซึ่งทำหน้าที่เหมือนด้านบนยกเว้นว่ามันแสดงกิจกรรม postgres

  • ติดตั้ง pg-top (ใน Debian, แพ็คเกจเรียกว่า "ptop")
  • เป็นผู้ใช้ postgres (เช่นsudo su postgres)
  • วิ่ง pg_top

ดังนั้นหายากปฏิบัติการ windows คุณ (เกือบ) ไม่เคยมีชุด GCC เต็มรูปแบบหรือ Mingw บนเซิร์ฟเวอร์ Windows (ไม่ใช่ตัวเลือกของฉันไม่โทษฉัน)
oligofren

@oligofren Running Postgresql บน Windows เป็นบิตของการผจญภัยถ้าไม่มีเหตุผลอื่นนอกจากนั้นมีเครื่องมือและเครื่องมือมากมายที่เขียนขึ้นสำหรับ Linux
Wayne Conrad

13

การอ้างอิงที่นำมาจากบทความนี้

SELECT 
    pid
    ,datname
    ,usename
    ,application_name
    ,client_hostname
    ,client_port
    ,backend_start
    ,query_start
    ,query  
FROM pg_stat_activity
WHERE state <> 'idle'
AND pid<>pg_backend_pid();

queryและpidถูกตั้งชื่อcurrent_queryและprocpidและstateไม่พร้อมใช้งานpg_stat_activityก่อนหน้า PostgreSQL 9.2
user369450


1

สองวิธีในการตรวจสอบในUbuntu 18.04เพียงเพื่อการอ้างอิง

หนึ่งใช้pg_top:

$ sudo apt-get install ptop
$ pg_top # similar to top as others mentioned

สองใช้pgAdmin4:

$ sudo apt-get install pgadmin4 pgadmin4-apache2
# type in password and use default url
$ pgadmin4

ในแดชบอร์ดตรวจสอบยอดรวม / ใช้งานเป็น

ป้อนคำอธิบายรูปภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.