Ir al contenido

Primeros pasos con JavaScript / TypeScript

Ventana de terminal
npm install @petradb/engine

Sin modulos nativos, sin scripts post-instalacion — solo JavaScript.

import { Session } from '@petradb/engine';
const db = new Session();
await db.execute(`
CREATE TABLE users (
id SERIAL,
name TEXT NOT NULL,
email TEXT
);
INSERT INTO users (name, email) VALUES
('Alice', 'alice@example.com'),
('Bob', 'bob@example.com');
`);
const [{ rows }] = await db.execute('SELECT * FROM users');
console.log(rows);
// [
// { id: 1, name: 'Alice', email: 'alice@example.com' },
// { id: 2, name: 'Bob', email: 'bob@example.com' }
// ]

Eso es todo — una base de datos SQL completa compatible con PostgreSQL, en memoria, sin configuracion. Cada Session es una instancia de base de datos aislada.

El motor es JavaScript puro sin dependencias nativas, por lo que funciona en cualquier lugar donde se ejecute JavaScript: Node.js, Deno, Bun y directamente en el navegador. Puedes probarlo ahora mismo en el playground.

Cuando necesitas que los datos sobrevivan a los reinicios, pasa una opcion storage al constructor:

// Almacenamiento durable a prueba de fallos en un solo archivo (Node.js)
const db = new Session({ storage: 'persistent', path: './mydb' });
// Archivo de texto legible por humanos (Node.js)
const db = new Session({ storage: 'text', path: './data.ptxt' });

Para bases de datos persistentes, PetraDB detecta automaticamente si debe crear un nuevo archivo o abrir uno existente. Llama a await db.close() cuando termines para liberar el descriptor de archivo.

Para acceso multi-proceso o en red, ejecuta PetraDB como un servidor y conecta con la biblioteca cliente.

La guia de JavaScript / TypeScript cubre los modos de almacenamiento, modos de fila, sentencias preparadas y la API completa. Consulta tambien las guias de CLI, Servidor y Cliente.