问题标签 [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 - 如何插入复合类型plv8
我创建了一个带有复合类型数组的 db 结构。我想使用 plv8 插入一些值,但我找不到正确的结构来插入这个数组。
我得到的错误是:
我知道用 ARRAY[ROW()] 插入是可行的,但是我必须制作一个必须插入的整个数组的长字符串。下面是我制作的结构和我尝试过的插入。用 plv8 插入这个数组/对象的正确方法是什么?
postgresql - Heroku 和 plv8 支持错误
我想在 heroku 上使用 plv8 扩展。我按照官方教程进行操作,但是当我连接到 heroku 上的 psql 控制台并尝试添加扩展名时:
我收到以下错误:
我通过 bash 连接到我的 heroku 应用程序来检查位置,但该文件不可用。我也无法创建它,因为它是一个只读文件系统。
我已经购买了使用 plv8 的先决条件的标准 0 计划。当我输入:
我得到:
这表明 plv8 可作为扩展使用。
现在的问题是,是否有人已经在 heroku 上成功启用 plv8 以及如何启用?
提前感谢您的所有帮助。
windows - postgresql 中的 pvl8.control 文件不存在
我正在尝试执行一个 ./run 语句,但是当我尝试执行它时,我得到了这个错误:
错误:无法打开扩展控制文件“C:/Program Files/PostgreSQL/9.4/share/extension/plv8.control”:没有这样的文件或目录
这个问题与postgresql的版本有关吗?
postgresql - 事务中的postgres内存问题
我们有一个 postgres 进程,其工作方式如下:-
1) CSV 文件拆分成一个表,每条记录一行
2) pagent 运行一个 postgres 函数,该函数读取每条记录并将其作为新记录或更新写入新表
3)触发器在新表上运行,并根据记录值运行 plv8 函数来更新其数据(涉及相当多的 json 处理,plv8 是最简单的编码方法)。第二次更新来自 plv8,我们使用了以下模式:-
当我们监控这一点时,我们看到处理 5000 条记录使用 14Gb 的虚拟内存。所以有些事情是错误的,因为 CSV 记录的大小小于 1k。在我们向表中添加新索引后,这种情况变得很严重。
我们应该在哪里寻找解决方案?它是否正常,是否与事务中正在更新的索引或其他因素相关联。
postgresql - 在 PostgreSQL 中调试 PLV8
前段时间我询问了在 PostgreSQL 函数和触发器中使用 PLV8 的缺点。与此同时,我使用 plpgSQL 的混合 szenario 并喜欢它。但是 - 如前所述 - PLV8 的调试选项较少。到目前为止,我了解 plugin_debugger 仅适用于 plpgSQL。外面有没有人找到一种很好的方法来以另一种方式进行 PLV8 调试,然后使用大量烦人的东西plv8.elog(NOTICE, 'this happens with my variable')
?也许任何第三方工具或秘密插件?
java - 如何在每次查询之前调用额外的 SQL?
我有一个使用 plv8 引擎的数据库,并且有用 coffescript 编写的存储过程。
当我使用 jDBI 时,为了调用这些程序,在我打开连接后我必须运行:
将 JOOQ 与 javax.sql.DataSource 一起使用时,我可以做类似的事情吗?
javascript - 如何从 JavaScript 数组创建 BYTEA?
如何从 JavaScript 数组创建 BYTEA?根据PL/V8 doc JS 数组应该被转换为 BYTEA 但它没有发生在我身上。
例如考虑以下功能
它返回看起来像这样的 28 (!!!) 字节
E'\\x020000400800009008000010200000000080FF00200000000080FE00'
在 Amazon RDS 上使用 Postgresql 9.5 和 PLV8 1.4.3 进行测试
我错过了什么?
更新:
看起来我知道它是如何创建 BYTEA 的。例如对于这个函数
它产生
E'\\x0A000040 01000080 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 01000000 20202020202020202020';
所以它包含第一个 DWORD 的低字节长度(由于某种原因,高字节中有 0x40),后面是 0x80000001,然后Len-1
是 0x1 的副本。然后是实际源字符串的字节。
postgresql - 函数内部基于函数的查询和函数调用的性能和索引使用情况
我正在尝试提高 PostgreSQL 函数和函数内部函数调用的性能。
在我们的应用程序中,PostgreSQL (9.6) 查询完全基于函数。例如,为了获取大量“项目”,可能会使用如下几行代码:
你看,在内部SELECT
,除了一些简单的字段之外,还有另一个函数调用。这些内部函数通常基于 plv8 并包含大量 JavaScript 逻辑,包括数据库查询。一个示例可能如下所示:
抛开这个设计是否有意义的问题,问题是:如何提高性能?
像 item_status 这样的函数返回的数据非常稳定,所以将它放入索引可能是有意义的,但我不知道如何。
使用的 PostgreSQL 版本是 9.6。
postgresql - 无法创建扩展 plv8 postgresql
安装 postgres 后,无法创建扩展 plv8。
我正在使用:CREATE EXTENSION plv8;
我越来越:
postgres 版本:9.6.2 pgAdmin4 版本:1.4
如何安装plv8?