问题标签 [plv8]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1110 浏览

postgresql - jsonb类型的plv8存储过程

这可能为时过早,postgres 9.4 仍处于测试阶段。我一直在试验 jsonb 类型。我没有任何运气将 jsonb 类型传递给 plv8 函数,它以字符串类型出现。我想知道我做错了吗?

然后,当我使用 json 运行时:

但是,当我使用 jsonb 运行时:

-G

0 投票
2 回答
110 浏览

javascript - Splitting words in a variety of ways with Regex

Working on something similar to Solr's WordDelimiterFilter, but not in Java.

Want to split words into tokens like this:

Looking for a general solution, not specific to the above examples. Preferably in a regex flavour that doesn't support lookbehind, but I can use PL/perl if necessary, which can do lookbehind.

Found a few answers on SO, but they all seemed to use lookbehind.

Things to split on:

  1. Transition from lowercase letter to upper case letter
  2. Transition from letter to number or number to letter
  3. (Optional) split on a few other characters (- _)

My main concern is 1 and 2.

0 投票
1 回答
1308 浏览

javascript - 如何在 postgres plv8 过程中记录字符串?

我正在尝试在 plv8 过程中使用 plv8.elog() 打印 sql 查询。

我不知道为什么,但我无法在控制台上看到任何输出。我搜索了可能的解决方案,发现了 plv8 可以打印最大长度为 512 个字符的字符串的有用信息。链接如下。

http://code.google.com/p/plv8js/issues/detail?id=78

为了验证这一点,我尝试使用 str.slice 打印相同的字符串

这次我可以按预期看到日志输出。有人可以建议,我们如何记录超过 512 个字符的字符串?

0 投票
2 回答
2127 浏览

postgresql - 可以从 plv8 函数中调用另一个模式中的函数吗?

我正在尝试使用 plv8 编写 postgres 函数。现在我想以这样的方式使用 pgcrypt 库:

crypt 与 pgcrypt 库一起提供并在另一个模式中找到。但如果运行我得到错误:

任何想法?谢谢!

0 投票
1 回答
287 浏览

javascript - plv8 在 eval() 中禁用执行和准备功能

如何在我的评估中停用对 plv8 功能的访问?

0 投票
2 回答
5007 浏览

postgresql - plv8 disadvantages or limitations?

I'm playing around with PLV8 to write trigger and stored procedures for PostgreSQL. So far I don't really see disadvantages compared to PLPGSQL. Especially if working with JSON it seems even smarter then PLPGSQL. Are there known disadvantages or limitations if using PLV8? Can PLV8 be a full replacement for PLPGSQL? It would be great if somebody could share his experience on this.

0 投票
1 回答
777 浏览

javascript - 带有“RETURNS TABLE”的 Postgres PLV8 函数抛出“错误:ReferenceError:$1 未定义”

试图从PLV8存储过程返回表。

它无法识别输入参数,即$1当函数与 RETURNS TABLE(...).

它在函数返回标量时起作用:

它也适用于 function RETURNS SETOF

案例1)具有自定义数据类型:

案例2)与SETOF record

但它似乎不适用于RETURNS TABLE

知道为什么会窒息$1吗?

我在 Postgres 9.4.0 和 Plv8 1.4.4 上。

0 投票
0 回答
770 浏览

node.js - 在 Postgresql (PLV8) 中加载节点模块

我正在关注 [这篇文章 ( http://adpgtech.blogspot.com.br/2013/03/loading-useful-modules-in-plv8.html ) 将 Node 模块加载到 Postgres PLV8 中。它可以工作,除了plv8_startup()在 Postgres 启动时运行该函数。我在 Docker 容器中运行 Postgres,所以在我的 Docker 文件中,我调用以下命令让它运行上述函数:

sed -e "\$aplv8.start_proc = 'plv8_startup'" /var/lib/postgresql/data/postgresql.conf

不幸的是,当我调用使用 PLV8 的函数时,我正在加载的外部模块是未定义的。但是,如果我在数据库启动并运行后进入 PSQL ,节点模块会为该连接select plv8_startup()正确加载。可悲的是,如果我打开到数据库的新连接并尝试运行我的 PLV8 函数,外部模块再次未定义,我不得不再次运行。select plv8_startup()

作为参考,这是我的文件:

块引用

块引用

块引用

任何建议将不胜感激!

0 投票
0 回答
653 浏览

java - Java+Hibernate如何处理PSQLException死锁

我必须管理一个客户端-服务器应用程序(使用 Java8、Hibernate4、Spring4、postgresql 9.3.3 编写)并面临死锁情况。

我需要准确捕捉死锁情况(将死锁与其他错误区分开来)并将其转换为用户友好的消息,但实际上 sqlState 是XX000,错误代码是0. 也许我需要看看其他地方,或者我的连锁店出了什么问题?

详细信息:PG DB 中有 2 个 SP 做类似的工作update_bulk1(..),并在同一张表上update_bulk2(..)写入plv8和操作configuration。代码类似于:

服务器触发这些 SPHQL

当 2 个用户并行调用这 2 个方法时,我会遇到死锁异常,但我不知道如何在代码中处理它并通过友好的消息通知用户,例如“行已被其他用户更新/更新” - 实际上这就是我需要的(避免死锁和重写逻辑是为了将来,实际上不是一个选项)捕获的异常层次结构如下:

错误代码为 0

下面的堆栈跟踪

0 投票
1 回答
1854 浏览

postgresql - 如何在 CentOS 6.7 上的 postgresql 9.5 中安装 plv8?

我按照这个链接在 CentOS 6.7 上安装了 PG 9.5

然后我plv8-1.4.4.zip从 GitHub 下载并按照以下链接的说明进行操作:https ://github.com/plv8/plv8和http://pgxn.org/dist/plv8/和 README。我做到make static了,看起来它构建得很好。现在我在下一步被阻止了

如何在数据库中安装 plv8?因为CREATE EXTENSION plv8说那个plv8.control文件没有找到。如果我手动复制plv8.soplv8.control并且plv8-1.4.4.sql在 PG 安装路径中 - 我收到错误symbol not found: oid_hash