{% extends "pages/about/press/presskit13/base.html" %} {% block presskit_content %}
24 września 2020 — Grupa PostgreSQL Global Development ogłosiła dzisiaj wydanie PostgreSQL 13, najnowszej wersji najbardziej zaawansowanej bazy danych open source.
PostgreSQL 13 zawiera znaczące ulepszenia systemów indeksowania i wyszukiwania, z których najbardziej skorzystają duże bazy danych, włączając w to m.in. oszczędność pamięci i lepszą wydajność indeksów, krótsze czasy odpowiedzi dla zapytań używających agregatów i partycji, a także lepsze planowanie zapytań dzięki rozszerzonym statystykom.
Wydanie to zawiera również bardzo oczekiwane funkcje, takie jak równoległe czyszczenie (vacuum) oraz sortowanie przyrostowe. PostgreSQL 13 zapewnia lepsze środowisko zarządzania danymi dla baz o dużym i małym obciążeniu, z optymalizacjami dla codziennego zarządzania bazami, a także więcej udogodnień dla twórców aplikacji oraz ulepszenia zabezpieczeń.
PostgreSQL 13 jest przykładem współpracy i zaangażowania naszej globalnej społeczności w rozwijaniu możliwości najbardziej zaawansowanej na świecie relacyjnej bazy danych typu open source" - powiedział Peter Eisentraut, członek zespołu PostgreSQL Core Team. "Innowacje, które niesie ze sobą każde wydanie, wraz z reputacją niezawodności i stabilności, jest powodem, dla którego coraz więcej osób decyduje się na używanie PostgreSQL w swoich aplikacjach.
PostgreSQL, to innowacyjny system zarządzania danymi znany ze swojej niezawodności i solidności. Rozwijany od ponad 25 lat jako open source przez globalną społeczność programistów stał się ulubioną relacyjną bazą danych open source wśród organizacji o różnej wielkości.
Kontynuując ulepszenia z poprzedniego wydania, PostgreSQL 13 może wydajnie obsługiwać duplikowane dane w indeksach B-tree, które są standardowym typem indeksu. Dzięki temu zapotrzebowanie na pamięć używaną przez te indeksy zostało zmniejszone, co poprawia ogólną wydajność zapytań.
PostgreSQL 13 wprowadza sortowanie przyrostowe, w którym dane posortowane na
wcześniejszym etapie wykonywania zapytania mogą zostać użyte do sortowania w
późniejszym etapie. Dodatkowo PostgreSQL może teraz używać systemu
rozszerzonych statystyk
(który jest dostępny poprzez CREATE STATISTICS
))
do poprawienia planów zapytań wykorzystujących OR
oraz w
wyszukiwaniach IN
/ANY
działających na listach.
W PostgreSQL 13, więcej typów agregatów oraz grupowania zbiorów, może korzystać z wydajnej agregacji korzystającej z funkcji skrótu (hash aggregation), jako że zapytania z dużą liczbą agregatów nie muszą mieścić się całkowicie w pamięci. Zapytania z partycjnowanymi tabelami zyskały lepszą wydajność dzięki zwiększeniu przypadków, w których partycje mogą być pominięte albo złączone.
Czyszczenie (vacuum) jest istotną częścią administracji bazą PostgreSQL. Pozwala na odzyskanie miejsca zajmowanego przez zmienione albo usunięte wiersze. Proces ten również może być wyzwaniem dla administratorów, chociaż wcześniejsze wydania bazy PostgreSQL zmniejszały obciążenie związane z nim.
PostgreSQL 13 kontynuuje usprawnianie systemu czyszczenia poprzez wprowadzenie równoległego czyszczenia dla indeksów. Poza zwiększoną wydajnością, użycie tej nowej funkcjonalności może być dostosowane do obciążenia bazy danych, ponieważ administratorzy mogą określić liczbę równolegle działających procesów. Dodatkowo, teraz wstawianie danych może również uruchamiać proces czyszczenia.
Sloty replikacji, używane do zapobiegania usuwania dzienników zapisu z wyprzedzeniem (write-ahead log - WAL) zanim otrzyma je replika bazy danych, mogą być dostosowane w PostgreSQL 13 poprzez określenie maksymalnej liczby plików WAL do pozostawienia, co pomoże w uniknięciu błędów zapełnienia dysku.
PostgreSQL 13 wprowadza również dodatkowe sposoby, dzięki którym administrator może
monitorować aktywność bazy danych, włączając w to pokazanie statystyk użycia logów
WAL w EXPLAIN
, postęp strumieniowego robienia kopii bazy danych, a także postęp
polecenia ANALYZE
. Dodatkowo, można sprawdzić integralność
działania polecenia pg_basebackup
za pomocą nowego polecenia pg_verifybackup
PostgreSQL 13 pozwala na jeszcze łatwiejszą pracę z typami danych pochodzącymi z
różnych źródeł. To wydanie dodaje funkcję
datetime()
do zapytań używających ścieżek dla typu JSON (SQL/JSON path), która konwertuje
różne typy czasu (np. w formacie ISO 8601) do wewnętrznych typów PostgreSQL.
Dodatkowo, funkcja do generowania UUID v4 gen_random_uuid()
jest teraz dostępna bez potrzeby instalowania rozszerzeń.
System partycjonowania jest bardziej elastyczny, jako że partycjonowane tabele w pełni obsługują logiczną replikację oraz wyzwalacze wierszowe BEFORE.
Składnia FETCH FIRST
w
PostgreSQL 13 jest rozszerzona i aktualnie zawiera klauzulę WITH TIES
,
która zawiera wszystkie wiersze, które, bazując na klauzuli ORDER BY
,
są związane z ostatnim wierszem wynikowego zbioru danych.
System rozszerzeń PostgreSQL jest kluczowym składnikiem stabilności bazy danych,
jako że pozwala programistom rozszerzać jej funkcjonalność. W poprzednich wydaniach
nowe rozszerzenia mogły być instalowane jedynie przez superużytkownika. W celu
polepszenia rozszerzalności, PostgreSQL 13 dodaje koncepcję
"zaufanego rozszerzenia",
która pozwala użytkownikom na instalowanie rozszerzeń, które zostały oznaczone
przez superużytkownika jako "zaufane". Niektóre wbudowane rozszerzenia są domyślnie
oznaczone jako zaufane, m.in.:
pgcrypto
,
tablefunc
,
hstore
.
Aplikacje, które wymagają bezpiecznego uwierzytelnienia, PostgreSQL 13 pozwala
klientom na żądanie
channel binding
podczas używania
uwierzytelniania SCRAM.
Dodatkowo, wrapper zewnętrznych danych PostgreSQL (foreign data wrapper)
postgres_fdw
może teraz korzystać z uwierzytelnienia opartego na certyfikatach.
PostgreSQL to najbardziej zaawansowana baza danych open source na świecie, z globalną społecznością tysięcy użytkowników, współtwórców, firm i organizacji. PostgreSQL, bazujący na ponad trzydziestu latach pracy inżynierów, został zapoczątkowany na University of California w Berkeley. Późniejszy rozwój był kontynuowany z niezrównaną prędkością. Dojrzałe cechy PostgreSQLa nie tylko dorównują głównym komercyjnym systemom baz danych, ale w wielu przypadkach przewyższają je, jeśli chodzi o zaawansowane funkcjonalności, rozszerzalność, bezpieczeństwo i stabilność.