Skip to content
View anadyrov's full-sized avatar

Block or report anadyrov

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
anadyrov/README.md

-- создать новый проект в Google Cloud Platform, например postgres2022-, где yyyymmdd год, месяц и день вашего рождения (имя проекта должно быть уникально на уровне GCP) - Создан postgres2022-19840601

-- дать возможность доступа к этому проекту пользователю ifti@yandex.ru с ролью Project Editor - Выполнено

-- далее создать инстанс виртуальной машины Compute Engine с дефолтными параметрами - Выполнено

-- добавить свой ssh ключ в GCE metadata - Выполнено

-- зайти удаленным ssh (первая сессия), не забывайте про ssh-add - Выполнено

-- поставить PostgreSQL - Выполнено

-- зайти вторым ssh (вторая сессия) - Выполнено

-- запустить везде psql из под пользователя postgres - Выполнено

-- выключить auto commit - Выполнено

-- сделать в первой сессии новую таблицу и наполнить ее данными -- create table persons(id serial, first_name text, second_name text); -- insert into persons(first_name, second_name) values('ivan', 'ivanov'); -- insert into persons(first_name, second_name) values('petr', 'petrov'); -- commit; - Выполнено

-- посмотреть текущий уровень изоляции: show transaction isolation level - Выполнено текущая read committed

-- начать новую транзакцию в обоих сессиях с дефолтным (не меняя) уровнем изоляции

-- в первой сессии добавить новую запись insert into persons(first_name, second_name) values('sergey', 'sergeev'); - Выполнено

-- сделать select * from persons во второй сессии

-- видите ли вы новую запись и если да то почему? -- Нет, т.к в первой сессии не было операции commit выключенным auto commit, видит только те данные, которые были зафиксированы (Невозможно «грязное» чтение)

-- завершить первую транзакцию - commit; - Выполнено

-- сделать select * from persons во второй сессии - Выполнено

-- видите ли вы новую запись и если да то почему? Да, т.к данные были зафиксированы командой commit - Выполнено

-- завершите транзакцию во второй сессии - Выполнено -- начать новые но уже repeatable read транзации - set transaction isolation level repeatable read; - Выполнено

-- в первой сессии добавить новую запись insert into persons(first_name, second_name) values('sveta', 'svetova'); - Выполнено

-- сделать select * from persons во второй сессии - Выполнено

-- видите ли вы новую запись и если да то почему? - Нет, новая запись во второй сессии не видна, repeatable Read видны только те данные, которые были зафиксированы, но изминения видны в своей транзакции в первой сессии хотя они не зафиксированы. (Невозможно «грязное» чтение)

-- завершить первую транзакцию - commit; - Выполнено

-- сделать select * from persons во второй сессии - Выполнено

-- видите ли вы новую запись и если да то почему? - транзакция была зафиксирована

Popular repositories Loading

  1. anadyrov anadyrov Public

    Config files for my GitHub profile.

  2. DZ_02 DZ_02 Public

  3. DZ_03 DZ_03 Public

  4. DZ_04 DZ_04 Public

  5. DZ_05 DZ_05 Public

  6. DZ_06 DZ_06 Public