Nowe w PostgreSQL 14: statystyki dla wyrażeń

Wraz z wprowadzeniem wersji 14 PostgreSQL pojawiła się możliwość – na którą długo czekaliśmy – definiowania statystyk rozszerzonych dla wyrażeń. Jest to mechanizm znany np. z Oracle Database, wspomagający szacowanie selektywności predykatów opartych o funkcje/wyrażenia. Wiemy, jak ważne jest trafne szacowanie selektywności predykatów występujących w zapytaniach – od tego przecież zależy precyzja oszacowania kosztów planów Read more about Nowe w PostgreSQL 14: statystyki dla wyrażeń[…]

Podstawy: Vacuum w PostgreSQL

Ponieważ powrót do podstaw nikomu jeszcze nie zaszkodził, to proponujemy dziś małe repetytorium z zakresu MVCC i operacji Vacuum. Pamiętamy, że PostgreSQL jest oczywiście systemem transakcyjnym, wspierającym tradycyjne własności ACID dla transakcji realizowanych przez aplikacje użytkowników. W celu prawidłowej realizacji izolacji transakcji, PostgreSQL stosuje technikę MVCC (Multiversion Concurrency Control), w ramach której każda modyfikacja rekordu Read more about Podstawy: Vacuum w PostgreSQL[…]

Sortowanie przyrostowe w PostgreSQL 13

Jedną z nowych technik optymalizacji wydajności, jakie pojawiły się w PostgreSQL 13 jest sortowanie przyrostowe (incremental sorting). Znajduje ono zastosowanie w zapytaniach, które sortują rekordy według klucza wielokolumnowego. W przeszłości, popularnym sposobem na optymalizację takich sortowań było utworzenie indeksu na wszystkich kolumnach klucza sortowania. Obecnie, serwer PostgreSQL potrafi w takiej sytuacji skorzystać również z indeksu Read more about Sortowanie przyrostowe w PostgreSQL 13[…]

Weryfikacja poprawności kopii bezpieczeństwa w PostgreSQL 13

Spośród wielu nowości, jakie pojawiły się w wersji 13 serwera PostgreSQL, wielu z nas doceni interesujące narzędzie, umożliwiające weryfikację poprawności przechowywanej fizycznej kopii bezpieczeństwa: pg_verifybackup. Na wstępie należy zauważyć, że podczas wykonywania fizycznej kopii bezpieczeństwa za pomocą pg_basebackup, teraz generowany jest specjalny plik deskryptora, nazwany backup_manifest, który zawiera wykaz wszystkich plików wchodzących w skład kopii Read more about Weryfikacja poprawności kopii bezpieczeństwa w PostgreSQL 13[…]

PostgreSQL 12/13: aktywacja sum kontrolnych w plikach danych

W domyślnej konfiguracji serwera, ewentualne uszkodzenia plików danych są wykrywane podczas dostępu do bloku dyskowego tylko w sytuacji, kiedy blok danych nie może być odczytany z dysku lub jego zawartość jest nieczytelna (uszkodzony format bloku). Niestety, bardziej „subtelne” uszkodzenia, polegające np. na przekłamaniu pojedynczego bajtu, są niedostrzegalne dla serwera PostgreSQL. Aby umożliwić automatyczną detekcję nawet Read more about PostgreSQL 12/13: aktywacja sum kontrolnych w plikach danych[…]

PostgreSQL 12 – co się stało z plikiem recovery.conf?

Pojawienie się dwunastej wersji serwera PostgreSQL spowodowało konieczność wprowadzenia poprawek do stosowanych przez nas procedur odtwarzania bazy danych po awarii! Przypomnijmy, że w wersjach PostgreSQL 8, 9, 10, i 11 odtwarzanie bazy danych w oparciu o archiwalne pliki WAL realizowaliśmy poprzez utworzenie w katalogu Data Directory pliku o nazwie recovery.conf, a w nim – umieszczenie Read more about PostgreSQL 12 – co się stało z plikiem recovery.conf?[…]