TGViewer
Node JS Node JS @nodejs_lib · 1.96K subscribers
Post #337 1.4K
Представьте себе полноценный PostgreSQL, работающий прямо в браузере или Node.js без необходимости поднимать отдельный сервер или встраивать Linux-образ. Проект PGlite реализует эту идею, предоставляя всего лишь 3 МБ (в сжатом виде) с поддержкой популярных расширений, таких как pgvector.

PGlite — это PostgreSQL, скомпилированный в WebAssembly и упакованный в простую TypeScript/JavaScript-библиотеку. Его ключевая особенность — отсутствие "линуксового" виртуального окружения, что обеспечивает минимальный размер и удобный API. Вы можете использовать PGlite как in-memory базу или включить постоянное хранение данных в IndexedDB (в браузере) или файловой системе (в Node.js/Bun/Deno).

Основные преимущества PGlite:

- Минимальный размер — около 3 МБ в сжатом виде.
- Удобный API — простое подключение библиотеки и вызов методов для работы с базой данных. Совместимость с популярными ORM, такими как Drizzle или TypeORM.
- Поддержка расширений — в комплект входят некоторые популярные плагины, например, pgvector.

Пример использования PGlite в браузере:


import { PGlite } from "@electric-sql/pglite";

const db = new PGlite();
const result = await db.query("SELECT 'Привет, мир!' AS message;");
console.log(result);
// -> { rows: [ { message: "Привет, мир!" } ] }


Для сохранения данных между перезагрузками в IndexedDB:


const db = new PGlite("idb://my-pgdata");
// Данные сохранятся в IndexedDB


В средах Node.js/Bun/Deno можно указать путь к файлу для постоянного хранения данных:


const db = new PGlite("./path/to/pgdata");
// Данные сохранятся в локальной файловой системе


PGlite подходит для быстрого тестирования и прототипирования, демонстрационных и учебных проектов, а также для "local-first" приложений, где данные хранятся локально и синхронизируются при подключении к внешней СУБД.

https://habr.com/ru/articles/873112/

✍️ @nodejs_lib
  • 👍 6
  • 👎 1
More from @nodejs_lib
  1. Dec 12, 2025State QUIC в Node.js QUIC — это протокол транспортного уровня на базе UDP, созданный для з…
  2. Oct 25, 2025Команда npx — это мощный инструмент в экосистеме Node.js, который часто недооценивают, счи…
  3. Sep 8, 2025Как сериализовать данные из Node.js, чтобы они могли использоваться в других языках и сист…
  4. Aug 16, 2025Использование SQL в Node.js с Sequelize Реляционные базы данных используют SQL (Structured…
  5. Jul 25, 2025Building Microservices with Node.js: Explore microservices applications and migrate from a…
  6. Jul 23, 2025Стилизация текста в консоли Node.js В этом посте мы рассмотрим, как можно стилизовать текс…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →