问题标签 [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.
postgresql - jsonb类型的plv8存储过程
这可能为时过早,postgres 9.4 仍处于测试阶段。我一直在试验 jsonb 类型。我没有任何运气将 jsonb 类型传递给 plv8 函数,它以字符串类型出现。我想知道我做错了吗?
然后,当我使用 json 运行时:
但是,当我使用 jsonb 运行时:
-G
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:
- Transition from lowercase letter to upper case letter
- Transition from letter to number or number to letter
- (Optional) split on a few other characters (- _)
My main concern is 1 and 2.
javascript - 如何在 postgres plv8 过程中记录字符串?
我正在尝试在 plv8 过程中使用 plv8.elog() 打印 sql 查询。
我不知道为什么,但我无法在控制台上看到任何输出。我搜索了可能的解决方案,发现了 plv8 可以打印最大长度为 512 个字符的字符串的有用信息。链接如下。
http://code.google.com/p/plv8js/issues/detail?id=78
为了验证这一点,我尝试使用 str.slice 打印相同的字符串
这次我可以按预期看到日志输出。有人可以建议,我们如何记录超过 512 个字符的字符串?
postgresql - 可以从 plv8 函数中调用另一个模式中的函数吗?
我正在尝试使用 plv8 编写 postgres 函数。现在我想以这样的方式使用 pgcrypt 库:
crypt 与 pgcrypt 库一起提供并在另一个模式中找到。但如果运行我得到错误:
任何想法?谢谢!
javascript - plv8 在 eval() 中禁用执行和准备功能
如何在我的评估中停用对 plv8 功能的访问?
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.
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 上。
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()
作为参考,这是我的文件:
块引用
块引用
块引用
任何建议将不胜感激!
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
下面的堆栈跟踪
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.so
,plv8.control
并且plv8-1.4.4.sql
在 PG 安装路径中 - 我收到错误symbol not found: oid_hash