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

ActiveRecord::StatementInvalid:PG::Error:ERROR:nie można wykonać UPDATE w przypadku błędu transakcji tylko do odczytu w Heroku

Replika nigdy nie została wypromowana. Zobacz komentarze.

Możesz stwierdzić, kiedy replika podąża za serwerem głównym, ponieważ:

SELECT pg_is_in_recovery();

zwróci prawdę. To nie może zwrócić wartości true na serwerze głównym, ponieważ jedyny czas, w którym serwer główny może być w trybie odzyskiwania, jest wtedy, gdy wciąż się uruchamia — a następnie nie można się z nim połączyć, więc nie można uruchomić tego polecenia. To prawda od wersji 9.2 i 9.3beta; może się to zmienić w przyszłych wersjach, więc jeśli to czytasz i w nowszej wersji, sprawdź dedykowaną funkcję do sprawdzania, czy serwer jest repliką.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Distinct Records ze złączeniami i porządkiem

  2. Aktualizuj sekwencję w wierszu INSERT

  3. Jak odzyskać dane z usuniętego kontenera Dockera? Jak ponownie połączyć go z danymi?

  4. Konwertuj zbiór wyników z tablicy SQL na tablicę ciągów

  5. zmień kolumnę z czasu ze strefą czasową na sygnaturę czasową