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

Thiết kế bảng không gian PostGIS

Bộ hướng dẫn thiết kế bảng dữ liệu vị trí trên PostGIS: chọn kiểu hình học, hệ tọa độ SRID và index không gian đúng cách.

Lập trìnhTrung cấp1,849109Điểm AI 8/10Cập nhật lần cuối: 23 thg 9, 2026

Làm được gì

  • So sánh GEOMETRY và GEOGRAPHY bằng bảng đối chiếu (đơn vị, độ chính xác, hiệu năng, loại index) để chọn đúng kiểu cột.
  • Quy tắc SRID: lưu ở 4326 (WGS84), chuyển sang UTM khi cần đo mét, không trộn SRID, ràng buộc CHECK để cưỡng chế SRID.
  • Chọn index không gian: GiST mặc định, BRIN cho bảng GEOMETRY rất lớn chỉ ghi thêm, SP-GiST cho dữ liệu điểm.
  • Mẫu thiết kế bảng thực tế: POI, thửa đất, theo dõi GPS, vùng phục vụ/giao hàng.
  • Mẹo hiệu năng: dùng ST_DWithin thay ST_Distance, lọc trước bằng &&, tránh hàm trên cột đã index, dùng generated column.
  • Kiểm tra dữ liệu: ST_IsValid/ST_MakeValid, giới hạn tọa độ, và nhắc dùng truy vấn tham số hóa để tránh SQL injection.

Phù hợp với ai

  • Lập trình viên backend xây ứng dụng bản đồ, tìm cửa hàng gần nhất, giao hàng theo vùng trên PostgreSQL/PostGIS.
  • Data engineer cần tối ưu truy vấn không gian đang chạy chậm.
  • Nhóm mới chuyển dữ liệu GIS vào cơ sở dữ liệu, hay nhầm thứ tự (lon, lat).

Ví dụ sử dụng

  1. "Thiết kế bảng cho API tìm nhà hàng trong 1km" → GEOGRAPHY(POINT,4326), index GiST, truy vấn ST_DWithin.
  2. "Tính diện tích thửa đất theo mét vuông" → cột generated với ST_Area(boundary::GEOGRAPHY) hoặc chuyển sang UTM.
  3. "Bảng GPS 100 triệu dòng, index GiST quá nặng" → gợi ý BRIN với pages_per_range và các đánh đổi.

· · · 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/design-postgis-tables/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/design-postgis-tables từ repo GitHub timescale/pg-aiguide vào ~/.claude/skills/design-postgis-tables/ 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/design-postgis-tables ~/.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ải mã nguồn: git clone https://github.com/timescale/pg-aiguide.git
  3. Tạo thư mục skill: mkdir -p ~/.claude/skills
  4. Sao chép skill: cp -r pg-aiguide/skills/design-postgis-tables ~/.claude/skills/
  5. Khởi động lại Claude Code, rồi yêu cầu ví dụ: "giúp tôi thiết kế bảng PostGIS cho dữ liệu GPS".
  6. Trước khi áp dụng thật, đảm bảo PostgreSQL 15+ và đã chạy CREATE EXTENSION postgis;.
Xem mã nguồn trên GitHubGiấy phép: Apache-2.0