ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืชืžืœื•ืœ ื”ื”ืจืฆืื” ืฉืœ ื‘ืจื•ืก Momjian ืžืฉื ืช 2020 "ื‘ื™ื˜ื•ืœ ื ืขื™ืœืช ืžื ื”ืœ ื”ืžื ืขื•ืœ ืฉืœ Postgres".

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

(ื”ืขืจื”: ื ื™ืชืŸ ืœืงื‘ืœ ืืช ื›ืœ ืฉืื™ืœืชื•ืช ื”-SQL ืžื”ืฉืงื•ืคื™ื•ืช ืžื”ืงื™ืฉื•ืจ ื”ื–ื”: http://momjian.us/main/writings/pgsql/locking.sql)

ืฉืœื•ื! ื–ื” ื ื”ื“ืจ ืœื”ื™ื•ืช ื›ืืŸ ื‘ืจื•ืกื™ื” ืฉื•ื‘. ืื ื™ ืžืฆื˜ืขืจ ืฉืœื ื™ื›ื•ืœืชื™ ืœื”ื’ื™ืข ื‘ืฉื ื” ืฉืขื‘ืจื”, ืื‘ืœ ื”ืฉื ื” ืœืื™ื•ื•ืŸ ื•ืœื™ ื™ืฉ ืชื•ื›ื ื™ื•ืช ื’ื“ื•ืœื•ืช. ืื ื™ ืžืงื•ื•ื” ืœื”ื™ื•ืช ื›ืืŸ ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื™ื•ืชืจ. ืื ื™ ืื•ื”ื‘ ืœื‘ื•ื ืœืจื•ืกื™ื”. ืื ื™ ืื‘ืงืจ ื‘ื˜ื™ื•ืžืŸ, ื˜ื‘ืจ. ืื ื™ ืžืื•ื“ ืฉืžื— ืฉืื•ื›ืœ ืœื‘ืงืจ ื‘ืขืจื™ื ื”ืืœื”.

ืฉืžื™ ื”ื•ื ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ. ืื ื™ ืขื•ื‘ื“ ื‘-EnterpriseDB ื•ืขื•ื‘ื“ ืขื Postgres ื›ื‘ืจ ืœืžืขืœื” ืž-23 ืฉื ื™ื. ืื ื™ ื’ืจ ื‘ืคื™ืœื“ืœืคื™ื”, ืืจื”"ื‘. ืื ื™ ื ื•ืกืข ื‘ืขืจืš 90 ื™ืžื™ื ื‘ืฉื ื”. ื•ืื ื™ ืžืฉืชืชืฃ ื‘ื›-40 ื›ื ืกื™ื. ืฉืึถืœึดื™ ืืชืจ ืื™ื ื˜ืจื ื˜, ื”ืžื›ื™ืœ ืืช ื”ืฉืงื•ืคื™ื•ืช ืฉืืจืื” ืœื›ื ื›ืขืช. ืœื›ืŸ, ืœืื—ืจ ื”ื›ื ืก ืชื•ื›ืœื• ืœื”ื•ืจื™ื“ ืื•ืชื ืžื”ืืชืจ ื”ืื™ืฉื™ ืฉืœื™. ื”ื•ื ืžื›ื™ืœ ื’ื ื›-30 ืžืฆื’ื•ืช. ื™ืฉ ื’ื ืกืจื˜ื•ื ื™ื ื•ืžืกืคืจ ืจื‘ ืฉืœ ืจืฉื•ืžื•ืช ื‘ื‘ืœื•ื’, ื™ื•ืชืจ ืž-500. ื–ื”ื• ืžืฉืื‘ ืื™ื ืคื•ืจืžื˜ื™ื‘ื™ ืœืžื“ื™. ื•ืื ืืชื” ืžืขื•ื ื™ื™ืŸ ื‘ื—ื•ืžืจ ื”ื–ื”, ืื– ืื ื™ ืžื–ืžื™ืŸ ืื•ืชืš ืœื”ืฉืชืžืฉ ื‘ื•.

ืคืขื ื”ื™ื™ืชื™ ืžื•ืจื”, ืคืจื•ืคืกื•ืจ ืœืคื ื™ ืฉื”ืชื—ืœืชื™ ืœืขื‘ื•ื“ ืขื Postgres. ื•ืื ื™ ืžืื•ื“ ืฉืžื— ืฉืื•ื›ืœ ืขื›ืฉื™ื• ืœืกืคืจ ืœืš ืืช ืžื” ืฉืื ื™ ืขื•ืžื“ ืœื•ืžืจ ืœืš. ื–ื• ืื—ืช ื”ืžืฆื’ื•ืช ื”ืžืขื ื™ื™ื ื•ืช ื‘ื™ื•ืชืจ ืฉืœื™. ื•ืžืฆื’ืช ื–ื• ืžื›ื™ืœื” 110 ืฉืงื•ืคื™ื•ืช. ื ืชื—ื™ืœ ืœื“ื‘ืจ ืขื ื“ื‘ืจื™ื ืคืฉื•ื˜ื™ื, ื•ืขื“ ื”ืกื•ืฃ ื”ื“ื•ื— ื™ื”ืคื•ืš ืœืžื•ืจื›ื‘ ื™ื•ืชืจ ื•ื™ื•ืชืจ, ื•ื™ื”ืคื•ืš ืœืžื•ืจื›ื‘ ืœืžื“ื™.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื–ื• ืฉื™ื—ื” ื“ื™ ืœื ื ืขื™ืžื”. ื—ืกื™ืžื” ื”ื™ื ืœื ื”ื ื•ืฉื ื”ืคื•ืคื•ืœืจื™ ื‘ื™ื•ืชืจ. ืื ื—ื ื• ืจื•ืฆื™ื ืฉื–ื” ื™ื™ืขืœื ืื™ืคืฉื”ื•. ื–ื” ื›ืžื• ืœืœื›ืช ืœืจื•ืคื ืฉื™ื ื™ื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

  1. ื ืขื™ืœื” ื”ื™ื ื‘ืขื™ื” ืขื‘ื•ืจ ื”ืจื‘ื” ืื ืฉื™ื ืฉืขื•ื‘ื“ื™ื ื‘ื‘ืกื™ืกื™ ื ืชื•ื ื™ื ื•ื™ืฉ ืœื”ื ืžืกืคืจ ืชื”ืœื™ื›ื™ื ืฉืคื•ืขืœื™ื ื‘ื• ื–ืžื ื™ืช. ื”ื ืฆืจื™ื›ื™ื ื—ืกื™ืžื”. ื›ืœื•ืžืจ, ื”ื™ื•ื ืืชืŸ ืœื›ื ื™ื“ืข ื‘ืกื™ืกื™ ืขืœ ื—ืกื™ืžื”.
  2. ืžื–ื”ื™ ืขืกืงื”. ื–ื” ื—ืœืง ื“ื™ ืžืฉืขืžื ื‘ืžืฆื’ืช, ืื‘ืœ ืฆืจื™ืš ืœื”ื‘ื™ืŸ ืื•ืชื.
  3. ื‘ืฉืœื‘ ื”ื‘ื ื ื“ื‘ืจ ืขืœ ืกื•ื’ื™ ื—ืกื™ืžื”. ื–ื” ื—ืœืง ื“ื™ ืžื›ื ื™.
  4. ื•ืœื”ืœืŸ ื ื™ืชืŸ ื›ืžื” ื“ื•ื’ืžืื•ืช ืœื—ืกื™ืžื”. ื•ื–ื” ื™ื”ื™ื” ื“ื™ ืงืฉื” ืœื”ื‘ื™ืŸ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ื—ืกื™ืžื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื”ื˜ืจืžื™ื ื•ืœื•ื’ื™ื” ืฉืœื ื• ืžื•ืจื›ื‘ืช ืœืžื“ื™. ื›ืžื” ืžื›ื ื™ื•ื“ืขื™ื ืžืื™ืคื” ื‘ื ื”ืงื˜ืข ื”ื–ื”? ืฉื ื™ ืื ืฉื™ื. ื–ื” ืžืชื•ืš ืžืฉื—ืง ื‘ืฉื Colossal Cave Adventure. ื–ื” ื”ื™ื” ืžืฉื—ืง ืžื—ืฉื‘ ืžื‘ื•ืกืก ื˜ืงืกื˜ ื‘ืฉื ื•ืช ื”-80, ืื ื™ ื—ื•ืฉื‘. ืฉื ื”ื™ื™ืช ืฆืจื™ืš ืœื”ื™ื›ื ืก ืœืžืขืจื”, ืœืžื‘ื•ืš, ื•ื”ื˜ืงืกื˜ ื”ืฉืชื ื”, ืื‘ืœ ื”ืชื•ื›ืŸ ื”ื™ื” ื‘ืขืจืš ื–ื”ื” ื‘ื›ืœ ืคืขื. ื›ื›ื” ืื ื™ ื–ื•ื›ืจ ืืช ื”ืžืฉื—ืง ื”ื–ื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื”ื ื” ืื ื• ืจื•ืื™ื ืืช ืฉื ื”ืžื ืขื•ืœื™ื ืฉื”ื’ื™ืขื• ืืœื™ื ื• ืžืื•ืจืงืœ. ืื ื—ื ื• ืžืฉืชืžืฉื™ื ื‘ื”ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื›ืืŸ ืื ื• ืจื•ืื™ื ืžื•ื ื—ื™ื ืฉืžื‘ืœื‘ืœื™ื ืื•ืชื™. ืœื“ื•ื’ืžื”, SHARE UPDATE ECXLUSIVE. ื”ื‘ื SHARE RAW ECXLUSIVE. ืœืžืขืŸ ื”ืืžืช, ื”ืฉืžื•ืช ื”ืืœื” ืœื ืžืื•ื“ ื‘ืจื•ืจื™ื. ื ื ืกื” ืœืฉืงื•ืœ ืื•ืชื ื‘ื™ืชืจ ืคื™ืจื•ื˜. ื—ืœืงื ืžื›ื™ืœื™ื ืืช ื”ืžื™ืœื” "ืฉื™ืชื•ืฃ", ืฉืคื™ืจื•ืฉื” ืœื”ืคืจื™ื“. ื—ืœืงื ืžื›ื™ืœื™ื ืืช ื”ืžื™ืœื” "ื‘ืœืขื“ื™". ื—ืœืงื ืžื›ื™ืœื™ื ืืช ืฉืชื™ ื”ืžื™ืœื™ื ื”ืœืœื•. ืื ื™ ืจื•ืฆื” ืœื”ืชื—ื™ืœ ืขื ืื™ืš ื”ืžื ืขื•ืœื™ื ื”ืืœื” ืขื•ื‘ื“ื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื’ื ื”ืžื™ืœื” "ื’ื™ืฉื”" ื—ืฉื•ื‘ื” ืžืื•ื“. ื•ื”ืžื™ืœื™ื "ืฉื•ืจื”" ื”ืŸ ืžื—ืจื•ื–ืช. ื›ืœื•ืžืจ, ื—ืœื•ืงืช ื’ื™ืฉื”, ื—ืœื•ืงืช ืฉื•ืจื•ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื ื•ืฉื ื ื•ืกืฃ ืฉืฆืจื™ืš ืœื”ื‘ื™ืŸ ื‘-Postgres, ืฉืœืฆืขืจื™ ืœื ืื•ื›ืœ ืœื›ืกื•ืช ื‘ื”ืจืฆืื” ืฉืœื™, ื”ื•ื MVCC. ื™ืฉ ืœื™ ืžืฆื’ืช ื ืคืจื“ืช ื‘ื ื•ืฉื ื–ื” ื‘ืืชืจ ืฉืœื™. ื•ืื ืืชื” ื—ื•ืฉื‘ ืฉื”ืžืฆื’ืช ื”ื–ื• ืงืฉื”, MVCC ื”ื™ื ื›ื ืจืื” ื”ื›ื™ ืงืฉื” ืฉืœื™. ื•ืื ืืชื ืžืขื•ื ื™ื™ื ื™ื, ืชื•ื›ืœื• ืœืฆืคื•ืช ื‘ื• ื‘ืืชืจ. ืืชื” ื™ื›ื•ืœ ืœืฆืคื•ืช ื‘ืกืจื˜ื•ืŸ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื“ื‘ืจ ื ื•ืกืฃ ืฉืขืœื™ื ื• ืœื”ื‘ื™ืŸ ื”ื•ื ืžื–ื”ื™ ืขืกืงืื•ืช. ืขืกืงืื•ืช ืจื‘ื•ืช ืื™ื ืŸ ื™ื›ื•ืœื•ืช ืœืขื‘ื•ื“ ืœืœื ืžื–ื”ื™ื ื™ื™ื—ื•ื“ื™ื™ื. ื•ื”ื ื” ื™ืฉ ืœื ื• ื”ืกื‘ืจ ืžื”ื™ ืขืกืงื”. ืœ-Postgres ืฉืชื™ ืžืขืจื›ื•ืช ืžืกืคื•ืจ ืขืกืงืื•ืช. ืื ื™ ื™ื•ื“ืข ืฉื–ื” ืœื ืคืชืจื•ืŸ ื™ืคื” ื‘ืžื™ื•ื—ื“.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื–ื›ื•ืจ ื’ื ืฉื”ืฉืงื•ืคื™ื•ืช ื™ื”ื™ื• ื“ื™ ืงืฉื•ืช ืœื”ื‘ื ื”, ืื– ืžื” ืฉืžื•ื“ื’ืฉ ื‘ืื“ื•ื ื–ื” ืžื” ืฉืืชื” ืฆืจื™ืš ืœืฉื™ื ืœื‘ ืืœื™ื•.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

http://momjian.us/main/writings/pgsql/locking.sql

ื‘ื•ื ื ืจืื”. ืžืกืคืจ ื”ืขืกืงื” ืžืกื•ืžืŸ ื‘ืื“ื•ื. ื”ืคื•ื ืงืฆื™ื” SELECT pg_back ืžื•ืฆื’ืช ื›ืืŸ. ื–ื” ืžื—ื–ื™ืจ ืืช ื”ืขืกืงื” ืฉืœื™ ื•ืืช ืžื–ื”ื” ื”ืขืกืงื”.

ื“ื‘ืจ ื ื•ืกืฃ, ืื ืืชื” ืื•ื”ื‘ ืืช ื”ืžืฆื’ืช ื”ื–ื• ื•ืจื•ืฆื” ืœื”ืคืขื™ืœ ืื•ืชื” ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœืš, ืื– ืืชื” ื™ื›ื•ืœ ืœืœื›ืช ืœืงื™ืฉื•ืจ ื”ื–ื” ื‘ื•ื•ืจื•ื“ ื•ืœื”ื•ืจื™ื“ ืืช ื”-SQL ืœืžืฆื’ืช ื”ื–ื•. ื•ืืชื” ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื”ืคืขื™ืœ ืื•ืชื• ื‘-PSQL ืฉืœืš ื•ื”ืžืฆื’ืช ื›ื•ืœื” ืชื”ื™ื” ืขืœ ื”ืžืกืš ืฉืœืš ืžื™ื“. ื”ื•ื ืœื ื™ื›ื™ืœ ืคืจื—ื™ื, ืื‘ืœ ืœืคื—ื•ืช ื ื•ื›ืœ ืœืจืื•ืช ืื•ืชื•.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื‘ืžืงืจื” ื–ื” ืื ื• ืจื•ืื™ื ืืช ืžื–ื”ื” ื”ืขืกืงื”. ื–ื” ื”ืžืกืคืจ ืฉื”ืงืฆื ื• ืœื”. ื•ื™ืฉ ืขื•ื“ ืกื•ื’ ืฉืœ ืžื–ื”ื” ืขืกืงื” ื‘-Postgres, ืฉื ืงืจื ืžื–ื”ื” ืขืกืงื” ื•ื™ืจื˜ื•ืืœื™ืช

ื•ืขืœื™ื ื• ืœื”ื‘ื™ืŸ ื–ืืช. ื–ื” ืžืื•ื“ ื—ืฉื•ื‘, ืื—ืจืช ืœื ื ื•ื›ืœ ืœื”ื‘ื™ืŸ ื ืขื™ืœื” ื‘-Postgres.

ืžื–ื”ื” ืขืกืงื” ื•ื™ืจื˜ื•ืืœื™ืช ื”ื•ื ืžื–ื”ื” ืขืกืงื” ืฉืื™ื ื• ืžื›ื™ืœ ืขืจื›ื™ื ืงื‘ื•ืขื™ื. ืœื“ื•ื’ืžื”, ืื ืื ื™ ืžืจื™ืฅ ืคืงื•ื“ืช SELECT, ืื– ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืœื ืืฉื ื” ืืช ืžืกื“ ื”ื ืชื•ื ื™ื, ืœื ืื ืขืœ ื›ืœื•ื. ืื– ื›ืฉืื ื—ื ื• ืžืจื™ืฆื™ื SELECT ืคืฉื•ื˜, ืื ื—ื ื• ืœื ื ื•ืชื ื™ื ืœืขืกืงื” ื”ื–ื• ืžื–ื”ื” ืžืชืžืฉืš. ืื ื—ื ื• ื ื•ืชื ื™ื ืœื” ืจืง ืชืขื•ื“ื” ืžื–ื”ื” ื•ื™ืจื˜ื•ืืœื™ืช ืฉื.

ื•ื–ื” ืžืฉืคืจ ืืช ื‘ื™ืฆื•ืขื™ Postgres, ืžืฉืคืจ ืืช ื™ื›ื•ืœื•ืช ื”ื ื™ืงื•ื™, ื›ืš ืฉืžื–ื”ื” ื”ืขืกืงื” ื”ื•ื•ื™ืจื˜ื•ืืœื™ืช ืžื•ืจื›ื‘ ืžืฉื ื™ ืžืกืคืจื™ื. ื”ืžืกืคืจ ื”ืจืืฉื•ืŸ ืœืคื ื™ ื”ืงื• ื”ืืœื›ืกื•ื ื™ ื”ื•ื ืžื–ื”ื” ื”ืงืฆื” ื”ืื—ื•ืจื™. ื•ืžื™ืžื™ืŸ ืื ื• ืจื•ืื™ื ืจืง ืžื•ื ื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืœื›ืŸ, ืื ืื ื™ ืžืจื™ืฅ ื‘ืงืฉื”, ื–ื” ืื•ืžืจ ืฉืžื–ื”ื” ื”ืงืฆื” ื”ืื—ื•ืจื™ ื”ื•ื 2.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื ืื ื™ ืžืจื™ืฅ ืกื“ืจื” ืฉืœ ืขืกืงืื•ืช ื›ืืœื”, ืื– ืื ื—ื ื• ืจื•ืื™ื ืฉื”ืžื•ื ื” ื’ื“ืœ ื‘ื›ืœ ืคืขื ืฉืื ื™ ืžืจื™ืฅ ืฉืื™ืœืชื”. ืœื“ื•ื’ืžื”, ื›ืืฉืจ ืื ื™ ืžืจื™ืฅ ืืช ื”ืฉืื™ืœืชื” 2/10, 2/11, 2/12 ื•ื›ื•'.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื–ื›ื•ืจ ืฉื™ืฉ ื›ืืŸ ืฉืชื™ ืขืžื•ื“ื•ืช. ื‘ืฆื“ ืฉืžืืœ ืื ื• ืจื•ืื™ื ืืช ืžื–ื”ื” ื”ืขืกืงื” ื”ื•ื™ืจื˜ื•ืืœื™ืช - 2/12. ื•ื‘ืฆื“ ื™ืžื™ืŸ ื™ืฉ ืœื ื• ืžื–ื”ื” ืขืกืงื” ืงื‘ื•ืข. ื•ื”ืฉื“ื” ื”ื–ื” ืจื™ืง. ื•ื”ืขืกืงื” ื”ื–ื• ืœื ืžืฉื ื” ืืช ืžืกื“ ื”ื ืชื•ื ื™ื. ืื– ืื ื™ ืœื ื ื•ืชืŸ ืœื–ื” ืžื–ื”ื” ืขืกืงื” ืงื‘ื•ืข.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื‘ืจื’ืข ืฉืื ื™ ืžืจื™ืฅ ืืช ืคืงื•ื“ืช ื”ื ื™ืชื•ื— ((ANALYZE)), ืื•ืชื” ืฉืื™ืœืชื” ื ื•ืชื ืช ืœื™ ืžื–ื”ื” ืขืกืงื” ืงื‘ื•ืข. ืชืจืื” ืื™ืš ื–ื” ื”ืฉืชื ื” ืืฆืœื ื•. ืœื ื”ื™ื” ืœื™ ืชืขื•ื“ืช ื–ื”ื•ืช ื–ื• ื‘ืขื‘ืจ, ืื‘ืœ ืขื›ืฉื™ื• ื™ืฉ ืœื™ ืื•ืชื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื– ื”ื ื” ืขื•ื“ ื‘ืงืฉื”, ืขื•ื“ ืขืกืงื”. ืžืกืคืจ ื”ืขืกืงื” ื”ื•ื™ืจื˜ื•ืืœื™ืช ื”ื•ื 2/13. ื•ืื ืื‘ืงืฉ ืžื–ื”ื” ืขืกืงื” ืžืชืžืฉืš, ืื– ื›ืฉืื ื™ ืืคืขื™ืœ ืืช ื”ืฉืื™ืœืชื”, ืืงื‘ืœ ืื•ืชื•.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื–, ืขื•ื“ ืคืขื ืื—ืช. ื™ืฉ ืœื ื• ืžื–ื”ื” ืขืกืงื” ื•ื™ืจื˜ื•ืืœื™ ื•ืžื–ื”ื” ืขืกืงื” ืžืชืžืฉืš. ืคืฉื•ื˜ ื”ื‘ืŸ ืืช ื”ื ืงื•ื“ื” ื”ื–ื• ื›ื“ื™ ืœื”ื‘ื™ืŸ ืืช ื”ืชื ื”ื’ื•ืช Postgres.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื ืขื‘ื•ืจ ืœืกืขื™ืฃ ื”ืฉืœื™ืฉื™. ื›ืืŸ ืคืฉื•ื˜ ื ืขื‘ื•ืจ ื‘ื™ืŸ ืกื•ื’ื™ ื”ืžื ืขื•ืœื™ื ื”ืฉื•ื ื™ื ื‘ืคื•ืกื˜ื’ืจืก. ื–ื” ืœื ืžืื•ื“ ืžืขื ื™ื™ืŸ. ื”ืกืขื™ืฃ ื”ืื—ืจื•ืŸ ื™ื”ื™ื” ื”ืจื‘ื” ื™ื•ืชืจ ืžืขื ื™ื™ืŸ. ืื‘ืœ ืขืœื™ื ื• ืœืฉืงื•ืœ ืืช ื”ื“ื‘ืจื™ื ื”ื‘ืกื™ืกื™ื™ื, ื›ื™ ืื—ืจืช ืœื ื ื‘ื™ืŸ ืžื” ื™ืงืจื” ืื—ืจ ื›ืš.

ื ืขื‘ื•ืจ ืขืœ ื”ืกืขื™ืฃ ื”ื–ื”, ื ื‘ื—ืŸ ื›ืœ ืกื•ื’ ืฉืœ ืžื ืขื•ืœ. ื•ืื ื™ ืืจืื” ืœืš ื“ื•ื’ืžืื•ืช ืื™ืš ื”ื ืžื•ืชืงื ื™ื, ืื™ืš ื”ื ืขื•ื‘ื“ื™ื, ืื ื™ ืืจืื” ืœืš ื›ืžื” ืฉืื™ืœืชื•ืช ืฉืชื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื›ื“ื™ ืœืจืื•ืช ืื™ืš ื ืขื™ืœื” ืขื•ื‘ื“ืช ื‘-Postgres.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื›ื“ื™ ืœื™ืฆื•ืจ ืฉืื™ืœืชื” ื•ืœืจืื•ืช ืžื” ืงื•ืจื” ื‘-Postgres, ืขืœื™ื ื• ืœื”ื ืคื™ืง ืืช ื”ืฉืื™ืœืชื” ื‘ืชืฆื•ื’ืช ื”ืžืขืจื›ืช. ื‘ืžืงืจื” ื–ื”, pg_lock ืžืกื•ืžืŸ ื‘ืื“ื•ื. Pg_lock ื”ื™ื ื˜ื‘ืœืช ืžืขืจื›ืช ืฉืžืกืคืจืช ืœื ื• ืื™ืœื• ืžื ืขื•ืœื™ื ื ืžืฆืื™ื ื›ืขืช ื‘ืฉื™ืžื•ืฉ ื‘-Postgres.

ืขื ื–ืืช, ืงืฉื” ืœื™ ืžืื•ื“ ืœื”ืจืื•ืช ืœืš ืืช pg_lock ื‘ืคื ื™ ืขืฆืžื• ื›ื™ ื–ื” ื“ื™ ืžื•ืจื›ื‘. ืื– ื™ืฆืจืชื™ ืชืฆื•ื’ื” ืฉืžืจืื” pg_locks. ื•ื–ื” ื’ื ืขื•ืฉื” ืœื™ ืขื‘ื•ื“ื” ืฉืžืืคืฉืจืช ืœื™ ืœื”ื‘ื™ืŸ ื˜ื•ื‘ ื™ื•ืชืจ. ื›ืœื•ืžืจ, ื–ื” ืœื ื›ื•ืœืœ ืืช ื”ืžื ืขื•ืœื™ื ืฉืœื™, ื”ืคื’ื™ืฉื” ืฉืœื™, ื•ื›ื•'. ื–ื” ืคืฉื•ื˜ SQL ืกื˜ื ื“ืจื˜ื™ ื•ื–ื” ืžืืคืฉืจ ืœืš ืœื”ืจืื•ืช ืœืš ื˜ื•ื‘ ื™ื•ืชืจ ืžื” ืงื•ืจื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื‘ืขื™ื” ื ื•ืกืคืช ื”ื™ื ืฉื”ืชืฆื•ื’ื” ื”ื–ื• ืจื—ื‘ื” ืžืื•ื“, ืื– ืื ื™ ืฆืจื™ืš ืœื™ืฆื•ืจ ืื—ืช ืฉื ื™ื™ื” - lockview2.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ ื•ื–ื” ืžืจืื” ืœื™ ืขื•ื“ ืขืžื•ื“ื•ืช ืžื”ื˜ื‘ืœื”. ื•ืขื•ื“ ืื—ื“ ืฉืžืจืื” ืœื™ ืืช ืฉืืจ ื”ื˜ื•ืจื™ื. ื–ื” ื“ื™ ืžื•ืจื›ื‘, ืื– ื ื™ืกื™ืชื™ ืœื”ืฆื™ื’ ืืช ื–ื” ื‘ืฆื•ืจื” ืคืฉื•ื˜ื” ื›ื›ืœ ื”ืืคืฉืจ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื– ื™ืฆืจื ื• ื˜ื‘ืœื” ื‘ืฉื Lockdemo. ื•ื™ืฆืจื ื• ืฉื ืฉื•ืจื” ืื—ืช. ื–ื• ื”ื˜ื‘ืœื” ืœื“ื•ื’ืžื” ืฉืœื ื•. ื•ืื ื—ื ื• ื ื™ืฆื•ืจ ืงื˜ืขื™ื ืจืง ื›ื“ื™ ืœื”ืจืื•ืช ืœืš ื“ื•ื’ืžืื•ืช ืฉืœ ืžื ืขื•ืœื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื–, ืฉื•ืจื” ืื—ืช, ืขืžื•ื“ื” ืื—ืช. ื”ืกื•ื’ ื”ืจืืฉื•ืŸ ืฉืœ ื”ืžื ืขื•ืœ ื ืงืจื ACCESS SHARE. ื–ื• ื”ื—ืกื™ืžื” ื”ื›ื™ ืคื—ื•ืช ืžื’ื‘ื™ืœื”. ืžืฉืžืขื•ืช ื”ื“ื‘ืจ ื”ื™ื ืฉื”ื•ื ืœืžืขืฉื” ืื™ื ื• ืžืชื ื’ืฉ ืขื ืžื ืขื•ืœื™ื ืื—ืจื™ื.

ื•ืื ืื ื—ื ื• ืจื•ืฆื™ื ืœื”ื’ื“ื™ืจ ื‘ืžืคื•ืจืฉ ืžื ืขื•ืœ, ืื ื—ื ื• ืžืคืขื™ืœื™ื ืืช ื”ืคืงื•ื“ื” "ืœื ืขื•ืœ ื˜ื‘ืœื”". ื•ื–ื” ื›ืžื•ื‘ืŸ ื™ื—ืกื•ื, ื›ืœื•ืžืจ ื‘ืžืฆื‘ ACCESS SHARE ืื ื• ืžืฉื™ืงื™ื ืืช ื˜ื‘ืœืช ื”ื ืขื™ืœื”. ื•ืื ืื ื™ ืžืจื™ืฅ PSQL ื‘ืจืงืข, ืื– ืื ื™ ืžืชื—ื™ืœ ืืช ื”ืกืฉืŸ ื”ืฉื ื™ ืžื”ืกืฉืŸ ื”ืจืืฉื•ืŸ ืฉืœื™ ื›ื›ื”. ื›ืœื•ืžืจ, ืžื” ืืขืฉื” ื›ืืŸ? ืื ื™ ื”ื•ืœืš ืœืกืฉืŸ ืื—ืจ ื•ืื•ืžืจ ืœื• "ื”ืจืื” ืœื™ ืืช ื”-lockview ืœื‘ืงืฉื” ื”ื–ื•." ื•ื”ื ื” ื™ืฉ ืœื™ AccessShareLock ื‘ื˜ื‘ืœื” ื”ื–ื•. ื–ื” ื‘ื“ื™ื•ืง ืžื” ืฉื‘ื™ืงืฉืชื™. ื•ื”ื•ื ืื•ืžืจ ืฉื”ื—ืกื™ืžื” ื”ื•ืงืฆื”. ืคืฉื•ื˜ ืžืื•ื“.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื™ืชืจื” ืžื›ืš, ืื ื ืกืชื›ืœ ืขืœ ื”ืขืžื•ื“ื” ื”ืฉื ื™ื™ื”, ืื– ืื™ืŸ ืฉื ื›ืœื•ื. ื”ื ืจื™ืงื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื ืื ื™ ืžืจื™ืฅ ืืช ื”ืคืงื•ื“ื” "SELECT", ืื– ื–ื• ื”ื“ืจืš ื”ืžืจื•ืžื–ืช (ื”ืžืคื•ืจืฉืช) ืœื‘ืงืฉ AccessShareLock. ืื– ืื ื™ ืžืฉื—ืจืจ ืืช ื”ื˜ื‘ืœื” ืฉืœื™ ื•ืžืคืขื™ืœ ืืช ื”ืฉืื™ืœืชื” ื•ื”ืฉืื™ืœืชื” ืžื—ื–ื™ืจื” ืžืกืคืจ ืฉื•ืจื•ืช. ื•ื‘ืื—ื“ ื”ืฉื•ืจื•ืช ืื ื• ืจื•ืื™ื ืืช AccessShareLock. ืœืคื™ื›ืš, SELECT ืงื•ืจื ืœ- AccessShareLock ืขืœ ื”ืฉื•ืœื—ืŸ. ื•ื–ื” ืœื ืžืชื ื’ืฉ ื›ืžืขื˜ ืขื ืฉื•ื ื“ื‘ืจ ื›ื™ ื–ื” ืžื ืขื•ืœ ื‘ืจืžื” ื ืžื•ื›ื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืžื” ืื ืื ื™ ืžืคืขื™ืœ SELECT ื•ื™ืฉ ืœื™ ืฉืœื•ืฉ ื˜ื‘ืœืื•ืช ืฉื•ื ื•ืช? ื‘ืขื‘ืจ ื”ืจืฆืชื™ ืจืง ื˜ื‘ืœื” ืื—ืช, ื›ืขืช ืื ื™ ืžืคืขื™ืœ ืฉืœื•ืฉ: pg_class, pg_namespace ื•-pg_attribute.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืขื›ืฉื™ื• ื›ืฉืื ื™ ืžืกืชื›ืœ ืขืœ ื”ืฉืื™ืœืชื”, ืื ื™ ืจื•ืื” 9 AccessShareLocks ื‘ืฉืœื•ืฉ ื˜ื‘ืœืื•ืช. ืœืžื”? ืฉืœื•ืฉ ื˜ื‘ืœืื•ืช ืžืกื•ืžื ื•ืช ื‘ื›ื—ื•ืœ: pg_attribute, pg_class, pg_namespace. ืื‘ืœ ืืชื” ื™ื›ื•ืœ ื’ื ืœืจืื•ืช ืฉืœื›ืœ ื”ืื™ื ื“ืงืกื™ื ื”ืžื•ื’ื“ืจื™ื ื“ืจืš ื”ื˜ื‘ืœืื•ืช ื”ืœืœื• ื™ืฉ ื’ื AccessShareLock.

ื•ื–ื” ืžื ืขื•ืœ ืฉืœืžืขืฉื” ืื™ื ื• ืžืชื ื’ืฉ ืขื ืื—ืจื™ื. ื•ื›ืœ ืžื” ืฉื”ื•ื ืขื•ืฉื” ื”ื•ื ืคืฉื•ื˜ ืœืžื ื•ืข ืžืื™ืชื ื• ืœืืคืก ืืช ื”ื˜ื‘ืœื” ื‘ื–ืžืŸ ืฉืื ื—ื ื• ื‘ื•ื—ืจื™ื ื‘ื”. ื–ื” ื”ื’ื™ื•ื ื™. ื›ืœื•ืžืจ, ืื ื ื‘ื—ืจ ื˜ื‘ืœื”, ื”ื™ื ื ืขืœืžืช ื‘ืื•ืชื• ืจื’ืข, ืื– ื–ื” ืœื ื‘ืกื“ืจ, ืื– AccessShare ื”ื•ื ืžื ืขื•ืœ ื‘ืจืžื” ื ืžื•ื›ื” ืฉืื•ืžืจ ืœื ื• "ืืœ ืชืคื™ืœ ืืช ื”ื˜ื‘ืœื” ื”ื–ื• ื‘ื–ืžืŸ ืฉืื ื™ ืขื•ื‘ื“". ื‘ืขื™ืงืจื•ืŸ, ื–ื” ื›ืœ ืžื” ืฉื”ื™ื ืขื•ืฉื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ROW SHARE - ื”ืžื ืขื•ืœ ื”ื–ื” ืงืฆืช ืฉื•ื ื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื‘ื•ืื• ื ื™ืงื— ื“ื•ื’ืžื”. ืฉื™ื˜ืช SELECT ROW SHARE ืœื ืขื™ืœื” ืฉืœ ื›ืœ ืฉื•ืจื” ื‘ื ืคืจื“. ื‘ื“ืจืš ื–ื• ืืฃ ืื—ื“ ืœื ื™ื›ื•ืœ ืœืžื—ื•ืง ืื•ืชื ืื• ืœืฉื ื•ืช ืื•ืชื ื‘ื–ืžืŸ ืฉืื ื• ืฆื•ืคื™ื ื‘ื”ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸืื– ืžื” ืขื•ืฉื” SHARE LOCK? ืื ื• ืจื•ืื™ื ืฉืžื–ื”ื” ื”ืขืกืงื” ื”ื•ื 681 ืขื‘ื•ืจ SELECT. ื•ื–ื” ืžืขื ื™ื™ืŸ. ืžื” ืงืจื” ืคื”? ื”ืคืขื ื”ืจืืฉื•ื ื” ืฉืื ื• ืจื•ืื™ื ืืช ื”ืžืกืคืจ ื”ื™ื ื‘ืฉื“ื” "ื ืขื™ืœื”". ืื ื—ื ื• ืœื•ืงื—ื™ื ืืช ืžื–ื”ื” ื”ืขืกืงื” ื•ื”ื•ื ืื•ืžืจ ืฉื”ื•ื ื—ื•ืกื ืื•ืชื• ื‘ืžืฆื‘ ื‘ืœืขื“ื™. ื–ื” ืจืง ืื•ืžืจ ืฉื™ืฉ ืœื™ ืฉื•ืจื” ืฉื ื ืขืœื” ื˜ื›ื ื™ืช ืื™ืคืฉื”ื• ื‘ื˜ื‘ืœื”. ืื‘ืœ ื”ื•ื ืœื ืื•ืžืจ ืื™ืคื” ื‘ื“ื™ื•ืง. ื ืกืชื›ืœ ืขืœ ื–ื” ื‘ื™ืชืจ ืคื™ืจื•ื˜ ืžืขื˜ ืžืื•ื—ืจ ื™ื•ืชืจ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื›ืืŸ ืื ื• ืื•ืžืจื™ื ืฉื”ืžื ืขื•ืœ ืžืฉืžืฉ ืื•ืชื ื•.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื–, ืžื ืขื•ืœ ื‘ืœืขื“ื™ ืื•ืžืจ ื‘ืžืคื•ืจืฉ ืฉื”ื•ื ื‘ืœืขื“ื™. ื•ื’ื ืื ืชืžื—ืง ืฉื•ืจื” ื‘ื˜ื‘ืœื” ื–ื•, ื–ื” ืžื” ืฉื™ืงืจื”, ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

SHARE EXCLUSIVE ื”ื•ื ืžื ืขื•ืœ ืืจื•ืš ื™ื•ืชืจ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื–ื•ื”ื™ ืคืงื•ื“ืช (ANALYZE) ืžื ืชื— ืฉืชืฉืžืฉ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

SHARE LOCK - ืืชื” ื™ื›ื•ืœ ืœื ืขื•ืœ ื‘ืื•ืคืŸ ืžืคื•ืจืฉ ื‘ืžืฆื‘ ืฉื™ืชื•ืฃ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืืชื” ื™ื›ื•ืœ ื’ื ืœื™ืฆื•ืจ ืื™ื ื“ืงืก ื™ื™ื—ื•ื“ื™. ื•ืฉื ืชื•ื›ืœื• ืœืจืื•ืช ืืช SHARE LOCK, ืฉื”ื•ื ื—ืœืง ืžื”ื. ื•ื–ื” ื ื•ืขืœ ืืช ื”ืฉื•ืœื—ืŸ ื•ืžื ื™ื— ืขืœื™ื• SHARE LOCK.

ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, SHARE LOCK ื‘ื˜ื‘ืœื” ืื•ืžืจ ืฉืื ืฉื™ื ืื—ืจื™ื ื™ื›ื•ืœื™ื ืœืงืจื•ื ืืช ื”ื˜ื‘ืœื”, ืื‘ืœ ืืฃ ืื—ื“ ืœื ื™ื›ื•ืœ ืœืฉื ื•ืช ืื•ืชื”. ื•ื–ื” ื‘ื“ื™ื•ืง ืžื” ืฉืงื•ืจื” ื›ืฉื™ื•ืฆืจื™ื ืื™ื ื“ืงืก ื™ื™ื—ื•ื“ื™.

ืื ืื ื™ ื™ื•ืฆืจ ืื™ื ื“ืงืก ื‘ื•-ื–ืžื ื™ืช ื™ื™ื—ื•ื“ื™, ืื– ื™ื”ื™ื” ืœื™ ืกื•ื’ ืื—ืจ ืฉืœ ื ืขื™ืœื” ื›ื™, ื›ื–ื›ื•ืจ, ืฉื™ืžื•ืฉ ื‘ืื™ื ื“ืงืกื™ื ื‘ืžืงื‘ื™ืœ ืžืคื—ื™ืช ืืช ื“ืจื™ืฉืช ื”ื ืขื™ืœื”. ื•ืื ืื ื™ ืžืฉืชืžืฉ ื‘ืžื ืขื•ืœ ืจื’ื™ืœ, ื‘ืื™ื ื“ืงืก ืจื’ื™ืœ, ืื– ืื ื™ ืืžื ืข ื›ืชื™ื‘ื” ืœืื™ื ื“ืงืก ื”ื˜ื‘ืœื” ื‘ื–ืžืŸ ืฉื”ื•ื ื ื•ืฆืจ. ืื ืื ื™ ืžืฉืชืžืฉ ื‘ืื™ื ื“ืงืก ื‘ืžืงื‘ื™ืœ, ืื– ืื ื™ ืฆืจื™ืš ืœื”ืฉืชืžืฉ ื‘ืกื•ื’ ืื—ืจ ืฉืœ ื ืขื™ืœื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

SHARE ROW ื‘ืœืขื“ื™ - ืฉื•ื‘ ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ืื•ืชื• ื‘ืžืคื•ืจืฉ (ื‘ืื•ืคืŸ ืžืคื•ืจืฉ).

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื• ืฉื ื•ื›ืœ ืœื™ืฆื•ืจ ื›ืœืœ, ื›ืœื•ืžืจ, ืœืงื—ืช ืžืงืจื” ืกืคืฆื™ืคื™ ืฉื‘ื• ื”ื•ื ื™ืฉืžืฉ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื ืขื™ืœื” ื‘ืœืขื“ื™ืช ืคื™ืจื•ืฉื” ืฉืืฃ ืื—ื“ ืื—ืจ ืœื ื™ื›ื•ืœ ืœืฉื ื•ืช ืืช ื”ื˜ื‘ืœื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื›ืืŸ ืื ื• ืจื•ืื™ื ืกื•ื’ื™ื ืฉื•ื ื™ื ืฉืœ ืžื ืขื•ืœื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ACCESS EXCLUSIVE, ืœืžืฉืœ, ื”ื™ื ืคืงื•ื“ืช ื—ืกื™ืžื”. ืœืžืฉืœ, ืื ื›ืŸ CLUSTER table, ืื– ื–ื” ืื•ืžืจ ืฉืืฃ ืื—ื“ ืœื ื™ื•ื›ืœ ืœื›ืชื•ื‘ ืฉื. ื•ื–ื” ื ื•ืขืœ ืœื ืจืง ืืช ื”ื˜ื‘ืœื” ืขืฆืžื”, ืืœื ื’ื ืืช ื”ืื™ื ื“ืงืกื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื–ื”ื• ื”ืขืžื•ื“ ื”ืฉื ื™ ืฉืœ ื—ืกื™ืžืช ACCESS EXCLUSIVE, ื‘ื• ืื ื• ืจื•ืื™ื ื‘ื“ื™ื•ืง ืžื” ื”ื•ื ื—ื•ืกื ื‘ื˜ื‘ืœื”. ื–ื” ื ื•ืขืœ ืฉื•ืจื•ืช ื‘ื•ื“ื“ื•ืช ื‘ื˜ื‘ืœื”, ื•ื–ื” ื“ื™ ืžืขื ื™ื™ืŸ.

ื–ื” ื›ืœ ื”ืžื™ื“ืข ื”ื‘ืกื™ืกื™ ืฉืจืฆื™ืชื™ ืœืชืช. ื“ื™ื‘ืจื ื• ืขืœ ืžื ืขื•ืœื™ื, ืขืœ ืžื–ื”ื™ ื˜ืจื ื–ืงืฆื™ื•ืช, ื“ื™ื‘ืจื ื• ืขืœ ืžื–ื”ื™ ืขืกืงื” ื•ื™ืจื˜ื•ืืœื™ื™ื, ืขืœ ืžื–ื”ื™ ืขืกืงื” ืงื‘ื•ืขื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืขื›ืฉื™ื• ื ืขื‘ื•ืจ ืขืœ ื›ืžื” ื“ื•ื’ืžืื•ืช ื—ื•ืกืžื•ืช. ื–ื” ื”ื—ืœืง ื”ื›ื™ ืžืขื ื™ื™ืŸ. ื ืกืชื›ืœ ืขืœ ืžืงืจื™ื ืžืื•ื“ ืžืขื ื™ื™ื ื™ื. ื•ื”ืžื˜ืจื” ืฉืœื™ ื‘ืžืฆื’ืช ื”ื–ื• ื”ื™ื ืœืชืช ืœืš ื”ื‘ื ื” ื˜ื•ื‘ื” ื™ื•ืชืจ ืฉืœ ืžื” Postgres ืขื•ืฉื” ื‘ืขืฆื ื›ืฉื”ื•ื ืžื ืกื” ืœื—ืกื•ื ื“ื‘ืจื™ื ืžืกื•ื™ืžื™ื. ืื ื™ ื—ื•ืฉื‘ ืฉื”ื•ื ื˜ื•ื‘ ืžืื•ื“ ื‘ืœื—ืกื•ื ื—ืœืงื™ื.

ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื›ืžื” ื“ื•ื’ืžืื•ืช ืกืคืฆื™ืคื™ื•ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื ืชื—ื™ืœ ื‘ื˜ื‘ืœืื•ืช ื•ืฉื•ืจื” ืื—ืช ื‘ื˜ื‘ืœื”. ื›ืฉืื ื™ ืžื›ื ื™ืก ืžืฉื”ื• ื™ืฉ ืœื™ ExclusiveLock, ืžื–ื”ื” ืขืกืงื” ื•-ExclusiveLock ืžื•ืฆื’ื™ื ืขืœ ื”ื˜ื‘ืœื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืžื” ืงื•ืจื” ืื ืื ื™ ืžื›ื ื™ืก ืขื•ื“ ืฉืชื™ ืฉื•ืจื•ืช? ื•ืขื›ืฉื™ื• ื™ืฉ ื‘ื˜ื‘ืœื” ืฉืœื ื• ืฉืœื•ืฉ ืฉื•ืจื•ืช. ื•ื”ื›ื ืกืชื™ ืฉื•ืจื” ืื—ืช ื•ืงื™ื‘ืœืชื™ ืืช ื–ื” ื‘ืชื•ืจ ืคืœื˜. ื•ืื ืื ื™ ืžื›ื ื™ืก ืขื•ื“ ืฉืชื™ ืฉื•ืจื•ืช, ืžื” ืžื•ื–ืจ ื‘ื–ื”? ื™ืฉ ื›ืืŸ ื“ื‘ืจ ืžื•ื–ืจ ื›ื™ ื”ื•ืกืคืชื™ ืฉืœื•ืฉ ืฉื•ืจื•ืช ืœื˜ื‘ืœื” ื”ื–ื•, ืื‘ืœ ืขื“ื™ื™ืŸ ื™ืฉ ืœื™ ืฉืชื™ ืฉื•ืจื•ืช ื‘ื˜ื‘ืœืช ื”ื ืขื™ืœื”. ื•ื–ื• ื‘ืขืฆื ื”ื”ืชื ื”ื’ื•ืช ื”ื‘ืกื™ืกื™ืช ืฉืœ ืคื•ืกื˜ื’ืจืก.

ืื ืฉื™ื ืจื‘ื™ื ื—ื•ืฉื‘ื™ื ืฉืื ื‘ืžืกื“ ื ืชื•ื ื™ื ืืชื” ื ื•ืขืœ 100 ืฉื•ืจื•ืช, ืื– ืชืฆื˜ืจืš ืœื™ืฆื•ืจ 100 ื›ื ื™ืกื•ืช ื ืขื™ืœื”. ืื ืื ื™ ื—ื•ืกื 1 ืฉื•ืจื•ืช ื‘ื‘ืช ืื—ืช, ืื–ื“ืงืง ืœ-000 ืฉืื™ืœืชื•ืช ื›ืืœื”. ื•ืื ืื ื™ ืฆืจื™ืš ืžื™ืœื™ื•ืŸ ืื• ืžื™ืœื™ืืจื“ ืœื—ืกื•ื. ืื‘ืœ ืื ื ืขืฉื” ืืช ื–ื”, ื–ื” ืœื ื™ืขื‘ื•ื“ ื˜ื•ื‘ ื‘ืžื™ื•ื—ื“. ืื ื”ืฉืชืžืฉืช ื‘ืžืขืจื›ืช ืฉื™ื•ืฆืจืช ื›ื ื™ืกื•ืช ื—ืกื™ืžื” ืขื‘ื•ืจ ื›ืœ ืฉื•ืจื” ื‘ื•ื“ื“ืช, ืื– ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืฉื–ื” ืžืกื•ื‘ืš. ื›ื™ ืืชื” ืฆืจื™ืš ืœื”ื’ื“ื™ืจ ืžื™ื“ ืฉื•ืœื—ืŸ ื ืขื™ืœื” ืฉื™ื›ื•ืœ ืœืขืœื•ืช ืขืœ ื’ื“ื•ืชื™ื•, ืื‘ืœ Postgres ืœื ืขื•ืฉื” ืืช ื–ื”.

ื•ืžื” ืฉื‘ืืžืช ื—ืฉื•ื‘ ื‘ืฉืงืฃ ื”ื–ื” ื”ื•ื ืฉื”ื•ื ืžื“ื’ื™ื ื‘ื‘ื™ืจื•ืจ ืฉื™ืฉ ืžืขืจื›ืช ืื—ืจืช ืฉืคื•ืขืœืช ื‘ืชื•ืš MVCC ืฉื ื•ืขืœืช ืฉื•ืจื•ืช ื‘ื•ื“ื“ื•ืช. ืื– ื›ืฉืืชื” ื ื•ืขืœ ืžื™ืœื™ืืจื“ื™ ืฉื•ืจื•ืช, Postgres ืœื ื™ื•ืฆืจ ืžื™ืœื™ืืจื“ ืคืงื•ื“ื•ืช ื ืขื™ืœื” ื ืคืจื“ื•ืช. ื•ืœื›ืš ื™ืฉ ื”ืฉืคืขื” ื˜ื•ื‘ื” ืžืื•ื“ ืขืœ ื”ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืžื” ืœื’ื‘ื™ ืขื“ื›ื•ืŸ? ืื ื™ ืžืขื“ื›ืŸ ืืช ื”ืฉื•ืจื” ืขื›ืฉื™ื•, ื•ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืฉื”ื™ื ื‘ื™ืฆืขื” ืฉืชื™ ืคืขื•ืœื•ืช ืฉื•ื ื•ืช ื‘ื‘ืช ืื—ืช. ื–ื” ื ืขืœ ืืช ื”ื˜ื‘ืœื” ื‘ืื•ืชื• ื”ื–ืžืŸ, ืื‘ืœ ื–ื” ื’ื ื ืขืœ ืืช ื”ืžื“ื“. ื•ื”ื•ื ื”ื™ื” ืฆืจื™ืš ืœื ืขื•ืœ ืืช ื”ืžื“ื“ ื›ื™ ื™ืฉ ืื™ืœื•ืฆื™ื ื™ื™ื—ื•ื“ื™ื™ื ืขืœ ื”ืฉื•ืœื—ืŸ ื”ื–ื”. ื•ืื ื—ื ื• ืจื•ืฆื™ื ืœื•ื•ื“ื ืฉืืฃ ืื—ื“ ืœื ื™ืฉื ื” ืืช ื–ื”, ืื– ืื ื—ื ื• ื—ื•ืกืžื™ื ืืช ื–ื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืžื” ืงื•ืจื” ืื ืื ื™ ืจื•ืฆื” ืœืขื“ื›ืŸ ืฉืชื™ ืฉื•ืจื•ืช? ื•ืจื•ืื™ื ืฉื”ื•ื ืžืชื ื”ื’ ื›ืš. ืื ื—ื ื• ืžื‘ืฆืขื™ื ืคื™ ืฉื ื™ื™ื ืขื“ื›ื•ื ื™ื, ืื‘ืœ ื‘ื“ื™ื•ืง ืื•ืชื• ืžืกืคืจ ืฉืœ ืงื•ื•ื™ ื ืขื™ืœื”.

ืื ืืชื” ืชื•ื”ื” ืื™ืš Postgres ืขื•ืฉื” ื–ืืช, ืชืฆื˜ืจืš ืœื”ืงืฉื™ื‘ ืœื”ืจืฆืื•ืช ืฉืœื™ ืขืœ MVCC ื›ื“ื™ ืœืœืžื•ื“ ื›ื™ืฆื“ Postgres ืžืกืžืŸ ื‘ืื•ืคืŸ ืคื ื™ืžื™ ืืช ื”ืฉื•ืจื•ืช ื”ืืœื” ืฉื”ื™ื ืžืฉืชื ื”. ื•ืœ-Postgres ื™ืฉ ื“ืจืš ืฉื‘ื” ื”ื™ื ืขื•ืฉื” ื–ืืช, ืื‘ืœ ื”ื™ื ืœื ืขื•ืฉื” ื–ืืช ื‘ืจืžืช ื ืขื™ืœืช ื”ืฉื•ืœื—ืŸ, ื”ื™ื ืขื•ืฉื” ื–ืืช ื‘ืจืžื” ื ืžื•ื›ื” ื•ื™ืขื™ืœื” ื™ื•ืชืจ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืžื” ืื ืื ื™ ืจื•ืฆื” ืœืžื—ื•ืง ืžืฉื”ื•? ืื ืื ื™ ืžื•ื—ืง, ืœืžืฉืœ, ืฉื•ืจื” ืื—ืช ื•ืขื“ื™ื™ืŸ ื™ืฉ ืœื™ ืืช ืฉืชื™ ื›ื ื™ืกื•ืช ื”ื—ืกื™ืžื” ืฉืœื™, ื•ื’ื ืื ืื ื™ ืจื•ืฆื” ืœืžื—ื•ืง ืืช ื›ื•ืœื, ื”ื ืขื“ื™ื™ืŸ ืฉื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืœื“ื•ื’ืžื”, ืื ื™ ืจื•ืฆื” ืœื”ื•ืกื™ืฃ 1 ืฉื•ืจื•ืช, ื•ืื– ืœืžื—ื•ืง ืื• ืœื”ื•ืกื™ืฃ 000 ืฉื•ืจื•ืช, ื•ืื– ื”ืฉื•ืจื•ืช ื”ื‘ื•ื“ื“ื•ืช ืฉืื ื™ ืžื•ืกื™ืฃ ืื• ืžืฉื ื”, ื”ืŸ ืœื ื ืจืฉืžื•ืช ื›ืืŸ. ื”ื ื›ืชื•ื‘ื™ื ื‘ืจืžื” ื ืžื•ื›ื” ื™ื•ืชืจ ื‘ืชื•ืš ื”ืกื“ืจื” ืขืฆืžื”. ื•ื‘ืžื”ืœืš ื ืื•ื MVCC ื“ื™ื‘ืจืชื™ ืขืœ ื–ื” ื‘ืคื™ืจื•ื˜. ืื‘ืœ ื–ื” ืžืื•ื“ ื—ืฉื•ื‘ ื›ืฉืืชื” ืžื ืชื— ืžื ืขื•ืœื™ื ื›ื“ื™ ืœื•ื•ื“ื ืฉืืชื” ื ื ืขืœ ื‘ืจืžืช ื”ื˜ื‘ืœื” ื•ืฉืื™ื ืš ืจื•ืื” ื›ื™ืฆื“ ืฉื•ืจื•ืช ื‘ื•ื“ื“ื•ืช ืžืชื•ืขื“ื•ืช ื›ืืŸ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืžื” ืœื’ื‘ื™ ื—ืกื™ืžื” ืžืคื•ืจืฉืช?

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื ืื ื™ ืœื•ื—ืฅ ืขืœ ืจืขื ืŸ, ื™ืฉ ืœื™ ืฉืชื™ ืฉื•ืจื•ืช ื ืขื•ืœื•ืช. ื•ืื ืื ื™ ื‘ื•ื—ืจ ืืช ื›ื•ืœื ื•ืœื•ื—ืฅ ืขืœ "ืขื“ื›ืŸ ื‘ื›ืœ ืžืงื•ื", ืื– ืขื“ื™ื™ืŸ ื™ืฉ ืœื™ ืฉืชื™ ืจืฉื•ืžื•ืช ื—ืกื™ืžื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื™ื ื ื• ื™ื•ืฆืจื™ื ืจืฉื•ืžื•ืช ื ืคืจื“ื•ืช ืขื‘ื•ืจ ื›ืœ ืฉื•ืจื” ื‘ื•ื“ื“ืช. ื›ื™ ืื– ื”ืคืจื•ื“ื•ืงื˜ื™ื‘ื™ื•ืช ื™ื•ืจื“ืช, ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืฉ ื™ื•ืชืจ ืžื“ื™ ืžื–ื”. ื•ืื ื—ื ื• ืขืœื•ืœื™ื ืœืžืฆื•ื ืืช ืขืฆืžื ื• ื‘ืžืฆื‘ ืœื ื ืขื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื•ืชื• ื“ื‘ืจ, ืื ื ืขืฉื” ืฉื™ืชื•ืฃ, ื ื•ื›ืœ ืœืขืฉื•ืช ื”ื›ืœ 30 ืคืขืžื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื ื• ืžืฉื—ื–ืจื™ื ืืช ื”ื˜ื‘ืœื” ืฉืœื ื•, ืžื•ื—ืงื™ื ื”ื›ืœ ื•ืื– ืžื›ื ื™ืกื™ื ืฉื•ื‘ ืฉื•ืจื” ืื—ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื”ืชื ื”ื’ื•ืช ื ื•ืกืคืช ืฉืืชื” ืจื•ืื” ื‘-Postgres ืฉื”ื™ื ืžืื•ื“ ื™ื“ื•ืขื” ื•ืจืฆื•ื™ื” ื”ื™ื ืฉืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ืขื“ื›ื•ืŸ ืื• ื‘ื—ื™ืจื”. ื•ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ื–ืืช ื‘ืžืงื‘ื™ืœ. ื•- select ืœื ื—ื•ืกื ืขื“ื›ื•ืŸ ื•ืื•ืชื• ื“ื‘ืจ ื‘ื›ื™ื•ื•ืŸ ื”ื”ืคื•ืš. ืื ื—ื ื• ืื•ืžืจื™ื ืœืงื•ืจื ืœื ืœื—ืกื•ื ืืช ื”ื›ื•ืชื‘, ื•ื”ื›ื•ืชื‘ ืœื ื—ืกื ืืช ื”ืงื•ืจื.

ืื ื™ ืืจืื” ืœืš ื“ื•ื’ืžื” ืœื›ืš. ืื ื™ ืืขืฉื” ื‘ื—ื™ืจื” ืขื›ืฉื™ื•. ืœืื—ืจ ืžื›ืŸ ื ืขืฉื” ืืช ื”-INSERT. ื•ืื– ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช - 694. ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืืช ื”ืžื–ื”ื” ืฉืœ ื”ืขืกืงื” ืฉื‘ื™ืฆืขื” ืืช ื”ื”ื›ื ืกื” ื”ื–ื•. ื•ื›ื›ื” ื–ื” ืขื•ื‘ื“.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื ืื ื™ ืžืกืชื›ืœ ืขืœ ื”ืžื–ื”ื” ื”ืื—ื•ืจื™ ืฉืœื™ ืขื›ืฉื™ื•, ื–ื” ืขื›ืฉื™ื• 695.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื ื™ ื™ื›ื•ืœ ืœืจืื•ืช 695 ืžื•ืคื™ืขื™ื ื‘ื˜ื‘ืœื” ืฉืœื™.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื ืื ื™ ืืขื“ื›ืŸ ืคื” ื›ื›ื”, ืื– ืื ื™ ืžืงื‘ืœ ืžืงืจื” ืื—ืจ. ื‘ืžืงืจื” ื–ื”, 695 ื”ื•ื ืžื ืขื•ืœ ื‘ืœืขื“ื™, ื•ืœืขื“ื›ื•ืŸ ื™ืฉ ืื•ืชื” ื”ืชื ื”ื’ื•ืช, ืืš ืื™ืŸ ื‘ื™ื ื™ื”ื ื”ืชื ื’ืฉื•ืช, ื•ื–ื” ื“ื™ ื—ืจื™ื’.

ื•ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืฉื‘ื—ืœืง ื”ืขืœื™ื•ืŸ ื–ื” ShareLock, ื•ืœืžื˜ื” ื–ื” ExclusiveLock. ื•ืฉืชื™ ื”ืขืกืงืื•ืช ื”ืกืชื“ืจื•.

ื•ืืชื” ืฆืจื™ืš ืœื”ืงืฉื™ื‘ ืœื”ืจืฆืื” ืฉืœื™ ื‘-MVCC ื›ื“ื™ ืœื”ื‘ื™ืŸ ืื™ืš ื–ื” ืงื•ืจื”. ืื‘ืœ ื–ื” ื”ืžื—ืฉื” ืฉืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ืืช ื–ื” ื‘ืื•ืชื• ื–ืžืŸ, ื›ืœื•ืžืจ ืœืขืฉื•ืช SELECT ื•-UPDATE ื‘ื• ื–ืžื ื™ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื‘ื•ืื• ื ืชืืคืก ื•ื ืขืฉื” ืขื•ื“ ืคืขื•ืœื” ืื—ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื ืชื ืกื” ืœื”ืคืขื™ืœ ืฉื ื™ ืขื“ื›ื•ื ื™ื ื‘ื• ื–ืžื ื™ืช ื‘ืื•ืชื” ืฉื•ืจื”, ื–ื” ื™ื™ื—ืกื. ื•ื–ื›ื•ืจ, ืืžืจืชื™ ืฉื”ืงื•ืจื ืื™ื ื• ื—ื•ืกื ืืช ื”ื›ื•ืชื‘, ื•ื”ื›ื•ืชื‘ ืื™ื ื• ื—ื•ืกื ืืช ื”ืงื•ืจื, ืืœื ืกื•ืคืจ ืื—ื“ ื—ื•ืกื ื›ื•ืชื‘ ืื—ืจ. ื›ืœื•ืžืจ, ืื ื—ื ื• ืœื ื™ื›ื•ืœื™ื ืœื’ืจื•ื ืœืฉื ื™ ืื ืฉื™ื ืœืขื“ื›ืŸ ืืช ืื•ืชื” ืฉื•ืจื” ื‘ื•-ื–ืžื ื™ืช. ืืชื” ืฆืจื™ืš ืœื—ื›ื•ืช ืขื“ ืฉืื—ื“ ืžื”ื ื™ืกืชื™ื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื›ื“ื™ ืœื”ืžื—ื™ืฉ ื–ืืช, ืืกืชื›ืœ ื‘ื˜ื‘ืœืช Lockdemo. ื•ื ืกืชื›ืœ ืขืœ ืฉื•ืจื” ืื—ืช. ืœื›ืœ ืขืกืงื” 698.

ืขื“ื›ื ื• ืืช ื–ื” ืœ-2. 699 ื”ื•ื ื”ืขื“ื›ื•ืŸ ื”ืจืืฉื•ืŸ. ื•ื–ื” ื”ืฆืœื™ื— ืื• ืฉื”ื•ื ื‘ืขืกืงื” ืžืžืชื™ื ื” ื•ืžื—ื›ื” ืœื ื• ืœืืฉืจ ืื• ืœื‘ื˜ืœ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื‘ืœ ืชืกืชื›ืœ ืขืœ ืžืฉื”ื• ืื—ืจ - 2/51 ื”ื•ื ื”ืขืกืงื” ื”ืจืืฉื•ื ื” ืฉืœื ื•, ื”ืคื’ื™ืฉื” ื”ืจืืฉื•ื ื” ืฉืœื ื•. 3/112 ื”ื™ื ื”ื‘ืงืฉื” ื”ืฉื ื™ื™ื” ืฉื”ื’ื™ืขื” ืžืœืžืขืœื” ืฉืฉื™ื ืชื” ืืช ื”ืขืจืš ื”ื–ื” ืœ-3. ื•ืื ืชืฉื™ื ืœื‘, ื”ืขืœื™ื•ื ื” ื ื ืขืœื” ืืช ืขืฆืžื”, ืฉื”ื™ื 699. ืื‘ืœ 3/112 ืœื ื”ืขื ื™ืง ืืช ื”ืžื ืขื•ืœ. ื”ืขืžื•ื“ื” Lock_mode ืื•ืžืจืช ืœืžื” ื”ื™ื ืžื—ื›ื”. ื”ื•ื ืžืฆืคื” ืœ-699. ื•ืื ืžืกืชื›ืœื™ื ื”ื™ื›ืŸ ื ืžืฆื 699, ื”ื•ื ื’ื‘ื•ื” ื™ื•ืชืจ. ื•ืžื” ืขืฉืชื” ื”ืคื’ื™ืฉื” ื”ืจืืฉื•ื ื”? ื”ื™ื ื™ืฆืจื” ืžื ืขื•ืœ ื‘ืœืขื“ื™ ืขืœ ืžื–ื”ื” ื”ืขืกืงื” ืฉืœื”. ื›ืš ืคื•ืกื˜ื’ืจืก ืขื•ืฉื” ืืช ื–ื”. ื–ื” ื—ื•ืกื ืืช ืžื–ื”ื” ื”ืขืกืงื” ืฉืœื•. ื•ืื ืืชื” ืจื•ืฆื” ืœื—ื›ื•ืช ืฉืžื™ืฉื”ื• ื™ืืฉืจ ืื• ื™ื‘ื˜ืœ, ืื– ืืชื” ืฆืจื™ืš ืœื—ื›ื•ืช ื‘ื–ืžืŸ ืฉื™ืฉ ืขืกืงื” ืžืžืชื™ื ื”. ื•ื‘ื’ืœืœ ื–ื” ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืจืื•ืช ืงื• ืžื•ื–ืจ.

ื‘ื•ืื• ื ืกืชื›ืœ ืฉื•ื‘. ื‘ืฆื“ ืฉืžืืœ ืื ื• ืจื•ืื™ื ืืช ืžื–ื”ื” ื”ืขื™ื‘ื•ื“ ืฉืœื ื•. ื‘ืขืžื•ื“ื” ื”ืฉื ื™ื™ื” ืื ื• ืจื•ืื™ื ืืช ืžื–ื”ื” ื”ืขืกืงื” ื”ื•ื•ื™ืจื˜ื•ืืœื™ืช ืฉืœื ื•, ื•ื‘ืขืžื•ื“ื” ื”ืฉืœื™ืฉื™ืช ืื ื• ืจื•ืื™ื ืืช lock_type. ืžื” ื–ื” ืื•ืžืจ? ื‘ืขื™ืงืจื• ืฉืœ ื“ื‘ืจ ืžื” ืฉื›ืชื•ื‘ ื”ื•ื ืฉื–ื” ื—ื•ืกื ืืช ืžื–ื”ื” ื”ืขืกืงื”. ืื‘ืœ ืฉื™ืžื• ืœื‘ ืฉื›ืœ ื”ืฉื•ืจื•ืช ื‘ืชื—ืชื™ืช ืื•ืžืจื•ืช ื™ื—ืก. ื•ื›ืš ื™ืฉ ืœืš ืฉื ื™ ืกื•ื’ื™ื ืฉืœ ืžื ืขื•ืœื™ื ืขืœ ื”ืฉื•ืœื—ืŸ. ื™ืฉ ื ืขื™ืœืช ื™ื—ืก. ื•ืื– ื™ืฉ ืืช ื—ืกื™ืžืช ื”-transactionid, ืฉื‘ื• ืืชื” ื—ื•ืกื ื‘ืขืฆืžืš, ื•ื–ื” ื‘ื“ื™ื•ืง ืžื” ืฉืงื•ืจื” ื‘ืฉื•ืจื” ื”ืจืืฉื•ื ื” ืื• ืžืžืฉ ื‘ืชื—ืชื™ืช, ืื™ืคื” ื”-transactionid, ืฉื ืื ื—ื ื• ืžื—ื›ื™ื ืฉ-699 ื™ืกื™ื™ื ืืช ืคืขื•ืœืชื•.

ืื ื™ ืืจืื” ืžื” ื™ืงืจื” ื›ืืŸ. ื•ื”ื ื” ืฉื ื™ ื“ื‘ืจื™ื ืงื•ืจื™ื ื‘ื• ื–ืžื ื™ืช. ืืชื” ืžืกืชื›ืœ ืขืœ ื ืขื™ืœืช ืžื–ื”ื” ืขืกืงื” ื‘ืฉื•ืจื” ื”ืจืืฉื•ื ื” ืฉื ื•ืขืœืช ืืช ืขืฆืžื”. ื•ื”ื™ื ื—ื•ืกืžืช ืืช ืขืฆืžื” ื›ื“ื™ ืœื’ืจื•ื ืœืื ืฉื™ื ืœื—ื›ื•ืช.

ืื ืืชื” ืžืกืชื›ืœ ืขืœ ื”ืฉื•ืจื” ื”ืฉื™ืฉื™ืช, ื–ื” ืื•ืชื• ืขืจืš ื›ืžื• ื”ืจืืฉื•ืŸ. ื•ืœื›ืŸ ืขืกืงื” 6 ื—ืกื•ืžื”. 699 ื”ื•ื ื’ื ื ืขื™ืœื” ืขืฆืžื™ืช. ื•ืื– ื‘ืฉื•ืจื” ื”ืชื—ืชื•ื ื” ืชืจืื” ืฉืื ื—ื ื• ืžื—ื›ื™ื ืฉ-700 ื™ืกื™ื™ื ืืช ืคืขื•ืœืชื•.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื‘-lock_type, tuple ืืชื” ืจื•ืื” ืžืกืคืจื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืฉื–ื” 0/10. ื•ื–ื”ื• ืžืกืคืจ ื”ืขืžื•ื“, ื•ื’ื ื”ืงื™ื–ื•ื– ืฉืœ ื”ืฉื•ืจื” ื”ืžืกื•ื™ืžืช ื”ื–ื•.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืืชื” ืจื•ืื” ืฉื–ื” ื”ื•ืคืš ืœ-0/11 ื›ืฉืื ื—ื ื• ืžืขื“ื›ื ื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื‘ืœ ื‘ืžืฆื™ืื•ืช ื–ื” 0/10, ื›ื™ ื™ืฉ ื”ืžืชื ื” ืœืžื‘ืฆืข ื”ื–ื”. ื™ืฉ ืœื ื• ื”ื–ื“ืžื ื•ืช ืœืจืื•ืช ืฉื–ื• ื”ืกื“ืจื” ืฉืื ื™ ืžื—ื›ื” ืœืืฉืจ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืœืื—ืจ ืฉืื™ืฉืจื ื• ืื•ืชื• ื•ืœื—ืฆื ื• ืขืœ commit, ื•ื›ืืฉืจ ื”ืขื“ื›ื•ืŸ ื™ืกืชื™ื™ื, ื–ื” ืžื” ืฉื ืงื‘ืœ ืฉื•ื‘. ืขืกืงื” 700 ื”ื™ื ื”ื ืขื™ืœื” ื”ื™ื—ื™ื“ื”, ื”ื™ื ืœื ืžื—ื›ื” ืœืืฃ ืื—ื“ ืื—ืจ ื›ื™ ื”ื™ื ื‘ื•ืฆืขื”. ื–ื” ืคืฉื•ื˜ ืžื—ื›ื” ืœืกื™ื•ื ื”ืขืกืงื”. ื‘ืจื’ืข ืฉ-699 ื ื’ืžืจ, ืื ื—ื ื• ืœื ืžื—ื›ื™ื ืœืฉื•ื ื“ื‘ืจ ื™ื•ืชืจ. ื•ืขื›ืฉื™ื• ืขืกืงื” 700 ืื•ืžืจืช ืฉื”ื›ืœ ื‘ืกื“ืจ, ืฉื™ืฉ ืœื• ืืช ื›ืœ ื”ืžื ืขื•ืœื™ื ืฉื”ื•ื ืฆืจื™ืš ื‘ื›ืœ ื”ืฉื•ืœื—ื ื•ืช ื”ืžื•ืชืจื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื›ื“ื™ ืœื”ืคื•ืš ืืช ื›ืœ ื”ืขื ื™ื™ืŸ ื”ื–ื” ืœืขื•ื“ ื™ื•ืชืจ ืžืกื•ื‘ืš, ืื ื—ื ื• ื™ื•ืฆืจื™ื ื”ืฉืงืคื” ื ื•ืกืคืช, ืฉื”ืคืขื ืชืกืคืง ืœื ื• ื”ื™ืจืจื›ื™ื”. ืื ื™ ืœื ืžืฆืคื” ืฉืชื‘ื™ืŸ ืืช ื”ื‘ืงืฉื” ื”ื–ื•. ืื‘ืœ ื–ื” ื™ื™ืชืŸ ืœื ื• ืจืื™ื™ื” ื‘ืจื•ืจื” ื™ื•ืชืจ ืฉืœ ืžื” ืฉืงื•ืจื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื–ื•ื”ื™ ื”ืฉืงืคื” ืจืงื•ืจืกื™ื‘ื™ืช ืฉื™ืฉ ืœื” ื’ื ืกืขื™ืฃ ื ื•ืกืฃ. ื•ืื– ื–ื” ืžืื—ื“ ืืช ื”ื›ืœ ืฉื•ื‘. ื‘ื•ืื• ื ืฉืชืžืฉ ื‘ื–ื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืžื” ืื ื ืขืฉื” ืฉืœื•ืฉื” ืขื“ื›ื•ื ื™ื ื‘ื• ื–ืžื ื™ืช ื•ื ืืžืจ ืฉื”ืฉื•ืจื” ื”ื™ื ื›ืขืช ืฉืœื•ืฉื”. ื•ื ืฉื ื” ืืช 3 ืœ-4.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื”ื ื” ืื ื• ืจื•ืื™ื 4. ื•ืžื–ื”ื” ืขืกืงื” 702.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื– ืืฉื ื” 4 ืœ-5. ื•-5 ืœ-6, ื•-6 ืœ-7. ื•ืื ื™ ืืกื“ืจ ืžืกืคืจ ืื ืฉื™ื ืฉื™ื—ื›ื• ืœืกื™ื•ื ื”ืขืกืงื” ื”ืื—ืช ื”ื–ื•.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื”ื›ืœ ืžืชื‘ื”ืจ. ืžื”ื™ ื”ืฉื•ืจื” ื”ืจืืฉื•ื ื”? ื–ื”ื• 702. ื–ื”ื• ืžื–ื”ื” ื”ืขืกืงื” ืฉืงื‘ืข ื‘ืžืงื•ืจ ืืช ื”ืขืจืš ื”ื–ื”. ืžื” ื›ืชื•ื‘ ื‘ื˜ื•ืจ ื”-Grated ืฉืœื™? ื™ืฉ ืœื™ ืกื™ืžื ื™ื f. ืืœื• ื”ื ื”ืขื“ื›ื•ื ื™ื ืฉืœื™ ืฉืœื ื ื™ืชืŸ ืœืืฉืจ (5, 6, 7), ื›ื™ ืื ื—ื ื• ืžื—ื›ื™ื ืฉืžื–ื”ื” ืขืกืงื” 702 ื™ืกืชื™ื™ื. ืฉื ื™ืฉ ืœื ื• ื—ืกื™ืžืช ืžื–ื”ื” ืขืกืงื”. ื•ื–ื” ืžื‘ื™ื ืœ-5 ื ืขื™ืœื•ืช ืžื–ื”ื” ืขืกืงื”.

ื•ืื ืืชื” ืžืกืชื›ืœ ืขืœ 704, ืขืœ 705, ืฉื•ื ื“ื‘ืจ ืขื“ื™ื™ืŸ ืœื ื ื›ืชื‘ ืฉื, ื›ื™ ื”ื ืขื“ื™ื™ืŸ ืœื ื™ื•ื“ืขื™ื ืžื” ืงื•ืจื”. ื”ื ืคืฉื•ื˜ ื›ื•ืชื‘ื™ื ืฉืื™ืŸ ืœื”ื ืžื•ืฉื’ ืžื” ืงื•ืจื”. ื•ื”ื ืคืฉื•ื˜ ื™ืœื›ื• ืœื™ืฉื•ืŸ ื›ื™ ื”ื ืžื—ื›ื™ื ืฉืžื™ืฉื”ื• ื™ืกื™ื™ื ื•ื™ืขื™ืจื• ืื•ืชื• ื›ืฉื™ืฉ ื”ื–ื“ืžื ื•ืช ืœื”ื—ืœื™ืฃ ืฉื•ืจื•ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื›ืš ื–ื” ื ืจืื”. ื‘ืจื•ืจ ืฉื›ื•ืœื ืžื—ื›ื™ื ืœืงื• ื”-12.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื–ื” ืžื” ืฉืจืื™ื ื• ื›ืืŸ. ื”ื ื” 0/12.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื– ื‘ืจื’ืข ืฉื”ืขืกืงื” ื”ืจืืฉื•ื ื” ืชืื•ืฉืจ, ืชื•ื›ืœื• ืœืจืื•ืช ื›ืืŸ ื›ื™ืฆื“ ืคื•ืขืœืช ื”ื”ื™ืจืจื›ื™ื”. ื•ืขื›ืฉื™ื• ื”ื›ืœ ืžืชื‘ืจืจ. ื›ื•ืœื ื ืขืฉื™ื ื ืงื™ื™ื. ื•ื”ื ื‘ืขืฆื ืขื“ื™ื™ืŸ ืžื—ื›ื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื”ื ื” ืžื” ืฉืงื•ืจื”. 702 ืžืชื—ื™ื™ื‘ื™ื. ื•ืขื›ืฉื™ื• 703 ืžืงื‘ืœ ืืช ื ืขื™ืœืช ื”ืฉื•ืจื” ื”ื–ื•, ื•ืื– 704 ืžืชื—ื™ืœ ืœื—ื›ื•ืช ืœ-703 ืœื”ืชื—ื™ื™ื‘. ื•ื’ื ื”-705 ืžื—ื›ื” ืœื–ื”. ื•ื›ืฉื›ืœ ื–ื” ื™ืกืชื™ื™ื, ื”ื ืžื ืงื™ื ืืช ืขืฆืžื. ื•ืื ื™ ืจื•ืฆื” ืœืฆื™ื™ืŸ ืฉื›ื•ืœื ืขื•ืžื“ื™ื ื‘ืชื•ืจ. ื•ื–ื” ืžืื•ื“ ื“ื•ืžื” ืœืžืฆื‘ ื‘ืคืงืง ื›ืฉื›ื•ืœื ืžื—ื›ื™ื ืœืจื›ื‘ ื”ืจืืฉื•ืŸ. ื”ืžื›ื•ื ื™ืช ื”ืจืืฉื•ื ื” ื ืขืฆืจืช ื•ื›ื•ืœื ืขื•ืžื“ื™ื ื‘ืชื•ืจ ืืจื•ืš. ื•ืื– ื”ื•ื ื–ื–, ื•ืื– ื”ืžื›ื•ื ื™ืช ื”ื‘ืื” ื™ื›ื•ืœื” ืœื ืกื•ืข ืงื“ื™ืžื” ื•ืœืงื‘ืœ ืืช ื”ื—ืกื™ืžื” ืฉืœื• ื•ื›ื•'.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื ื–ื” ืœื ื ืจืื” ืœืš ืžืกืคื™ืง ืžืกื•ื‘ืš, ืื– ืขื›ืฉื™ื• ื ื“ื‘ืจ ืื™ืชืš ืขืœ ืžื‘ื•ื™ ืกืชื•ื. ืื ื™ ืœื ื™ื•ื“ืข ืžื™ ืžื›ื ื ืชืงืœ ื‘ื”ื. ื–ื•ื”ื™ ื‘ืขื™ื” ื ืคื•ืฆื” ืœืžื“ื™ ื‘ืžืขืจื›ื•ืช ืžืกื“ื™ ื ืชื•ื ื™ื. ืื‘ืœ ืžื‘ื•ื™ ืกืชื•ื ื”ื•ื ื›ืืฉืจ ืกืฉืŸ ืื—ื“ ืžื—ื›ื” ืœืคื’ื™ืฉื” ืื—ืจืช ื›ื“ื™ ืœืขืฉื•ืช ืžืฉื”ื•. ื•ื‘ืจื’ืข ื–ื” ืžื—ื›ื” ืขื•ื“ ืกืฉืŸ ืœืคื’ื™ืฉื” ื”ืจืืฉื•ื ื” ื›ื“ื™ ืœืขืฉื•ืช ืžืฉื”ื•.

ื•ืœื“ื•ื’ืžื”, ืื ืื™ื•ื•ืŸ ืื•ืžืจ: "ืชืŸ ืœื™ ืžืฉื”ื•," ื•ืื ื™ ืื•ืžืจ: "ืœื, ืื ื™ ืืชืŸ ืœืš ืื•ืชื• ืจืง ืื ืืชื” ื ื•ืชืŸ ืœื™ ืžืฉื”ื• ืื—ืจ." ื•ื”ื•ื ืื•ืžืจ, "ืœื, ืื ื™ ืœื ืืชืŸ ืœืš ืืช ื–ื” ืื ืœื ืชื™ืชืŸ ืœื™ ืืช ื–ื”." ื•ืื ื—ื ื• ื ืงืœืขื™ื ืœืžืฆื‘ ืžื‘ื•ื™ ืกืชื•ื. ืื ื™ ื‘ื˜ื•ื— ืฉืื™ื•ื•ืŸ ืœื ื™ืขืฉื” ืืช ื–ื”, ืื‘ืœ ืืชื” ืžื‘ื™ืŸ ืืช ื”ืžืฉืžืขื•ืช ืฉื™ืฉ ืœื ื• ืฉื ื™ ืื ืฉื™ื ืฉืจื•ืฆื™ื ืœืงื‘ืœ ืžืฉื”ื• ื•ื”ื ืœื ืžื•ื›ื ื™ื ืœืชืช ืื•ืชื• ืขื“ ืฉื”ืื“ื ื”ืฉื ื™ ื ื•ืชืŸ ืœื”ื ืืช ืžื” ืฉื”ื ืจื•ืฆื™ื. ื•ืื™ืŸ ืคืชืจื•ืŸ.

ื•ื‘ืขืฆื, ืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœืš ืฆืจื™ืš ืœื–ื”ื•ืช ื–ืืช. ื•ืื– ืืชื” ืฆืจื™ืš ืœืžื—ื•ืง ืื• ืœืกื’ื•ืจ ืื—ื“ ืžื”ืžืคื’ืฉื™ื, ื›ื™ ืื—ืจืช ื”ื ื™ื™ืฉืืจื• ืฉื ืœื ืฆื—. ื•ืื ื—ื ื• ืจื•ืื™ื ืืช ื–ื” ื‘ื‘ืกื™ืกื™ ื ืชื•ื ื™ื, ืื ื—ื ื• ืจื•ืื™ื ืืช ื–ื” ื‘ืžืขืจื›ื•ืช ื”ืคืขืœื”. ื•ื‘ื›ืœ ื”ืžืงื•ืžื•ืช ืฉื‘ื”ื ื™ืฉ ืœื ื• ืชื”ืœื™ื›ื™ื ืžืงื‘ื™ืœื™ื, ื–ื” ื™ื›ื•ืœ ืœืงืจื•ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืขื›ืฉื™ื• ื ืชืงื™ืŸ ืฉื ื™ ืžื‘ื•ื™ ืกืชื•ื. ื ืฉื™ื 50 ื•-80. ื‘ืฉื•ืจื” ื”ืจืืฉื•ื ื” ืืขื“ื›ืŸ ืž-50 ืœ-50. ืืงื‘ืœ ืขืกืงื” ืžืกืคืจ 710.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื– ืื ื™ ืืฉื ื” 80 ืœ-81, ื•-50 ืœ-51.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื›ืš ื–ื” ื™ื™ืจืื”. ื•ื›ืš ืœ-710 ื™ืฉ ืฉื•ืจื” ื—ืกื•ืžื”, ื•-711 ืžืžืชื™ืŸ ืœืื™ืฉื•ืจ. ืจืื™ื ื• ืืช ื–ื” ื›ืฉืขื“ื›ื ื•. 710 ื”ื•ื ื”ื‘ืขืœื™ื ืฉืœ ื”ืกื“ืจื” ืฉืœื ื•. ื•-711 ืžืžืชื™ืŸ ืœ-710 ื›ื“ื™ ืœื”ืฉืœื™ื ืืช ื”ืขืกืงื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืืคื™ืœื• ื›ืชื•ื‘ ื‘ืื™ื–ื• ืฉื•ืจื” ืžืชืจื—ืฉื™ื ื”ืงื™ืคืื•ืŸ. ื•ื›ืืŸ ื–ื” ืžืชื—ื™ืœ ืœื”ื™ื•ืช ืžื•ื–ืจ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื›ืขืช ืื ื• ืžืขื“ื›ื ื™ื 80 ืœ-80.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื›ืืŸ ืžืชื—ื™ืœื•ืช ื”ืžื‘ื•ื™ ื”ืกืชื•ื. 710 ืžื—ื›ื” ืœืชื’ื•ื‘ื” ืž-711, ื•-711 ืžื—ื›ื” ืœ-710. ื•ื–ื” ืœื ื™ื™ื’ืžืจ ื˜ื•ื‘. ื•ืื™ืŸ ื“ืจืš ืœืฆืืช ืžื–ื”. ื•ื”ื ื™ืฆืคื• ืœืชื’ื•ื‘ื” ืื—ื“ ืžื”ืฉื ื™.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื–ื” ืคืฉื•ื˜ ื™ืชื—ื™ืœ ืœืขื›ื‘ ื”ื›ืœ. ื•ืื ื—ื ื• ืœื ืจื•ืฆื™ื ืืช ื–ื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืœืคื•ืกื˜ื’ืจืก ื™ืฉ ื“ืจื›ื™ื ืœืฉื™ื ืœื‘ ืžืชื™ ื–ื” ืงื•ืจื”. ื•ื›ืฉื–ื” ืงื•ืจื”, ืืชื” ืžืงื‘ืœ ืืช ื”ืฉื’ื™ืื” ื”ื–ื•. ื•ืžื›ืืŸ ื‘ืจื•ืจ ืฉืชื”ืœื™ืš ื›ื–ื” ื•ืื—ืจ ืžืžืชื™ืŸ ืœ-SHARE LOCK ืžืชื”ืœื™ืš ืื—ืจ, ื›ืœื•ืžืจ, ืฉื ื—ืกื ืขืœ ื™ื“ื™ ืชื”ืœื™ืš 711. ื•ื”ืชื”ืœื™ืš ื”ื–ื” ื—ื™ื›ื” ืœืชืช SHARE LOCK ืขืœ ืžื–ื”ื” ืขืกืงื” ื›ื–ื” ื•ืื—ืจ ื•ื ื—ืกื ืขืœ ื™ื“ื™ ืชื”ืœื™ืš ื›ื–ื” ื•ืื—ืจ. ืœื›ืŸ, ื™ืฉ ื›ืืŸ ืžืฆื‘ ืฉืœ ืžื‘ื•ื™ ืกืชื•ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื”ืื ื™ืฉ ืžื‘ื•ื™ ืกืชื•ื ืชืœืช ื›ื™ื•ื•ื ื™? ื”ืื ื–ื” ืืคืฉืจื™? ื›ืŸ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื ื• ืžื›ื ื™ืกื™ื ืืช ื”ืžืกืคืจื™ื ื”ืœืœื• ืœื˜ื‘ืœื”. ืื ื—ื ื• ืžืฉื ื™ื 40 ืœ-40, ืื ื—ื ื• ืขื•ืฉื™ื ื—ืกื™ืžื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื ื• ืžืฉื ื™ื 60 ืœ-61, 80 ืœ-81.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื– ื ืฉื ื” 80 ื•ืื– ื‘ื•ื!

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•-714 ืžื—ื›ื” ื›ืขืช ืœ-715. ื”-716 ืžื—ื›ื” ืœ-715. ื•ืื™ ืืคืฉืจ ืœืขืฉื•ืช ื›ืœื•ื ื‘ื ื™ื“ื•ืŸ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื™ืŸ ื›ืืŸ ื™ื•ืชืจ ืฉื ื™ ืื ืฉื™ื, ื™ืฉ ื›ืืŸ ื›ื‘ืจ ืฉืœื•ืฉื” ืื ืฉื™ื. ืื ื™ ืจื•ืฆื” ืžืžืš ืžืฉื”ื•, ื–ื” ืจื•ืฆื” ืžืฉื”ื• ืžืื“ื ืฉืœื™ืฉื™, ื•ื”ืื“ื ื”ืฉืœื™ืฉื™ ืจื•ืฆื” ืžืžื ื™ ืžืฉื”ื•. ื•ืื ื—ื ื• ืžืกืชื™ื™ืžื™ื ื‘ื”ืžืชื ื” ืžืฉื•ืœืฉืช ื›ื™ ื›ื•ืœื ื• ืžื—ื›ื™ื ืฉื”ืื“ื ื”ืฉื ื™ ื™ืฉืœื™ื ืืช ืžื” ืฉื”ื•ื ืฆืจื™ืš ืœืขืฉื•ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืคื•ืกื˜ื’ืจืก ื™ื•ื“ืข ื‘ืื™ื–ื• ืฉื•ืจื” ื–ื” ืงื•ืจื”. ื•ื›ืš ื–ื” ื™ื™ืชืŸ ืœืš ืืช ื”ื”ื•ื“ืขื” ื”ื‘ืื”, ืฉืžืจืื” ืฉื™ืฉ ืœืš ื‘ืขื™ื” ืฉื‘ื” ืฉืœื•ืฉ ื›ื ื™ืกื•ืช ื—ื•ืกืžื•ืช ืื—ืช ืืช ื”ืฉื ื™ื™ื”. ื•ืื™ืŸ ื›ืืŸ ื”ื’ื‘ืœื•ืช. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ื”ืžืงืจื” ืฉื‘ื• 20 ืขืจื›ื™ื ื—ื•ืกืžื™ื ื–ื” ืืช ื–ื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื”ื‘ืขื™ื” ื”ื‘ืื” ื ื™ืชื ืช ืœืกื™ื“ืจื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื ื ืขื™ืœื” ืžื™ื•ื—ื“ืช ื”ื ื™ืชื ืช ืœืกื™ื“ืจื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื ื—ื ื• ื—ื•ื–ืจื™ื ืœ-719. ื”ืคืœื˜ ืฉืœื• ื“ื™ ื ื•ืจืžืœื™.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืืชื” ื™ื›ื•ืœ ืœืœื—ื•ืฅ ื›ื“ื™ ืœื”ืคื•ืš ืืช ื”ืขืกืงื” ืœื ื™ืชื ืช ืœืกื™ื“ืจื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืืชื” ืžื‘ื™ืŸ ืฉืขื›ืฉื™ื• ื™ืฉ ืœืš ืกื•ื’ ืื—ืจ ืฉืœ ืžื ืขื•ืœ SA - ื–ื” ืื•ืžืจ ืฉื ื™ืชืŸ ืœืกื™ื“ืจื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื›ืš ื™ืฉ ืœื ื• ืกื•ื’ ื—ื“ืฉ ืฉืœ ืžื ืขื•ืœ ื‘ืฉื SARieadLock, ืฉื”ื•ื ืžื ืขื•ืœ ืกื“ืจืชื™ ื•ืžืืคืฉืจ ืœื”ื–ื™ืŸ ืกื“ืจื•ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื’ื ืืชื” ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ืื™ื ื“ืงืกื™ื ื™ื™ื—ื•ื“ื™ื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื‘ื˜ื‘ืœื” ื–ื• ื™ืฉ ืœื ื• ืื™ื ื“ืงืกื™ื ื™ื™ื—ื•ื“ื™ื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืื– ืื ืื ื™ ืžื›ื ื™ืก ืืช ื”ืžืกืคืจ 2 ื›ืืŸ, ืื– ื™ืฉ ืœื™ 2. ืื‘ืœ ื‘ื—ืœืง ื”ืขืœื™ื•ืŸ, ืฉืžืชื™ ืขื•ื“ 2. ื•ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืฉืœ-721 ื™ืฉ ืžื ืขื•ืœ ื‘ืœืขื“ื™. ืื‘ืœ ืขื›ืฉื™ื• 722 ืžื—ื›ื” ืฉ-721 ื™ืฉืœื™ื ืืช ืคืขื•ืœืชื• ืžื›ื™ื•ื•ืŸ ืฉื”ื•ื ืœื ื™ื›ื•ืœ ืœื”ื›ื ื™ืก 2 ืขื“ ืฉื”ื•ื ื™ื•ื“ืข ืžื” ื™ืงืจื” ืœ-721.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื ื ืขืฉื” ืขืกืงืื•ืช ืžืฉื ื”.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื›ืืŸ ื™ืฉ ืœื ื• 723.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื ื ืฉืžืจ ืืช ื”ื ืงื•ื“ื” ื•ืื– ื ืขื“ื›ืŸ ืื•ืชื”, ืื– ื ืงื‘ืœ ืžื–ื”ื” ืขืกืงื” ื—ื“ืฉ. ื–ื”ื• ืขื•ื“ ื“ืคื•ืก ื”ืชื ื”ื’ื•ืช ืฉืืชื” ืฆืจื™ืš ืœื”ื™ื•ืช ืžื•ื“ืข ืืœื™ื•. ืื ื ื—ื–ื™ืจ ืืช ื–ื”, ืžื–ื”ื” ื”ืขืกืงื” ื™ื™ืขืœื. 724 ืขื•ื–ื‘. ืื‘ืœ ืขื›ืฉื™ื• ื™ืฉ ืœื ื• 725.

ืื– ืžื” ืื ื™ ืžื ืกื” ืœืขืฉื•ืช ื›ืืŸ? ืื ื™ ืžื ืกื” ืœื”ืจืื•ืช ืœื›ื ื“ื•ื’ืžืื•ืช ืœืžื ืขื•ืœื™ื ื™ื•ืฆืื™ ื“ื•ืคืŸ ืฉืื•ืœื™ ืชืžืฆืื•: ื‘ื™ืŸ ืื ืžื“ื•ื‘ืจ ื‘ืžื ืขื•ืœื™ื ื”ื ื™ืชื ื™ื ืœืกื™ื“ืจื” ืื• ื‘-SAVEPOINT, ืืœื• ืกื•ื’ื™ื ืฉื•ื ื™ื ืฉืœ ืžื ืขื•ืœื™ื ืฉื™ื•ืคื™ืขื• ื‘ื˜ื‘ืœืช ื”ืžื ืขื•ืœื™ื.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื–ื•ื”ื™ ื™ืฆื™ืจื” ืฉืœ ืžื ืขื•ืœื™ื ืžืคื•ืจืฉื™ื (ืžืคื•ืจืฉื™ื), ืฉื™ืฉ ืœื”ื pg_advisory_lock.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืืชื” ืจื•ืื” ืฉืกื•ื’ ื”ื—ืกื™ืžื” ืจืฉื•ื ื›ืžื™ื™ืขืฅ. ื•ื›ืืŸ ื›ืชื•ื‘ "ืžื™ื™ืขืฆืช" ื‘ืื“ื•ื. ื•ืืชื” ื™ื›ื•ืœ ืœื—ืกื•ื ื›ืš ื‘ื• ื–ืžื ื™ืช ืขื pg_advisory_unlock.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืœืกื™ื›ื•ื, ื‘ืจืฆื•ื ื™ ืœื”ืจืื•ืช ืœื›ื ืขื•ื“ ื“ื‘ืจ ืžืจื’ืฉ. ืื ื™ ืืฆื•ืจ ืชืฆื•ื’ื” ืื—ืจืช. ืื‘ืœ ืื ื™ ืืฆื˜ืจืฃ ืœื˜ื‘ืœืช pg_locks ืขื ื˜ื‘ืœืช pg_stat_activity. ื•ืœืžื” ืื ื™ ืจื•ืฆื” ืœืขืฉื•ืช ืืช ื–ื”? ื›ื™ ื–ื” ื™ืืคืฉืจ ืœื™ ืœื”ืกืชื›ืœ ื•ืœืจืื•ืช ืืช ื›ืœ ื”ืคืขืœื•ืช ื”ื ื•ื›ื—ื™ื•ืช ื•ืœืจืื•ืช ื‘ื“ื™ื•ืง ืœืื™ื–ื” ืกื•ื’ ืฉืœ ืœื•ืงื™ื ื”ื ืžื—ื›ื™ื. ื•ื–ื” ื“ื™ ืžืขื ื™ื™ืŸ ื›ืืฉืจ ืื ื• ืžื—ื‘ืจื™ื ืืช ื˜ื‘ืœืช ื”ืžื ืขื•ืœ ื•ื˜ื‘ืœืช ื”ืฉืื™ืœืชื•ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื›ืืŸ ืื ื• ื™ื•ืฆืจื™ื pg_stat_view.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ืื ื—ื ื• ืžืขื“ื›ื ื™ื ืืช ื”ืฉื•ืจื” ืื—ืช. ื•ื”ื ื” ืื ื• ืจื•ืื™ื 724. ื•ืื– ืื ื• ืžืขื“ื›ื ื™ื ืืช ื”ืฉื•ืจื” ืฉืœื ื• ืœืฉืœื•ืฉ. ื•ืžื” ืืชื” ืจื•ืื” ื›ืืŸ ืขื›ืฉื™ื•? ืืœื• ื”ืŸ ื‘ืงืฉื•ืช, ื›ืœื•ืžืจ ืืชื” ืจื•ืื” ืืช ื›ืœ ืจืฉื™ืžืช ื”ื‘ืงืฉื•ืช ื”ืจืฉื•ืžื•ืช ื‘ืขืžื•ื“ื” ื”ืฉืžืืœื™ืช. ื•ืื– ื‘ืฆื“ ื™ืžื™ืŸ ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืืช ื”ื—ืกื™ืžื•ืช ื•ืžื” ื”ืŸ ื™ื•ืฆืจื•ืช. ื•ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ื‘ืจื•ืจ ื™ื•ืชืจ ืขื‘ื•ืจืš ื›ื“ื™ ืฉืœื ืชืฆื˜ืจืš ืœื—ื–ื•ืจ ืœื›ืœ ืžืคื’ืฉ ื›ืœ ืคืขื ื•ืœืจืื•ืช ืื ืืชื” ืฆืจื™ืš ืœื”ืฆื˜ืจืฃ ืืœื™ื• ืื• ืœื. ื”ื ืขื•ืฉื™ื ืืช ื–ื” ื‘ืฉื‘ื™ืœื ื•.

ืชื›ื•ื ื” ื ื•ืกืคืช ืฉื™ืžื•ืฉื™ืช ืžืื•ื“ ื”ื™ื pg_blocking_pids. ื›ื ืจืื” ืฉืžืขื•ืœื ืœื ืฉืžืขืช ืขืœื™ื”. ืžื” ื”ื™ื ืขื•ืฉื”? ื–ื” ืžืืคืฉืจ ืœื ื• ืœื•ืžืจ ืฉื‘ื”ืคืขืœื” ื–ื• 11740 ืœืื™ืœื• ืžื–ื”ื™ ืชื”ืœื™ืš ืกืคืฆื™ืคื™ื™ื ื”ื•ื ืžื—ื›ื”. ื•ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ืฉ-11740 ืžื—ื›ื” ืœ-724. ื•-724 ื ืžืฆื ื‘ืคืกื’ื”. ื•-11306 ื”ื•ื ืžื–ื”ื” ื”ืชื”ืœื™ืš ืฉืœืš. ื‘ืขื™ืงืจื• ืฉืœ ื“ื‘ืจ, ืคื•ื ืงืฆื™ื” ื–ื• ืขื•ื‘ืจืช ื“ืจืš ืฉื•ืœื—ืŸ ื”ื ืขื™ืœื” ืฉืœืš. ื•ืื ื™ ื™ื•ื“ืข ืฉื–ื” ืงืฆืช ืžืกื•ื‘ืš, ืื‘ืœ ืืชื” ืžืฆืœื™ื— ืœื”ื‘ื™ืŸ ืืช ื–ื”. ื‘ืขื™ืงืจื• ืฉืœ ื“ื‘ืจ, ืคื•ื ืงืฆื™ื” ื–ื• ืขื•ื‘ืจืช ื“ืจืš ื˜ื‘ืœืช ื”ื ืขื™ืœื” ื”ื–ื• ื•ืžื ืกื” ืœืžืฆื•ื ื”ื™ื›ืŸ ื ื™ืชืŸ ืœื–ื”ื•ืช ื”ืชื”ืœื™ืš ื”ื–ื” ืœืžื ืขื•ืœื™ื ืฉื”ื•ื ืžืžืชื™ืŸ ืœื”ื. ื•ื”ื•ื ื’ื ืžื ืกื” ืœื”ื‘ื™ืŸ ืื™ื–ื” ืชื”ืœื™ืš ืžื–ื”ื” ื™ืฉ ืœืชื”ืœื™ืš ืฉืžื—ื›ื” ืœืžื ืขื•ืœ. ืื– ืืชื” ื™ื›ื•ืœ ืœื”ืคืขื™ืœ ืืช ื”ืคื•ื ืงืฆื™ื” ื”ื–ื• pg_blocking_pids.

ื•ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžืื•ื“ ืฉื™ืžื•ืฉื™. ื”ื•ืกืคื ื• ืืช ื–ื” ืจืง ื‘ื’ืจืกื” 9.6, ืื– ืชื›ื•ื ื” ื–ื• ื”ื™ื ืจืง ื‘ืช 5 ืฉื ื™ื, ืื‘ืœ ื”ื™ื ืžืื•ื“ ืžืื•ื“ ืฉื™ืžื•ืฉื™ืช. ื•ื”ื•ื ื”ื“ื™ืŸ ื‘ื‘ืงืฉื” ื”ืฉื ื™ื”. ื–ื” ืžืจืื” ื‘ื“ื™ื•ืง ืืช ืžื” ืฉืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืจืื•ืช.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ืขืœ ื–ื” ืจืฆื™ืชื™ ืœื“ื‘ืจ ืื™ืชืš. ื•ื›ืคื™ ืฉืฆื™ืคื™ืชื™, ื ื™ืฆืœื ื• ืืช ื›ืœ ื”ื–ืžืŸ ืฉืœื ื• ื›ื™ ื”ื™ื• ื›ืœ ื›ืš ื”ืจื‘ื” ืžื’ืœืฉื•ืช. ื•ื”ืฉืงื•ืคื™ื•ืช ื–ืžื™ื ื•ืช ืœื”ื•ืจื“ื”. ืื ื™ ืจื•ืฆื” ืœื”ื•ื“ื•ืช ืœืš ืฉืืชื” ื›ืืŸ. ืื ื™ ื‘ื˜ื•ื—ื” ืฉืชื”ื ื• ืžื”ืžืฉืš ื”ื›ื ืก, ืชื•ื“ื” ืจื‘ื”!

ืฉืืœื•ืช:

ืœื“ื•ื’ืžื”, ืื ืื ื™ ืžื ืกื” ืœืขื“ื›ืŸ ืฉื•ืจื•ืช, ื•ื”ื”ืคืขืœื” ื”ืฉื ื™ื™ื” ืžื ืกื” ืœืžื—ื•ืง ืืช ื›ืœ ื”ื˜ื‘ืœื”. ืœืžื™ื˜ื‘ ื”ื‘ื ืชื™, ืฆืจื™ืš ืœื”ื™ื•ืช ืžืฉื”ื• ื›ืžื• ื ืขื™ืœืช ื›ื•ื•ื ื•ืช. ื™ืฉ ื“ื‘ืจ ื›ื–ื” ื‘ืคื•ืกื˜ื’ืจืก?

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื‘ื•ืื• ื ื—ื–ื•ืจ ืœื”ืชื—ืœื”. ืืชื” ืขืฉื•ื™ ืœื–ื›ื•ืจ ืฉื›ืืฉืจ ืืชื” ืขื•ืฉื” ืžืฉื”ื•, ืœืžืฉืœ ื›ืืฉืจ ืืชื” ืขื•ืฉื” SELECT, ืื ื• ืžื ืคื™ืงื™ื AccessShareLock. ื•ื–ื” ืžื•ื ืข ืืช ื™ืจื™ื“ืช ื”ืฉื•ืœื—ืŸ. ืื– ืื ืืชื”, ืœืžืฉืœ, ืจื•ืฆื” ืœืขื“ื›ืŸ ืฉื•ืจื” ื‘ื˜ื‘ืœื” ืื• ืœืžื—ื•ืง ืฉื•ืจื”, ืื– ืžื™ืฉื”ื• ืœื ื™ื›ื•ืœ ืœืžื—ื•ืง ืืช ื›ืœ ื”ื˜ื‘ืœื” ื‘ื•-ื–ืžื ื™ืช ื›ื™ ืืชื” ืžื—ื–ื™ืง ืืช AccessShareLock ื”ื–ื” ืขืœ ื›ืœ ื”ื˜ื‘ืœื” ื•ืžืขืœ ื”ืฉื•ืจื”. ื•ื‘ืจื’ืข ืฉืชืกื™ื™ื, ื”ื ื™ื›ื•ืœื™ื ืœืžื—ื•ืง ืืช ื–ื”. ืื‘ืœ ื‘ื–ืžืŸ ืฉืืชื” ืžืฉื ื” ืžืฉื”ื• ื™ืฉื™ืจื•ืช ืฉื, ื”ื ืœื ื™ื•ื›ืœื• ืœืขืฉื•ืช ืืช ื–ื”.

ื‘ื•ื ื ืขืฉื” ืืช ื–ื” ืฉื•ื‘. ื ืขื‘ื•ืจ ืœื“ื•ื’ืžื ื”ืžื—ื™ืงื”. ื•ืืชื” ืจื•ืื” ืื™ืš ื™ืฉ ืžื ืขื•ืœ ื‘ืœืขื“ื™ ื‘ืฉื•ืจื” ืฉืžืขืœ ื”ืฉื•ืœื—ืŸ ื›ื•ืœื•.

ื–ื” ื™ื™ืจืื” ื›ืžื• ืžื ืขื•ืœ ื‘ืœืขื“ื™, ื ื›ื•ืŸ?

ื›ืŸ, ื–ื” ื ืจืื” ื›ืš. ืื ื™ ืžื‘ื™ืŸ ืขืœ ืžื” ืืชื” ืžื“ื‘ืจ. ืืชื” ืื•ืžืจ ืฉืื ืื ื™ ืขื•ืฉื” SELECT ืื– ื™ืฉ ืœื™ ShareExclusive ื•ืื– ืื ื™ ื”ื•ืคืš ืื•ืชื• ืœ-Row Exclusive, ื”ืื ื–ื” ื”ื•ืคืš ืœื‘ืขื™ื”? ืื‘ืœ ื‘ืื•ืคืŸ ืžืคืชื™ืข ื–ื” ืœื ืžื”ื•ื•ื” ื‘ืขื™ื”. ื–ื” ื ืจืื” ื›ืžื• ื”ื’ื“ืœืช ื“ืจื’ืช ื”ื ืขื™ืœื”, ืื‘ืœ ื‘ืขืฆื ื™ืฉ ืœื™ ื ืขื™ืœื” ืฉืžื•ื ืขืช ืžื—ื™ืงื”. ื•ืขื›ืฉื™ื•, ื›ืฉืื ื™ ืขื•ืฉื” ืืช ื”ืžื ืขื•ืœ ื”ื–ื” ื—ื–ืง ื™ื•ืชืจ, ื”ื•ื ืขื“ื™ื™ืŸ ืžื•ื ืข ืžื—ื™ืงื”. ืื– ื–ื” ืœื ืฉืื ื™ ืขื•ืœื” ืœืžืขืœื”. ื›ืœื•ืžืจ, ื–ื” ืžื ืข ืืช ื–ื” ืœืงืจื•ืช ื’ื ื›ืฉื”ื™ื ื”ื™ื™ืชื” ื‘ืจืžื” ื ืžื•ื›ื” ื™ื•ืชืจ, ืื– ื›ืฉืื ื™ ืžืขืœื” ืืช ื”ืจืžื” ืฉืœื• ื–ื” ืขื“ื™ื™ืŸ ืžื•ื ืข ืืช ืžื—ื™ืงืช ื”ื˜ื‘ืœื”.

ืื ื™ ืžื‘ื™ืŸ ืขืœ ืžื” ืืชื” ืžื“ื‘ืจ. ืื™ืŸ ื›ืืŸ ืžืงืจื” ื”ืกืœืžื” ืฉืœ ืžื ืขื•ืœ, ืฉื‘ื• ืืชื” ืžื ืกื” ืœื•ื•ืชืจ ืขืœ ืžื ืขื•ืœ ืื—ื“ ื›ื“ื™ ืœื”ืฆื™ื’ ืื—ื“ ื—ื–ืง ื™ื•ืชืจ. ื›ืืŸ ื–ื” ืจืง ืžื’ื‘ื™ืจ ืืช ื”ืžื ื™ืขื” ื”ื–ื• ืขืœ ืคื ื™ ื”ืฉื˜ื—, ื›ืš ืฉื–ื” ืœื ื’ื•ืจื ืœืงื•ื ืคืœื™ืงื˜. ืื‘ืœ ื–ื• ืฉืืœื” ื˜ื•ื‘ื”. ืชื•ื“ื” ืจื‘ื” ืฉืฉืืœืช ืืช ื–ื”!

ืžื” ืขืœื™ื ื• ืœืขืฉื•ืช ืขืœ ืžื ืช ืœื”ื™ืžื ืข ืžืžืฆื‘ ืžื‘ื•ื™ ืกืชื•ื ื›ืืฉืจ ื™ืฉ ืœื ื• ืžืคื’ืฉื™ื ืจื‘ื™ื, ืžืกืคืจ ืจื‘ ืฉืœ ืžืฉืชืžืฉื™ื?

Postgres ืžื‘ื—ื™ืŸ ืื•ื˜ื•ืžื˜ื™ืช ื‘ืžืฆื‘ื™ ืžื‘ื•ื™ ืกืชื•ื. ื•ื–ื” ื™ืžื—ืง ืื•ื˜ื•ืžื˜ื™ืช ืื—ืช ืžื”ื”ืคืขืœื•ืช. ื”ื“ืจืš ื”ื™ื—ื™ื“ื” ืœื”ื™ืžื ืข ืžื—ืกื™ืžื” ืžืชื” ื”ื™ื ืœื—ืกื•ื ืื ืฉื™ื ื‘ืื•ืชื• ืกื“ืจ. ืื– ื›ืฉืืชื” ืžืกืชื›ืœ ืขืœ ื”ื‘ืงืฉื” ืฉืœืš, ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื”ืกื™ื‘ื” ืœืžื‘ื•ื™ ืกืชื•ื... ื‘ื•ื ื ื“ืžื™ื™ืŸ ืฉืื ื™ ืจื•ืฆื” ืœื—ืกื•ื ืฉื ื™ ื“ื‘ืจื™ื ืฉื•ื ื™ื. ืืคืœื™ืงืฆื™ื” ืื—ืช ื ื•ืขืœืช ื˜ื‘ืœื” 1, ื•ืืคืœื™ืงืฆื™ื” ืื—ืจืช ื ื•ืขืœืช ืืช 2, ื•ืื– ื˜ื‘ืœื” 1. ื•ื”ื“ืจืš ื”ืงืœื” ื‘ื™ื•ืชืจ ืœื”ื™ืžื ืข ืžืžื‘ื•ื™ ืกืชื•ื ื”ื™ื ืœื”ืกืชื›ืœ ืขืœ ื”ืืคืœื™ืงืฆื™ื” ืฉืœืš ื•ืœื ืกื•ืช ืœื•ื•ื“ื ืฉื”ื ืขื™ืœื” ืžืชืจื—ืฉืช ื‘ืื•ืชื• ืกื“ืจ ื‘ื›ืœ ื”ืืคืœื™ืงืฆื™ื•ืช. ื•ื–ื” ื‘ื“ืจืš ื›ืœืœ ืžื‘ื˜ืœ 80% ืžื”ื‘ืขื™ื•ืช, ื›ื™ ื›ืœ ืžื™ื ื™ ืื ืฉื™ื ื›ื•ืชื‘ื™ื ืืช ื”ืืคืœื™ืงืฆื™ื•ืช ื”ืืœื”. ื•ืื ืืชื” ื—ื•ืกื ืื•ืชื ื‘ืื•ืชื• ืกื“ืจ, ืื– ืืชื” ืœื ื ืชืงืœ ื‘ืžืฆื‘ ืฉืœ ืžื‘ื•ื™ ืกืชื•ื.

ืชื•ื“ื” ืจื‘ื” ืขืœ ื”ื‘ื™ืฆื•ืขื™ื ืฉืœืš! ื“ื™ื‘ืจืช ืขืœ ื•ืืงื•ื ืžืœื ื•ืื ืื ื™ ืžื‘ื™ืŸ ื ื›ื•ืŸ, ื•ืืงื•ื ืžืœื ืžืขื•ื•ืช ืืช ืกื“ืจ ื”ืจืฉื•ืžื•ืช ื‘ืื—ืกื•ืŸ ื ืคืจื“, ืื– ื”ื ืฉื•ืžืจื™ื ืืช ื”ืจืฉื•ืžื•ืช ื”ื ื•ื›ื—ื™ื•ืช ืœืœื ืฉื™ื ื•ื™. ืžื“ื•ืข ืฉื•ืื‘ ืžืœื ืœื•ืงื— ื’ื™ืฉื” ื‘ืœืขื“ื™ืช ืœื ืขื™ืœื” ื•ืžื“ื•ืข ื”ื•ื ืžืชื ื’ืฉ ืขื ืคืขื•ืœื•ืช ื”ื›ืชื™ื‘ื”?

ื–ื• ืฉืืœื” ื˜ื•ื‘ื”. ื”ืกื™ื‘ื” ื”ื™ื ืฉืืงื•ื ืžืœื ืœื•ืงื— ืืช ื”ืฉื•ืœื—ืŸ. ื•ืื ื—ื ื• ื‘ืขืฆื ื™ื•ืฆืจื™ื ื’ืจืกื” ื—ื“ืฉื” ืฉืœ ื”ื˜ื‘ืœื”. ื•ื”ืฉื•ืœื—ืŸ ื™ื”ื™ื” ื—ื“ืฉ. ืžืกืชื‘ืจ ืฉื–ื• ืชื”ื™ื” ื’ืจืกื” ื—ื“ืฉื” ืœื’ืžืจื™ ืฉืœ ื”ื˜ื‘ืœื”. ื•ื”ื‘ืขื™ื” ื”ื™ื ืฉื›ืฉืื ื—ื ื• ืขื•ืฉื™ื ืืช ื–ื”, ืื ื—ื ื• ืœื ืจื•ืฆื™ื ืฉืื ืฉื™ื ื™ืงืจืื• ืืช ื–ื” ื›ื™ ืื ื—ื ื• ืฆืจื™ื›ื™ื ืฉื”ื ื™ืจืื• ืืช ื”ื˜ื‘ืœื” ื”ื—ื“ืฉื”. ื•ื›ืš ื–ื” ืžืชื—ื‘ืจ ืœืฉืืœื” ื”ืงื•ื“ืžืช. ืื ื”ื™ื™ื ื• ื™ื›ื•ืœื™ื ืœืงืจื•ื ื‘ื•-ื–ืžื ื™ืช, ืœื ื”ื™ื™ื ื• ื™ื›ื•ืœื™ื ืœื”ื–ื™ื– ืื•ืชื• ื•ืœื”ืคื ื•ืช ืื ืฉื™ื ืœืฉื•ืœื—ืŸ ื—ื“ืฉ. ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื ืœื—ื›ื•ืช ืฉื›ื•ืœื ื™ืกื™ื™ืžื• ืœืงืจื•ื ืืช ื”ื˜ื‘ืœื” ื”ื–ื•, ื•ืœื›ืŸ ื–ื” ื‘ืขืฆื ืžืฆื‘ ื‘ืœืขื“ื™ ืœื ืขื™ืœื”.
ืื ื—ื ื• ืจืง ืื•ืžืจื™ื ืฉืื ื—ื ื• ื ื ืขืœื™ื ืžื”ื”ืชื—ืœื” ื›ื™ ืื ื—ื ื• ื™ื•ื“ืขื™ื ืฉื‘ืกื•ืฃ ื ืฆื˜ืจืš ืžื ืขื•ืœ ื‘ืœืขื“ื™ ืขืœ ืžื ืช ืœื”ืขื‘ื™ืจ ืืช ื›ื•ืœื ืœืขื•ืชืง ื”ื—ื“ืฉ. ืื– ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืคืชื•ืจ ืืช ื–ื” ื‘ืคื•ื˜ื ืฆื™ื”. ื•ืื ื—ื ื• ืขื•ืฉื™ื ืืช ื–ื” ื‘ื“ืจืš ื–ื• ืขื ืื™ื ื“ืงืก ืกื™ืžื•ืœื˜ื ื™. ืื‘ืœ ื–ื” ื”ืจื‘ื” ื™ื•ืชืจ ืงืฉื” ืœืขืฉื•ืช. ื•ื–ื” ืžืื•ื“ ืงืฉื•ืจ ืœืฉืืœืชืš ื”ืงื•ื“ืžืช ืขืœ ืžื ืขื•ืœ ื‘ืœืขื“ื™.

ื”ืื ื ื™ืชืŸ ืœื”ื•ืกื™ืฃ ืคืกืง ื–ืžืŸ ื ืขื™ืœื” ืœ-Postgres? ื‘ืื•ืจืงืœ ืื ื™ ื™ื›ื•ืœ ืœืžืฉืœ ืœื›ืชื•ื‘ "ื‘ื—ืจ ืœืขื“ื›ืŸ" ื•ืœื”ืžืชื™ืŸ 50 ืฉื ื™ื•ืช ืœืคื ื™ ื”ืขื“ื›ื•ืŸ. ื–ื” ื”ื™ื” ื˜ื•ื‘ ืขื‘ื•ืจ ื”ื™ื™ืฉื•ื. ืื‘ืœ ื‘-Postgres, ืื ื™ ืฆืจื™ืš ืœืขืฉื•ืช ืืช ื–ื” ืžื™ื“ ื•ืœื ืœื—ื›ื•ืช ื‘ื›ืœืœ, ืื• ืœื—ื›ื•ืช ืœื–ืžืŸ ืžื”.

ื›ืŸ, ืืชื” ื™ื›ื•ืœ ืœื‘ื—ื•ืจ ืคืกืง ื–ืžืŸ ืขืœ ื”ืžื ืขื•ืœื™ื ืฉืœืš, ืขืœ ื”ืžื ืขื•ืœื™ื ืฉืœืš. ืืชื” ื™ื›ื•ืœ ื’ื ืœื”ื•ืฆื™ื ืคืงื•ื“ืช no way, ืฉืชืขืฉื”... ืื ืœื ืชื•ื›ืœ ืœื”ืฉื™ื’ ืžื™ื“ ืืช ื”ืžื ืขื•ืœ. ืœื›ืŸ, ืื• ืคืกืง ื–ืžืŸ ืฉืœ ื ืขื™ืœื” ืื• ืžืฉื”ื• ืื—ืจ ืฉื™ืืคืฉืจ ืœืš ืœืขืฉื•ืช ื–ืืช. ื–ื” ืœื ื ืขืฉื” ื‘ืจืžื” ื”ืชื—ื‘ื™ืจื™ืช. ื–ื” ื ืขืฉื” ื›ืžืฉืชื ื” ื‘ืฉืจืช. ืœืคืขืžื™ื ืœื ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื–ื”.

ืืชื” ื™ื›ื•ืœ ืœืคืชื•ื— ืฉืงื•ืคื™ืช 75?

ื›ืŸ.

ื‘ื™ื˜ื•ืœ ื”ื ืขื™ืœื” ืฉืœ ืžื ื”ืœ ื”ืžื ืขื•ืœื™ื ืฉืœ Postgres. ื‘ืจื•ืก ืžืžื•ื’'ื™ืืŸ

ื•ื”ืฉืืœื” ืฉืœื™ ื”ื™ื ื”ื‘ืื”. ืžื“ื•ืข ืฉื ื™ ืชื”ืœื™ื›ื™ ื”ืขื“ื›ื•ืŸ ืžืฆืคื™ื ืœ-703?

ื•ื–ื• ืฉืืœื” ืžืฆื•ื™ื ืช. ืื ื™ ืœื ืžื‘ื™ืŸ, ื“ืจืš ืื’ื‘, ืœืžื” Postgres ืขื•ืฉื” ืืช ื–ื”. ืื‘ืœ ื›ืืฉืจ 703 ื ื•ืฆืจ, ื”ื•ื ืฆื™ืคื” ืœ-702. ื•ื›ืืฉืจ 704 ื•-705 ืžื•ืคื™ืขื™ื, ื ืจืื” ืฉื”ื ืœื ื™ื•ื“ืขื™ื ืœืžื” ื”ื ืžืฆืคื™ื ื›ื™ ืขื“ื™ื™ืŸ ืื™ืŸ ืฉื ื›ืœื•ื. ื•ืคื•ืกื˜ื’ืจืก ืขื•ืฉื” ืืช ื–ื” ื›ื›ื”: ื›ืฉืืชื” ืœื ื™ื›ื•ืœ ืœื”ืฉื™ื’ ืžื ืขื•ืœ, ื”ื•ื ื›ื•ืชื‘ "ืžื” ื”ื˜ืขื ืœืขื‘ื“ ืื•ืชืš?", ื›ื™ ืืชื” ื›ื‘ืจ ืžื—ื›ื” ืœืžื™ืฉื”ื•. ืื– ืื ื—ื ื• ืคืฉื•ื˜ ื ื™ืชืŸ ืœื–ื” ืœืชืœื•ืช ื‘ืื•ื•ื™ืจ, ื–ื” ืœื ื™ืขื“ื›ืŸ ืื•ืชื• ื‘ื›ืœืœ. ืื‘ืœ ืžื” ืงืจื” ื›ืืŸ? ื‘ืจื’ืข ืฉ-702 ื”ืฉืœื™ื ืืช ื”ืชื”ืœื™ืš ื•-703 ืงื™ื‘ืœ ืืช ื”ื ืขื™ืœื” ืฉืœื•, ื”ืžืขืจื›ืช ื—ื–ืจื” ื—ื–ืจื”. ื•ื”ื™ื ืืžืจื” ืฉืขื›ืฉื™ื• ื™ืฉ ืœื ื• ืฉื ื™ ืื ืฉื™ื ืฉืžื—ื›ื™ื. ื•ืื– ื‘ื•ืื• ื ืขื“ื›ืŸ ืื•ืชื ื‘ื™ื—ื“. ื•ื ืฆื™ื™ืŸ ืฉืฉื ื™ื”ื ืžืฆืคื™ื.

ืื ื™ ืœื ื™ื•ื“ืข ืœืžื” Postgres ืขื•ืฉื” ืืช ื–ื”. ืื‘ืœ ื™ืฉ ื‘ืขื™ื” ืฉื ืงืจืืช fโ€ฆ. ื ืจืื” ืœื™ ืฉื–ื” ืœื ืžื•ื ื— ื‘ืจื•ืกื™ืช. ื–ื” ื›ืฉื›ื•ืœื ืžื—ื›ื™ื ืœื˜ื™ืจื” ืื—ืช, ื’ื ืื ื™ืฉ 20 ืจืฉื•ื™ื•ืช ืฉืžื—ื›ื•ืช ืœื˜ื™ืจื”. ื•ืคืชืื•ื ื›ื•ืœื ืžืชืขื•ืจืจื™ื ื‘ืื•ืชื• ื–ืžืŸ. ื•ื›ื•ืœื ืžืชื—ื™ืœื™ื ืœื ืกื•ืช ืœื”ื’ื™ื‘. ืื‘ืœ ื”ืžืขืจื›ืช ื’ื•ืจืžืช ืœื›ืš ืฉื›ื•ืœื ืžื—ื›ื™ื ืœ-703. ื›ื™ ื›ื•ืœื ืžื—ื›ื™ื, ื•ืžื™ื“ ื ืขืžื™ื“ ืืช ื›ื•ืœื ื‘ืชื•ืจ. ื•ืื ืชื•ืคื™ืข ื‘ืงืฉื” ื—ื“ืฉื” ืื—ืจืช ืฉื ื•ืฆืจื” ืœืื—ืจ ืžื›ืŸ, ืœืžืฉืœ, 707, ืื– ืชื”ื™ื” ืฉื•ื‘ ืจื™ืงื ื•ืช.

ื•ื ืจืื” ืœื™ ืฉื–ื” ื ืขืฉื” ื›ื“ื™ ืฉื ื•ื›ืœ ืœื•ืžืจ ืฉื‘ืฉืœื‘ ื”ื–ื” 702 ืžื—ื›ื” ืœ-703, ื•ืœื›ืœ ืžื™ ืฉื™ื‘ื•ื ืื—ืจื™ ื–ื” ืœื ื™ื”ื™ื” ืฉื•ื ื›ื ื™ืกื” ื‘ืชื—ื•ื ื”ื–ื”. ืื‘ืœ ื‘ืจื’ืข ืฉื”ืžืœืฆืจ ื”ืจืืฉื•ืŸ ืขื•ื–ื‘, ื›ืœ ืืœื• ืฉื—ื™ื›ื• ื‘ืื•ืชื• ืจื’ืข ืœืคื ื™ ื”ืขื“ื›ื•ืŸ ืžืงื‘ืœื™ื ืืช ืื•ืชื• ืืกื™ืžื•ืŸ. ื•ืœื›ืŸ ืื ื™ ื—ื•ืฉื‘ ืฉื–ื” ื ืขืฉื” ื›ื“ื™ ืฉื ื•ื›ืœ ืœืขื‘ื“ ืœืคื™ ื”ืกื“ืจ ื›ืš ืฉื”ื ืžืกื•ื“ืจื™ื ื›ืจืื•ื™.

ืชืžื™ื“ ื”ืกืชื›ืœืชื™ ืขืœ ื–ื” ื›ืขืœ ืชื•ืคืขื” ื“ื™ ืžื•ื–ืจื”. ื›ื™ ื›ืืŸ, ืœืžืฉืœ, ืื ื—ื ื• ืœื ืžืคืจื˜ื™ื ืื•ืชื ื‘ื›ืœืœ. ืื‘ืœ ื ืจืื” ืœื™ ืฉื‘ื›ืœ ืคืขื ืฉืื ื—ื ื• ื ื•ืชื ื™ื ืžื ืขื•ืœ ื—ื“ืฉ, ืื ื—ื ื• ืžืกืชื›ืœื™ื ืขืœ ื›ืœ ืืœื” ืฉื ืžืฆืื™ื ื‘ืชื”ืœื™ืš ืฉืœ ื”ืžืชื ื”. ื•ืื– ืื ื—ื ื• ืžืกื“ืจื™ื ืืช ื›ื•ืœื ื‘ืฉื•ืจื”. ื•ืื– ื›ืœ ืื—ื“ ื—ื“ืฉ ืฉื ื›ื ืก ื ื›ื ืก ืœืชื•ืจ ืจืง ื›ืฉื”ืื“ื ื”ื‘ื ืกื™ื™ื ืœืขื‘ื“. ืฉืืœื” ื˜ื•ื‘ื” ืžืื•ื“. ืชื•ื“ื” ืจื‘ื” ืขืœ ืฉืืœืชืš!

ื ืจืื” ืœื™ ืฉื–ื” ื”ืจื‘ื” ื™ื•ืชืจ ื”ื’ื™ื•ื ื™ ื›ืฉ-705 ืžืฆืคื” ืœ-704.

ืื‘ืœ ื”ื‘ืขื™ื” ื›ืืŸ ื”ื™ื ื”ื‘ืื”. ื˜ื›ื ื™ืช, ืืชื” ื™ื›ื•ืœ ืœื”ืขื™ืจ ืืช ื–ื” ืื• ืืช ื–ื”. ื•ื›ืš ื ืชืขื•ืจืจ ื–ื” ืื• ืื—ืจ. ืื‘ืœ ืžื” ืงื•ืจื” ื‘ืžืขืจื›ืช? ืืชื” ื™ื›ื•ืœ ืœืจืื•ืช ื›ื™ืฆื“ 703 ื‘ื—ืœืง ื”ืขืœื™ื•ืŸ ื—ืกื ืืช ืžื–ื”ื” ื”ืขืกืงื” ืฉืœื•. ื›ืš ืขื•ื‘ื“ Postgres. ื•-703 ื ื—ืกื ืขืœ ื™ื“ื™ ืžื–ื”ื” ืขืกืงื” ืžืฉืœื•, ืื– ืื ืžื™ืฉื”ื• ืจื•ืฆื” ืœื—ื›ื•ืช, ืื– ื”ื•ื ื™ื—ื›ื” ืœ-703. ื•ื‘ืขืฆื, 703 ืžืฉืœื™ื. ื•ืจืง ืœืื—ืจ ื”ืฉืœืžืชื• ืžืชืขื•ืจืจ ืื—ื“ ื”ืชื”ืœื™ื›ื™ื. ื•ืื ื—ื ื• ืœื ื™ื•ื“ืขื™ื ืžื” ื‘ื“ื™ื•ืง ื™ื”ื™ื” ื”ืชื”ืœื™ืš ื”ื–ื”. ื•ืื– ืื ื—ื ื• ืžืขื‘ื“ื™ื ื”ื›ืœ ื‘ื”ื“ืจื’ื”. ืื‘ืœ ืœื ื‘ืจื•ืจ ืื™ื–ื” ืชื”ืœื™ืš ืžืชืขื•ืจืจ ืจืืฉื•ืŸ, ื›ื™ ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ื›ืœ ืื—ื“ ืžื”ืชื”ืœื™ื›ื™ื ื”ืืœื”. ื‘ืขื™ืงืจื• ืฉืœ ื“ื‘ืจ, ื”ื™ื” ืœื ื• ืžืชื–ืžืŸ ืฉืืžืจ ืฉืขื›ืฉื™ื• ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ืขื™ืจ ื›ืœ ืื—ื“ ืžื”ืชื”ืœื™ื›ื™ื ื”ืืœื”. ืื ื—ื ื• ืคืฉื•ื˜ ื‘ื•ื—ืจื™ื ืื—ื“ ื‘ืืงืจืื™. ืื– ืฆืจื™ืš ืœืฆื™ื™ืŸ ืืช ืฉื ื™ื”ื ื›ื™ ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ืขื™ืจ ื›ืœ ืื—ื“ ืžื”ื.

ื•ื”ื‘ืขื™ื” ื”ื™ื ืฉื™ืฉ ืœื ื• CP-ืื™ื ืกื•ืฃ. ื•ืœื›ืŸ, ืกื‘ื™ืจ ืžืื•ื“ ืฉื ื•ื›ืœ ืœื”ืขื™ืจ ืืช ื”ืžืื•ื—ืจ ื™ื•ืชืจ. ื•ืื, ืœืžืฉืœ, ื ืขื™ืจ ืืช ื”ืžืื•ื—ืจ ื™ื•ืชืจ, ื ื—ื›ื” ืœืžื™ ืฉื–ื” ืขืชื” ืงื™ื‘ืœ ืืช ื”ื—ืกื™ืžื”, ื›ืš ืฉืœื ื ืงื‘ืข ืžื™ ื‘ื“ื™ื•ืง ื™ืขื™ืจ ืงื•ื“ื. ืื ื—ื ื• ืคืฉื•ื˜ ื™ื•ืฆืจื™ื ืžืฆื‘ ื›ื–ื”, ื•ื”ืžืขืจื›ืช ืชืขื™ืจ ืื•ืชื ื‘ืกื“ืจ ืืงืจืื™.

ื™ืฉ ืžืืžืจื™ื ืขืœ ืžื ืขื•ืœื™ื ืžืืช ืื’ื•ืจ ืจื•ื’ื•ื‘. ืชืจืื”, ื”ื ื’ื ืžืขื ื™ื™ื ื™ื ื•ืฉื™ืžื•ืฉื™ื™ื. ื”ื ื•ืฉื, ื›ืžื•ื‘ืŸ, ื ื•ืจื ืžื•ืจื›ื‘. ืชื•ื“ื” ืจื‘ื”, ื‘ืจื•ืก!

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”