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

Jak zrobić ActiveRecord ThreadSafe

W przeciwieństwie do komentarzy, współbieżne wstawianie do tej samej tabeli jest całkowicie dozwolone w PostgreSQL, więc istnieje tu sytuacja wyścigu.

Aby to było bezpieczne, musisz mieć unique ograniczenie (lub primary key ) na column_name . Zduplikowane wstawki wygenerują następnie wyjątek, który możesz przechwycić i spróbować ponownie za pomocą aktualizacji.

Jeśli nie masz unikatowego ograniczenia, musisz LOCK TABLE ... IN EXCLUSIVE MODE aby zapobiec równoczesnym upserts. Lub użyj jednej z bezpiecznych metod współbieżności opisanych w:

Jak UPSERT (MERGE, INSERT... W DUPLICATE UPDATE) w PostgreSQL?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pobieranie nieobsługiwanej wersji [archiver] (1.13) w nagłówku pliku podczas uruchamiania pg_restore

  2. cecha `diesel::Expression` nie jest zaimplementowana dla `bigdecimal::BigDecimal`

  3. Uzyskaj numer tygodnia z daty w PostgreSQL

  4. Postgres dołącza lub ustawia każdy element (jeśli nie istnieje) tablicy do kolumny tablicy

  5. Abstrakcja bazy danych Java dla GWT (lub:Czy Hibernate to dobry wybór?)