ΠΡΠΊΡΡΡΡ Π½Π°ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° 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, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΡΡΠ΅Π·ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π‘Π£ΠΠ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈΠ»ΠΈ Π² ΡΠ»ΡΠΆΠ±Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΡ Π‘Π£ΠΠ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru