ืขื“ื›ื•ืŸ 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 . ื‘ื™ืฆื•ืข VACUUM ื ื—ืฉื‘ ื‘ื˜ื•ื—, ื›ืžื• ื›ืœ ืคืขื•ืœืช ืคืงื•ื“ื”, ื›ืœ ืขื•ื“ ื”ืื•ื‘ื™ื™ืงื˜ื™ื ื”ืžืขื•ื‘ื“ื™ื ื”ื ื‘ื‘ืขืœื•ืช ืžืฉืชืžืฉื™ื ืžื”ื™ืžื ื™ื.

ืฉื™ื ื•ื™ื™ื ื ื•ืกืคื™ื ื‘ืžื”ื“ื•ืจื•ืช ื”ื—ื“ืฉื•ืช ื›ื•ืœืœื™ื ืขื“ื›ื•ืŸ ืงื•ื“ JIT ื›ืš ืฉื™ืขื‘ื•ื“ ืขื LLVM 14, ืžืชืŸ ืืคืฉืจื•ืช ืฉื™ืžื•ืฉ ื‘ืชื‘ื ื™ื•ืช database.schema.table ื‘ื›ืœื™ ื”ืฉื™ืจื•ืช psql, pg_dump ื•-pg_amcheck, ืชื™ืงื•ืŸ ื‘ืขื™ื•ืช ื”ืžื•ื‘ื™ืœื•ืช ืœืฉื—ื™ืชื•ืช ืฉืœ ืื™ื ื“ืงืก GiST ืขืœ ืขืžื•ื“ื•ืช ltree, ืฉื’ื•ื™ ืขื™ื’ื•ืœ ืขืจื›ื™ื ื‘ืชืงื•ืคืช ื”ืคื•ืจืžื˜ ื”ืžื•ืคืงืช ืžื ืชื•ื ื™ ืžืจื•ื•ื—ื™ื, ืคืขื•ืœืช ืžืชื–ืžืŸ ืฉื’ื•ื™ื” ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืฉืื™ืœืชื•ืช ืžืจื—ื•ืง ืืกื™ื ื›ืจื•ื ื™ื•ืช, ืžื™ื•ืŸ ืฉื’ื•ื™ ืฉืœ ืฉื•ืจื•ืช ื˜ื‘ืœื” ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ื‘ื™ื˜ื•ื™ CLUSTER ื‘ืื™ื ื“ืงืกื™ื ืขื ืžืคืชื—ื•ืช ืžื‘ื•ืกืกื™ ื‘ื™ื˜ื•ื™, ืื•ื‘ื“ืŸ ื ืชื•ื ื™ื ืขืงื‘ ืกื™ื•ื ื—ืจื™ื’ ืžื™ื“ ืœืื—ืจ ืžื›ืŸ ื‘ื ื™ื™ืช ืื™ื ื“ืงืก ืžืžื•ื™ืŸ GiST, ืžื‘ื•ื™ ืกืชื•ื ื‘ืžื”ืœืš ืžื—ื™ืงื” ืื™ื ื“ืงืก ืžื—ื•ืœืง, ืžืฆื‘ ืžื™ืจื•ืฅ ื‘ื™ืŸ ืคืขื•ืœืช DROP TABLESPACE ืœื‘ื™ืŸ ื”ืžื—ืกื•ื.

ื‘ื ื•ืกืฃ, ืื ื• ื™ื›ื•ืœื™ื ืœืฆื™ื™ืŸ ืืช ืฉื—ืจื•ืจื• ืฉืœ ื”ืชื•ืกืฃ pg_ivm 1.0 ืขื ื”ื˜ืžืขืช ืชืžื™ื›ื” ื‘-IVM (Incremental View Maintenance) ืขื‘ื•ืจ PostgreSQL 14. IVM ืžืฆื™ืข ื“ืจืš ื—ืœื•ืคื™ืช ืœืขื“ื›ืŸ ืชืฆื•ื’ื•ืช ืฉื”ืชืžืžืฉื•, ื™ืขื™ืœ ื™ื•ืชืจ ืื ืฉื™ื ื•ื™ื™ื ืžืฉืคื™ืขื™ื ืขืœ ื—ืœืง ืงื˜ืŸ ืžื”ืชืฆื•ื’ื”. IVM ืžืืคืฉืจ ืœืจืขื ืŸ ืชืฆื•ื’ื•ืช ืฉื”ืชืžืžืฉื• ื‘ืื•ืคืŸ ืžื™ื™ื“ื™ ืขื ืฉื™ื ื•ื™ื™ื ืžืฆื˜ื‘ืจื™ื ื‘ืœื‘ื“, ืžื‘ืœื™ ืœื—ืฉื‘ ืžื—ื“ืฉ ืืช ื”ืชืฆื•ื’ื” ื‘ืืžืฆืขื•ืช ืคืขื•ืœืช REFRESH MATERIALIZED VIEW.

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

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