ื“ื™ PostgreSQL ืžืึทื ืฉืึทืคึฟื˜ ื”ืื˜ ืึทื ืึทื•ื ืกื˜ ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ PostgreSQL 12, ื“ื™ ืœืขืฆื˜ืข ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ืึธืคึฟืŸ ืžืงื•ืจ ืจื™ืœื™ื™ืฉืึทื ืึทืœ ื“ืึทื˜ืึทื‘ื™ื™ืก ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืกื™ืกื˜ืขื.
PostgreSQL 12 ื”ืื˜ ื‘ืื˜ื™ื™ื˜ื™ืง ื™ืžืคึผืจื•ื•ื•ื“ ืึธื ืคึฟืจืขื’ ืคืึธืจืฉื˜ืขืœื•ื ื’ - ืกืคึผืขืฆื™ืขืœ ื•ื•ืขืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื’ืจื•ื™ืก ื•ื•ืึทืœื™ื•ืžื– ืคื•ืŸ ื“ืึทื˜ืŸ, ืื•ืŸ ื”ืื˜ ืื•ื™ืš ืึธืคึผื˜ื™ืžื™ื–ืขื“ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื“ื™ืกืง ืคึผืœืึทืฅ ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ.

ื“ื™ ื ื™ื™ึทืข ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืึทืจื™ื™ึทื ื ืขืžืขืŸ:

  • ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ JSON ืคึผืึทื˜ ืึธื ืคึฟืจืขื’ ืฉืคึผืจืึทืš (ื“ื™ ืžืขืจืกื˜ ื•ื•ื™ื›ื˜ื™ืง ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ SQL / JSON ื ืึธืจืžืึทืœ);
  • ืึทืคึผื˜ืึทืžืึทื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ืคึผืจืึธืกื˜ ื˜ื™ืฉ ืื•ื™ืกื“ืจื•ืงืŸ (ืžื™ื˜);
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืฉืคืืœื˜ืŸ

ื“ื™ ืงื”ื™ืœื” ืื•ื™ืš ื”ืืœื˜ ืฆื• ืึทืจื‘ืขื˜ืŸ ืื•ื™ืฃ ื“ื™ ืขืงืกื˜ืขื ืกื™ื‘ื™ืœื™ื˜ื™ ืื•ืŸ ืจื™ืœื™ื™ืึทื‘ื™ืœืึทื˜ื™ ืคื•ืŸ PostgreSQL, ื“ืขื•ื•ืขืœืึธืคึผื™ื ื’ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื™ื ื˜ืขืจื ืึทืฉืึทื ืึทืœื™ื–ื™ื™ืฉืึทืŸ, ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืื•ืŸ ืฆื•ืฉื˜ืขืœืŸ ื’ืจื™ื ื’ืขืจ ื•ื•ืขื’ืŸ ืฆื• ืคื™ืจืŸ ื“ื™ ืกื™ืกื˜ืขื.

ื“ืขืจ ืžืขืœื“ื•ื ื’ ื›ื•ืœืœ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ืึท ืฆื•ื‘ื™ื ื“ ืคึฟืึทืจ ืคึผืœืึทื’ืึทื‘ืึทืœ ืกื˜ืึธืจื™ื“ื–ืฉ ืขื ื“ื–ืฉืึทื ื–, ื•ื•ืึธืก ืื™ืฆื˜ ืึทืœืึทื•ื– ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืฆื• ืฉืึทืคึฟืŸ ื–ื™ื™ืขืจ ืื™ื™ื’ืขื ืข ื“ืึทื˜ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืžืขื˜ื”ืึธื“ืก.

ืคืึธืจืฉื˜ืขืœื•ื ื’ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ

PostgreSQL 12 ื™ื ืงืœื•ื“ื– ื‘ืึทื˜ื™ื™ื˜ื™ืง ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื•ืŸ ื•ื™ืฉืึทืœื˜ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืคึฟืึทืจ ื™ื ื“ืขืงืกื™ื ื’ ืื•ืŸ ืคึผืึทืจื˜ื™ืฉืึทื ื™ื ื’ ืกื™ืกื˜ืขืžืขืŸ.

