PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Postgresql error PANIC:nie można znaleźć prawidłowego rekordu punktu kontrolnego

Szuka rekordu punktu kontrolnego w dzienniku transakcji, który prawdopodobnie nie istnieje lub jest uszkodzony. Możesz to sprawdzić, uruchamiając:

# Postgres >= 10
pg_resetwal DATADIR

# Postgres < 10
pg_resetxlog DATADIR

Jeśli dziennik transakcji jest uszkodzony, zobaczysz komunikat taki jak:

Serwer bazy danych nie został poprawnie zamknięty. Zresetowanie dziennika transakcji może spowodować utratę danych. Jeśli mimo to chcesz kontynuować, użyj -f aby wymusić resetowanie.

Następnie możesz postępować zgodnie z instrukcjami i uruchomić z -f aby wymusić aktualizację:

# Postgres >= 10
pg_resetwal -f DATADIR

# Postgres < 10
pg_resetxlog -f DATADIR 

To powinno zresetować dziennik transakcji, jednak może pozostawić bazę danych w nieokreślonym stanie, jak wyjaśniono w dokumentacji PostgreSQL na pg_resetwal :

Jeśli pg_resetwal skarży się, że nie może określić prawidłowych danych dla pg_control , możesz wymusić kontynuację mimo to, określając -f (wymuszenie) opcja. W takim przypadku brakujące dane zostaną zastąpione wartościami prawdopodobnymi. Można oczekiwać, że większość pól będzie pasować, ale pomoc ręczna może być potrzebna dla następnego OID, następnego identyfikatora transakcji i epoki, następnego identyfikatora i przesunięcia wielu transakcji oraz pól lokalizacji początkowej WAL. Pola te można ustawić za pomocą opcji omówionych poniżej. Jeśli nie jesteś w stanie określić poprawnych wartości dla wszystkich tych pól, -f nadal może być używany, ale odzyskana baza danych musi być traktowana z jeszcze większą podejrzliwością niż zwykle:konieczne jest natychmiastowe zrzuty i ponowne załadowanie. Nie wykonuj żadnych operacji modyfikacji danych w bazie danych przed wykonaniem zrzutu, ponieważ każde takie działanie może pogorszyć uszkodzenie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Optymalizacja zapytań Postgres (wymuszenie skanowania indeksu)

  2. Projekt tymczasowej bazy danych z niespodzianką (wiersze na żywo a wiersze robocze)

  3. Jak używać RETURNING z ON CONFLICT w PostgreSQL?

  4. Jak zmusić Postgres do korzystania z określonego indeksu?

  5. BŁĄD:miejsca relacji nie istnieją Heroku db import