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.

Lập trình Go 22/09/2026 9 phút

Đọc GODEBUG=schedtrace trong Go: giải mã trạng thái bộ lập lịch không cần thư viện

schedtrace là công cụ số một để nhìn vào bộ lập lịch Go. Bài này giải mã từng trường của một dòng SCHED thật, và theo dõi vòng đời một run qua bốn snapshot — từ lúc goroutine dồn vào hàng đợi cục bộ tới khi mọi core bận. Kèm cách đọc để chẩn đoán nút thắt. Go 1.23.