ื‘-ื‘ื•ื™ื ื™ื ื“ืขืงืกื™ื–, ื“ืขืจ ื ืึธืจืžืึทืœ ื™ื ื“ืขืงืกื™ื ื’ ื˜ื™ืคึผ ืื™ืŸ PostgreSQL, ื–ืขื ืขืŸ ืึธืคึผื˜ื™ืžื™ื–ืขื“ ืื™ืŸ ื•ื•ืขืจืกื™ืข 12 ืคึฟืึทืจ ื•ื•ืขืจืงืœืึธื•ื“ื– ื•ื•ืึธืก ืึทืจื™ื™ึทื ืฆื™ืขืŸ ืึธืคื˜ ืื™ื ื“ืขืงืก ืžืึธื“ื™ืคื™ืงืึทื˜ื™ืึธื ืก. ื ื™ืฆืŸ ื“ื™ TPC-C ื‘ืขื ื˜ืฉืžืึทืจืง ืคึฟืึทืจ PostgreSQL 12 ื“ืขืžืึทื ืกื˜ืจื™ื™ื˜ื™ื“ ืึทืŸ ื“ื•ืจื›ืฉื ื™ื˜ืœืขืš 40% ืจืขื“ื•ืงืฆื™ืข ืื™ืŸ ืคึผืœืึทืฅ ื‘ืึทื ื™ืฅ ืื•ืŸ ืึท ืงื•ื™ืœืขืœื“ื™ืง ืคืึทืจื’ืจืขืกืขืจืŸ ืื™ืŸ ืึธื ืคึฟืจืขื’ ืคืึธืจืฉื˜ืขืœื•ื ื’.

ืคึฟืจืื’ืŸ ืงืขื’ืŸ ืคึผืึทืจื˜ื™ืฉืึทื ืึทืœื™ ื˜ื™ืฉืŸ ื”ืึธื‘ืŸ ื‘ืืงื•ืžืขืŸ ื‘ืืžืขืจืงื˜ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ, ืกืคึผืขืฆื™ืขืœ ืคึฟืึทืจ ื˜ื™ืฉืŸ ืงืึทื ืกื™ืกื˜ื™ื ื’ ืคื•ืŸ ื˜ื•ื™ื–ื ื˜ืขืจ ืคื•ืŸ ืคึผืึทืจื˜ื™ืฉืึทื ื– ื•ื•ืึธืก ื“ืึทืจืคืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ื‘ืœื•ื™ื– ืœื™ืžื™ื˜ืขื“ ื˜ื™ื™ืœืŸ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืŸ ืขืจื™ื™ื–. ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืึทื“ื™ื ื’ ื“ืึทื˜ืŸ ืฆื• ืคึผืึทืจื˜ื™ืฉืึทื ื“ ื˜ื™ืฉืŸ ื ื™ืฆืŸ INSERT ืื•ืŸ COPY ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืฆื•ื˜ืฉืขืคึผืขืŸ ืึท ื ื™ื™ึทืข ืฆืขื˜ื™ื™ืœื•ื ื’ ืึธืŸ ื‘ืœืึทืงื™ื ื’ ืคึฟืจืื’ืŸ.

PostgreSQL 12 ื”ืื˜ ื’ืขืžืื›ื˜ ื ืึธืš ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืฆื• ื™ื ื“ืขืงืกื™ื ื’ ื•ื•ืึธืก ืคึผืจืึทืœ ื“ื™ ืงื•ื™ืœืขืœื“ื™ืง ืคืึธืจืฉื˜ืขืœื•ื ื’, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜:

  • ืจื™ื“ื•ืกื˜ ืึธื•ื•ื•ืขืจื›ืขื“ ื•ื•ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ WAL ืคึฟืึทืจ GiST, GIN ืื•ืŸ SP-GiST ืื™ื ื“ืขืงืก ื˜ื™ื™ืคึผืก;
  • ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืฉืึทืคึฟืŸ ืึทื–ื•ื™ ื’ืขืจื•ืคืขื ืข ืงืึทื•ื•ืขืจื™ื ื’ ื™ื ื“ืขืงืกื™ื– (INCLUDE ืคึผื•ื ืงื˜) ืื•ื™ืฃ GiST ื™ื ื“ืขืงืกื™ื–;
  • ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ "ื ื™ืจืึทืกื˜ ื—ื‘ืจ" ืงื•ื•ื™ืจื™ื– (ืง-ื ืŸ ื–ื•ื›ืŸ) ื ื™ืฆืŸ ื“ื™ ื•ื•ื™ื™ึทื˜ืงื™ื™ื˜ ืึธืคึผืขืจืึทื˜ืึธืจ (<->) ืื•ืŸ ื ื™ืฆืŸ SP-GiST ื™ื ื“ืขืงืกื™ื–;
  • ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืงืึทืœืขืงื˜ื™ื ื’ ืžืขืจืกื˜ ืคึผืจืึธืกื˜ ื•ื•ืขืจื˜ (MCV) ืกื˜ืึทื˜ื™ืกื˜ื™ืง ื ื™ืฆืŸ CREATE STATISTICS, ื•ื•ืึธืก ื”ืขืœืคึผืก ื‘ืึทืงื•ืžืขืŸ ื‘ืขืกืขืจ ืึธื ืคึฟืจืขื’ ืคึผืœืึทื ื– ื•ื•ืขืŸ ื ื™ืฆืŸ ืฉืคืืœื˜ืŸ ื•ื•ืขืžืขื ืก ื•ื•ืึทืœื•ืขืก ื–ืขื ืขืŸ ืึทื ื™ื•ื•ืึทื ืœื™ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜.

