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

Synchronizacja bazy danych 2 nie powiodła się

Ponieważ chcesz wykonać transakcję rozproszoną , potrzebujesz protokołu zatwierdzania dwufazowego .

Rozpoczynasz transakcje w obu bazach jak zwykle, ale zamiast ich zatwierdzać, uruchamiasz

PREPARE TRANSACTION 'some_name';

Wykonuje wszystko, co może się nie powieść podczas zatwierdzenia i utrwala transakcje. Gdy to się powiedzie, uruchom następujące polecenia w obu bazach danych:

COMMIT PREPARED 'some_name';

aby zatwierdzić transakcje.

Jeśli coś się nie powiedzie podczas PREPARE TRANSACTION , uruchamiasz następujące, aby pozbyć się już przygotowanych transakcji:

ROLLBACK PREPARED 'some_name';

Pamiętaj, że potrzebujesz oprogramowania do zarządzania transakcjami, jeśli korzystasz z przygotowanych transakcji, dzięki czemu wszelkie przygotowane transakcje, które pozostały po awarii lub innym nieoczekiwanym problemie, są niezawodnie usuwane. Przygotowane transakcje, które nie zostały zatwierdzone lub wycofane, pozostają na zawsze i z absolutną pewnością zniszczą Twoją bazę danych.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Importowanie plików z PostgreSQL do R

  2. Debuguj funkcję PostgreSQL za pomocą pgAdmin

  3. PostgreSQL unnest() z numerem elementu

  4. SQL:Odwróć transponowanie tabeli

  5. Array_agg w postgresie selektywnie cytuje