Junior — Middle
შეგიძლიათ ჩამოთვალოთ ტრანზაქციების იზოლაციის დონეების ტიპები, რომლებიც გამოიყენება PostgreSQL-ში?
sobes.tech AI
პასუხი AI-სგან
PostgreSQL მხარდაჭერილია ოთხი სტანდარტული ტრანზაქციის იზოლაციის დონე, რომლებიც განსაზღვრულია SQL სტანდარტში:
- Read Uncommitted — ყველაზე დაბალი დონე, საშუალებას აძლევს წაიკითხოს მონაცემები, რომლებიც ჯერ კიდევ არ არის დადასტურებული (დამაბნეველი წაკითხვები). PostgreSQL-ში ის ფაქტობრივად მოიქცევა როგორც Read Committed.
- Read Committed — ტრანზაქცია ხედავს მხოლოდ იმ მონაცემებს, რომლებიც დადასტურებულია სავალდებულო მოთხოვნის დაწყების დროს. ეს PostgreSQL-ის დეფოლტ დონეა.
- Repeatable Read — ტრანზაქცია ხედავს მონაცემებს ისე, როგორც იყო მისი დაწყების დროს, თავიდან აცილების მიზნით არასაკრეფი წაკითხვები.
- Serializable — ყველაზე მკაცრი დონე, უზრუნველყოფს სრული იზოლაციას ტრანზაქციებს შორის, როგორც თუ ისინი შესრულდებოდა სერიული წესით.
SQL-ში იზოლაციის დონეს დაყენების მაგალითი:
BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE;
-- თქვენი ოპერაციები
COMMIT;