JIT ื–ืึทืžืœื•ื ื’ ื ื™ืฆืŸ LLVM, ื‘ืึทืงืขื ืขื  ืื™ืŸ PostgreSQL 11, ืื™ื– ืื™ืฆื˜ ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜. JIT ื–ืึทืžืœื•ื ื’ ื™ืžืคึผืจื•ื•ื•ื– ืคืึธืจืฉื˜ืขืœื•ื ื’ ื•ื•ืขืŸ ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืื•ื™ืกื“ืจื•ืงืŸ ืื™ืŸ WHERE ืงืœืึธื–ื™ื–, ืฆื™ืœ ืจืฉื™ืžื•ืช, ืึทื’ื’ืจืขื’ืึทืฅ ืื•ืŸ ืขื˜ืœืขื›ืข ื™ื ืขืจืœืขืš ืึทืคึผืขืจื™ื™ืฉืึทื ื–. ืขืก ืื™ื– ื‘ืืจืขื›ื˜ื™ื’ื˜ ืื•ื™ื‘ ืื™ืจ ื”ืึธื˜ ืฆื•ื ื•ื™ืคื’ืขืฉื˜ืขืœื˜ PostgreSQL ืžื™ื˜ LLVM ืึธื“ืขืจ ืื™ืจ ื ื•ืฆืŸ ืึท PostgreSQL ืคึผืขืงืœ ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ื’ืขื‘ื•ื™ื˜ ืžื™ื˜ LLVM ืขื ื™ื™ื‘ืึทืœื“.

ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืฆื• SQL ืฉืคึผืจืึทืš ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ืื•ืŸ ื ืึธืจืžืึทืœ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™

PostgreSQL 12 ื™ื ื˜ืจืึธื•ื“ื•ืกื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืึธื ืคืจืขื’ JSON ื“ืึธืงื•ืžืขื ื˜ืŸ ื ื™ืฆืŸ JSON ืคึผืึทื˜ ืื•ื™ืกื“ืจื•ืงืŸ ื“ื™ืคื™ื™ื ื“ ืื™ืŸ ื“ื™ SQL / JSON ื ืึธืจืžืึทืœ. ืึทื–ืึท ืคึฟืจืื’ืŸ ืงืขื ืขืŸ ืœื™ื•ื•ืขืจื™ื“ื–ืฉ ื™ื’ื–ื™ืกื˜ื™ื ื’ ื™ื ื“ืขืงืกื™ื ื’ ืžืขืงืึทื ื™ื–ืึทืžื– ืคึฟืึทืจ ื“ืึธืงื•ืžืขื ื˜ืŸ ืกื˜ืึธืจื“ ืื™ืŸ JSONB ืคึฟืึธืจืžืึทื˜ ืฆื• ื™ืคื™ืฉืึทื ื˜ืœื™ ืฆื•ืจื™ืงืงืจื™ื’ืŸ ื“ืึทื˜ืŸ.

