PostgreSQL ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืžื™ื˜ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ ืคืึทืจืจื™ื›ื˜ืŸ. pg_ivm 1.0 ืžืขืœื“ื•ื ื’

ืงืขืจืขืงื˜ื™ื•ื• ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ื–ืขื ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืคึฟืึทืจ ืึทืœืข ืฉื˜ื™ืฆื˜ PostgreSQL ืฆื•ื•ื™ื™ื’ืŸ: 14.3, 13.7, 12.11, 11.16 ืื•ืŸ 10.22. ื“ื™ 10.x ืฆื•ื•ื™ื™ึทื’ ืื™ื– ืึทืคึผืจืึธื•ื˜ืฉื™ื ื’ ื“ื™ ืกื•ืฃ ืคื•ืŸ ืฉื˜ื™ืฆืŸ (ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ื‘ื™ื– ื ืื•ื•ืขืžื‘ืขืจ 2022). ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื•ื ื’ืขืŸ ืคึฟืึทืจ ื“ื™ 11.x ืฆื•ื•ื™ื™ึทื’ ื•ื•ืขื˜ ื’ืขื“ื•ื™ืขืจืŸ ื‘ื™ื– ื ืื•ื•ืขืžื‘ืขืจ 2023, 12.x ื‘ื™ื– ื ืื•ื•ืขืžื‘ืขืจ 2024, 13.x ื‘ื™ื– ื ืื•ื•ืขืžื‘ืขืจ 2025, 14.x ื‘ื™ื– ื ืื•ื•ืขืžื‘ืขืจ 2026.

ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืขืก ืคืึธืจืฉืœืึธื’ืŸ ืžืขืจ ื•ื•ื™ 50 ืคื™ืงืกื™ื– ืื•ืŸ ืขืœื™ืžื™ื ื™ืจืŸ ื“ื™ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ CVE-2022-1552 ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื‘ื™ื™ืคึผืึทืก ื“ื™ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜ ืคื•ืŸ ื“ื•ืจื›ืคื™ืจื•ื ื’ ืคื•ืŸ ืคึผืจื™ื•ื•ืœื™ื“ื–ืฉื“ ืึทืคึผืขืจื™ื™ืฉืึทื ื– Autovacuum, REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW, CLUSTER ืื•ืŸ pg_amcheck. ืึท ืึทื˜ืึทืงืขืจ ืžื™ื˜ ื“ื™ ืื•ื™ื˜ืึธืจื™ื˜ืขื˜ ืฆื• ืฉืึทืคึฟืŸ ื ื™ื˜-ืฆื™ื™ึทื˜ื•ื•ื™ื™ึทืœื™ืง ืึทื‘ื“ื–ืฉืขืงืฅ ืื™ืŸ ืงื™ื™ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืกื›ืขืžืข ืงืขื ืขืŸ ืึธื ืžืึทื›ืŸ ืึทืจื‘ื™ื˜ืจืึทืจื™ืฉ SQL ืคืึทื ื’ืงืฉืึทื ื– ืฆื• ื–ื™ื™ืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“ ืžื™ื˜ ื•ื•ืึธืจืฆืœ ืคึผืจื™ื•ื•ื™ืœืึทื“ื–ืฉืึทื– ื‘ืฉืขืช ืึท ืคึผืจื™ื•ื•ืœื™ื“ื–ืฉื“ ื‘ืึทื ื™ืฆืขืจ ืคึผืขืจืคืึธืจืžื– ื“ื™ ืื•ื™ื‘ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื•ื•ืึธืก ื•ื•ื™ืจืงืŸ ื“ื™ ืึทื˜ืึทืงืขืจ ืก ื›ื™ื™ืคืขืฅ. ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ, ืขืงืกืคึผืœื•ื™ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ ืงืขื ืขืŸ ืคึผืึทืกื™ืจืŸ ื‘ืขืฉืึทืก ืึธื˜ืึทืžืึทื˜ื™ืง ืจื™ื™ื ื™ืงื•ื ื’ ืคื•ืŸ ื“ื™ ื“ืึทื˜ืึทื‘ื™ื™ืก ื•ื•ืขืŸ ื“ื™ ืึทื•ื˜ืึธื•ื•ืึทืงื•ื•ื ื”ืึทื ื“ืœืขืจ ืื™ื– ืขืงืกืึทืงื™ื•ื˜ืึทื“.

