plv8
PL/JavaScript (v8) trusted procedural language
Overview
| Package | Version | Category | License | Language |
|---|---|---|---|---|
plv8 | 3.2.5 | LANG | PostgreSQL | C++ |
| ID | Extension | Bin | Lib | Load | Create | Trust | Reloc | Schema |
|---|---|---|---|---|---|---|---|---|
| 3010 | plv8 | No | Yes | No | Yes | No | No | pg_catalog |
Version
| Type | Repo | Version | PG Ver | Package | Deps |
|---|---|---|---|---|---|
| EXT | PIGSTY | 3.2.5 | 1817161514 | plv8 | - |
| RPM | PIGSTY | 3.2.5 | 1817161514 | plv8_$v | - |
| DEB | PIGSTY | 3.2.5 | 1817161514 | postgresql-$v-plv8 | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 3.2.5 el8.x86_64.pg18 : plv8_18 plv8_18-3.2.5-1PGSTY.el8.x86_64.rpm
| PIGSTY 3.2.5 el8.x86_64.pg17 : plv8_17 plv8_17-3.2.5-1PGSTY.el8.x86_64.rpm
| PIGSTY 3.2.5 el8.x86_64.pg16 : plv8_16 plv8_16-3.2.5-1PGSTY.el8.x86_64.rpm
| PIGSTY 3.2.5 el8.x86_64.pg15 : plv8_15 plv8_15-3.2.5-1PGSTY.el8.x86_64.rpm
| PIGSTY 3.2.5 el8.x86_64.pg14 : plv8_14 plv8_14-3.2.5-1PGSTY.el8.x86_64.rpm
|
| el8.aarch64 | PIGSTY 3.2.5 el8.aarch64.pg18 : plv8_18 plv8_18-3.2.5-1PGSTY.el8.aarch64.rpm
| PIGSTY 3.2.5 el8.aarch64.pg17 : plv8_17 plv8_17-3.2.5-1PGSTY.el8.aarch64.rpm
| PIGSTY 3.2.5 el8.aarch64.pg16 : plv8_16 plv8_16-3.2.5-1PGSTY.el8.aarch64.rpm
| PIGSTY 3.2.5 el8.aarch64.pg15 : plv8_15 plv8_15-3.2.5-1PGSTY.el8.aarch64.rpm
| PIGSTY 3.2.5 el8.aarch64.pg14 : plv8_14 plv8_14-3.2.5-1PGSTY.el8.aarch64.rpm
|
| el9.x86_64 | PIGSTY 3.2.5 el9.x86_64.pg18 : plv8_18 plv8_18-3.2.5-1PGSTY.el9.x86_64.rpm
| PIGSTY 3.2.5 el9.x86_64.pg17 : plv8_17 plv8_17-3.2.5-1PGSTY.el9.x86_64.rpm
| PIGSTY 3.2.5 el9.x86_64.pg16 : plv8_16 plv8_16-3.2.5-1PGSTY.el9.x86_64.rpm
| PIGSTY 3.2.5 el9.x86_64.pg15 : plv8_15 plv8_15-3.2.5-1PGSTY.el9.x86_64.rpm
| PIGSTY 3.2.5 el9.x86_64.pg14 : plv8_14 plv8_14-3.2.5-1PGSTY.el9.x86_64.rpm
|
| el9.aarch64 | PIGSTY 3.2.5 el9.aarch64.pg18 : plv8_18 plv8_18-3.2.5-1PGSTY.el9.aarch64.rpm
| PIGSTY 3.2.5 el9.aarch64.pg17 : plv8_17 plv8_17-3.2.5-1PGSTY.el9.aarch64.rpm
| PIGSTY 3.2.5 el9.aarch64.pg16 : plv8_16 plv8_16-3.2.5-1PGSTY.el9.aarch64.rpm
| PIGSTY 3.2.5 el9.aarch64.pg15 : plv8_15 plv8_15-3.2.5-1PGSTY.el9.aarch64.rpm
| PIGSTY 3.2.5 el9.aarch64.pg14 : plv8_14 plv8_14-3.2.5-1PGSTY.el9.aarch64.rpm
|
| el10.x86_64 | PIGSTY 3.2.5 el10.x86_64.pg18 : plv8_18 plv8_18-3.2.5-1PGSTY.el10.x86_64.rpm
| PIGSTY 3.2.5 el10.x86_64.pg17 : plv8_17 plv8_17-3.2.5-1PGSTY.el10.x86_64.rpm
| PIGSTY 3.2.5 el10.x86_64.pg16 : plv8_16 plv8_16-3.2.5-1PGSTY.el10.x86_64.rpm
| PIGSTY 3.2.5 el10.x86_64.pg15 : plv8_15 plv8_15-3.2.5-1PGSTY.el10.x86_64.rpm
| PIGSTY 3.2.5 el10.x86_64.pg14 : plv8_14 plv8_14-3.2.5-1PGSTY.el10.x86_64.rpm
|
| el10.aarch64 | PIGSTY 3.2.5 el10.aarch64.pg18 : plv8_18 plv8_18-3.2.5-1PGSTY.el10.aarch64.rpm
| PIGSTY 3.2.5 el10.aarch64.pg17 : plv8_17 plv8_17-3.2.5-1PGSTY.el10.aarch64.rpm
| PIGSTY 3.2.5 el10.aarch64.pg16 : plv8_16 plv8_16-3.2.5-1PGSTY.el10.aarch64.rpm
| PIGSTY 3.2.5 el10.aarch64.pg15 : plv8_15 plv8_15-3.2.5-1PGSTY.el10.aarch64.rpm
| PIGSTY 3.2.5 el10.aarch64.pg14 : plv8_14 plv8_14-3.2.5-1PGSTY.el10.aarch64.rpm
|
| d12.x86_64 | PIGSTY 3.2.5 d12.x86_64.pg18 : postgresql-18-plv8 postgresql-18-plv8_3.2.5-1PGSTY~bookworm_amd64.deb
| PIGSTY 3.2.5 d12.x86_64.pg17 : postgresql-17-plv8 postgresql-17-plv8_3.2.5-1PGSTY~bookworm_amd64.deb
| PIGSTY 3.2.5 d12.x86_64.pg16 : postgresql-16-plv8 postgresql-16-plv8_3.2.5-1PGSTY~bookworm_amd64.deb
| PIGSTY 3.2.5 d12.x86_64.pg15 : postgresql-15-plv8 postgresql-15-plv8_3.2.5-1PGSTY~bookworm_amd64.deb
| PIGSTY 3.2.5 d12.x86_64.pg14 : postgresql-14-plv8 postgresql-14-plv8_3.2.5-1PGSTY~bookworm_amd64.deb
|
| d12.aarch64 | PIGSTY 3.2.5 d12.aarch64.pg18 : postgresql-18-plv8 postgresql-18-plv8_3.2.5-1PGSTY~bookworm_arm64.deb
| PIGSTY 3.2.5 d12.aarch64.pg17 : postgresql-17-plv8 postgresql-17-plv8_3.2.5-1PGSTY~bookworm_arm64.deb
| PIGSTY 3.2.5 d12.aarch64.pg16 : postgresql-16-plv8 postgresql-16-plv8_3.2.5-1PGSTY~bookworm_arm64.deb
| PIGSTY 3.2.5 d12.aarch64.pg15 : postgresql-15-plv8 postgresql-15-plv8_3.2.5-1PGSTY~bookworm_arm64.deb
| PIGSTY 3.2.5 d12.aarch64.pg14 : postgresql-14-plv8 postgresql-14-plv8_3.2.5-1PGSTY~bookworm_arm64.deb
|
| d13.x86_64 | PIGSTY 3.2.5 d13.x86_64.pg18 : postgresql-18-plv8 postgresql-18-plv8_3.2.5-1PGSTY~trixie_amd64.deb
| PIGSTY 3.2.5 d13.x86_64.pg17 : postgresql-17-plv8 postgresql-17-plv8_3.2.5-1PGSTY~trixie_amd64.deb
| PIGSTY 3.2.5 d13.x86_64.pg16 : postgresql-16-plv8 postgresql-16-plv8_3.2.5-1PGSTY~trixie_amd64.deb
| PIGSTY 3.2.5 d13.x86_64.pg15 : postgresql-15-plv8 postgresql-15-plv8_3.2.5-1PGSTY~trixie_amd64.deb
| PIGSTY 3.2.5 d13.x86_64.pg14 : postgresql-14-plv8 postgresql-14-plv8_3.2.5-1PGSTY~trixie_amd64.deb
|
| d13.aarch64 | PIGSTY 3.2.5 d13.aarch64.pg18 : postgresql-18-plv8 postgresql-18-plv8_3.2.5-1PGSTY~trixie_arm64.deb
| PIGSTY 3.2.5 d13.aarch64.pg17 : postgresql-17-plv8 postgresql-17-plv8_3.2.5-1PGSTY~trixie_arm64.deb
| PIGSTY 3.2.5 d13.aarch64.pg16 : postgresql-16-plv8 postgresql-16-plv8_3.2.5-1PGSTY~trixie_arm64.deb
| PIGSTY 3.2.5 d13.aarch64.pg15 : postgresql-15-plv8 postgresql-15-plv8_3.2.5-1PGSTY~trixie_arm64.deb
| PIGSTY 3.2.5 d13.aarch64.pg14 : postgresql-14-plv8 postgresql-14-plv8_3.2.5-1PGSTY~trixie_arm64.deb
|
| u22.x86_64 | PIGSTY 3.2.5 u22.x86_64.pg18 : postgresql-18-plv8 postgresql-18-plv8_3.2.5-1PGSTY~jammy_amd64.deb
| PIGSTY 3.2.5 u22.x86_64.pg17 : postgresql-17-plv8 postgresql-17-plv8_3.2.5-1PGSTY~jammy_amd64.deb
| PIGSTY 3.2.5 u22.x86_64.pg16 : postgresql-16-plv8 postgresql-16-plv8_3.2.5-1PGSTY~jammy_amd64.deb
| PIGSTY 3.2.5 u22.x86_64.pg15 : postgresql-15-plv8 postgresql-15-plv8_3.2.5-1PGSTY~jammy_amd64.deb
| PIGSTY 3.2.5 u22.x86_64.pg14 : postgresql-14-plv8 postgresql-14-plv8_3.2.5-1PGSTY~jammy_amd64.deb
|
| u22.aarch64 | PIGSTY 3.2.5 u22.aarch64.pg18 : postgresql-18-plv8 postgresql-18-plv8_3.2.5-1PGSTY~jammy_arm64.deb
| PIGSTY 3.2.5 u22.aarch64.pg17 : postgresql-17-plv8 postgresql-17-plv8_3.2.5-1PGSTY~jammy_arm64.deb
| PIGSTY 3.2.5 u22.aarch64.pg16 : postgresql-16-plv8 postgresql-16-plv8_3.2.5-1PGSTY~jammy_arm64.deb
| PIGSTY 3.2.5 u22.aarch64.pg15 : postgresql-15-plv8 postgresql-15-plv8_3.2.5-1PGSTY~jammy_arm64.deb
| PIGSTY 3.2.5 u22.aarch64.pg14 : postgresql-14-plv8 postgresql-14-plv8_3.2.5-1PGSTY~jammy_arm64.deb
|
| u24.x86_64 | PIGSTY 3.2.5 u24.x86_64.pg18 : postgresql-18-plv8 postgresql-18-plv8_3.2.5-1PGSTY~noble_amd64.deb
| PIGSTY 3.2.5 u24.x86_64.pg17 : postgresql-17-plv8 postgresql-17-plv8_3.2.5-1PGSTY~noble_amd64.deb
| PIGSTY 3.2.5 u24.x86_64.pg16 : postgresql-16-plv8 postgresql-16-plv8_3.2.5-1PGSTY~noble_amd64.deb
| PIGSTY 3.2.5 u24.x86_64.pg15 : postgresql-15-plv8 postgresql-15-plv8_3.2.5-1PGSTY~noble_amd64.deb
| PIGSTY 3.2.5 u24.x86_64.pg14 : postgresql-14-plv8 postgresql-14-plv8_3.2.5-1PGSTY~noble_amd64.deb
|
| u24.aarch64 | PIGSTY 3.2.5 u24.aarch64.pg18 : postgresql-18-plv8 postgresql-18-plv8_3.2.5-1PGSTY~noble_arm64.deb
| PIGSTY 3.2.5 u24.aarch64.pg17 : postgresql-17-plv8 postgresql-17-plv8_3.2.5-1PGSTY~noble_arm64.deb
| PIGSTY 3.2.5 u24.aarch64.pg16 : postgresql-16-plv8 postgresql-16-plv8_3.2.5-1PGSTY~noble_arm64.deb
| PIGSTY 3.2.5 u24.aarch64.pg15 : postgresql-15-plv8 postgresql-15-plv8_3.2.5-1PGSTY~noble_arm64.deb
| PIGSTY 3.2.5 u24.aarch64.pg14 : postgresql-14-plv8 postgresql-14-plv8_3.2.5-1PGSTY~noble_arm64.deb
|
| u26.x86_64 | PIGSTY 3.2.5 u26.x86_64.pg18 : postgresql-18-plv8 postgresql-18-plv8_3.2.5-1PGSTY~resolute_amd64.deb
| PIGSTY 3.2.5 u26.x86_64.pg17 : postgresql-17-plv8 postgresql-17-plv8_3.2.5-1PGSTY~resolute_amd64.deb
| PIGSTY 3.2.5 u26.x86_64.pg16 : postgresql-16-plv8 postgresql-16-plv8_3.2.5-1PGSTY~resolute_amd64.deb
| PIGSTY 3.2.5 u26.x86_64.pg15 : postgresql-15-plv8 postgresql-15-plv8_3.2.5-1PGSTY~resolute_amd64.deb
| PIGSTY 3.2.5 u26.x86_64.pg14 : postgresql-14-plv8 postgresql-14-plv8_3.2.5-1PGSTY~resolute_amd64.deb
|
| u26.aarch64 | PIGSTY 3.2.5 u26.aarch64.pg18 : postgresql-18-plv8 postgresql-18-plv8_3.2.5-1PGSTY~resolute_arm64.deb
| PIGSTY 3.2.5 u26.aarch64.pg17 : postgresql-17-plv8 postgresql-17-plv8_3.2.5-1PGSTY~resolute_arm64.deb
| PIGSTY 3.2.5 u26.aarch64.pg16 : postgresql-16-plv8 postgresql-16-plv8_3.2.5-1PGSTY~resolute_arm64.deb
| PIGSTY 3.2.5 u26.aarch64.pg15 : postgresql-15-plv8 postgresql-15-plv8_3.2.5-1PGSTY~resolute_arm64.deb
| PIGSTY 3.2.5 u26.aarch64.pg14 : postgresql-14-plv8 postgresql-14-plv8_3.2.5-1PGSTY~resolute_arm64.deb
|
Build
You can build the RPM / DEB packages for plv8 using pig build:
Install
You can install plv8 directly. First, make sure the PGDG and PIGSTY repositories are added and enabled:
Install the extension using pig or apt/yum/dnf:
Install
pig
dnf
apt
Create Extension:
Usage
Sources:
plv8 provides a trusted JavaScript procedural language powered by V8. This page follows upstream 3.2.5, including its effective-user crash fixes and PostgreSQL 19 support.
Basic use
Common built-ins
plv8.elog(level, ...): emit PostgreSQL log or client messages.plv8.execute(sql [, args]): run SQL and return rows or affected-row count.plv8.prepare(...),PreparedPlan.execute(),PreparedPlan.cursor(): prepared SPI access.plv8.subtransaction(fn): run a group of SPI operations atomically.plv8.find_function(...): call another PLV8 function by name.plv8.memory_usage(): inspect V8 heap usage for the current session.plv8.run_script(source, name): evaluate named script text.
Runtime settings
plv8.start_procplv8.v8_flagsplv8.execution_timeoutplv8.memory_limit
Caveats
- The 3.2.5 CI matrix covers PostgreSQL 14–19. PostgreSQL-major support is separate from the versions available in downstream packages.
- Creating the extension requires a superuser; the installed JavaScript language is trusted, which does not make the extension itself installable by an unprivileged user.
plv8_info()has its public execution privilege revoked by the installation SQL. - Version 3.2.5 fixes crashes when a cached function runs under a different effective user via
SECURITY DEFINERorSET ROLE, or afterplv8_reset(), and when an exception message cannot be converted to a string. - Each session has its own global JavaScript runtime; switching roles initializes a separate runtime context.
plv8.execution_timeoutonly applies when the extension is compiled with execution-timeout support.
Was this page helpful?
Thanks—your feedback helps us improve this page.
What got in the way? (optional)