Toolverse
All skills

postgresql-table-design

by wshobson

Design a PostgreSQL-specific schema. Covers best-practices, data types, indexing, constraints, performance patterns, and advanced features

Installation

Pick a client and clone the repository into its skills directory.

Installation

Quick info

Author
wshobson
Category
Backend
Views
101

About this skill

Design a PostgreSQL-specific schema. Covers best-practices, data types, indexing, constraints, performance patterns, and advanced features

How to use

  1. Zainstaluj umiejętność w swoim środowisku agenta, dodając repozytorium wshobson/agents do ścieżki pluginów lub pobierając folder postgresql-table-design z katalogu skills/database-design.

  2. Przygotuj opis tabeli, którą chcesz zaprojektować – określ jej cel (np. tabela użytkowników, zdarzeń, zamówień), główne kolumny i ich znaczenie biznesowe.

  3. Zdefiniuj klucz główny: dla tabel referencyjnych (users, orders) użyj BIGINT GENERATED ALWAYS AS IDENTITY, dla danych wymagających globalnej unikalności wybierz UUID. Dla danych szeregów czasowych lub logów klucz główny może być opcjonalny.

  4. Znormalizuj schemat do trzeciej postaci normalnej, aby wyeliminować redundancję danych. Rozważ denormalizację tylko wtedy, gdy udowodnisz, że wydajność złączeń stanowi rzeczywisty problem – prematura denormalizacja zwiększa złożoność utrzymania.

  5. Wybierz odpowiednie typy danych: TIMESTAMPTZ dla czasów zdarzeń, NUMERIC dla kwot pieniężnych, TEXT dla łańcuchów znaków, BIGINT dla liczb całkowitych, DOUBLE PRECISION dla zmiennoprzecinkowych. Dodaj ograniczenia NOT NULL gdzie są semantycznie wymagane i DEFAULT dla wartości domyślnych.

  6. Utwórz indeksy dla ścieżek dostępu, które faktycznie zapytują – klucze główne i unikalne (automatyczne), kolumny kluczy obcych (musisz dodać ręcznie), częste filtry i sortowania, oraz kolumny złączeń. Pamiętaj, że PostgreSQL nie indeksuje automatycznie kolumn kluczy obcych.

Related skills