Source profileQuality 65/100

affaan-m/ECC/docs/tr/skills/postgres-patterns/SKILL.md

postgres-patterns

Sorgu optimizasyonu, şema tasarımı, indeksleme ve güvenlik için PostgreSQL veritabanı kalıpları. Supabase en iyi uygulamalarına dayanır.

Source repository stars
234,327
Declared platforms
0
Static risk flags
0
Last source update
2026-07-27
Source checked
2026-07-28

Decision brief

What it does—and where it fits

PostgreSQL en iyi uygulamaları için hızlı referans. Detaylı kılavuz için database-reviewer agent'ını kullanın.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/affaan-m/ECC --skill "docs/tr/skills/postgres-patterns"
    Safe inspection promptEditorial

    Inspect the Agent Skill "postgres-patterns" from https://github.com/affaan-m/ECC/blob/4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38/docs/tr/skills/postgres-patterns/SKILL.md at commit 4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Ne Zaman Aktifleştirmeli

      SQL sorguları veya migration'lar yazarken

      SQL sorguları veya migration'lar yazarkenVeritabanı şemaları tasarlarkenYavaş sorguları troubleshoot ederken
    2. 02

      Hızlı Referans

      Composite İndeks Sırası:

      Composite İndeks Sırası:RLS Policy (Optimize Edilmiş):
    3. 03

      İndeks Hile Sayfası

      Review the “İndeks Hile Sayfası” section in the pinned source before continuing.

      Review and apply the “İndeks Hile Sayfası” source section.
    4. 04

      Veri Tipi Hızlı Referans

      Review the “Veri Tipi Hızlı Referans” section in the pinned source before continuing.

      Review and apply the “Veri Tipi Hızlı Referans” source section.
    5. 05

      Yaygın Kalıplar

      Composite İndeks Sırası:

      Composite İndeks Sırası:RLS Policy (Optimize Edilmiş):

    Permission review

    Static risk signals and limitations

    No configured static risk pattern was detected

    This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score65/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars234,327SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    affaan-m/ECC
    Skill path
    docs/tr/skills/postgres-patterns/SKILL.md
    Commit
    4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38
    License
    MIT
    Collected
    2026-07-28
    Default branch
    main
    View the original SKILL.md

    PostgreSQL Kalıpları

    PostgreSQL en iyi uygulamaları için hızlı referans. Detaylı kılavuz için database-reviewer agent'ını kullanın.

    Ne Zaman Aktifleştirmeli

    • SQL sorguları veya migration'lar yazarken
    • Veritabanı şemaları tasarlarken
    • Yavaş sorguları troubleshoot ederken
    • Row Level Security uygularken
    • Connection pooling kurarken

    Hızlı Referans

    İndeks Hile Sayfası

    Sorgu Kalıbıİndeks TipiÖrnek
    WHERE col = valueB-tree (varsayılan)CREATE INDEX idx ON t (col)
    WHERE col > valueB-treeCREATE INDEX idx ON t (col)
    WHERE a = x AND b > yCompositeCREATE INDEX idx ON t (a, b)
    WHERE jsonb @> '{}'GINCREATE INDEX idx ON t USING gin (col)
    WHERE tsv @@ queryGINCREATE INDEX idx ON t USING gin (col)
    Zaman serisi aralıklarıBRINCREATE INDEX idx ON t USING brin (col)

    Veri Tipi Hızlı Referans

    Kullanım SenaryosuDoğru TipKaçın
    ID'lerbigintint, rastgele UUID
    String'lertextvarchar(255)
    Timestamp'lertimestamptztimestamp
    Paranumeric(10,2)float
    Flag'lerbooleanvarchar, int

    Yaygın Kalıplar

    Composite İndeks Sırası:

    -- Önce eşitlik sütunları, sonra aralık sütunları
    CREATE INDEX idx ON orders (status, created_at);
    -- Şunlar için çalışır: WHERE status = 'pending' AND created_at > '2024-01-01'
    

    Covering İndeks:

    CREATE INDEX idx ON users (email) INCLUDE (name, created_at);
    -- SELECT email, name, created_at için tablo aramasını önler
    

    Partial İndeks:

    CREATE INDEX idx ON users (email) WHERE deleted_at IS NULL;
    -- Daha küçük indeks, sadece aktif kullanıcıları içerir
    

    RLS Policy (Optimize Edilmiş):

    CREATE POLICY policy ON orders
      USING ((SELECT auth.uid()) = user_id);  -- SELECT'e sar!
    

    UPSERT:

    INSERT INTO settings (user_id, key, value)
    VALUES (123, 'theme', 'dark')
    ON CONFLICT (user_id, key)
    DO UPDATE SET value = EXCLUDED.value;
    

    Cursor Sayfalama:

    SELECT * FROM products WHERE id > $last_id ORDER BY id LIMIT 20;
    -- O(1) vs O(n) olan OFFSET
    

    Kuyruk İşleme:

    UPDATE jobs SET status = 'processing'
    WHERE id = (
      SELECT id FROM jobs WHERE status = 'pending'
      ORDER BY created_at LIMIT 1
      FOR UPDATE SKIP LOCKED
    ) RETURNING *;
    

    Anti-Kalıp Tespiti

    -- İndekslenmemiş foreign key'leri bul
    SELECT conrelid::regclass, a.attname
    FROM pg_constraint c
    JOIN pg_attribute a ON a.attrelid = c.conrelid AND a.attnum = ANY(c.conkey)
    WHERE c.contype = 'f'
      AND NOT EXISTS (
        SELECT 1 FROM pg_index i
        WHERE i.indrelid = c.conrelid AND a.attnum = ANY(i.indkey)
      );
    
    -- Yavaş sorguları bul
    SELECT query, mean_exec_time, calls
    FROM pg_stat_statements
    WHERE mean_exec_time > 100
    ORDER BY mean_exec_time DESC;
    
    -- Tablo bloat'ını kontrol et
    SELECT relname, n_dead_tup, last_vacuum
    FROM pg_stat_user_tables
    WHERE n_dead_tup > 1000
    ORDER BY n_dead_tup DESC;
    

    Yapılandırma Şablonu

    -- Bağlantı limitleri (RAM için ayarla)
    ALTER SYSTEM SET max_connections = 100;
    ALTER SYSTEM SET work_mem = '8MB';
    
    -- Timeout'lar
    ALTER SYSTEM SET idle_in_transaction_session_timeout = '30s';
    ALTER SYSTEM SET statement_timeout = '30s';
    
    -- İzleme
    CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
    
    -- Güvenlik varsayılanları
    REVOKE ALL ON SCHEMA public FROM public;
    
    SELECT pg_reload_conf();
    

    İlgili

    • Agent: database-reviewer - Tam veritabanı inceleme iş akışı
    • Skill: clickhouse-io - ClickHouse analytics kalıpları
    • Skill: backend-patterns - API ve backend kalıpları

    Supabase Agent Skills'e dayanır (kredi: Supabase ekibi) (MIT License)

    Alternatives

    Compare before choosing