PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách tạo ActiveRecord ThreadSafe

Trái ngược với các nhận xét, việc chèn đồng thời trên cùng một bảng hoàn toàn được phép trong PostgreSQL, do đó, có một điều kiện chạy đua ở đây.

Để làm cho điều này an toàn, bạn phải có một unique ràng buộc (hoặc primary key ) trên column_name . Sau đó, các chèn trùng lặp sẽ đưa ra một ngoại lệ mà bạn có thể bắt và thử lại bằng bản cập nhật.

Nếu bạn không có ràng buộc duy nhất, thì bạn phải LOCK TABLE ... IN EXCLUSIVE MODE để ngăn chặn các cảnh báo đồng thời. Hoặc sử dụng một trong các phương pháp an toàn đồng thời được mô tả trong:

Làm cách nào để UPSERT (MERGE, INSERT ... ON DUPLICATE UPDATE) trong 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. Quản lý các vai trò và thuộc tính vai trò trong PostgreSQL

  2. Rails 3.1:Truy vấn Postgres cho các bản ghi trong một phạm vi thời gian

  3. Chuỗi xuất psql postgres không có ký tự thoát

  4. Làm cách nào để chèn giá trị vào một câu lệnh chọn bằng JavaScript, đặc biệt là khi sử dụng express và postgres?

  5. Postgresql thoát trích dẫn đơn trong mệnh đề where