PostgreSQL 15 - nowa wersja wiodącej bazy danych open source wydana
Podziel się

PostgreSQL, rozwijany już od ponad 25 lat przez globalną społeczność programistów, jest ceniony za stabilność, wydajność i szeroki zestaw funkcji, stając się w ostatnich latach najszerzej adoptowanym oprogramowaniem bazodanowym (open source) w Polsce i Europie.

Jonathan Katz, PostgreSQL Core Team member

powiedział Jonathan Katz,

PostgreSQL Core Team member
PostgreSQL 15 pokazuje, że dzięki otwartemu rozwojowi oprogramowania możemy dostarczyć naszym użytkownikom bazę danych, która jest świetna do tworzenia aplikacji i bezpieczna dla ich krytycznych danych.

W październiku 2022 roku, jak każdej jesieni, światło dzienne ujrzało kolejne, główne wydanie (ang. major version) PostgreSQL 15. Poniżej przybliżamy zmiany wprowadzone w najnowszej wersji.

Poprawa wydajności sortowania (ang. sort performance) i kompresji (ang. compression)

W najnowszym wydaniu PostgreSQL 15 poprawiono algorytmy sortowania – zarówno w pamięci, jak i na dysku. Wyniki testów wydajnościowych wskazują na jej wzrost od 25% do 400%, w zależności od rodzaju sortowanych typów danych.

Na poprawę wydajności PostgreSQL wpływa również wykorzystanie funkcji row_number(), rank(), dense_rank() oraz count() jako funkcji okienkowych (ang. window functions). Dzięki temu zapytania wykorzystujące SELECT DISTINCT mogą być teraz wykonywane równolegle.

Rozwinięto również możliwości zdalnych zapytań asynchronicznych (ang. async remote queries), wprowadzonych już w poprzedniej wersji PostgreSQL 14. Obecnie wrapper obcych danych (ang. foreign data wrapper), tzw. postgres_fdw, obcych PostgreSQL, postgres_fdw, obsługuje również asynchroniczne zatwierdzanie zmian (ang. asynchronous commits).

Poprawa wydajności w PostgreSQL 15 obejmuje także archiwizację i tworzenie kopii zapasowych. W najnowszej wersji dodano wsparcie dla kompresji LZ4 i Zstandard (zstd) dla plików dziennika zapisu (WAL), co może przynieść zarówno korzyści w zakresie przestrzeni, jak i wydajności.

Na niektórych systemach operacyjnych PostgreSQL 15 dodaje wsparcie dla prefetch stron, do których odwołuje się WAL (ang. prefetch pages referenced in WAL), co pozytywnie wpływa na czas odzyskiwania danych.

Wbudowane w PostgreSQL polecenie pg_basebackup wspiera teraz kompresję plików kopii zapasowych po stronie serwera z możliwością wyboru gzip, LZ4 oraz zstd. PostgreSQL 15 pozwala również na wykorzystanie własnych modułów do archiwizacji (ang. custom modules for archiving), co eliminuje koszty związane z użyciem poleceń powłoki (ang. shell command).

Ułatwienia dla programistów

W PostgreSQL 15 wprowadzono standardowe polecenie MERGE. Pozwala ono na pisanie warunkowych poleceń SQL, które w zależności od kontekstu, zastępują  polecenia INSERT, UPDATE i DELETE w ramach jednego polecenia, całkowicie eliminując konieczność przepisywania instrukcji MERGE. Dzięki temu implementacja PostgreSQL jest zgodna ze standardem SQL, co ułatwia migrację z Microsoft SQL Server i Oracle Database.

Dodano również nowe funkcje, pozwalające na wykorzystanie wyrażeń regularnych (ang. regular expressions) do inspekcji ciągów znaków: regexp_count(), regexp_instr(), regexp_like() oraz regexp_substr(). PostgreSQL 15 rozszerza również funkcję range_agg o agregację typów danych wielozakresowych (ang. multirange data types), wprowadzonych już w poprzednim wydaniu.

PostgreSQL 15 mogą także tworzyć widoki, które pobierają dane z wykorzystaniem uprawnień osoby wywołującej, a nie twórcy widoku. Jest to możliwe dzięki nowej opcji security_invoker, która zapewnia dodatkową warstwę ochrony, dając użytkownikom wywołującym widoki odpowiednie uprawnienia do pracy z danymi bazowymi/podstawowymi (ang. underlying data).

Zwiększone bezpieczeństwo bazy danych

PostgreSQL 15 umożliwia przyznawanie uprawnień opartych na rolach dla poleceń SET i ALTER SYSTEM, które wcześniej wymagały uprawnień superużytkownika (ang. superuser). Ponadto nowością jest również, że osoby, które nie są superużytkownikami, mogą być właścicielami replikacji logicznej.

Więcej możliwości replikacji logicznej

