PostgreSQL (w skrócie „Postgres”) to otwartoźródłowy, obiektowo-relacyjny system zarządzania bazą danych (RDBMS), który od kilkudziesięciu lat uchodzi za jeden z najsolidniejszych dostępnych za darmo. Dane trzymasz w nim w tabelach, odpytujesz językiem SQL, a całość wyróżnia się rygorystyczną zgodnością ze standardem SQL, dojrzałą obsługą transakcji (ACID) i tym, że potrafi znacznie więcej niż „zwykła” relacyjna baza — od typu JSONB, przez tablice, po geolokalizację i pełnotekstowe wyszukiwanie.
Do czego go używasz
PostgreSQL jest zapleczem aplikacji webowych, sklepów, systemów analitycznych i wszędzie tam, gdzie liczy się integralność danych. Przechowuje stan aplikacji i gwarantuje, że albo cała operacja się wykona, albo żadna jej część — dlatego dobrze czuje się np. przy przelewach czy zamówieniach, gdzie „połowiczny” zapis to katastrofa.
Jego prawdziwa siła to rozszerzalność. Przez mechanizm rozszerzeń dokładasz nowe funkcje bez wymiany silnika: PostGIS zamienia bazę w system geoprzestrzenny, pgvector dodaje wyszukiwanie po wektorach (przydatne przy AI i embeddingach), a pg_trgm przyspiesza dopasowania tekstu. Możesz też trzymać dane półustrukturyzowane w JSONB i indeksować je tak jak zwykłe kolumny — masz wtedy elastyczność bazy dokumentowej bez rezygnacji z SQL.
Przykład z praktyki
Załóżmy, że stawiasz projekt lokalnie. Tworzysz bazę i włączasz rozszerzenie do podobieństwa tekstu:
createdb sklep— tworzysz bazę z linii poleceń,psql sklep— wchodzisz do interaktywnej konsoli,CREATE EXTENSION IF NOT EXISTS pg_trgm;— dokładasz rozszerzenie,SELECT '{"rola":"admin"}'::jsonb -> 'rola';— wyciągasz pole z dokumentu JSON.
Aktualna stabilna wersja to PostgreSQL 18, a wersja 19 jest już w fazie beta — to żywy, intensywnie rozwijany projekt, nie skansen.
Na co uważać
Najczęstszy mit: „Postgres jest wolny / tylko dla małych projektów”. Nieprawda — przy poprawnych indeksach i konfiguracji obsługuje ogromne wdrożenia. Częstszy realny problem to brak indeksów i kasowanie wierszy bez sprzątania (VACUUM), przez co tabele puchną. Nie myl też PostgreSQL z firmowym, płatnym produktem — to wolne oprogramowanie na liberalnej licencji. I uważaj na ustawienia domyślne: shared_buffers czy work_mem warto dostroić do maszyny.
Pojęcia powiązane: SQL, RDBMS, ACID, MySQL, JSONB, indeks, transakcja, ORM, pgAdmin.