IT Baza danych

PostgreSQL

Definicja #

PostgreSQL (potocznie Postgres) to obiektowo-relacyjny system zarządzania bazą danych (ORDBMS) rozwijany od ponad 35 lat. Jest projektem open-source utrzymywanym przez PostgreSQL Global Development Group.

Wyróżniające cechy PostgreSQL:

  • Zaawansowane typy danych — JSON/JSONB, tablice, hstore, typy geometryczne, zakresy (ranges), UUID
  • Pełna zgodność ACID — transakcje, izolacja, trwałość danych nawet przy awarii
  • Zaawansowane indeksowanie — B-tree, Hash, GiST, GIN, BRIN, partial indexes, expression indexes
  • Full-text search — wbudowane wyszukiwanie pełnotekstowe z obsługą języków
  • Rozszerzalność — własne typy, operatory, funkcje (PL/pgSQL, PL/Python, PL/V8)
  • Replikacja i HA — streaming replication, logical replication, Patroni dla high availability

Postgres jest domyślną bazą danych w wielu frameworkach (Django, Rails, Laravel) i chmurach (AWS RDS, Azure Database for PostgreSQL, Google Cloud SQL).

Zastosowania #

  • Backendy aplikacji webowych i API wymagające relacyjnej bazy z zaawansowanymi zapytaniami
  • Przechowywanie i zapytania o dane JSON/JSONB — alternatywa dla MongoDB przy ustrukturyzowanych danych
  • Systemy analityczne (OLAP) z użyciem zaawansowanych okien (window functions) i CTE
  • GIS i dane geoprzestrzenne z rozszerzeniem PostGIS
  • Data warehousing i ETL w mniejszych i średnich pipeline'ach danych

Ścieżka nauki #

Przed PostgreSQL opanuj podstawy SQL — SELECT, JOIN, GROUP BY, podzapytania. Znajomość ogólnych konceptów relacyjnych baz danych (normalizacja, klucze, indeksy) jest niezbędna.

Na starcie zainstaluj Postgres lokalnie lub użyj Docker, skonfiguruj psql i pgAdmin. Naucz się typów danych Postgres, tworzenia tabel i indeksów, transakcji oraz podstawowych funkcji JSON.

Następnie zgłęb zaawansowane tematy: window functions, CTE (WITH queries), EXPLAIN ANALYZE do optymalizacji zapytań, replikację i backup (pg_dump, pg_basebackup). Zaawansowani mogą poznać pisanie funkcji w PL/pgSQL, partycjonowanie tabel i konfigurację Patroni dla HA. Certyfikacja EDB PostgreSQL Associate jest dostępna dla chcących formalnie potwierdzić wiedzę.

FAQ #

Czym różni się PostgreSQL od MySQL?
PostgreSQL jest bardziej zgodny ze standardem SQL i oferuje bogatszy system typów (JSONB, tablice, zakresy), zaawansowane indeksowanie i lepsze wsparcie dla złożonych zapytań. MySQL jest szybszy przy prostych operacjach read-heavy i ma szerszą adopcję w hostingu współdzielonym. Oba są dojrzałe i produkcyjnie sprawdzone.
Czy PostgreSQL jest darmowy?
Tak, PostgreSQL jest w pełni darmowy i open-source na licencji PostgreSQL License (podobnej do BSD/MIT). Możesz go używać komercyjnie bez opłat. Płatne usługi to hosted wersje w chmurach (AWS RDS, Azure) lub komercyjne dystrybucje (EDB).
Ile zarabia DBA PostgreSQL w Polsce?
Administrator baz danych specjalizujący się w PostgreSQL zarabia zazwyczaj od 12 000 do 22 000 zł brutto miesięcznie. Seniorzy z doświadczeniem w replikacji, tuningu i HA mogą zarabiać 20 000-30 000 zł lub więcej na B2B.
Czy PostgreSQL nadaje się do dużych aplikacji?
Tak, PostgreSQL świetnie skaluje się do dużych aplikacji. Używają go między innymi Instagram, Reddit, Spotify i wiele banków. Przy bardzo dużych wolumenach można stosować partycjonowanie, read repliki i narzędzia jak Citus do poziomego skalowania.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z PostgreSQL w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.