sql >> Database >  >> RDS >> PostgreSQL

Hoe ActiveRecord ThreadSafe te maken

In tegenstelling tot de opmerkingen zijn gelijktijdige invoegingen op dezelfde tafel volledig toegestaan ​​in PostgreSQL, dus hier is sprake van een race-conditie.

Om dit veilig te maken moet je een unique . hebben beperking (of primary key ) op column_name . Dubbele invoegingen zullen dan een uitzondering genereren die u kunt opvangen en opnieuw kunt proberen met een update.

Als u geen unieke beperking heeft, moet u LOCK TABLE ... IN EXCLUSIVE MODE om gelijktijdige ups te voorkomen. Of gebruik een van de gelijktijdige veilige methoden die worden beschreven in:

Hoe UPERT (MERGE, INSERT ... ON DUPLICATE UPDATE) in PostgreSQL?



  1. selecteer relevantie titel op basis van tag vergelijkbaar met like met mysql

  2. Hoe het versienummer te lezen uit een databasebestand in Android dat in de activamap is geplaatst

  3. MySQL-query time-out:(70100):uitvoering van query is onderbroken

  4. Wat zijn de verschillen tussen backtick en enkele quote? Kan ik de IF-instructie gebruiken in een query zoals hierboven?