Claude Skill MartKhám phá skillCâu dùng ngayHọc qua videoDùng terminalSkill là gì?
Về danh sách

Migration schema PostgreSQL không downtime

Skill hướng dẫn lập kế hoạch, kiểm thử và thực thi thay đổi schema PostgreSQL trên DB production mà không gây khóa bảng hay downtime.

Lập trìnhNâng cao1,838107Điểm AI 9/10Cập nhật lần cuối: 16 thg 9, 2026

Skill này làm gì

  • Cung cấp bảng tra mức lock cho mọi lệnh DDL phổ biến, phân loại rõ lệnh chạy tức thì và lệnh phải rewrite/scan toàn bảng.
  • Đưa ra mẫu SQL an toàn theo từng bước cho: thêm/xóa/đổi tên cột, đổi kiểu dữ liệu, thêm NOT NULL, FOREIGN KEY, UNIQUE, định nghĩa lại PRIMARY KEY.
  • So sánh chiến lược lock_timeout / statement_timeout, vòng lặp retry xử lý ngoại lệ lock_not_available, và LOCK TABLE ... NOWAIT.
  • Hướng dẫn backfill theo lô, truy vấn kiểm tra trước/sau migration, phân biệt thao tác có thể và không thể rollback, cùng quy trình diễn tập trên bản fork của database.
  • Liệt kê 9 lỗi thường gặp: test trên bảng rỗng, quên CONCURRENTLY, để lại index invalid, không theo dõi replication lag...

Phù hợp với ai

  • Backend developer, DBA, platform engineer vận hành PostgreSQL với bảng hàng triệu dòng.
  • Nhóm muốn review lại SQL do Rails/Django/Prisma sinh ra xem có an toàn cho production không.
  • Tổ chức cần phối hợp deploy code và đổi schema để release không downtime.

Ví dụ sử dụng

  1. "Thêm created_at TIMESTAMPTZ DEFAULT now() vào bảng orders có an toàn không?" → Skill chỉ ra default dạng volatile sẽ rewrite toàn bảng và viết lại thành: thêm cột nullable → backfill theo lô → SET DEFAULT rồi SET NOT NULL.
  2. "Cần thêm index cho cột user_id trên bảng 10 triệu dòng" → Hướng dẫn CREATE INDEX CONCURRENTLY, không đặt trong transaction, và cách kiểm tra pg_index.indisvalid nếu build thất bại.
  3. "Đổi cột amount từ INTEGER sang NUMERIC" → Đề xuất mẫu thêm cột mới + backfill + swap cột, kèm kế hoạch rollback và diễn tập trên fork trước khi chạy thật.

· · · Hướng dẫn cài đặt · · ·

Dùng thử ngay, không cần cài

Dán đoạn dưới vào Claude là dùng được skill này mà không cần cài đặt.

Hãy đọc hướng dẫn trong tệp này và làm theo để giúp mình:
https://raw.githubusercontent.com/timescale/pg-aiguide/HEAD/skills/postgres-database-migration/SKILL.md

Mình muốn: (viết việc bạn cần ở đây)

Nếu Claude không mở được liên kết, hãy mở liên kết và copy nội dung vào rồi dán.

Thấy hữu ích thì tải ZIP bên dưới và cài. Sau đó skill tự chạy, không phải dán lại mỗi lần.

Cài vào ứng dụng Claude (không cần terminal)
  1. Tải tệp ZIP bằng nút bên dưới.
  2. Trong Claude, mở Settings → Capabilities và bật 'Code execution and file creation'. (chỉ một lần)
  3. Vào Customize → Skills → + → 'Upload a skill' rồi tải tệp ZIP lên.
Tải ZIP
Cài vào Claude Code

Để Claude làm — dán câu dưới đây vào Claude Code

Hãy cài skill mình tìm thấy trên Claude Skill Mart.
Copy thư mục skills/postgres-database-migration từ repo GitHub timescale/pg-aiguide vào ~/.claude/skills/postgres-database-migration/ của mình.
Sau khi cài xong, cho mình biết skill này làm được gì trong một câu.

Cài bằng lệnh thủ công

git clone https://github.com/timescale/pg-aiguide.git && mkdir -p ~/.claude/skills && cp -r pg-aiguide/skills/postgres-database-migration ~/.claude/skills/

Đây là skill do người khác tạo. Hãy kiểm tra repo gốc trước khi cài.

  1. Mở terminal.
  2. Tạo thư mục skill: mkdir -p ~/.claude/skills
  3. Tải repo: git clone https://github.com/timescale/pg-aiguide.git
  4. Sao chép skill: cp -r pg-aiguide/skills/postgres-database-migration ~/.claude/skills/
  5. Kiểm tra các file trong references/ (backfill-strategies.md, validation-queries.md, complete-example.md) đã được copy đầy đủ.
  6. Khởi động lại Claude Code, rồi thử hỏi: "Thêm cột vào bảng production có bị lock không?" để skill tự kích hoạt.
  7. Luôn diễn tập trên bản backup hoặc fork trước khi áp dụng lên production.
Xem mã nguồn trên GitHubGiấy phép: Apache-2.0