PostgreSQL 13

24 września zespół programistów ogłosił wydanie kolejnej wersji Postgresql o numerze 13. Nowa wersja skupiała się między innymi na poprawie wydajności, przyspieszeniu wewnętrznych usług serwisowych i uproszczeniu monitorowania baz danych, a także bardziej niezawodnej kontroli dostępu do systemu.

Kontynuowano prace nad optymalizacją indeksowania tabel pod kątem przetwarzania duplikatów wśród indeksowanych danych w binarnych drzewach indeksowych, co pozwoliło nie tylko przyspieszyć realizację zapytań, ale także zmniejszyć przestrzeń dyskową zajmowaną przez indeks.
Dodatkowo dodano algorytm sortowania przyrostowego, w którym wielokrotne sortowanie danych już posortowanych w poprzednich krokach działa szybciej, a część zapytań można przyspieszyć wykorzystując nowe rozszerzone statystyki (poprzez komendę CREATE STATISTICS) przy obliczaniu wydajniejszego kroku- planu krok po kroku.
Zoptymalizowano także wykonywanie zapytań z kosztowną agregacją danych poprzez większe wykorzystanie agregacji haszowanej i zrzucanie części zagregowanych danych na dysk, jeśli nie mieszczą się one w pamięci RAM. Następuje znaczny wzrost szybkości łączenia tabel znajdujących się na różnych partycjach.

Włożono wiele pracy, aby uprościć konserwację i administrację bazami danych Postgresql. Wbudowane zadanie „odkurzania”, czyli wykorzystania wolnego miejsca na dysku po usunięciu lub przepisaniu wierszy, można teraz wykonywać w równoległych wątkach, a administrator ma teraz możliwość określenia ich liczby. Oprócz tego dodano nowe narzędzia do monitorowania bieżącej aktywności bazy danych i zapobiegnięto błędom podczas synchronizacji logów pre-record pomiędzy masterem a replikami, które mogłyby prowadzić do konfliktów przy odłączaniu replik lub zakłócać integralność rozproszonego bazy danych po ich przywróceniu na podstawie danych dziennika.

Wśród nowości dla programistów warto wyróżnić funkcję datetime(), która konwertuje różne standardowe formaty zapisu czasu na wbudowany typ Postgresql; Funkcja generowania UUID v4 dostępna od razu gen_random_uuid(); normalizacja pracy z Unicode; bardziej elastyczny system dystrybucji danych tabelarycznych na podłączonych węzłach sieciowych bazy danych z pełną replikacją na poziomie logicznym, a także innymi zmianami w zapytaniach i nowymi wyzwalaczami dostępnymi dla replik.

Kontrola dostępu do baz danych jest uznawana za jeden z kluczowych elementów systemu, a nowa wersja czyni pod tym względem duży krok naprzód. Teraz tylko uprzywilejowany użytkownik (superużytkownik) może instalować rozszerzenia do bazy danych. Jednocześnie zwykli użytkownicy będą mogli zainstalować tylko te rozszerzenia, które oznaczyli jako zaufane, lub niewielki zestaw rozszerzeń, które domyślnie są uważane za zaufane (na przykład pgcrypto, tablefunc lub hstore). Podczas uwierzytelniania użytkowników za pomocą mechanizmu SCRAM (podczas pracy poprzez sterownik libpq) wymagane jest teraz „powiązanie kanału”, a funkcja opakowująca dane stron trzecich postgres_fdw od wersji 13 obsługuje autoryzację certyfikatu.

Informacje o wydaniu


Strona pobierania

Źródło: linux.org.ru

Dodaj komentarz