ืคึผืจืึธืกื˜ ื˜ื™ืฉ ืื•ื™ืกื“ืจื•ืงืŸ, ืื•ื™ืš ื‘ืืงืื ื˜ ื•ื•ื™ WITH ืงื•ื•ื™ืจื™ื–, ืงืขื ืขืŸ ืื™ืฆื˜ ื–ื™ื™ืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืžื™ื˜ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ืื™ืŸ PostgreSQL 12, ื•ื•ืึธืก ืื™ืŸ ืงืขืจ ืงืขื ืขืŸ ื”ืขืœืคึฟืŸ ืคึฟืึทืจื‘ืขืกืขืจืŸ ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืคื™ืœืข ื™ื’ื–ื™ืกื˜ื™ื ื’ ืคึฟืจืื’ืŸ. ืื™ืŸ ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืข, ืึท ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ ื—ืœืง ืคื•ืŸ ืึท WITH ืึธื ืคึฟืจืขื’ ืงืขื ืขืŸ ื–ื™ื™ืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ื‘ืœื•ื™ื– ืื•ื™ื‘ ืขืก ืื™ื– ื ื™ืฉื˜ ืจืขืงื•ืจืกื™ื•ื•, ื”ืื˜ ืงื™ื™ืŸ ื–ื™ื™ึทื˜ ื™ืคืขืงืฅ ืื•ืŸ ืื™ื– ืจืขืคืขืจืขื ืกืขื“ ื‘ืœื•ื™ื– ืึทืžืึธืœ ืื™ืŸ ืึท ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ื—ืœืง ืคื•ืŸ ื“ื™ ืึธื ืคึฟืจืขื’.

PostgreSQL 12 ื™ื ื˜ืจืึทื“ื•ืกื™ื– ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ "ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืฉืคืืœื˜ืŸ". ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ื“ื™ SQL ื ืึธืจืžืึทืœ, ื“ืขื ื–ื™ื™ึทืœ ื˜ื™ืคึผ ืงืึทืœืงื™ืึทืœื™ื™ืฅ ืึท ื•ื•ืขืจื˜ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ืื ื“ืขืจืข ืฉืคืืœื˜ืŸ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื˜ื™ืฉ. ืื™ืŸ ื“ืขื ื•ื•ืขืจืกื™ืข, PostgreSQL ืฉื˜ื™ืฆื˜ "ืกื˜ืึธืจื“ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืฉืคืืœื˜ืŸ", ื•ื•ื• ื“ื™ ืงืึทืœืงื™ืึทืœื™ื™ื˜ื™ื“ ื•ื•ืขืจื˜ ืื™ื– ืกื˜ืึธืจื“ ืื•ื™ืฃ ื“ื™ืกืง.

ืื™ื ื˜ืขืจื ืึทืฆื™ืึธื ืึทืœื™ื–ืึทื˜ื™ืึธืŸ

PostgreSQL 12 ื™ืงืกืคึผืึทื ื“ื– ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื™ืงื• ืงืึธืœืœืึทื˜ื™ืึธื ืก ื“ื•ืจืš ืึทืœืึทื•ื™ื ื’ ื™ื•ื–ืขืจื– ืฆื• ื“ืขืคื™ื ื™ืจืŸ "ื ื™ื˜-ื“ื™ื˜ืขืจืžืึทื ื™ืกื˜ื™ืง ืงืึธืœืœืึทื˜ื™ืึธื ืก" ื•ื•ืึธืก ืงืขื ืขืŸ, ืœืžืฉืœ, ืœืึธื–ืŸ ืคืึทืœ-ื™ื ืกืขื ืกื™ื˜ื™ื•ื• ืึธื“ืขืจ ืึทืงืฆืขื ื˜-ื™ื ืกืขื ืกื™ื˜ื™ื•ื• ืงืึทืžืคึผืขืจืึทืกืึทื ื–.

ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ

PostgreSQL ื™ืงืกืคึผืึทื ื“ื– ื–ื™ื™ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืฉื˜ืึทืจืง ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืžืขื˜ื”ืึธื“ืก ืžื™ื˜ ืขื˜ืœืขื›ืข ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ื•ื•ืึธืก ืฆื•ืฉื˜ืขืœืŸ ื ืึธืš ื–ื™ื›ืขืจื”ื™ื™ื˜ ืื•ืŸ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™. ื“ืขืจ ืžืขืœื“ื•ื ื’ ื™ื ื˜ืจืึทื“ื•ืกื™ื– ืขื ืงืจื™ืคึผืฉืึทืŸ ืคื•ืŸ ืงืœื™ืขื ื˜ ื–ื™ื™ึทื˜ ืื•ืŸ ืกืขืจื•ื•ืขืจ ื–ื™ื™ึทื˜ ืคึฟืึทืจ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืื™ื‘ืขืจ GSSAPI ื™ื ื˜ืขืจืคื™ื™ืกื™ื–, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืคึฟืึทืจ PostgreSQL ืฆื• ืึทื ื˜ื“ืขืงืŸ LDAP ืกืขืจื•ื•ืขืจืก ื•ื•ืขืŸ PostgreSQL ืื™ื– ืงืึทืžืคึผื™ื™ืœื“ ืžื™ื˜ OpenLDAP.

