Wydanie bazy danych PostgreSQL 13

Po roku prac rozwojowych opublikowane nowa stabilna gałąź bazy danych PostgreSQL 13. Aktualizacje dla nowej gałęzi będą wydawane przez pięć lat do listopada 2025 roku.

Podstawowe nowości:

  • Zrealizowano deduplikacja rekordów w indeksach B-tree, co pozwoliło zwiększyć wydajność zapytań i zmniejszyć zużycie przestrzeni dyskowej przy indeksowaniu rekordów z powtarzającymi się danymi. Deduplikacja odbywa się poprzez okresowe uruchamianie programu, który wykonuje scalanie grup powtarzających się krotek i zastępowanie duplikatów odwołaniami do jednej przechowywanej kopii.
  • Zwiększona wydajność zapytań, w których używane są funkcje agregujące, zgrupowane zestawy (GROUPING SETS) lub sekwencjonowane (partycjonowane) tabele. Optymalizacje są związane z używaniem przy agregowaniu hashy zamiast faktycznych danych, co pozwala uniknąć ładowania wszystkich danych do pamięci podczas przetwarzania dużych zapytań. Przy partycjonowaniu rozszerzono liczbę sytuacji, w których sekcje mogą być odrzucane lub łączone.
  • Dodano możliwość używania rozszerzonej statystyki, tworzonej przy użyciu polecenia „CREATE STATISTICS”, w celu poprawy efektywności planowania zapytań zawierających warunki „OR” lub wyszukiwanie na listach z użyciem wyrażeń „IN” lub „ANY”.
  • Przyspieszono czyszczenie indeksów podczas wykonywania operacji VACUUM dzięki równoległemu przetwarzaniu zbierania śmieci w indeksach. Dzięki nowemu parametrowi „PARALLEL” administrator może określić liczbę wątków, które będą uruchamiane jednocześnie dla VACUUM. Dodano możliwość inicjowania automatycznego wykonywania VACUUM po wstawieniu danych.
  • Dodano wsparcie dla inkrementalnego sortowania, które pozwala wykorzystać dane posortowane na wcześniejszym etapie do przyspieszenia sortowania na kolejnych etapach przetwarzania zapytania. Aby włączyć nową optymalizację w planowaniu zapytań, przewidziano ustawienie „enable_incremental_sort«, które jest domyślnie włączone.
  • Dodano możliwość ograniczenia rozmiaru slotów replikacji, które automatycznie zapewniają zachowanie segmentów dziennika zapisu opóźnionego (WAL) do momentu, gdy zostaną one pobrane przez wszystkie zapasowe serwery przyjmujące repliki. Gniazda replikacji także nie pozwalają głównemu serwerowi na usunięcie wierszy, które mogą prowadzić do konfliktów, nawet jeśli zapasowy serwer jest wyłączony. Dzięki parametrowi max_slot_wal_keep_size można teraz ograniczyć maksymalny rozmiar plików WAL, aby zapobiec wyczerpaniu miejsca na dysku.
  • Rozszerzone możliwości monitorowania aktywności bazy danych: w komendzie EXPLAIN zapewniono wyświetlanie dodatkowej statystyki dotyczącej wykorzystania dziennika WAL; w pg_basebackup dodano możliwość śledzenia stanu wykonywania ciągłych kopii zapasowych; w komendzie ANALYZE wprowadzono wskaźnik postępu wykonywania operacji.
  • Dodano nowe polecenie pg_verifybackup do sprawdzania integralności kopii zapasowych tworzonych przez komendę pg_basebackup.
  • Podczas pracy z JSON z użyciem operatorów jsonpath zezwolono na użycie funkcji datetime() do konwersji formatów czasu (łańcuchy ISO 8601 i natywne typy czasu PostgreSQL). Na przykład można użyć konstrukcji „jsonb_path_query(‘["2015-8-1", "2015-08-12"]’, ‘$[*] ? (@.datetime() < "2015-08-2".datetime())')" oraz "jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')".
  • Dodano wbudowaną funkcję gen_random_uuid() do generowania identyfikatorów UUID v4.
  • W systemie partycjonowania wprowadzono pełne wsparcie dla logicznej replikacji oraz wyzwalaczy określonych przez "BEFORE"
    działających na poziomie wierszy.
  • Składnia „FETCH FIRST” teraz dopuszcza użycie wyrażenia „WITH TIES”, które pozwala na zwrót dodatkowych wierszy, które znajdują się w ogonie zbioru wynikowego, uzyskiwanego po zastosowaniu „ORDER BY”.
  • Wprowadzono koncepcję wiarygodnych rozszerzeń („trusted extension„), które mogą być instalowane przez zwykłych użytkowników, nieposiadających uprawnień administratora bazy danych. Lista takich rozszerzeń jest wstępnie zdefiniowana i może być rozszerzona przez superużytkownika. W skład wiarygodnych rozszerzeń wchodzą pgcrypto, tablefunc, hstore itp.
  • W mechanizmie podłączenia zewnętrznych tabel Foreign Data Wrapper (postgres_fdw) wprowadzono wsparcie dla uwierzytelniania opartego na certyfikatach. Przy użyciu uwierzytelniania SCRAM klientom pozwolono na żądanie „wiążącego kanału„ (channel binding).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster