Sobes.tech
Junior — Middle

შეგიძლიათ ჩამოთვალოთ ტრანზაქციების იზოლაციის დონეების ტიპები, რომლებიც გამოიყენება PostgreSQL-ში?

sobes.tech AI

პასუხი AI-სგან

PostgreSQL მხარდაჭერილია ოთხი სტანდარტული ტრანზაქციის იზოლაციის დონე, რომლებიც განსაზღვრულია SQL სტანდარტში:

  1. Read Uncommitted — ყველაზე დაბალი დონე, საშუალებას აძლევს წაიკითხოს მონაცემები, რომლებიც ჯერ კიდევ არ არის დადასტურებული (დამაბნეველი წაკითხვები). PostgreSQL-ში ის ფაქტობრივად მოიქცევა როგორც Read Committed.
  2. Read Committed — ტრანზაქცია ხედავს მხოლოდ იმ მონაცემებს, რომლებიც დადასტურებულია სავალდებულო მოთხოვნის დაწყების დროს. ეს PostgreSQL-ის დეფოლტ დონეა.
  3. Repeatable Read — ტრანზაქცია ხედავს მონაცემებს ისე, როგორც იყო მისი დაწყების დროს, თავიდან აცილების მიზნით არასაკრეფი წაკითხვები.
  4. Serializable — ყველაზე მკაცრი დონე, უზრუნველყოფს სრული იზოლაციას ტრანზაქციებს შორის, როგორც თუ ისინი შესრულდებოდა სერიული წესით.

SQL-ში იზოლაციის დონეს დაყენების მაგალითი:

BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-- თქვენი ოპერაციები
COMMIT;