ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Postgres WASM ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ с Π‘Π£Π‘Π” PostgreSQL

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Postgres WASM, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ с Π‘Π£Π‘Π” PostgreSQL, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Бвязанный с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΠΎΠ΄ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ΡΡ инструмСнтарий для сборки Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ c ΡƒΡ€Π΅Π·Π°Π½Π½Ρ‹ΠΌ Linux-ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ, сСрвСром PostgreSQL 14.5 ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ (psql, pg_dump). Π Π°Π·ΠΌΠ΅Ρ€ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΉ сборки ΠΎΠΊΠΎΠ»ΠΎ 30 ΠœΠ‘.

Начинка Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ формируСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ скриптов buildroot ΠΈ запускаСтся Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ с использованиСм эмулятора v86. Для взаимодСйствия с ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°ΠΌΠΈ PostgreSQL ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° поставляСтся web-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°. Для обращСния ΠΊ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΌΡƒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ сСрвСру PostgreSQL ΠΏΠΎ сСти ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ сСтСвых запросов ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ прокси, ΠΏΡ€ΠΎΠ±Ρ€Π°ΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ API Websocket.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности Postgres WASM:

  • Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ восстановлСниС состояния Π‘Π£Π‘Π” ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π½Π° Π±Π°Π·Π΅ IndexedDB.
  • Быстрый запуск ΠΈΠ· Ρ„Π°ΠΉΠ»Π° с сохранённым состояниСм Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ запуск с ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ эмулятора.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выдСлСния Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС ΠΎΡ‚ 128 Π΄ΠΎ 1024ΠœΠ‘ памяти.
  • Настройка Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡˆΡ€ΠΈΡ„Ρ‚Π° web-Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, Π² Ρ‚ΠΎΠΌ числС ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄Π°ΠΌΠΏΡ‹ Π‘Π”.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° скачивания Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ окруТСния.
  • Установка входящих ΠΈ исходящих сСтСвых соСдинСний, созданиС туннСля для проброса ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ сСтСвому ΠΏΠΎΡ€Ρ‚Ρƒ 5432.

Π‘Ρ€Π΅Π΄ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… областСй примСнСния Postgres WASM упоминаСтся созданиС дСмонстрационных ΠΈ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… систСм, организация Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² offline-Ρ€Π΅ΠΆΠΈΠΌΠ΅, Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π² offline-Ρ€Π΅ΠΆΠΈΠΌΠ΅, тСстированиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ PostgresSQL, созданиС локального окруТСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° срСзов ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ состояния Π‘Π£Π‘Π” для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈΠ»ΠΈ Π² слуТбу ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, тСстированиС логичСской Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ с Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π‘Π£Π‘Π”.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Postgres WASM ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ с Π‘Π£Π‘Π” PostgreSQL


Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru