plv8

This Release
plv8 3.2.3
Date
Status
Stable
Other Releases
Abstract
A procedural language in JavaScript powered by V8
Description
plv8 is a trusted procedural language that is safe to use, fast to run and easy to develop.
Released By
plv8
License
PostgreSQL
Resources
Special Files
Tags

Extensions

plv8 3.2.3
A procedural language in JavaScript

Documentation

EXTERNAL
External Utilities
README
Docker
PL/v8
A procedural language in JavaScript
README
PLV8
BUILDING
Building
README
Contributed files
BUILTINS
PLV8 Built-ins
FUNCTIONS
Function Calls
CONFIGURATION
Runtime Configuration

README

PLV8 - A Procedural Language in Javascript powered by V8

PLV8 is a shared library that provides a PostgreSQL procedural language powered by V8 Javascript Engine. With this program you can write in Javascript your function that is callable from SQL.

Support

There is a Discord available for general questions and support. Please ask there before opening an issue.

Build Requirements

Note that as PLV8 3.2, build requirements have again changed.

Linux

The following packages must be installed to build on Ubuntu or Debian:

  • libtinfo5
  • build-essential
  • pkg-config
  • libstdc++-12-dev (depending on version, may be 10 instead of 12)
  • cmake
  • git

The following packages must be installed to build on EL9 or EL8:

  • ‘development tools’ - via groupinstall
  • cmake
  • git

MacOS

The following packages must be install to build on MacOS:

  • XCode - and the command line tools
  • cmake

Building

Building plv8 needs to have all build requirements fulfilled before building. You must make sure that pg_config is in your path. It should share the same installation directory as psql and postgres.

make

Installing

This should install plv8 as an available extension into Postgres.

make install

Run Tests

Postgres features a test runner, and plv8 includes a number of tests that can be run.

make installcheck

Running

=# CREATE EXTENSION plv8;

This will install PLV8 into your database if it exists as an available extension.

Testing

To test, you can execute:

=# DO $$ plv8.elog(NOTICE, "hello there!"); $$ LANGUAGE plv8;

For full documentation, see https://plv8.github.io/.

Docker

For Docker support, see ./platforms/Docker/README.md