← スキル一覧に戻る

postgresql-plpgsql
by pluginagentmarketplace
PostgreSQL developer roadmap plugin with database patterns and query optimization
⭐ 1🍴 0📅 2026年1月5日
SKILL.md
name: postgresql-plpgsql description: Write PL/pgSQL - functions, procedures, triggers, error handling version: "3.0.0" sasmp_version: "1.3.0" bonded_agent: 06-postgresql-plpgsql bond_type: PRIMARY_BOND category: database difficulty: advanced estimated_time: 4h
PostgreSQL PL/pgSQL Skill
Atomic skill for procedural programming
Overview
Production-ready patterns for functions, procedures, triggers, and exception handling.
Prerequisites
- PostgreSQL 16+
- Understanding of SQL
Parameters
parameters:
code_type:
type: string
required: true
enum: [function, procedure, trigger, aggregate]
volatility:
type: string
enum: [IMMUTABLE, STABLE, VOLATILE]
Quick Reference
Function Template
CREATE OR REPLACE FUNCTION func_name(p_param TYPE)
RETURNS return_type
LANGUAGE plpgsql STABLE SECURITY DEFINER
SET search_path = app, public
AS $$ DECLARE v_result TYPE; BEGIN
-- Logic
RETURN v_result;
EXCEPTION WHEN OTHERS THEN
RAISE WARNING '%', SQLERRM;
RETURN NULL;
END; $$;
Trigger Template
CREATE OR REPLACE FUNCTION trigger_func() RETURNS TRIGGER AS $$
BEGIN
IF TG_OP = 'UPDATE' THEN NEW.updated_at := NOW(); END IF;
RETURN NEW;
END; $$ LANGUAGE plpgsql;
CREATE TRIGGER trg_name BEFORE UPDATE ON t FOR EACH ROW EXECUTE FUNCTION trigger_func();
Volatility
| Category | Use Case |
|---|---|
| IMMUTABLE | Math, formatting |
| STABLE | Lookups (no writes) |
| VOLATILE | INSERT, random() |
Exception Handling
EXCEPTION
WHEN unique_violation THEN ... -- 23505
WHEN foreign_key_violation THEN ... -- 23503
WHEN OTHERS THEN RAISE EXCEPTION '% [%]', SQLERRM, SQLSTATE;
Troubleshooting
| Error | Cause | Solution |
|---|---|---|
42883 | Function not found | Check signature |
42P13 | Invalid definition | Review syntax |
| Trigger not firing | Wrong timing | Check BEFORE/AFTER |
Usage
Skill("postgresql-plpgsql")
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です