postgresql-optimization 是做什麼的?
專注於 PostgreSQL 特有功能、進階資料型別及獨家能力的開發助手。涵蓋 JSONB 操作、陣列型別、自訂型別、範圍/幾何型別、全文檢索、視窗函數及 PostgreSQL 擴充套件生態系統。
概述
此技能專為 PostgreSQL 開發者設計,協助他們有效運用 PostgreSQL 特有的強大功能。它涵蓋了 JSONB 的高效操作、陣列型別與自訂型別的靈活定義、範圍型別與幾何型別的空間與時間資料處理、全文檢索的實作,以及視窗函數的進階分析查詢。此外,技能還深入介紹了 PostgreSQL 擴充套件生態系統,例如 pgcrypto、PostGIS 等,幫助開發者擴充資料庫功能。支援平台包括 Claude Code、Cursor、Codex 等 AI 代理工具,透過詳細的 Markdown 文件與範例程式碼,提供即時、準確的 PostgreSQL 開發指導,顯著提升開發效率與資料庫設計品質。
核心功能
- JSONB 操作:提供高效的 JSON 資料查詢與索引技巧,包括
->,->>,@>,?等運算子。 - 陣列型別:支援陣列建立、元素存取、陣列函數如
unnest()與array_agg()。 - 自訂型別:使用
CREATE TYPE定義複合型別、列舉型別與範圍型別。 - 範圍型別:處理日期、時間與數值範圍,使用
@>,&&,<<等運算子。 - 幾何型別:支援點、線、多邊形等幾何資料,搭配
ST_*函數(需擴充套件PostGIS)。 - 全文檢索:建立
tsvector與tsquery,使用@@運算子進行高效文字搜尋。 - 視窗函數:應用
ROW_NUMBER(),RANK(),LAG(),LEAD()等進行分析查詢。 - 擴充套件生態系統:列出常見擴充套件如
pgcrypto、hstore、pg_stat_statements,並提供安裝與使用範例。
使用方式
在支援的 AI 代理工具中,直接詢問 PostgreSQL 相關問題,技能將根據 SKILL.md 文件提供最佳實踐與程式碼範例。例如:
- 「如何在 PostgreSQL 中使用 JSONB 進行高效查詢?」
- 「示範一個使用視窗函數計算累計總和的範例。」
- 「列出常用的 PostgreSQL 擴充套件及其用途。」
範例
JSONB 操作
SELECT id, data->'name' AS name
FROM users
WHERE data @> '{"age": 30}';
全文檢索
SELECT title, ts_rank(body_tsv, query) AS rank
FROM articles, to_tsquery('english', 'postgreSQL & optimization') AS query
WHERE body_tsv @@ query
ORDER BY rank DESC;
視窗函數
SELECT
department,
employee_name,
salary,
RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS salary_rank
FROM employees;
資源
此技能文件會持續更新以反映最新的 PostgreSQL 功能和最佳實踐。