ืื•ื™ื‘ ื“ืขืจ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืื™ื– ื ื™ื˜ ืžืขื’ืœืขืš, ื“ื™ ื•ื•ืึธืจืงืึทืจืึธื•ื ื“ ืคึฟืึทืจ ื‘ืœืึทืงื™ื ื’ ื“ืขื ืึทืจื•ื™ืกื’ืขื‘ืŸ ืื™ื– ืฆื• ื“ื™ืกื™ื™ื‘ืึทืœ ืึทื•ื˜ืึธื•ื•ืึทืงื•ื•ื ืื•ืŸ ื ื™ืฉื˜ ื“ื•ืจื›ืคื™ืจืŸ REINDEX, CREATE INDEX, REFRESH MATERIALIZED VIEW ืื•ืŸ CLUSTER ืึทืคึผืขืจื™ื™ืฉืึทื ื– ื•ื•ื™ ืึท ื•ื•ืึธืจืฆืœ ื‘ืึทื ื™ืฆืขืจ, ืื•ืŸ ื ื™ืฉื˜ ืœื•ื™ืคืŸ pg_amcheck ืึธื“ืขืจ ื•ืžืงืขืจืŸ ืื™ื ื”ืึทืœื˜ ืคึฟื•ืŸ ืึท ื‘ืึทืงืึทืคึผ ื‘ืืฉืืคืŸ ื“ื•ืจืš pg_dump. . ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ ื•ื•ืึทืงื•ื•ื ืื™ื– ื’ืขื”ืืœื˜ืŸ ื–ื™ื›ืขืจ, ื•ื•ื™ ืื™ื– ืงื™ื™ืŸ ื‘ืึทืคึฟืขืœ ืึธืคึผืขืจืึทืฆื™ืข, ื•ื•ื™ ืœืึทื ื’ ื•ื•ื™ ื“ื™ ืึทื‘ื“ื–ืฉืขืงืฅ ื•ื•ืึธืก ืคึผืจืึทืกืขืกื˜ ื–ืขื ืขืŸ ืึธื•ื ื“ ื“ื•ืจืš ื˜ืจืึทืกื˜ื™ื“ ื ื™ืฆืขืจืก.

