Czy Home Assistant może korzystać z zewnętrznej bazy danych bez zakłócania aktualizacji?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Home Assistant może korzystać z zewnętrznej bazy danych Recorder bez sprawiania, że każda aktualizacja będzie ryzykowna, ale baza staje się oddzielną usługą stanową, która musi być dostępna online, kompatybilna, zapisywalna, objęta kopiami zapasowymi i możliwa do odzyskania, gdy Home Assistant wykonuje operacje na schemacie. Przeniesienie Recorder poza hosta nie eliminuje operacji na bazie danych — przekazuje ich więcej Tobie.

Bezpieczniejszy model polega na utrzymywaniu Home Assistant i bazy danych w niezależnych, ale skoordynowanych cyklach życia. Twórz kopie zapasowe obu elementów, unikaj nieobsługiwanych wersji baz danych, zachowaj uprawnienia potrzebne do migracji schematu i przetestuj ścieżkę przywracania, zanim zezwolisz na nienadzorowane aktualizacje obu stron jednocześnie.

Używaj backendu Recorder, który Home Assistant rzeczywiście obsługuje

Zewnętrzną bazę danych należy skonfigurować za pośrednictwem Recorder, a nie traktować jej jako ogólnego punktu końcowego SQL. MariaDB jest jedną z popularnych opcji, a utrzymywana przez Home Assistant aplikacja MariaDB opisuje bazę danych, użytkownika, uprawnienia i parametry połączenia Recorder wymagane przez usługę.

Aktualna dokumentacja Recorder w Home Assistant wymienia MariaDB, MySQL, PostgreSQL i SQLite jako obsługiwane backendy, jednocześnie wyraźnie wskazując SQLite jako domyślną i zalecaną bazę danych. Zewnętrzna baza danych jest więc obsługiwana, ale stanowi wybór operacyjny, a nie wymaganą ścieżkę aktualizacji.

Nie ograniczaj arbitralnie konta Recorder do uprawnień wyłącznie do odczytu i zapisu, jeśli migracje mogą wymagać tworzenia indeksów, modyfikowania tabel lub aktualizowania obiektów schematu. Zamiast tego używaj oddzielnego konta tylko do odczytu dla narzędzi analitycznych.

Aktualizacje Home Assistant mogą obejmować migracje schematu Recorder

Zmiana wersji Home Assistant może wymagać migracji schematu bazy danych Recorder, zanim historia i statystyki wrócą do normalnego działania. W tym czasie wydajność bazy danych może się tymczasowo pogorszyć, a ponowne uruchomienie w trakcie migracji może utrudnić odzyskiwanie.

Recorder w Home Assistant może wymagać aktualizacji schematu podczas zmiany wersji, a serwer bazy danych ma własny cykl aktualizacji. Wytyczne dotyczące aktualizacji MariaDB na rok 2026 zalecają wykonanie pełnej kopii zapasowej, sprawdzenie docelowej wersji, uruchomienie narzędzi aktualizacji bazy danych i zweryfikowanie aplikacji po zmianie serwera.

Przed dużą aktualizacją Home Assistant wykonaj spójną kopię zapasową bazy danych oraz sprawdź ilość wolnego miejsca i stan bazy. Jeśli planujesz również aktualizację MariaDB, MySQL lub PostgreSQL, unikaj zmiany obu produktów jednocześnie, chyba że plan wycofania obejmuje obie wersje.

Dostępność zewnętrznej usługi staje się częścią niezawodności Recorder

Zewnętrzna baza danych dodaje do ścieżki Recorder zależności związane z DNS, siecią, uwierzytelnianiem, procesem serwera, pamięcią masową i dostępnością bazy danych. Home Assistant może nadal uruchamiać lokalne automatyzacje, gdy historia działa nieprawidłowo, dlatego awaria bazy danych może być mniej oczywista niż awaria Core.

Aktualny problem z Recorder z 2026 roku pokazuje to ryzyko operacyjne: utrata połączenia PostgreSQL po normalnym uruchomieniu spowodowała zatrzymanie zapisu przez Recorder do czasu ponownego uruchomienia Home Assistant w opisanym środowisku.

Traktuj to jako możliwy scenariusz awarii, a nie uniwersalną obietnicę dotyczącą każdej wersji. Monitoruj nowe zapisy Recorder i błędy połączeń, aby krótka awaria zewnętrznej bazy danych nie przerodziła się po cichu w wielogodzinny brak historii.

Testy przywracania muszą uwzględniać wersję serwera bazy danych

Zrzut SQL, który można przywrócić do jednej wersji bazy danych, nie jest dowodem, że będzie można go przywrócić do każdej przyszłej wersji. Silniki baz danych mają własne reguły schematu i zmiany kompatybilności, niezależne od Home Assistant.

Znaczenie ma również format kopii zapasowej. Wytyczne dotyczące kopii zapasowych MariaDB rozróżniają logiczne kopie zapasowe SQL, które są stosunkowo przenośne, od kopii fizycznych, silniej powiązanych z plikami bazy danych i środowiskiem serwera. Testuj rzeczywisty cel przywracania, zamiast zakładać, że każde archiwum można bezproblemowo wykorzystać w przyszłych wersjach bazy danych.

Przechowuj razem informacje o wersji Home Assistant, silniku bazy danych, wersji bazy danych, lokalizacji parametrów połączenia, metodzie tworzenia kopii zapasowych i procedurze przywracania w dokumentacji odzyskiwania.

Oddzielaj bazę danych tylko wtedy, gdy dodatkowa granica przynosi korzyści

Zewnętrzna baza danych może mieć sens, gdy kilka usług korzysta już z zarządzanej platformy bazodanowej, host Home Assistant jest nietrwały albo zasady dotyczące pamięci masowej i kopii zapasowych bazy danych są celowo scentralizowane. Nie jest ona automatycznie szybsza ani bezpieczniejsza niż lokalny SQLite.

Artykuł ZimaSpace na temat oddzielania stanowej pamięci masowej od skokowo obciążonych obliczeń przedstawia ten sam test architektoniczny: rozdzielaj role tylko wtedy, gdy niezależny cykl życia, granica awarii lub profil zasobów uzasadniają dodatkową zależność od sieci i procesu odzyskiwania.

Jeśli zewnętrzna baza danych powoduje większe powiązanie aktualizacji, niż eliminuje, wróć do prostszego, obsługiwanego układu, zamiast utrzymywać ją wyłącznie dlatego, że określenie „zewnętrzna baza danych” brzmi bardziej skalowalnie.

FAQ

Czy potrzebuję MariaDB lub PostgreSQL w dużej instalacji Home Assistant?

Nie. Domyślny backend SQLite w Home Assistant nadal jest prawidłowym i zalecanym wyborem. Przejdź na zewnętrzną bazę danych tylko wtedy, gdy masz konkretny, zmierzony powód operacyjny i jesteś gotów samodzielnie utrzymywać dodatkową usługę.

Czy powinienem aktualizować Home Assistant i zewnętrzną bazę danych tego samego dnia?

Lepiej zmieniać jedną warstwę stanową naraz. Najpierw wykonaj kopię zapasową, sprawdź bazę danych w bieżącej wersji, zaktualizuj jeden komponent, zweryfikuj działanie Recorder, a dopiero potem rozważ drugą aktualizację.

Wsparcie i wskazówki

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.