ืึทื“ื“ื™ื˜ื™ืึธื ืึทืœืœื™, PostgreSQL 12 ืื™ืฆื˜ ืฉื˜ื™ืฆื˜ ืึท ืžื•ืœื˜ื™-ืคืึทืงื˜ืึธืจ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืึธืคึผืฆื™ืข. ื“ืขืจ PostgreSQL ืกืขืจื•ื•ืขืจ ืงืขื ืขืŸ ืื™ืฆื˜ ื“ืึทืจืคืŸ ื“ืขื ืงืœื™ืขื ื˜ ืฆื• ืฆื•ืฉื˜ืขืœืŸ ืึท ื’ื™ืœื˜ื™ืง ืกืกืœ ื‘ืึทื•ื•ื™ื™ึทื–ืŸ ืžื™ื˜ ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ื ืืžืขืŸ ื ื™ืฆืŸ clientcert=verify-full, ืื•ืŸ ืคืึทืจื‘ื™ื ื“ืŸ ื“ืขื ืžื™ื˜ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืึธื˜ืขื ื˜ืึทืงื™ื™ืฉืึทืŸ ืื•ืคึฟืŸ ืคืึธื“ืขืจื•ื ื’ (ืœืžืฉืœ scram-sha-256).

ืึทื“ืžื™ื ื™ืกื˜ืจืึทืฆื™ืข

PostgreSQL 12 ื™ื ื˜ืจืึธื•ื“ื•ืกื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื“ื•ืจื›ืคื™ืจืŸ ื ื™ื˜-ื‘ืœืึทืงื™ื ื’ ืื™ื ื“ืขืงืก ืจื™ื‘ื™ืœื“ื– ืžื™ื˜ ื“ื™ REINDEX CONCURRENTLY ื‘ืึทืคึฟืขืœ. ื“ืึธืก ืึทืœืึทื•ื– ื™ื•ื–ืขืจื– ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ DBMS ื“ืึทื•ื ื˜ื™ื™ื ื‘ืขืฉืึทืก ืœืึทื ื’ ืื™ื ื“ืขืงืก ืจื™ื‘ื™ืœื“ื–.

ืึทื“ื“ื™ื˜ื™ืึธื ืึทืœืœื™, ืื™ืŸ PostgreSQL 12, ืื™ืจ ืงืขื ืขืŸ ื’ืขื‘ืŸ ืึธื“ืขืจ ื“ื™ืกื™ื™ื‘ืึทืœ ื‘ืœืึทื˜ ื˜ืฉืขืงืงืกืึทืžื– ืื™ืŸ ืึท ืฉืึทื˜ื“ืึทื•ืŸ ืงื ื•ื™ืœ ื ื™ืฆืŸ ื“ื™ pg_checksums ื‘ืึทืคึฟืขืœ. ื‘ื™ื– ืึทื”ืขืจ, ื‘ืœืึทื˜ ื˜ืฉืขืงืกืึทืžื–, ืึท ืฉื˜ืจื™ืš ื•ื•ืึธืก ื”ืขืœืคึผืก ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ืึธืจื ื˜ืœืขื›ืงื™ื™ึทื˜ ืคื•ืŸ ื“ืึทื˜ืŸ ืกื˜ืึธืจื“ ืื•ื™ืฃ ื“ื™ืกืง, ืงืขืŸ ื–ื™ื™ืŸ ืขื ื™ื™ื‘ืึทืœื“ ื‘ืœื•ื™ื– ื•ื•ืขืŸ ื“ื™ PostgreSQL ืงื ื•ื™ืœ ืื™ื– ื™ื ื™ื˜ื™ืึทืœื™ื™ื–ื“ ืžื™ื˜ ื™ื ื™ื˜ื“ื‘.

ืžืงื•ืจ: linux.org.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’