Configuration sans effort de PLV8 sur PostgreSQL
Découvrez notre image Docker optimisée pour PLV8, prenant désormais en charge les versions PostgreSQL 17.1 et 16.5 sur arm64 et Mac M1, M2, M3, construite avec Debian/Alpine pour une installation simplifiée
Pris en charge sur :
ou
PLV8 pour PostgreSQL fusionne la puissance de JavaScript et de SQL, offrant aux développeurs une flexibilité, un codage minimal, des performances élevées et des possibilités infinies.
Installation et intégration faciles
Large support
architectural
Efficacité de
gain de temps
Support continu
et mises à jour
Premiers Pas
Cette image est installée de la même manière que l'image Postgres standard, la seule différence étant l'ajout de l'extension PLV8.

Un script pour créer l'extension doit être exécuté en premier:
CREATE EXTENSION plv8;
Copier
Ensuite, vous pouvez effectuer une requête SQL:
DO $$
     plv8.elog(NOTICE, plv8.version);
$$ LANGUAGE plv8;
Copier
Ensuite, vous pourrez voir la version de l'extension PLV8 installée.
Modifications de l'image
En raison du problème de sérialisation BigInt, cette image existe en deux variantes :
construction par défaut (par défaut dans PLV8 v3.0.0 et les nombres BigInt plus élevés sont convertis en chaîne)
mod spécial avec support de sérialisation 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');

Copier
Testez les différences dans le travail:
Résultats:
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');

Besoin d'une image Docker personnalisée?
Demandez une construction personnalisée adaptée à vos spécifications uniques.
Notre équipe est prête à élaborer la solution parfaite pour vous.
avec ♥ de sibedge