1-24 of 24 found

PLV8

elog(NOTICE, plv8.version); $$ LANGUAGE plv8; Updating PLV8 As of PLV8 version 2.3.3, you can use upgrade scripts to upgrade your installation from any version higher than 1.5.

PLV8 Versioning Policy

elog(NOTICE, plv8.version); $$ LANGUAGE plv8; Major Version Major versions increments with major changes in the codebase that could affect users and their code in a significant manner.

PLV8 Built-ins

find_function("callee"); return func(a); $$ LANGUAGE plv8; With plv8.find_function(), you can look up other PLV8 functions. If they are not a PLV8 function, and error is thrown.

PLV8 - A Procedural Language in Javascript powered by V8

elog(NOTICE, "hello there!"); $$ LANGUAGE plv8; For full documentation, see https://plv8.github.io/.

Runtime Configuration

start_proc | PLV8 function to run once when PLV8 is first used | none | | plv8.icu_data | ICU data file directory (when compiled with ICU support) | none | | plv8.

External Utilities

… input and writes SQL file(s) containing Postgres functions using PLV8. For more information see the project readme. Equinox equinox allows for database level unit testing via PLV8.

Docker

Docker While PLV8 does not currently provide docker images, we do have a Dockerfile which is currently able to build PLV8 in top of an official PostgreSQL image.

Function Calls

elog(NOTICE, "OLD = ", JSON.stringify(OLD)); plv8.elog(NOTICE, "TG_OP = ", TG_OP); plv8.elog(NOTICE, "TG_ARGV = ", TG_ARGV); if (TG_OP == "UPDATE") { NEW.

Building

com/plv8/plv8 $ cd plv8 $ make Building Building is simple: $ make This will download v8 and compile it as well. | Note: If you have multiple versions of PostgreSQL installed like 9.5 and 9.

PL/v8

..]) plv8.quote_literal(str) plv8.nullable(str) plv8.quote_ident(str) plv8.versionplv8.elog plv8.elog emits message to the client or the log file.

Contributed files

Copy one of the files, depending on your platform, and set the plv8.icu_data variable in postgresql.conf. icudtl.dat - Little Endian architectures (Intel) icudtb.

Benchmarking PLJS vs PLV8

Benchmarking PLJS vs PLV8 PLV8 uses Google’s V8 JavaScript engine, whereas PLJS uses the QuickJS engine. QuickJS’s performance relative to V8 is well-documented here.

Roadmap

While not completely up to feature parity with PLV8, 1.0 is geared at providing enough basic functionality to install side-by-side with PLV8, and look at migration options.

PLJS Change Log

PLJS Change Log 1.0.0 Released June 25, 2025. Support of PLV8 functionality Documentation created First initial release1.0.1 Released July 1, 2025. Remove extraneous include from types.

PLJS

… development roadmap Benchmarks - Benchmarks and comparisons with PLV8

PLJS Development

c - Functions available from PLV8 types.c - Type conversion to/from Postgres/JavaScript params.c - Parameter management for PostgresTests All tests live in the sql directory, and their expected…

PLJS Configuration Options

PLJS Configuration Options PLJS provides configuration options that are available either with the SET command in Postgres, or by adding them to the postgresql.conf file.

PLJS Built-in Functions

PLJS Built-in Functions PLJS includes a number of built-in functions bound to the pljs object for you to use. Utility Functions pljs.elog pljs.

PLJS/Postgres Integration

PLJS/Postgres Integration PLJS has the ability to execute function calls inside of Postgres. Scalar Function Calls In PLJS, you can write your invoked function call in JavaScript, using the usual…

PLJS Types

PLJS Types In PLJS, types are converted between Postgres native types and JavaScript types. This is not always a 1:1 mapping, but where possible there are direct conversions: | PostgreSQL Type |…

PLJS Versioning Policy

PLJS Versioning Policy PLJS generally follows Semantic Versioning with some PLJS specific changes. Support for major and minor versions of PLJS ends three (3) years after the release of the following…

Building for Windows

The name will depend on the version of PLV8 and the version of Postgres. An example is plv8-3.0.0-postgresql-10-x64.zip. TODO Generate configuration files Generate control files Generate sql files

Building for Windows

The name will depend on the version of PLV8 and the version of Postgres. An example is plv8-2.3.1-postgresql-10-x64.zip. TODO Generate configuration files Generate control files Generate sql files

Changelog.rst

… in children tables (#102) Handle external languages like plv8 correctly (#97) Correct quoting of mixed case constraint names (#83) Avoid problems with certain complex index definitions (#98) Have…