PostgreSQL 18 - Hebrew
authorJonathan S. Katz <jonathan.katz@excoventures.com>
Wed, 24 Sep 2025 14:40:05 +0000 (10:40 -0400)
committerJonathan S. Katz <jonathan.katz@excoventures.com>
Wed, 24 Sep 2025 14:40:05 +0000 (10:40 -0400)
Author: Michael Goldberg <mic.goldberg@gmail.com>

releases/18/release.he.html [new file with mode: 0644]

diff --git a/releases/18/release.he.html b/releases/18/release.he.html
new file mode 100644 (file)
index 0000000..8b7179e
--- /dev/null
@@ -0,0 +1,744 @@
+๏ปฟ<p dir="rtl">\r
+\r
+\r
+\r
+\r
+25 ื‘ืกืคื˜ืžื‘ืจ 2025 โ€“ \r
+<a href="https://www.postgresql.org">ืงื‘ื•ืฆืช ื”ืคื™ืชื•ื— ื”ื’ืœื•ื‘ืœื™ืช ืฉืœ PostgreSQL</a>\r
+\r
+\r
+ืžื•ื“ื™ืขื” ื”ื™ื•ื ืขืœ ืฉื—ืจื•ืจ \r
+<a href="https://www.postgresql.org/docs/18/release-18.html">PostgreSQL&nbsp;18</a>\r
+,\r
+ื”ื’ืจืกื” ื”ืขื“ื›ื ื™ืช ื‘ื™ื•ืชืจ ืฉืœ ืžืกื“ ื”ื ืชื•ื ื™ื ื‘ืงื•ื“ ืคืชื•ื— ื”ืžืชืงื“ื ื‘ืขื•ืœื.\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+PostgreSQL 18 ืžืฉืคืจืช ืืช ื”ื‘ื™ืฆื•ืขื™ื ืขื‘ื•ืจ ืขื•ืžืกื™ ืขื‘ื•ื“ื” ื‘ื›ืœ ื”ื’ื“ืœื™ื ื‘ืืžืฆืขื•ืช ืชืชึพืžืขืจื›ืช I/O ื—ื“ืฉื”,\r
+ืฉื”ื“ื’ื™ืžื” ืฉื™ืคื•ืจื™ ื‘ื™ืฆื•ืขื™ื ืฉืœ ืขื“ ืค 3 ื‘ืงืจื™ืื•ืช ืžื”ืื—ืกื•ืŸ, ื•ืžื’ื“ื™ืœื” ื’ื ืืช ืžืกืคืจ ื”ืฉืื™ืœืชื•ืช ื”ื™ื›ื•ืœื•ืช ืœื”ืฉืชืžืฉ ื‘ืื™ื ื“ืงืกื™ื.\r
+ืžื”ื“ื•ืจื” ื–ื• ืžืฆืžืฆืžืช ืืช ื”ื”ืคืจืขื” ื‘ืชื”ืœื™ื›ื™ ืฉื“ืจื•ื’ ื’ืจืกื” ืจืืฉื™ืช, ืžืงืฆืจืช ืืช ื–ืžื ื™ ื”ืฉื“ืจื•ื’ ื•ืžืคื—ื™ืชื” ืืช ื”ื–ืžืŸ ื”ื ื“ืจืฉ ืœื”ื’ื™ืข ืœื‘ื™ืฆื•ืขื™ื ื”ืฆืคื•ื™ื™ื ืœืื—ืจ ืกื™ื•ื ื”ืฉื“ืจื•ื’.\r
+\r
+\r
+ืžืคืชื—ื™ื ืžืจื•ื•ื™ื—ื™ื ืžืชื›ื•ื ื•ืช ื—ื“ืฉื•ืช ื‘โ€‘PostgreSQL 18, ื›ื•ืœืœ ืขืžื•ื“ื•ืช ืžื—ื•ืฉื‘ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช (Virtual Generated Columns) ืฉืžื—ืฉื‘ื•ืช ืขืจื›ื™ื ื‘ื–ืžืŸ ืฉืื™ืœืชื”,\r
+\r
+\r
+ื•ืคื•ื ืงืฆื™ื™ืช\r
+ <code>uuidv7()</code> \r
+ื”ื™ื“ื™ื“ื•ืชื™ืช ืœืžืกื“ื™ ื ืชื•ื ื™ื ื”ืžืกืคืงืช ืื™ื ื“ื•ืงืก ื•ืงืจื™ืื” ืžื”ื™ืจื™ื ื™ื•ืชืจ ืขื‘ื•ืจ UUID.\r
+\r
+\r
+PostgreSQL 18 ื’ื ืžืงืœื” ืขืœ ืื™ื ื˜ื’ืจืฆื™ื” ืขื ืžืขืจื›ื•ืช\r
+SSO (Singleโ€‘Sign On)\r
+ ื‘ืขื–ืจืช ืชืžื™ื›ื” ื‘ืื™ืžื•ืช OAuth 2.0.\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+"ื”ืžืืžืฅ ืฉืœ ืงื”ื™ืœืช ื”ืงื•ื“ ื”ืคืชื•ื— ื”ื’ืœื•ื‘ืœื™ืช ืžืขืฆื‘ ื›ืœ ืžื”ื“ื•ืจื” ืฉืœ PostgreSQL ื•ืขื•ื–ืจ ืœื” ืœืกืคืง ืชื›ื•ื ื•ืช ืฉืžื’ื™ืขื•ืช ืืœ ื”ืžืฉืชืžืฉื™ื ื”ื™ื›ืŸ ืฉื”ื ืชื•ื ื™ื ืฉืœื”ื ื ืžืฆืื™ื", ืืžืจ\r
+Jonathan Katz, ื—ื‘ืจ ื‘โ€‘PostgreSQL Core Team.\r
+"PostgreSQL 18 ื ื‘ื ื” ืขืœ ื”ื”ื™ืกื˜ื•ืจื™ื” ื”ืืจื•ื›ื” ื•ื”ืขืฉื™ืจื” ืฉืœ ื”ืคืจื•ื™ืงื˜ ื‘ืžืชืŸ ื—ื•ื•ื™ื™ืช ื ื™ื”ื•ืœ ื ืชื•ื ื™ื ืืžื™ื ื” ื•ื—ืกื™ื ื”, ืชื•ืš ื”ืžืฉืš ื”ืจื—ื‘ืช ืžื’ื•ื•ืŸ ืขื•ืžืกื™ ื”ืขื‘ื•ื“ื” ืฉื”ื•ื ื™ื›ื•ืœ ืœืชืžื•ืš ื‘ื”ื."\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+PostgreSQL ื–ืืช ืžืขืจื›ืช ื ื™ื”ื•ืœ ื ืชื•ื ื™ื ื—ื“ืฉื ื™ืช ื”ื™ื“ื•ืขื” ื‘ืืžื™ื ื•ืช, ื‘ื—ื•ืกื ื” ื•ื‘ื™ื›ื•ืœืช ื”ืจื—ื‘ื” ืฉืœื”, ื ื”ื ื™ืช ืžืžืขืœ 25 ืฉื ื•ืช ืคื™ืชื•ื— ืงื•ื“ ืคืชื•ื— ืžืงื”ื™ืœืช ื”ืžืคืชื—ื™ื ื”ืขื•ืœืžื™ืช ื•ื”ืคื›ื” ืœื‘ืกื™ืก ื ืชื•ื ื™ื ืจืœืฆื™ื•ื ื™ ื”ืคืชื•ื— ื”ืžื•ืขื“ืฃ ืขืœ ืืจื’ื•ื ื™ื ืžื›ืœ ื”ื’ื“ืœื™ื.\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืžื‘ื•ื ืœโ€‘Asynchronous I/O\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+PostgreSQL ื”ืกืชืžื›ื” ื‘ืขื‘ืจ ืขืœ ืžื ื’ื ื•ื ื™ readahead ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื” ื›ื“ื™ ืœื”ืื™ืฅ ืฉืœื™ืคืช ื ืชื•ื ื™ื.\r
+ืขื ื–ืืช, ืžื›ื™ื•ื•ืŸ ืฉืœืžืขืจื›ื•ืช ื”ื”ืคืขืœื” ืื™ืŸ ื™ื“ืข ืขืœ ื“ืคื•ืกื™ ื”ื’ื™ืฉื” ื”ื™ื™ื—ื•ื“ื™ื™ื ืœืžืกื“ ื”ื ืชื•ื ื™ื, ื”ืŸ ืื™ื ืŸ ืชืžื™ื“ ืžืกื•ื’ืœื•ืช ืœืฆืคื•ืช ืื™ืœื• ื ืชื•ื ื™ื ื™ื™ื“ืจืฉื•, ืžื” ืฉืžื•ื‘ื™ืœ ืœื‘ื™ืฆื•ืขื™ื ืคื—ื•ืช ืžื™ื˜ื‘ื™ื™ื ืชื—ืช ืขื•ืžืกื™ ืขื‘ื•ื“ื” ืจื‘ื™ื.\r
+</p>\r
+\r
+\r
+\r
+\r
+<p dir="rtl">\r
+PostgreSQL 18 ืžืฆื™ื’ื” ืชืชึพืžืขืจื›ืช ื—ื“ืฉื” ืฉืœ ืงืœื˜/ืคืœื˜ ืืกื™ื ื›ืจื•ื ื™ (AIO) ืฉื ื•ืขื“ื” ืœื˜ืคืœ ื‘ืžื’ื‘ืœื” ื”ื–ื•.\r
+AIO ืžืืคืฉืจืช ืœ-PostgreSQL ืœื”ื ืคื™ืง ื›ืžื” ื‘ืงืฉื•ืช I/O ื‘ืžืงื‘ื™ืœ, ื‘ืžืงื•ื ืœื”ืžืชื™ืŸ ืฉื›ืœ ื‘ืงืฉื” ืชืกืชื™ื™ื ื‘ืจืฆืฃ. ื‘ื›ืš ื”ื™ื ืžืจื—ื™ื‘ื” ืืช ืžื ื’ื ื•ืŸ ื”-readahead ื”ืงื™ื™ื ื•ืžืฉืคืจืช ืืช ื”ืชืคื•ืงื” ื”ื›ื•ืœืœืช.\r
+ื‘-PostgreSQL 18 ื ืชืžื›ื•ืช ืคืขื•ืœื•ืช AIO ื›ื’ื•ืŸ ืกืจื™ืงื•ืช ืจืฆื™ืคื•ืช (sequential scans), ืกืจื™ืงื•ืช bitmap ืฉืœ ืขืจื™ืžืช ื”ื˜ื‘ืœื” (bitmap heap scans) ื•-\r
+ <code>VACUUM</code>\r
+.\r
+ืžื“ื“ื™ ื‘ื™ืฆื•ืขื™ื ื”ืจืื• ืฉื™ืคื•ืจื™ื ืฉืœ ืขื“ ืคื™ 3 ื‘ืชืจื—ื™ืฉื™ื ืžืกื•ื™ืžื™ื.\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+ื”ื’ื“ืจืช\r
+<a href="https://www.postgresql.org/docs/18/runtime-config-resource.html#GUC-IO-METHOD"><code>io_method</code></a>\r
+ื”ื—ื“ืฉื” ืžืืคืฉืจืช ืœื‘ื—ื•ืจ ื‘ื™ืŸ ืฉื™ื˜ื•ืช AIO, ื›ื•ืœืœ \r
+ <code>worker</code>\r
+ ื•-\r
+ <code>io_uring</code>\r
+, ืื• ืœืฉืžื•ืจ ืขืœ ื”ื”ืชื ื”ื’ื•ืช ื”ื ื•ื›ื—ื™ืช ืฉืœ PostgreSQL ื‘ืืžืฆืขื•ืช ื”ื”ื’ื“ืจื”\r
+ <code>sync</code>\r
+.\r
+ื›ืขืช ืงื™ื™ืžื™ื ืขื•ื“ ืคืจืžื˜ืจื™ื ืฉื›ื“ืื™ ืœืฉืงื•ืœ ืœื›ื™ื™ืœ ื™ื—ื“ ืขื AIO, ื•ืขืœื™ื”ื ื ื™ืชืŸ ืœืงืจื•ื ื‘\r
+<a href="https://www.postgresql.org/docs/18/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-IO">ืชื™ืขื•ื“</a>.\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืฉื“ืจื•ื’ื™ื ืžื”ื™ืจื™ื ื™ื•ืชืจ ื•ื‘ื™ืฆื•ืขื™ื ื˜ื•ื‘ื™ื ื™ื•ืชืจ ืœืื—ืจ ื”ืฉื“ืจื•ื’\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+ืžืืคื™ื™ืŸ ืžืจื›ื–ื™ ื‘โ€‘PostgreSQL ื”ื•ื ื™ืฆื™ืจื” ื•ืื—ืกื•ืŸ ืฉืœ \r
+<a href="https://www.postgresql.org/docs/18/planner-stats.html">ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช</a>\r
+ื”ืžืกื™ื™ืขื•ืช ืœื‘ื—ื•ืจ ืืช ืชื›ื ื™ืช ื”ืฉืื™ืœืชื” ื”ื™ืขื™ืœื” ื‘ื™ื•ืชืจ.\r
+\r
+\r
+ืœืคื ื™ PostgreSQL 18, ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช ืืœื” ืœื ื ืฉืžืจื• ื‘ืขืช \r
+<a href="https://www.postgresql.org/docs/18/pgupgrade.html">ืฉื“ืจื•ื’ ื’ืจืกื” ืจืืฉื™ืช</a>,\r
+ืžื” ืฉืขืœื•ืœ ื”ื™ื” ืœื’ืจื•ื ืœื™ืจื™ื“ื” ื–ืžื ื™ืช ื‘ื‘ื™ืฆื•ืขื™ ืฉืื™ืœืชื•ืช ื‘ืžืขืจื›ื•ืช ืขืžื•ืกื•ืช ืขื“ ืœืกื™ื•ื\r
+\r
+\r
+<a href="https://www.postgresql.org/docs/18/sql-analyze.html"><code>ANALYZE</code></a>.\r
+\r
+\r
+ื‘โ€‘PostgreSQL 18 ื ื™ืชืŸ ืœืฉืžืจ ืืช ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช ืฉืœ ื”ืžืชื›ื ืŸ ื‘ืžื”ืœืš ืฉื“ืจื•ื’ ื’ืจืกื” ืจืืฉื™ืช, ื•ื‘ื›ืš ืœืกื™ื™ืข ืœื‘ืกื™ืก ื”ื ืชื•ื ื™ื ื”ืžืฉื•ื“ืจื’ ืœื”ื’ื™ืข ืžื”ืจ ื™ื•ืชืจ ืœื‘ื™ืฆื•ืขื™ื ื”ืฆืคื•ื™ื™ื.\r
+\r
+\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+ื‘ื ื•ืกืฃ, ื›ืœื™ ื”ืฉื“ืจื•ื’ \r
+<a href="https://www.postgresql.org/docs/18/pgupgrade.html"><code>pg_upgrade</code></a>\r
+ ืงื™ื‘ืœ ืžืกืคืจ ืฉื™ืคื•ืจื™ื ื‘โ€‘PostgreSQL 18,\r
+ืœืจื‘ื•ืช ืฉื“ืจื•ื’ื™ื ืžื”ื™ืจื™ื ื™ื•ืชืจ ื›ืืฉืจ ื‘ืžืกื“ ื”ื ืชื•ื ื™ื ื™ืฉ ื”ืจื‘ื” ืื•ื‘ื™ื™ืงื˜ื™ื (ื›ื’ื•ืŸ ื˜ื‘ืœืื•ืช ื•ืจืฆืคื™ื).\r
+ืžื”ื“ื•ืจื” ื–ื• ื’ื ืžืืคืฉืจืช ืœโ€‘\r
+<code>pg_upgrade</code> \r
+ืœื”ืจื™ืฅ ื‘ื“ื™ืงื•ืช ื‘ืžืงื‘ื™ืœ ื‘ื”ืชืื ืœืคืจืžื˜ืจ \r
+<code>--jobs</code>\r
+, ื•ืžื•ืกื™ืคื” ืืช ื”ื“ื’ืœ \r
+<code>--swap</code>\r
+ืฉืžื‘ืฆืข ื”ื—ืœืคื” ื‘ื™ืŸ ืกืคืจื™ื•ืช ื”ืฉื“ืจื•ื’ ื‘ืžืงื•ื ื”ืขืชืงื”, ืฉื›ืคื•ืœ ืื• ืงื™ืฉื•ืจ ืงื‘ืฆื™ื.\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืฉื™ืคื•ืจื™ ื‘ื™ืฆื•ืขื™ื ื›ืœืœื™ื™ื ื•ื‘ื™ืฆื•ืข ืฉืื™ืœืชื•ืช\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+PostgreSQL 18 ืžืžืฉื™ื›ื” ืœื”ืื™ืฅ ืืช ื‘ื™ืฆื•ืขื™ ื”ืฉืื™ืœืชื•ืช ื‘ืขื–ืจืช ื™ื›ื•ืœื•ืช ืฉืžื–ืจื–ื•ืช ืืช ื”ืขื•ืžืกื™ื ืฉืœื›ื ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™. \r
+ืžื”ื“ื•ืจื” ื–ื• ืžืฆื™ื’ื” ื—ื™ืคื•ืฉื™ โ€œskip scanโ€ ืขืœ \r
+<a href="https://www.postgresql.org/docs/18/indexes-multicolumn.html">ืื™ื ื“ืงืกื™ B-tree ืžืจื•ื‘ื™ ืขืžื•ื“ื•ืช</a>\r
+, ื”ืžืฉืคืจื™ื ืืช ื–ืžืŸ ื”ื‘ื™ืฆื•ืข ืขื‘ื•ืจ ืฉืื™ืœืชื•ืช ืฉืžื“ืœื’ื•ืช ืขืœ ืชื ืื™ = ื‘ืื—ืช ืื• ื™ื•ืชืจ ืขืžื•ื“ืช ื”ืคืจื™ืคื™ืงืก ืฉืœ ื”ืื™ื ื“ืงืก.\r
+ื”ื™ื ื™ื›ื•ืœื” ื’ื ืœืืคื˜ื ืฉืื™ืœืชื•ืช ื”ืžืฉืชืžืฉื•ืช ื‘ืชื ืื™ \r
+<code>OR</code>\r
\r
+ ื‘ืชื•ืš ืกืขื™ืฃ \r
+<code>WHERE</code>\r
+ ื›ืš ืฉื™ื•ื›ืœื• ืœื”ืฉืชืžืฉ ื‘ืื™ื ื“ืงืก, ื“ื‘ืจ ืฉืžื•ื‘ื™ืœ ืœื‘ื™ืฆื•ืข ืžื”ื™ืจ ืžืฉืžืขื•ืชื™ืช.\r
+ื ื•ืกืฃ ืขืœ ื›ืš, ื‘ื•ืฆืขื• ืฉื™ืคื•ืจื™ื ืจื‘ื™ื ื‘ืื•ืคืŸ ืฉื‘ื• PostgreSQL ืžืชื›ื ื ืช ื•ืžื‘ืฆืขืช ื—ื™ื‘ื•ืจื™ื ื‘ื™ืŸ ื˜ื‘ืœืื•ืช (joins) โ€” ืžื”ืืฆืช\r
+<code>hash join</code>\r
+ ื•ืขื“ ืžืชืŸ ืืคืฉืจื•ืช ืœ-\r
+<code>merge join</code>\r
+ ืœื”ืฉืชืžืฉ ื‘ืžื™ื•ื ื™ื ืื™ื ืงืจืžื ื˜ืœื™ื™ื.\r
+PostgreSQL 18 ืชื•ืžื›ืช ื’ื ื‘ื‘ื ื™ื™ื” ืžืงื‘ื™ืœื™ืช ืฉืœ \r
+<a href="https://www.postgresql.org/docs/18/gin.html">ืื™ื ื“ืงืกื™ GIN</a>\r
+\r
+\r
+, ื•ืžืฆื˜ืจืคืช ื‘ื›ืš ืœืื™ื ื“ืงืกื™ B-tree ื•-\r
+\r
+\r
+ ืฉื›ื‘ืจ ืชื•ืžื›ื™ื ื‘ื™ื›ื•ืœืช ื–ื•.\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+ืžื”ื“ื•ืจื” ื–ื• ื’ื ืžืจื—ื™ื‘ื” ืืช ื”ืชืžื™ื›ื” ืฉืœ PostgreSQL ื‘ื”ืืฆืช ื—ื•ืžืจื”, ื›ื•ืœืœ ืชืžื™ื›ื” ื‘ืื™ื ื˜ืจื™ื ื–ื™ืงื•ืช ืžืขื‘ื“ ARM NEON ื•-SVE ืขื‘ื•ืจ ื”ืคื•ื ืงืฆื™ื”\r
+<code>popcount</code>\r
+, ื”ืžืฉืžืฉืช ืืช\r
+<a href="https://www.postgresql.org/docs/18/functions-bitstring.html"><code>bit_count</code></a>\r
+\r
+\r
+ ื•ื™ื›ื•ืœื•ืช ืคื ื™ืžื™ื•ืช ื ื•ืกืคื•ืช.\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืฉื™ืคื•ืจ ื—ื•ื•ื™ื™ืช ื”ืžืคืชื—ื™ื\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+PostgreSQL 18 ืžืฆื™ื’ื” ืขืžื•ื“ื•ืช ืžื—ื•ืฉื‘ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช (Virtual Generated Columns) ืฉืžื—ืฉื‘ื•ืช ืขืจื›ื™ื ื‘ื–ืžืŸ ื”ืจืฆืช ื”ืฉืื™ืœืชื” ื‘ืžืงื•ื ืœืื—ืกืŸ ืื•ืชื. ื–ื”ื• ื›ืขืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ืขื‘ื•ืจ ืขืžื•ื“ื•ืช ืžื—ื•ืฉื‘ื•ืช. ื‘ื ื•ืกืฃ, ื ื™ืชืŸ ื›ืขืช ืœืฉื›ืคืœ ืœื•ื’ื™ืช ืขืžื•ื“ื•ืช ืžื—ื•ืฉื‘ื•ืช ืžืื•ื—ืกื ื•ืช.\r
+</p>\r
+<p dir="rtl">\r
+ืžื”ื“ื•ืจื” ื–ื• ืžื•ืกื™ืคื” ืืคืฉืจื•ืช ืœื’ืฉืช ื’ื ืœืขืจื›ื™ื ื”ืงื•ื“ืžื™ื (\r
+<code>OLD</code>\r
+) ื•ื’ื ืœืขืจื›ื™ื ื”ื ื•ื›ื—ื™ื™ื (\r
+<code>NEW</code>\r
+) ื‘ืกืขื™ืฃ\r
+<a href="https://www.postgresql.org/docs/18/dml-returning.html"><code>RETURNING</code></a>\r
+ืขื‘ื•ืจ ื”ืคืงื•ื“ื•ืช\r
+<code>INSERT</code>\r
+,\r
+<code>UPDATE</code>\r
+,\r
+<code>DELETE</code>\r
+ื•-\r
+<code>MERGE</code>\r
+.\r
+PostgreSQL 18 ืžื•ืกื™ืคื” ื’ื ื™ืฆื™ืจืช UUIDv7 ื‘ืืžืฆืขื•ืช ื”ืคื•ื ืงืฆื™ื”\r
+<a href="https://www.postgresql.org/docs/18/functions-uuid.html#FUNC_UUID_GEN_TABLE"><code>uuidv7()</code></a>\r
+ , ื”ืžืืคืฉืจืช ืœื”ืคื™ืง ืžื–ื”ื™ UUID ืืงืจืื™ื™ื ื”ืžืกื•ื“ืจื™ื ืœืคื™ ื—ื•ืชืžืช ื–ืžืŸ, ืœื˜ื•ื‘ืช ืืกื˜ืจื˜ื’ื™ื•ืช ืงืืฉื™ื ื’ ื™ืขื™ืœื•ืช ื™ื•ืชืจ.\r
+PostgreSQL 18 ื›ื•ืœืœืช ืืช\r
+<a href="https://www.postgresql.org/docs/18/functions-uuid.html#FUNC_UUID_GEN_TABLE"><code>uuidv4()</code></a>\r
+ ื›ื›ื™ื ื•ื™ ืœ-\r
+<code>gen_random_uuid()</code>\r
+.\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+PostgreSQL 18 ืžื•ืกื™ืคื”\r
+<a href="https://www.postgresql.org/docs/devel/sql-createtable.html#SQL-CREATETABLE-PARMS-UNIQUE"> ืื™ืœื•ืฆื™ื ื˜ืžืคื•ืจืœื™ื™ื</a>\r
+\r
+\r
+ - ืื™ืœื•ืฆื™ื ืขืœ ืคื ื™ ืชื—ื•ืžื™ื- ืœ-\r
+<code>PRIMARY KEY</code>\r
+\r
+\r
+ ื•ืœ-\r
+<code>UNIQUE</code>\r
+- ื‘ืืžืฆืขื•ืช ื”ืกืขื™ืฃ\r
+<code>WITHOUT OVERLAPS</code>\r
+\r
+\r
+, ื•ื›ืŸ ืœ-\r
+<code>FOREIGN KEY</code>\r
+ ื‘ืืžืฆืขื•ืช ื”ืกืขื™ืฃ\r
+<code>PERIOD</code>\r
+.\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+ืœื‘ืกื•ืฃ, PostgreSQL 18 ืžืงืœื” ืขืœ ื™ืฆื™ืจืช ื”ื’ื“ืจืช ื”ืกื›ื™ืžื” ืฉืœ ื˜ื‘ืœืช ื—ื•ืฅ (foreign table) ืขืœ ื‘ืกื™ืก ื”ื”ื’ื“ืจื” ืฉืœ ื˜ื‘ืœื” ืžืงื•ืžื™ืช ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื”\r
+<a href="https://www.postgresql.org/docs/18/sql-createforeigntable.html"><code>CREATE FOREIGN TABLE ... LIKE</code></a>\r
+.\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืขื™ื‘ื•ื“ ื˜ืงืกื˜ ืžืฉื•ืคืจ\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+PostgreSQL 18 ืžืงืœื” ื•ืžืื™ืฆื” ืืช ืขื™ื‘ื•ื“ ื”ื˜ืงืกื˜ ื‘ืขื–ืจืช ืžืกืคืจ ืฉื™ืคื•ืจื™ื ื—ื“ืฉื™ื. \r
+\r
+\r
+ืžื”ื“ื•ืจื” ื–ื• ืžื•ืกื™ืคื” ืืช ื”ืžื™ื•ืŸ\r
+<a href="https://www.postgresql.org/docs/18/collation.html#COLLATION-MANAGING-STANDARD"><code>PG_UNICODE_FAST</code></a>\r
+\r
+\r
+, ื”ืžืกืคืง ืกืžื ื˜ื™ืงื” ืžืœืื” ืฉืœ Unicode ืœื”ืžืจื•ืช ืจื™ืฉื™ื•ืช (case) ื•ื‘ืžืงื‘ื™ืœ ืžืกื™ื™ืข ืœื”ืื™ืฅ ื”ืฉื•ื•ืื•ืช ืจื‘ื•ืช.\r
+\r
+\r
+ื–ื” ื›ื•ืœืœ ืืช ืคื•ื ืงืฆื™ื•ืช\r
+<code>upper</code>\r
+ ื•-\r
+<code>lower</code>\r
+, ื•ื›ืŸ ืืช ื”ืคื•ื ืงืฆื™ื” ื”ื—ื“ืฉื”\r
+<a href="https://www.postgresql.org/docs/18/functions-string.html#FUNCTIONS-STRING-OTHER"><code>casefold</code></a>\r
+\r
+\r
+ ืœื”ืฉื•ื•ืื•ืช ืฉืื™ื ืŸ ืชืœื•ื™ื•ืช ืจื™ืฉื™ื•ืช.\r
+ื‘ื ื•ืกืฃ, PostgreSQL 18 ืชื•ืžื›ืช ื›ืขืช ื‘ื‘ื™ืฆื•ืข ื”ืฉื•ื•ืื•ืช\r
+<code>LIKE</code>\r
+ ืขืœ ื˜ืงืกื˜ ื”ืžืฉืชืžืฉ ื‘\r
+<a href="https://www.postgresql.org/docs/18/collation.html#COLLATION-NONDETERMINISTIC">ืžื™ื•ืŸ ืœื-ื“ื˜ืจืžื™ื ื™ืกื˜ื™</a>\r
+\r
+\r
+, ืžื” ืฉืžืคืฉื˜ ื‘ื™ืฆื•ืข ื”ืชืืžื•ืช ืชื‘ื ื™ืช ืžื•ืจื›ื‘ื•ืช ื™ื•ืชืจ.\r
+ืžื”ื“ื•ืจื” ื–ื• ื’ื ืžืฉื ื” ืืช\r
+\r
+\r
+<a href="https://www.postgresql.org/docs/18/textsearch.html">ื—ื™ืคื•ืฉ ื”ื˜ืงืกื˜ ื”ืžืœื</a>\r
+ ื›ืš ืฉื™ืฉืชืžืฉ ื‘ืกืคืง ื”ืžื™ื•ืŸ (collation provider) ื‘ืจื™ืจืช-ื”ืžื—ื“ืœ ืฉืœ ื‘ืกื™ืก ื ืชื•ื ื™ื ื‘ืžืงื•ื ืชืžื™ื“ ืœื”ืฉืชืžืฉ ื‘-\r
+<code>libc</code>\r
+, ืฉื™ื ื•ื™ ืฉืขืฉื•ื™ ืœื“ืจื•ืฉ ืื™ื ื“ื•ืงืก ืžื—ื“ืฉ ืฉืœ ื›ืœ ืื™ื ื“ืงืกื™\r
+\r
+\r
+<a href="https://www.postgresql.org/docs/18/textsearch-tables.html#TEXTSEARCH-TABLES-INDEX"> ื—ื™ืคื•ืฉ ื”ื˜ืงืกื˜ ื”ืžืœื</a>\r
+ ื•ืื™ื ื“ืงืกื™\r
+<a href="https://www.postgresql.org/docs/18/pgtrgm.html#PGTRGM-INDEX"><code>pg_trgm</code></a>\r
+ ืœืื—ืจ ื”ืจืฆืช\r
+<a href="https://www.postgresql.org/docs/18/pgupgrade.html"><code>pg_upgrade</code></a>\r
+.\r
+</p>\r
+\r
+\r
+<h3 dir="rtl">\r
+ืื™ืžื•ืช ื•ืื‘ื˜ื—ื”\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+PostgreSQL 18 ืžืฆื™ื’ื” ืื™ืžื•ืช\r
+<a href="https://www.postgresql.org/docs/18/auth-oauth.html"><code>oauth</code></a>\r
+, ื”ืžืืคืฉืจ ืœืžืฉืชืžืฉื™ื ืœื‘ืฆืข ืื™ืžื•ืช ื‘ืืžืฆืขื•ืช ืžื ื’ื ื•ื ื™ OAuth 2.0 ื”ื ืชืžื›ื™ื ื“ืจืš ื”ืจื—ื‘ื•ืช PostgreSQL.\r
+ื‘ื ื•ืกืฃ, PostgreSQL 18 ื›ื•ืœืœืช ื•ืœื™ื“ืฆื™ื” ืขื‘ื•ืจ\r
+<a href="https://www.postgresql.org/docs/18/pgcrypto.html#PGCRYPTO-OPENSSL-SUPPORT-FUNCS">ืžืฆื‘ FIPS</a>\r
+, ื•ืžื•ืกื™ืคื” ืืช ื”ืคืจืžื˜ืจ\r
+<a href="https://www.postgresql.org/docs/18/runtime-config-connection.html#GUC-SSL-TLS13-CIPHERS"><code>ssl_tls13_ciphers</code></a>\r
+ ืœื”ื’ื“ืจืช ืžืขืจื›ื™ ื”ืฆืคื ื™ื (cipher suites) ืฉืœ TLS v1.3 ื‘ืฆื“ ื”ืฉืจืช.\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+ืžื”ื“ื•ืจื” ื–ื• ืžื›ืจื™ื–ื” ืขืœ ืžื ื’ื ื•ืŸ ื”ืื™ืžื•ืช ื‘ืกื™ืกืžื”\r
+<code>md5</code>\r
+ ื›ืžื™ื•ืฉืŸ (deprecated), ื•ื”ื•ื ื™ื•ืกืจ ื‘ืื—ืช ื”ืžื”ื“ื•ืจื•ืช ื”ื‘ืื•ืช. \r
+ืื ื ื“ืจืฉ ืœื›ื ืื™ืžื•ืช ืžื‘ื•ืกืก ืกื™ืกืžื” ื‘-PostgreSQL, ื”ืฉืชืžืฉื• ื‘ืื™ืžื•ืช \r
+<a href="https://www.postgresql.org/docs/18/auth-password.html"><code>SCRAM</code></a>\r
+ืฉืœ PostgreSQL 18.\r
+\r
+\r
+</p>\r
+<p dir="rtl">\r
+SCRAM ืชื•ืžื›ืช ื’ื ื‘-SCRAM passthrough ื”ืŸ ืขื\r
+<a href="https://www.postgresql.org/docs/18/postgres-fdw.html"><code>postgres_fdw</code></a>\r
+ ื•ื”ืŸ ืขื\r
+<a href="https://www.postgresql.org/docs/18/dblink.html"><code>dblink</code></a>\r
+ ืœืฆื•ืจืš ืื™ืžื•ืช ืžื•ืœ ืžื•ืคืขื™ PostgreSQL ืžืจื•ื—ืงื™ื.\r
+ ื‘ื ื•ืกืฃ, \r
+<a href="https://www.postgresql.org/docs/18/pgcrypto.html"><code>pgcrypto</code></a>\r
+\r
+\r
+ ืชื•ืžื›ืช ื›ืขืช ื‘\r
+<a href="https://www.postgresql.org/docs/18/pgcrypto.html#PGCRYPTO-CRYPT-ALGORITHMS">SHA-2 ืœืฆื•ืจืš ื’ื™ื‘ื•ื‘ ืกื™ืกืžืื•ืช</a>\r
+.\r
+</p>\r
+\r
+\r
+<h3 dir="rtl">\r
+ืฉื›ืคื•ืœ (Replication)\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+\r
+\r
+PostgreSQL 18 ืชื•ืžื›ืช ื‘ื“ื™ื•ื•ื— ืขืœ ื”ืชื ื’ืฉื•ื™ื•ืช ื›ืชื™ื‘ื” ื‘ืฉื›ืคื•ืœ ืœื•ื’ื™ (logical replication write conflicts) ื‘ื™ื•ืžื ื™ื (logs) ื•ื‘ืชืฆื•ื’ื”\r
+<a href="https://www.postgresql.org/docs/18/monitoring-stats.html#MONITORING-PG-STAT-SUBSCRIPTION-STATSl"><code>pg_stat_subscription_stats</code></a>\r
+\r
+\r
+. \r
+ื‘ื ื•ืกืฃ,\r
+<a href="https://www.postgresql.org/docs/18/sql-createsubscription.html"><code>CREATE SUBSCRIPTION</code></a>\r
+\r
+\r
+ ืžืฉืชืžืฉืช ื›ืขืช ื›ื‘ืจื™ืจืช ืžื—ื“ืœ ื‘ื”ื–ืจืžื” ืžืงื‘ื™ืœื™ืช (parallel streaming) ืœื™ื™ืฉื•ื ืขืกืงืื•ืช, ืžื” ืฉื™ื›ื•ืœ ืœืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื. \r
+ืœื›ืœื™ \r
+\r
+\r
+<a href="https://www.postgresql.org/docs/18/app-pgcreatesubscriber.html"><code>pg_createsubscriber</code></a>\r
+ ื ื•ืกืฃ ื”ื“ื’ืœ\r
+<code>--all</code>\r
+\r
+\r
+, ื›ืš ืฉื ื™ืชืŸ ืœื™ืฆื•ืจ ืจืคืœื™ืงื•ืช ืœื•ื’ื™ื•ืช ืœื›ืœ ืžืกื“ื™ ื”ื ืชื•ื ื™ื ื‘ืžื•ืคืข ื‘ืคืงื•ื“ื” ืื—ืช.\r
+PostgreSQL 18 ืžืืคืฉืจืช ื’ื\r
+<a href="https://www.postgresql.org/docs/18/runtime-config-replication.html#GUC-IDLE-REPLICATION-SLOT-TIMEOUT">ืœื”ืกื™ืจ ืื•ื˜ื•ืžื˜ื™ืช ืกืœื•ื˜ื™ ืฉื›ืคื•ืœ ืœื ืคืขื™ืœื™ื (idle replication slots)</a>\r
+ ื›ื“ื™ ืœืกื™ื™ืข ื‘ืžื ื™ืขืช ืื’ื™ืจื” ืฉืœ ื™ื•ืชืจ ืžื“ื™ ืงื•ื‘ืฆื™ WAL ื‘ืฆื“ ื”ืžืคืจืกื.\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืชื—ื–ื•ืงื” ื•ืชืฆืคื™ื•ืช (Observability)\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+\r
+\r
+PostgreSQL 18 ืžืฉืคืจืช ืืช ืืกื˜ืจื˜ื’ื™ื™ืช ื”- \r
+<a href="https://www.postgresql.org/docs/18/routine-vacuuming.html"><code>VACUUM</code></a>\r
+- ืขืœ-ื™ื“ื™ ื”ืงืคืื” ื™ื–ื•ืžื” ืฉืœ ื™ื•ืชืจ ื“ืคื™ื ื‘ืžื”ืœืš ืคืขื•ืœื•ืช\r
+<code>VACUUM</code>\r
+ ืจื’ื™ืœื•ืช, ืžื” ืฉืžืคื—ื™ืช ืชืงื•ืจื” ื•ืชื•ืจื ื‘ืžืฆื‘ื™ื ื”ื“ื•ืจืฉื™ื ืคืขื•ืœื•ืช\r
+<code>VACUUM</code>\r
+ ืื’ืจืกื™ื‘ื™ื•ืช.\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+PostgreSQL 18 ืžื•ืกื™ืคื” ืคืจื˜ื™ื ื ื•ืกืคื™ื ืœ-\r
+<a href="https://www.postgresql.org/docs/18/using-explain.html"><code>EXPLAIN</code></a>\r
+, ื”ืžืกืคืง ืžื™ื“ืข ืขืœ ื‘ื™ืฆื•ืข ืชื•ื›ื ื™ืช ื”ืฉืื™ืœืชื”, ื•ื›ืขืช ืžืฆื™ื’ื” ืื•ื˜ื•ืžื˜ื™ืช ื›ืžื” ื‘ืืคืจื™ื (ื™ื—ื™ื“ืช ื”ืื—ืกื•ืŸ ื”ื‘ืกื™ืกื™ืช) ื ื’ื™ืฉื™ื ื‘ืขืช ื”ืจืฆืช\r
+<code>EXPLAIN ANALYZE</code>\r
+. \r
+ื‘ื ื•ืกืฃ,\r
+<code>EXPLAIN ANALYZE</code>\r
+ ืžืฆื™ื’ ื›ืขืช ื›ืžื” ืคื ื™ื•ืช ืœืื™ื ื“ืงืก ืžืชื‘ืฆืขื•ืช ื‘ืžื”ืœืš ืกืจื™ืงืช ืื™ื ื“ืงืก, ื•-\r
+<code>EXPLAIN ANALYZE VERBOSE</code>\r
+ ื›ื•ืœืœ ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช ืขืœ CPU, โ€WAL ื•ื–ืžื ื™ ืงืจื™ืื” ืžืžื•ืฆืขื™ื.\r
+PostgreSQL 18 ื›ื•ืœืœืช ื™ื•ืชืจ ืžื™ื“ืข ื‘\r
+<a href="https://www.postgresql.org/docs/18/monitoring-stats.html#MONITORING-PG-STAT-ALL-TABLES-VIEW"><code>pg_stat_all_tables</code></a>\r
+- ืขืœ ื–ืžืŸ ืฉื”ื•ืงื“ืฉ ืœ-\r
+<code>VACUUM</code>\r
+ ื•ืœืคืขื•ืœื•ืช ืงืฉื•ืจื•ืช, ื•ื›ืŸ ืกื˜ื˜ื™ืกื˜ื™ืงื•ืช ืœืคื™-ื—ื™ื‘ื•ืจ ืขืœ ื ื™ืฆื•ืœ I/O ื•-WAL.\r
+</p>\r
+\r
+\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืฉื™ื ื•ื™ื™ื ื‘ื•ืœื˜ื™ื ื ื•ืกืคื™ื\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+ืžืกื“ื™ ื ืชื•ื ื™ื ืฉืžืื•ืชื—ืœื™ื ืขื\r
+<a href="https://www.postgresql.org/docs/18/app-initdb.html"><code>initdb</code></a>\r
+ ืฉืœ PostgreSQL 18 ืžื•ืคืขืœื™ื ื›ื‘ืจื™ืจืชึพืžื—ื“ืœ ืขื ื‘ื“ื™ืงื•ืช page checksums. \r
+ื”ื“ื‘ืจ ืขืฉื•ื™ ืœื”ืฉืคื™ืข ืขืœ ืฉื“ืจื•ื’ื™ื ืžื‘ืกื™ืกื™ ื ืชื•ื ื™ื ืฉื‘ื”ื ื‘ื“ื™ืงื•ืช page checksums ืื™ื ืŸ ืžื•ืคืขืœื•ืช: ื‘ืžืงืจื” ื›ื–ื”, ื‘ืขืช ืฉื™ืžื•ืฉ ื‘\r
+<a href="https://www.postgresql.org/docs/18/pgupgrade.html"><code>ึพpg_upgrade</code></a>\r
+ื™ื”ื™ื” ืฆื•ืจืš ืœื™ืฆื•ืจ ื‘ืกื™ืก ื ืชื•ื ื™ื PostgreSQL 18 ื—ื“ืฉ ืขื ื”ืืคืฉืจื•ืช\r
+<code>--no-data-checksums</code>\r
+.\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+PostgreSQL 18 ืžืฆื™ื’ื” ื’ื ื’ืจืกื” ื—ื“ืฉื” (3.2) ืฉืœ ืคืจื•ื˜ื•ืงื•ืœ ื”-WIRE ืฉืœ PostgreSQL - ื”ื’ืจืกื” ื”ื—ื“ืฉื” ื”ืจืืฉื•ื ื” ืžืื– \r
+PostgreSQL 7.4 (2003). \r
+\r
+\r
+ื”ืกืคืจื™ื™ื”\r
+<a href="https://www.postgresql.org/docs/18/libpq-connect.html"><code>libpq</code></a>\r
+ ืขื“ื™ื™ืŸ ืžืฉืชืžืฉืช ื‘ื’ืจืกื” 3.0 ื›ื‘ืจื™ืจืชึพืžื—ื“ืœ, ื‘ืขื•ื“ ืฉ clients (ืœืžืฉืœ ื“ืจื™ื™ื‘ืจื™ื, ืžืื’ืจื™ื, ืคืจื•ืงืกื™ื) ืžื•ืกื™ืคื™ื ืชืžื™ื›ื” ื‘ื’ืจืกืช ื”ืคืจื•ื˜ื•ืงื•ืœ ื”ื—ื“ืฉื”.\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืชื›ื•ื ื•ืช ื ื•ืกืคื•ืช\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+ืชื›ื•ื ื•ืช ื—ื“ืฉื•ืช ื•ืฉื™ืคื•ืจื™ื ืจื‘ื™ื ืื—ืจื™ื ื ื•ืกืคื• ืœโ€‘PostgreSQL 18 ืฉืขืฉื•ื™ื™ื ื’ื ืœื”ื•ืขื™ืœ ืœืžืงืจื™ ื”ืฉื™ืžื•ืฉ ืฉืœื›ื.\r
+ืื ื ืขื™ื™ื ื• ื‘-\r
+\r
+\r
+<a href="https://www.postgresql.org/docs/18/release-18.html">ื”ืขืจื•ืช ื”ืžื”ื“ื•ืจื”</a>\r
+\r
+\r
+ ืœืงื‘ืœืช ืจืฉื™ืžื” ืžืœืื” ืฉืœ ืชื›ื•ื ื•ืช ื—ื“ืฉื•ืช ื•ืฉื•ื ื•ืช.\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืื•ื“ื•ืช PostgreSQL\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+<a href="https://www.postgresql.org/">PostgreSQL</a>\r
+\r
+\r
+ ื”ื•ื ืžืกื“ ื ืชื•ื ื™ื ื‘ืงื•ื“ ืคืชื•ื— ื”ืžืชืงื“ื ื‘ื™ื•ืชืจ ื‘ืขื•ืœื, ืขื ืงื”ื™ืœื” ื’ืœื•ื‘ืœื™ืช ืฉืœ ืืœืคื™ ืžืฉืชืžืฉื™ื, ืชื•ืจืžื™ื, ื—ื‘ืจื•ืช ื•ืืจื’ื•ื ื™ื. \r
+ื”ืคืจื•ื™ืงื˜ PostgreSQL ื ื‘ื ื” ืขืœ ืžืขืœ 40 ืฉื ื•ืช ื”ื ื“ืกื”, ื”ื—ืœ ื‘ืื•ื ื™ื‘ืจืกื™ื˜ืช ืงืœื™ืคื•ืจื ื™ื”, ื‘ืจืงืœื™, ื•ื”ืžืฉื™ืš ืœื”ืชืคืชื— ืขื ืงืฆื‘ ืœืœื ืชื—ืจื•ืช. \r
+ืขืจื›ืช ื”ืชื›ื•ื ื•ืช ื”ื‘ืฉืœื•ืช ืฉืœ PostgreSQL ืœื ืจืง ืชื•ืืžืช ืžืขืจื›ื•ืช ื ืชื•ื ื™ื ืงื ื™ื™ื ื™ื•ืช ืžื•ื‘ื™ืœื•ืช, ืืœื ืขื•ืœื” ืขืœื™ื”ืŸ ื‘ืžืืคื™ื™ื ื™ื ืฉืœ ืžืกื“ื™ ื ืชื•ื ื™ื ืžืชืงื“ืžื™ื ,ื™ื›ื•ืœื•ืช ื”ืจื—ื‘ื”, ืื‘ื˜ื—ื” ื•ื™ืฆื™ื‘ื•ืช.\r
+</p>\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืงื™ืฉื•ืจื™ื\r
+</h3>\r
+<ul dir="rtl">\r
+<li>\r
+<a href="https://www.postgresql.org/download/"> ื”ื•ืจื“ื•ืช </a>\r
+</li>\r
+<li>\r
+<a href="https://www.postgresql.org/docs/18/release-18.html"> ื”ืขืจื•ืช ืžื”ื“ื•ืจื” </a>\r
+</li>\r
+<li>\r
+<a href="https://www.postgresql.org/about/press/"> ืขืจื›ืช ืขื™ืชื•ื ื•ืช </a>\r
+</li>\r
+<li>\r
+<a href="https://www.postgresql.org/support/security/"> ืขืžื•ื“ ืื‘ื˜ื—ื” </a>\r
+</li>\r
+<li>\r
+<a href="https://www.postgresql.org/support/versioning/"> ืžื“ื™ื ื™ื•ืช ื’ืจืกืื•ืช </a>\r
+</li>\r
+<li>\r
+<a href="https://www.postgresql.org/about/contact/">ื™ืฆื™ืจืช ืงืฉืจ</a>\r
+</li>\r
+<li>\r
+<a href="https://www.postgresql.org/about/donate/">ืชืจื•ืžื•ืช</a>\r
+</li>\r
+</ul>\r
+\r
+\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืขื•ื“ ืขืœ ื”ืชื›ื•ื ื•ืช\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+ืœื”ืกื‘ืจื™ื ืขืœ ื”ืชื›ื•ื ื•ืช ืฉืœืขื™ืœ ื•ืื—ืจื•ืช, ืขื™ื™ื ื• ื‘ืžืฉืื‘ื™ื ื”ื‘ืื™ื:\r
+</p>\r
+\r
+\r
+<ul dir="rtl">\r
+<li>\r
+<a href="https://www.postgresql.org/docs/18/release-18.html">ื”ืขืจื•ืช ื”ืžื”ื“ื•ืจื”</a>\r
+</li>\r
+<li>\r
+<a href="https://www.postgresql.org/about/featurematrix/">ืžื˜ืจื™ืฆืช ืชื›ื•ื ื•ืช</a>\r
+</li>\r
+</ul>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ื”ื™ื›ืŸ ืœื”ื•ืจื™ื“\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+ื™ืฉื ืŸ ืžืกืคืจ ื“ืจื›ื™ื ืœื”ื•ืจื™ื“ ืืช PostgreSQL18, ื›ื•ืœืœ:\r
+\r
+\r
+</p>\r
+\r
+\r
+<ul dir="rtl">\r
+<li>\r
+ื“ืฃ\r
+<a href="https://www.postgresql.org/download/">ื”ื”ื•ืจื“ื•ืช ื”ืจืฉืžื™</a>\r
+, ื”ื›ื•ืœืœ ืžืชืงื™ื ื™ื ื•ื›ืœื™ ืขื–ืจ ืขื‘ื•ืจ\r
+<a href="https://www.postgresql.org/download/windows/">Windows</a>\r
+,\r
+<a href="https://www.postgresql.org/download/">Linux</a>\r
+,\r
+<a href="https://www.postgresql.org/download/macosx/">macOS</a>\r
+ ื•ืขื•ื“.\r
+</li>\r
+<li>\r
+<a href="https://www.postgresql.org/ftp/source/v18.0">ืงื•ื“ ืžืงื•ืจ</a>\r
+</li>\r
+</ul>\r
+\r
+\r
+<p dir="rtl">\r
+ื›ืœื™ื ื•ื”ืจื—ื‘ื•ืช ื ื•ืกืคื™ื ื–ืžื™ื ื™ื ื‘-\r
+<a href="http://pgxn.org/">PostgreSQL Extension Network</a>\r
+.\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืชื™ืขื•ื“\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+PostgreSQL 18 ืžื’ื™ืข ืขื ืชื™ืขื•ื“ HTML ื•ื›ืŸ ื“ืคื™ man. \r
+ื ื™ืชืŸ ืœืขื™ื™ืŸ ื‘ืชื™ืขื•ื“ ื’ื ื‘ืื•ืคืŸ ืžืงื•ื•ืŸ ื‘ืคื•ืจืžื˜\r
+<a href="https://www.postgresql.org/docs/18/">HTML</a>\r
+ื•ื‘ืคื•ืจืžื˜\r
+<a href="https://www.postgresql.org/files/documentation/pdf/18/postgresql-18-US.pdf">PDF</a>\r
+.\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืจื™ืฉื™ื•ืŸ\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+PostgreSQL ืžืฉืชืžืฉืช ื‘\r
+<a href="https://www.postgresql.org/about/licence/">ืจื™ืฉื™ื•ืŸ PostgreSQL</a>\r
+\r
+\r
+ , ืจื™ืฉื™ื•ืŸ โ€œืžืชื™ืจื ื™โ€ ื”ื“ื•ืžื” ืœ-BSD. \r
+ืจื™ืฉื™ื•ืŸ ื–ื”, \r
+<a href="http://www.opensource.org/licenses/postgresql/">ื”ืžืื•ืฉืจ ืขืœ-ื™ื“ื™ OSI</a>\r
+, ืžื•ืขืจืš ื›ื’ืžื™ืฉ ื•ื™ื“ื™ื“ื•ืชื™ ืœืขืกืงื™ื, ืฉื›ืŸ ื”ื•ื ืื™ื ื• ืžื’ื‘ื™ืœ ืืช ื”ืฉื™ืžื•ืฉ ื‘-PostgreSQL ื™ื—ื“ ืขื ื™ื™ืฉื•ืžื™ื ืžืกื—ืจื™ื™ื ื•ืงื ื™ื™ื ื™ื™ื. \r
+ื‘ืฉื™ืœื•ื‘ ืขื ืชืžื™ื›ื” ืฉืœ ื—ื‘ืจื•ืช ืจื‘ื•ืช ื•ื‘ืขืœื•ืช ืฆื™ื‘ื•ืจื™ืช ืขืœ ื”ืงื•ื“, ืจื™ืฉื™ื•ื ื ื• ื”ื•ืคืš ืืช PostgreSQL ืœืคื•ืคื•ืœืจื™ืช ืžืื•ื“ ื‘ืงืจื‘ ืกืคืงื™ื ื”ืžื‘ืงืฉื™ื ืœืฉืœื‘ ืžืกื“ ื ืชื•ื ื™ื ื‘ืžื•ืฆืจื™ื”ื ืœืœื ื—ืฉืฉ ืžืขืžืœื•ืช, ื ืขื™ืœืช ืกืคืงื™ื ืื• ืฉื™ื ื•ื™ื™ ืชื ืื™ ืจื™ืฉื•ื™.\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ื™ืฆื™ืจืช ืงืฉืจ\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+ืืชืจ:\r
+</p>\r
+\r
+\r
+<ul dir="rtl">\r
+<li>\r
+<a href="https://www.postgresql.org/">https://www.postgresql.org</a>\r
+</li>\r
+</ul>\r
+\r
+\r
+<p dir="rtl">\r
+ืื™ืžื™ื™ืœ:\r
+</p>\r
+<ul dir="rtl">\r
+<li>\r
+<a href="mailto:press@postgresql.org">press@postgresql.org</a>\r
+</li>\r
+</ul>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืชืžื•ื ื•ืช ื•ืœื•ื’ื•\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+\r
+\r
+Postgres ื•-PostgreSQL ื•ืœื•ื’ื• ื”ืคื™ืœ (Slonik) ื”ื ื›ื•ืœื ืกื™ืžื ื™ื ืžืกื—ืจื™ื™ื ืจืฉื•ืžื™ื ืฉืœ \r
+<a href="https://www.postgres.ca">PostgreSQL Community Association</a>\r
+\r
+\r
+. ืื ื‘ืจืฆื•ื ืš ืœื”ืฉืชืžืฉ ื‘ืกื™ืžื ื™ื ืืœื”, ืขืœื™ืš ืœืฆื™ื™ืช ืœ\r
+\r
+\r
+<a href="https://www.postgresql.org/about/policies/trademarks/">ืžื“ื™ื ื™ื•ืช ื”ืกื™ืžื ื™ื ื”ืžืกื—ืจื™ื™ื</a>\r
+.\r
+\r
+\r
+\r
+\r
+</p>\r
+\r
+\r
+\r
+\r
+<h3 dir="rtl">\r
+ืชืžื™ื›ื” ืืจื’ื•ื ื™ืช ื•ืชืจื•ืžื•ืช\r
+</h3>\r
+\r
+\r
+<p dir="rtl">\r
+PostgreSQL ื ื”ื ื™ืช ืžืชืžื™ื›ืชืŸ ืฉืœ ื—ื‘ืจื•ืช ืจื‘ื•ืช, ืฉื ื•ืชื ื•ืช ื—ืกื•ืช ืœืžืคืชื—ื™ื, ืžืกืคืงื•ืช ืžืฉืื‘ื™ ืื™ืจื•ื— ื•ื ื•ืชื ื•ืช ืœื ื• ืชืžื™ื›ื” ื›ืกืคื™ืช. ืขื™ื™ืŸ ื‘ื“ืฃ \r
+<a href="https://www.postgresql.org/about/sponsors/">ื ื•ืชื ื™ ื”ื—ืกื•ืช</a>\r
+ืฉืœื ื• ืขื‘ื•ืจ ื—ืœืง ืžืชื•ืžื›ื™ ื”ืคืจื•ื™ืงื˜ ื”ืœืœื•.\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+ื™ืฉ ื’ื ืงื”ื™ืœื” ื’ื“ื•ืœื” ืฉืœ \r
+<a href="https://www.postgresql.org/support/professional_support/">ื—ื‘ืจื•ืช ื”ืžืฆื™ืขื•ืช ืชืžื™ื›ื” ื‘-PostgreSQL</a>\r
+, ืžื™ื•ืขืฆื™ื ื‘ื•ื“ื“ื™ื ื•ืขื“ ืœื—ื‘ืจื•ืช ืจื‘ ืœืื•ืžื™ื•ืช.\r
+\r
+\r
+</p>\r
+\r
+\r
+<p dir="rtl">\r
+ืื ื‘ืจืฆื•ื ืš ืœืชืจื•ื ืชืจื•ืžื” ื›ืกืคื™ืช ืœืงื‘ื•ืฆืช ื”ืคื™ืชื•ื— ื”ืขื•ืœืžื™ืช PostgreSQL ืื• ืœืื—ื“ ืžืืจื’ื•ื ื™ ื”ืงื”ื™ืœื” ื”ืžื•ื›ืจื™ื ืœืœื ืžื˜ืจื•ืช ืจื•ื•ื—, ืื ื ื‘ืงืจ ื‘\r
+\r
+\r
+<a href="https://www.postgresql.org/about/donate/">ื“ืฃ ื”ืชืจื•ืžื•ืช</a>\r
+ืฉืœื ื•.\r
+\r
+\r
+</p>
\ No newline at end of file