Configurazione PLV8 senza sforzo su PostgreSQL
Scoprite la nostra immagine Docker ottimizzata per PLV8, ora compatibile con le versioni PostgreSQL 17.0 e 16.4 su arm64 e Mac M1, M2, M3, costruita con Debian/Alpine per un'installazione semplificata
Supportato su:
o
PLV8 per PostgreSQL unisce la potenza di JavaScript e SQL, concedendo agli sviluppatori flessibilità, codifica minima, alte prestazioni e possibilità infinite.
Installazione e integrazione semplici
Ampio supporto architetturale
Efficienza nel risparmio di tempo
Supporto continuo e aggiornamenti
Primi Passi
Questa immagine è installata allo stesso modo dell'immagine Postgres standard, con l'unica differenza nell'aggiunta dell'estensione PLV8.

Uno script per creare l'estensione dovrebbe essere eseguito prima:
CREATE EXTENSION plv8;
Copia
Quindi puoi eseguire la query SQL:
DO $$
     plv8.elog(NOTICE, plv8.version);
$$ LANGUAGE plv8;
Copia
Successivamente, sarai in grado di vedere la versione dell'estensione PLV8 installata.
Modifiche all'immagine
A causa del problema di serializzazione BigInt, questa immagine viene fornita in due varianti:
costruzione predefinita (per impostazione predefinita in PLV8 v3.0.0 e numeri BigInt superiori vengono convertiti in stringa)
mod speciale con supporto alla serializzazione BigInt
CREATE TABLE test
(
     id SERIAL PRIMARY KEY NOT NULL,
     comment text
);

INSERT INTO test(comment)
        
VALUES ('abc'), ('def');

CREATE OR REPLACE FUNCTION get_count(table_name text)
     RETURNS jsonb
     LANGUAGE plv8 IMMUTABLE AS
$$
        const sql = `SELECT COUNT(*) AS cnt FROM "${table_name}"`;
        const data = plv8.execute(sql);
        return data[0];
$$;

SELECT * FROM get_count('test');

Copia
Testa le differenze nel lavoro:
Risultati:
sibedge/postgres-plv8: {"cnt": "2"}
sibedge/postgres-plv8-bigint: {"cnt": 2}
CREATE TABLE test
(
id SERIAL PRIMARY KEY NOT NULL,
comment text
);

INSERT INTO test(comment)
VALUES ('abc'), ('def');

CREATE OR REPLACE FUNCTION get_count(table_name text)
RETURNS jsonb
LANGUAGE plv8 IMMUTABLE AS
$$
const sql = `SELECT COUNT(*) AS cnt FROM "${table_name}"`;
const data = plv8.execute(sql);
return data[0];
$$;

SELECT * FROM get_count('test');

Hai bisogno di un'immagine Docker personalizzata?
Richiedi una costruzione personalizzata adatta alle tue specifiche uniche.
Il nostro team è pronto a creare la soluzione perfetta per te.
con ♥ da sibedge