Większa elastyczność w zarządzaniu replikacją logiczną (ang. logical replication) to kolejna zaleta PostgreSQL 15. W najnowszym wydaniu wprowadzono filtrowanie wierszy (ang. row filtering) oraz listy kolumn (ang. column lists) dla wydawców (ang. publishers), dzięki czemu użytkownicy mogą wybrać replikację podzbioru danych z tabeli.

PostgreSQL 15 oferuje funkcje upraszczające zarządzanie konfliktami (ang. conflict management), w tym możliwość pominięcia odtwarzania konfliktowej transakcji oraz automatyczne wyłączenie subskrypcji w przypadku wykrycia błędu. Omawiana wersja zawiera również wsparcie dla użycia dwufazowego zatwierdzania (ang. two-phase commit, 2PC) z logiczną replikacją.

Nowe opcje logów i konfiguracji

Najnowsze wydanie PostgreSQL wprowadza nowy format logów: jsonlog. Dzięki temu mogą być one przetwarzane w systemach logowania strukturalnego.

Administratorzy baz danych mogą teraz nadawać użytkownikom uprawnienia do zmiany parametrów konfiguracyjnych na poziomie serwera. Zyskują tym samym większą elastyczność w zarządzaniu konfiguracją PostgreSQL. Dodatkowo użytkownicy zyskują możliwość wyszukiwania informacji dotyczących konfiguracji przy pomocy polecenia /config z narzędzia wiersza poleceń psql.

Pozostałe nowości w PostgreSQL 15 warte uwagi

  1. Statystyki na poziomie serwera PostgreSQL (ang. server-level statistics ) są gromadzone w pamięci współdzielonej, co eliminuje zarówno proces kolektora statystyk, jak i okresowy zapis tych danych na dysk.
  2. Włączenie zestawiania ICU (ang. ICU collation) jako domyślnej opcji dla klastra lub pojedynczej bazy danych.
  3. Wbudowane rozszerzenie pg_walinspect, które pozwala użytkownikom na wgląd w zawartość plików dziennika write-ahead bezpośrednio z interfejsu SQL.
  4. Uprawnienia CREATE (ang. CREATE permission) dostępne są jedynie dla właściciela bazy danych ze schematu publicznego (ang. public schema) lub domyślnego (ang. default schema).

Szczegółowe informacje o zmianach w PostgreSQL 15 dostępne są w oficjalnej dokmentacji.

PostgreSQL z profesjonalnym wsparciem dla przedsiębiorstw

PostgreSQL to jeden z najbardziej zaawansowanych systemów baz danych open source na świecie – niezawodny, stabilny, skalowalny i bezpieczny. Jeśli jednak chcemy wykorzystywać tę bazę jako komponent systemów o znaczeniu krytycznym, warto mieć 100% pewność, że dane i zespoły IT są dostatecznie wspierane, a dane chronione.

W tej sytuacji dobrym rozwiązaniem mogą być produkty dostępne w ofercie Linux Polska.

  1. Plan EDB Community 360, która zawiera:
    • lokalne wsparcie techniczne 24/7 dla PostgreSQL i narzędzi open source takich jak m.in. pgAgent, Pgpool, pg_catcheck, Barman, PostgreSQL Container Image, CloudNativePG Operator zobacz pełną listę wspieranych narzędzi;
    • doradztwo i wsparcie we wdrożeniu PostgreSQL, w tym PostgreSQL w Kubernetes;
    • dodatkowo, w cenie planu EDB Community 360 dostępny jest operator CloudNativePG, umożliwiający zarządzanie pełnym cyklem życia bazy PostgreSQL w kontenerach.
  2. Plan EDB Standard, który zawiera:
    • wszystkie elementy planu Community 360;
    • autorskie narzędzia EDB do:
      • zarządzania (Postgres Enterprise Manager – PEM, Failover Manager –  EFM, Backup and Recovery Manager – Barman);
      • integracji (Replication Server, Data Adapters);
      • migracji (Migration Toolkit, Migration Portal).

Produkty EDB z oferty Linux Polska szczególnie warto rozważyć w sytuacjach, gdy:

  • zarządzasz dużymi i złożonymi zbiorami danych;
  • chcesz zmigrować część lub wszystkie zasoby z rozwiązań zamkniętych typu legacy, do bazy danych open source;
  • potrzebujesz wydajnej bazy danych ze wsparciem, żeby bezpiecznie tworzyć i utrzymywać aplikacje o znaczeniu krytycznym;
  • chcesz tworzyć nowoczesne aplikacje w oparciu o otwarte standardy;
  • planujesz modernizację infrastruktury danych.

Linux Polska, jako autoryzowany partner i dystrybutor EDB oferuje subskrypcje oprogramowania, usługi konsultingowe, wdrożeniowe i utrzymaniowe, a także autoryzowane szkolenia i certyfikacje.

    Skontaktuj się z nami