技能 postgres-patterns
🐘

postgres-patterns

安全 🌐 網路存取⚙️ 外部命令

مراجعة ترحيلات PostgreSQL وتحسين الاستعلامات

تولد Alembic ترحيلات بدون فهم تأثيرات أداء PostgreSQL. توفر هذه المهارة أنماطاً لمراجعة ترحيلات قاعدة البيانات وكتابة استعلامات فعالة تتجنب فخاخ الأداء الشائعة.

支援: Claude Codex Code(CC)
📊 69 充足
1

下載技能 ZIP

2

在 Claude 中上傳

前往 設定 → 功能 → 技能 → 上傳技能

3

開啟並開始使用

測試它

正在使用「postgres-patterns」。 راجع هذا الترحيل لمشكلات PostgreSQL: op.add_column('users', sa.Column('bio', sa.Text(), nullable=False))

預期結果:

  • تحذير: هذا الترحيل سيُقفل الجدول على الجداول الكبيرة
  • مشكلة: إضافة عمود NOT NULL بدون افتراضي يُعيد كتابة الجدول بالكامل
  • نهج أفضل (عملية من 3 خطوات):
  • 1. أضف العمود القابل للقيمة الخالية أولاً: ALTER TABLE users ADD COLUMN bio TEXT;
  • 2. امسح البيانات على دفعات لتجنب الأقفال الطويلة
  • 3. أضف القيد: ALTER TABLE users ALTER COLUMN bio SET NOT NULL;
  • أيضاً: فكر في إضافة فهرس على bio إذا كنت ستستعلم عنه

正在使用「postgres-patterns」。 جدول المستخدمين لدينا يحتوي على 10 ملايين صف والاستعلامات بطيئة: SELECT * FROM users WHERE status = 'active' ORDER BY created_at DESC LIMIT 100;

預期結果:

  • فكر في فهرس جزئي للمستخدمين النشطين فقط:
  • CREATE INDEX ix_users_active_status_created ON users (status, created_at) WHERE status = 'active';
  • سيكون هذا الفهرس أصغر بكثير من الفهرس الكامل على status
  • تطابق جملة WHERE عامل تصفية استعلامك بالضبط
  • فكر أيضاً في إضافة فهرس تغطية إذا حددت أعمدة معينة

安全審計

安全
v4 • 1/16/2026

This is a pure documentation skill containing only PostgreSQL best practices. No executable code, network calls, file access, or external commands exist. The skill-report.json audit explicitly states risk_level: safe and safe_to_publish: true. All 81 static findings are false positives caused by the scanner misinterpreting SQL identifier backticks as shell execution and database terminology as malicious patterns.

1
已掃描檔案
341
分析行數
2
發現項
4
審計總數
審計者: claude 查看審計歷史 →

品質評分

38
架構
100
可維護性
87
內容
20
社群
100
安全
91
規範符合性

你能建構什麼

مراجعة سلامة الترحيل

تحقق من الترحيلات الجديدة لأقفال الجداول والفهارس المفقودة ومشكلات القيود قبل النشر.

تحسين أداء الاستعلام

تحديد الاستعلامات البطيئة وتطبيق استراتيجيات الفهرسة المناسبة بما في ذلك الفهارس الجزئية وJSONB.

تصحيح أخطاء قاعدة البيانات

تشخيص مشاكل الاتصال وتعارض الأقفال ومشاكل حجم الجدول باستخدام استعلامات التشخيص.

試試這些提示

مراجعة ترحيل أساسية
راجع هذا ترحيل Alembic لمشكلات PostgreSQL. تحقق من أقفال الجداول والفهارس المفقودة ومشكلات القيود: [الصق كود الترحيل]
تحسين الفهرس
هذا الاستعلام بطيء. صمم فهارس مناسبة بما في ذلك الفهارس الجزئية إذا كان الاستعلام يُرشح بقيم محددة: [الصق الاستعلام ومخطط الجدول]
ضبط استعلامات JSONB
استعلامات JSONB بطيئة. أظهر لنا كيفية إنشاء فهارس GIN وفهارس تعبيرية لهذا النمط: [وصف نمط استعلام JSONB]
استكشاف أعطال الأقفال
تطبيقنا يعاني من أقفال. اعرض استعلامات تشخيصية لتحديد العمليات المحجوبة والمعاملات طويلة التشغيل: [وصف الأعراض]

最佳實務

  • استخدم دائماً CREATE INDEX CONCURRENTLY على جداول الإنتاج لتجنب قفل الكتابات
  • استخدم الفهارس الجزئية عندما تستعلم فقط عن مجموعة فرعية من الصفوف للحفاظ على حجم الفهارس صغيراً
  • طبّق عملية الـ 3 خطوات عند إضافة أعمدة NOT NULL إلى الجداول الموجودة

避免

  • استخدام CREATE INDEX بدون CONCURRENTLY على قواعد بيانات الإنتاج
  • إضافة فهارس على أعمدة ذات تنوع منخفض وحدها (مثلعلامات Boolean)
  • استخدام uuid4 كمفاتيح أولية دون النظر في فهارس BRIN أو تجزئة الفهرس

常見問題

هل تتصل هذه المهارة بقاعدتي؟
لا. توفر هذه المهارة أنماطاً وأمثلة. أنت تُلصق كود الترحيل أو الاستعلام الخاص بك، وتقترح تحسينات بناءً على أفضل ممارسات PostgreSQL.
ما إصدارات PostgreSQL المدعومة؟
تدعم الأنماط PostgreSQL 11 والإصدارات الأحدث. تتطلب فهارس CONCURRENTLY وتحسينات ALTER TABLE معينة PostgreSQL 11+.
هل يمكن لهذه المهارة إنشاء ملفات ترحيل؟
لا. تراجع الترحيلات الموجودة وتقترح تحسينات. ستطبق التوصيات على ملفات ترحيل Alembic الخاصة بك يدوياً.
هل بياناتي آمنة عند استخدام هذه المهارة؟
نعم. تعالج المهارة فقط النص الذي تُلصقه. لا يتم تخزين أي بيانات أو نقلها. لا شيء يغادر جلستك.
لماذا استعلامي بطيء حتى مع وجود فهارس؟
الأسباب الشائعة تشمل: عدم تطابق ترتيب أعمدة الفهرس، أعمدة فهرس ذات تنوع منخفض، فقدان فهارس تغطية، أو تجزئة الفهرس مع مفاتيح UUID الأولية.
كيف تختلف هذه عن pgAdmin أو pg_stat_statements؟
توفر هذه المهارة إرشادات النمط. pgAdmin و pg_stat_statements هي أدوات مراقبة. استخدم هذه المهارة لمراجعة الترحيل قبل النشر، وأدوات المراقبة لاستكشاف أخطاء الإنتاج.

開發者詳情

檔案結構

📄 SKILL.md