Cơ sở dữ liệu 22/09/2026 5 phút

pg_stat_activity trong PostgreSQL: nhìn database đang chạy gì và ai chặn ai

pg_stat_activity là cửa sổ nhìn vào mọi phiên đang kết nối: query nào đang chạy, phiên nào chờ khoá, idle-in-transaction nào đang giữ khoá. Bài này dựng thật ba phiên xung đột, dùng pg_blocking_pids tìm thủ phạm, rồi pg_terminate_backend giải phóng. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 5 phút

Wait events trong PostgreSQL: đọc hệ thống đang chờ ở đâu để tìm nút thắt thật

Wait events cho biết mỗi phiên đang chờ gì — khoá, ghi WAL, đọc đĩa, hay client. Lấy mẫu chúng nhiều lần là một profiler nghèo cho database. Bài này đo thật một tải ghi bị nghẽn ở WAL, một scan đọc đĩa, và một khoá hàng. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 5 phút

Tìm truy vấn chậm trong PostgreSQL: vì sao phải nhìn tổng thời gian, không phải mỗi lần

pg_stat_statements gom mọi lần chạy cùng dạng truy vấn. Bài này đo thật một nghịch lý: một point-lookup 0,008 mili giây chạy 427 nghìn lần chiếm 92,5 phần trăm tổng thời gian database, còn một full scan 94 mili giây chỉ chiếm 7,5 phần trăm — sắp theo mean sẽ đuổi nhầm thủ phạm. PostgreSQL 16.

Cơ sở dữ liệu 22/09/2026 6 phút

Chẩn đoán một truy vấn chậm trong PostgreSQL từ A đến Z: quy trình 5 bước

Gộp mọi công cụ đã học vào một quy trình thực chiến: phát hiện, đọc kế hoạch, tìm nguyên nhân, sửa, xác nhận. Bài này chẩn đoán thật một truy vấn 49 mili giây quét cả 3 triệu đơn — tìm ra thiếu index, thêm index từng phần nhỏ 7,6 MB, còn 9,5 mili giây. PostgreSQL 16.