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…