ืื ื“ืขืจืข ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื“ื™ ื ื™ื™ึทืข ืจื™ืœื™ืกื™ื– ืึทืจื™ื™ึทื ื ืขืžืขืŸ ืึทืคึผื“ื™ื™ื˜ื™ื ื’ ื“ื™ JIT ืงืึธื“ ืฆื• ืึทืจื‘ืขื˜ืŸ ืžื™ื˜ LLVM 14, ืึทืœืึทื•ื™ื ื’ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ database.schema.table ื˜ืขืžืคึผืœืึทื˜ืขืก ืื™ืŸ ื“ื™ psql, pg_dump ืื•ืŸ pg_amcheck ื™ื•ื˜ื™ืœืึทื˜ื™ื–, ืคื™ืงืกื™ืจ ืคึผืจืึธื‘ืœืขืžืก ื•ื•ืึธืก ืคื™ืจืŸ ืฆื• ืงืึธืจื•ืคึผืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื’ื™ืกื˜ ื™ื ื“ืขืงืกื™ื– ืื™ื‘ืขืจ ืœื˜ืจื™ ืฉืคืืœื˜ืŸ, ืคืึทืœืฉ. ืจืึทื•ื ื“ื™ื ื’ ืคื•ืŸ ื•ื•ืึทืœื•ืขืก ืื™ืŸ ื“ื™ ืคึฟืึธืจืžืึทื˜ ืขืคึผืึธืก ื™ืงืกื˜ืจืึทืงื˜ื™ื“ ืคื•ืŸ ืžืขื”ืึทืœืขืš ื“ืึทื˜ืŸ, ืคืึทืœืฉ ืกืงืขื“ื–ืฉื•ืœืขืจ ืึธืคึผืขืจืึทืฆื™ืข ื•ื•ืขืŸ ื ื™ืฆืŸ ื™ื™ืกื™ื ื’ืงืจืึทื ืึทืก ื•ื•ื™ื™ึทื˜ ืคึฟืจืื’ืŸ, ืคืึทืœืฉ ืกืึธืจื˜ื™ืจื•ื ื’ ืคื•ืŸ ื˜ื™ืฉ ืจืึธื•ื– ื•ื•ืขืŸ ื ื™ืฆืŸ ื“ื™ CLUSTER ืื•ื™ืกื“ืจื•ืง ืื•ื™ืฃ ื™ื ื“ืขืงืกื™ื– ืžื™ื˜ ืื•ื™ืกื“ืจื•ืง-ื‘ืื–ื™ืจื˜ ืฉืœื™ืกืœืขืŸ, ื“ืึทื˜ืŸ ืึธื ื•ื•ืขืจ ืจืขื›ื˜ ืฆื• ืึท ืึทื‘ื ืึธืจืžืึทืœ ื˜ืขืจืžืึทื ื™ื™ืฉืึทืŸ ืžื™ื“ ื ืึธืš ืงืึทื ืกื˜ืจืึทืงื˜ื™ื ื’ ืึท ืกืึธืจื˜ื™ื“ GiST ืื™ื ื“ืขืงืก, ื“ืขื“ืœืึทืง ื‘ืขืฉืึทืก ื“ื™ืœื™ืฉืึทืŸ ืคึผืึทืจื˜ื™ืฉืึทื ื“ ืื™ื ื“ืขืงืก, ืจืึทืกืข ืฆื•ืฉื˜ืึทื ื“ ืฆื•ื•ื™ืฉืŸ ื“ื™ DROP TABLESPACE ืึธืคึผืขืจืึทืฆื™ืข ืื•ืŸ ื“ื™ ื˜ืฉืขืงืคึผื•ื™ื ื˜.

ืื™ืŸ ื“ืขืจืฆื•, ืžื™ืจ ืงืขื ืขืŸ ื˜ืึธืŸ ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ pg_ivm 1.0 ืคืึทืจืœืขื ื’ืขืจื•ื ื’ ืžื™ื˜ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ IVM (ื™ื ืงืจืขืžืขื ื˜ืึทืœ View ืžืึทื™ื ื˜ืขื ืึทื ืกืข) ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ PostgreSQL 14. IVM ืึธืคืคืขืจืก ืึทืŸ ืึธืœื˜ืขืจื ืึทื˜ื™ื•ื• ื•ื•ืขื’ ืฆื• ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ ืžืึทื˜ื™ืจื™ืึทืœื™ื™ื–ื“ ืงื•ืงืŸ, ืžืขืจ ืขืคืขืงื˜ื™ื•ื• ืื•ื™ื‘ ืขื ื“ืขืจื•ื ื’ืขืŸ ื•ื•ื™ืจืงืŸ ืึท ืงืœื™ื™ืŸ ื˜ื™ื™ืœ ืคื•ืŸ ื“ื™ ืžื™ื™ื ื•ื ื’. IVM ืึทืœืึทื•ื– ืžืึทื˜ื™ืจื™ืึทืœื™ื™ื–ื“ ืงื•ืงืŸ ืฆื• ื–ื™ื™ืŸ ื’ืœื™ื™ืš ื“ืขืจืงื•ื•ื™ืงื˜ ืžื™ื˜ ื‘ืœื•ื™ื– ื™ื ืงืจืึทืžืขื ื˜ืึทืœ ืขื ื“ืขืจื•ื ื’ืขืŸ, ืึธืŸ ืจื™ืงืึทืœืงื™ืึทืœื™ื™ื˜ื™ื ื’ ื“ื™ ืžื™ื™ื ื•ื ื’ ืžื™ื˜ ื“ื™ REFRESH MATERIALIZED VIEW ืึธืคึผืขืจืึทืฆื™ืข.

ืžืงื•ืจ: opennet.ru

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