Po roku prac rozwojowych nowa stabilna gałąź bazy danych . Aktualizacje dla nowej gałęzi przez pięć lat do listopada 2025 roku.
:
- Zrealizowano 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ą , (GROUPING SETS) lub (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 , 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 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 „«, które jest domyślnie włączone.
- Dodano możliwość ograniczenia rozmiaru , 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 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 dodano możliwość śledzenia stanu wykonywania ciągłych kopii zapasowych; w komendzie ANALYZE wprowadzono wskaźnik postępu wykonywania operacji.
- Dodano nowe polecenie do sprawdzania integralności kopii zapasowych tworzonych przez komendę pg_basebackup.
- Podczas pracy z JSON z użyciem operatorów 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ę 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 „” 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ń („„), 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ą , , 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 „„ (channel binding).
Źródło: opennet.ru
