plv8 的缺点或限制?

2024-02-06

我正在使用 PLV8 为 PostgreSQL 编写触发器和存储过程。到目前为止,我还没有真正看到与 PLPGSQL 相比的缺点。特别是如果使用 JSON,它似乎比 PLPGSQL 更智能。使用 PLV8 是否有已知的缺点或限制? PLV8 可以完全替代 PLPGSQL 吗?如果有人能分享他在这方面的经验,那就太好了。


PLV8的优缺点与PLPerl、PLPython等PL语言的优缺点相同。

  • 它没有与 PostgreSQL 引擎集成 - 处理 SQL 语句结果可能会更慢。 PLpgSQL 完全集成到 PostgreSQL 引擎。
  • SQL 未集成到语言中 - 无法对嵌入式 SQL 进行静态分析。使用 PLpgSQL 是可能的 - 请参阅 plpgsql_check。
  • 可以更好地进行昂贵的数学计算,使用字符串和数组进行操作通常比 PLpgSQL 更快。
  • 可以使用为语言开发的库 - Perl - CPAN,...
  • JavaScript、Perl、Python 是通用语言 - 因此任何通用任务都可以很好地实现。
  • PLpgSQL 是一种成熟的语言,设计用于在关系数据库环境中操作数据。几乎开发人员处理数据所需的一切都在那里。对结果的迭代,从数据库获取数据需要更少的可读代码。

PLpgSQL 是通过 SQL 语言进行数据操作的完美语言。其他 PL 更适合其他方面 - IO、网络、特殊格式、缓慢的数字计算,...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

plv8 的缺点或限制? 的相关文章

  • Rails csv 格式的原始查询,通过控制器返回

    我使用 Active Record 来获取我的故事 然后生成 CSV 这是在 Rails Cast 中完成的标准方法 但我有很多行 需要几分钟 我想如果我能让 posgresql 来做 csv 渲染 那么我可以节省一些时间 这是我现在所拥有
  • 多租户 Rails 应用:不同技术的优缺点是什么?

    我最初是为一位客户编写 Ruby on Rails 应用程序的 现在 我正在更改它 以便它可以用于不同的客户 我的最终目标是某些用户 不是我 可以单击按钮并创建一个新项目 然后生成所有必要的更改 新架构 新表 代码处理 无需任何人需要我编辑
  • 将 docker-compose.yml 中的包安装到 docker 容器中

    我是 docker 和 docker compose 的初学者 我需要你的帮助 我正在使用 docker compose 制作 PHP NGINX PostgresQL symfony 开发环境 这里是 web image nginx 1
  • 如何在postgres中获取数组大小大于1的数组

    我有一个看起来像这样的表 val fkey num 1 1 1 1 2 1 1 3 1 2 3 1 我想要做的是返回一组行 其中值按 val 分组 并带有一个 fkey 数组 但仅限于 fkey 数组大于 1 的情况 因此 在上面的示例中
  • 使用 LIMIT/OFFSET 运行查询并获取总行数

    出于分页目的 我需要使用以下命令运行查询LIMIT and OFFSET条款 但我还需要计算该查询将返回的行数 而不需要LIMIT and OFFSET条款 我想运行 SELECT FROM table WHERE whatever ORD
  • 将一个大的 postgres 表拆分为多个 csv

    我正在使用以下 psql 查询连接到远程主机并将一个大表拆分为多个 csv 文件 psql h xx p xx U xx d xx c COPY select from table TO program split lines 1000 f
  • PHP json_encode 反斜杠和数组名称的问题

    我正在将一些 postgresql 数据转换为 PHP json encode 但我遇到了一些问题 json encode 将 BackSlash 添加到我的数据中的所有斜杠中 在描述中出现段落标记的结束 我认为是因为反斜杠问题 我不希望我
  • QGIS 和 PostGIS(地图点(美国地图上的纬度和经度以及半径)

    我安装了QGIS和PostGIS 我想在美国地图上以 100 英里为半径显示 200 个点 我已将纬度和经度导入 PostGIS 数据库中 所以我有三个字段 地址 纬度 经度 1 我需要将纬度和经度字段转换为点或几何字段吗 如果是这样怎么办
  • 在 PostgreSQL 中存储图像

    好吧 我正在开发一个应用程序 该应用程序将使用运行 PostgreSQL 的 Linux 后端向 Windows 机器提供图像 前端用 C NET 编写 尽管前端应该不重要 我的问题是 在 Postgres 中存储图像的最佳方法是什么 每张
  • 在 Docker 中更改 Ubuntu 语言环境

    因此 我正在 pt BR 中使用 Ubuntu 和 Postgresql 设置 docker 映像 我想知道如何通过命令行更改默认区域设置而不重新启动系统 这在 Docker 构建中是不可能的 我设法在 Debian 中通过更改 LANG
  • 多人/单人测验游戏的数据库设计

    我在这里看到了很多问题 但没有人适合我的问题 我正在尝试创建一个可扩展的 ER 模型 如果我想添加更多数据 则不会破坏几乎任何东西 所以我尝试创建的是 有两种类型的用户 比如说管理员和工作人员 他们有不同的角色 管理员可以对问题进行 CRU
  • PostgreSQL docker:“无法绑定 IPv6 套接字:无法分配请求的地址”

    编辑2 经过很长一段时间 解决了 请参阅下面的答案 编辑 我很遗憾地说 从昨天到今天 问题 自行 消失了 而我没有做任何事情 在这里学习很棒的非确定性课程 额外的乐趣 无法绑定 IPv6 套接字 错误仍然出现在错误日志中 因此这可能根本不是
  • 将数据推送到 Heroku 时出错:时区位移超出范围

    我运行以下命令将本地数据库的内容推送到 Heroku heroku db push app my app 在我的家用计算机上 这可以完美地工作 但在我的工作计算机上 我收到此错误 Taps 服务器错误 PGError 错误 时区位移超出范围
  • PostgreSQL 8.3 中不为空且唯一约束的增量字段

    我有一个表 项目 其中有一列 位置 位置具有唯一且非空的约束 为了在位置 x 插入新行 我首先尝试增加后续项目的位置 UPDATE items SET position position 1 WHERE position gt x 这会导致
  • PostgreSQL 自定义异常条件

    当我提出异常时是否可以创建自定义条件 考虑以下示例 BEGIN y x 0 EXCEPTION WHEN division by zero THEN RAISE NOTICE caught division by zero RETURN x
  • Django基于PK和另一个字段保存对象

    我正在尝试将 postgresql 中的分区表与 Django 安装一起使用 通过Google搜索主题 我发现Django本身不支持分区 所以我自己对表进行了分区 我根据第二个字段对表进行分区 该字段是另一个表上的外键 基本模型设置如下 c
  • 代表 PostgreSQL 中的未来时间

    我习惯于将过去的日期作为 UTC 存储在数据库中 因为那实际上是事件发生的时间 对于未来的日期 我会将其与特定时区一起存储 以避免诸如闰秒或时区规则更改之类的更改 Postgres 有timestamp with timezone 但在幕后
  • 如何使用 ActiveRecord 列出所有数据库

    我希望能够使用 ActiveRecord 列出所有数据库 因此 我需要在终端中使用与以下命令等效的 ActiveRecord psql host 192 168 0 100 port 5432 username postgres list
  • postgresql 中的咨询锁超时

    我正在从 ORACLE 迁移 目前我正在尝试移植此呼叫 lkstat DBMS LOCK REQUEST lkhndl DBMS LOCK X MODE lktimeout true 这个功能 http docs oracle com cd
  • PostgreSQL 使用 JPA 和 Hibernate 抛出“列的类型为 jsonb,但表达式的类型为 bytea”

    这是我的实体类 映射到表中postgres 9 4 我正在尝试将元数据存储为jsonb在数据库中输入 Entity Table name room categories TypeDef name jsonb typeClass JsonBi

随机推荐

  • 结合使用关系数据库和键值存储

    我正在工作的项目的要求似乎是同时使用关系数据库 例如 postgre MySQL 和键值存储 例如 HBase Cassandra 除了少量的相互依赖之外 我们的数据几乎可以很好地分解为两个数据模型之一 这并不是试图将关系数据库塞进键值存储
  • X,Y 坐标到 gcode

    我正在从事一个计算机科学项目 该项目是一个 CNC 绘图仪 基本上我看到的所有获取 Gcode 的方法都使用 Inkscape 我已经编写了软件将普通图像仅转换为黑白边缘 并且我已经从图像中提取了坐标 有什么方法可以使用 X Y 坐标生成
  • 如何从大量文件夹中删除单个用户 ACL?

    我有一个非常大的文件夹列表 我需要从每个文件夹中删除一个 ACL 我没有手动执行此操作 而是尝试编写一个脚本来在很短的时间内完成此操作 但我遇到了一些麻烦 这是我到目前为止所拥有的 filepath C ALCTEST user domai
  • VS Code 在哪里存储打开文件的列表?

    我正在尝试在工作和家里同步 VS Code 实例 包括打开文件的列表 我知道有同步设置的扩展 但它们不包括打开文件 AFAIK 我不希望在运行实例下进行实时同步 但是如果我重启两台机器并在它们上启动代码 我希望它们相同 目前 我在 OneD
  • HAML 和 Ruby 循环以及 UL 不起作用

    我试图让这个简单的列表正常工作 但是 ul 正在关闭 并且没有将 li 元素包含在循环中 我是否缺少一个简单的方法来做到这一点 ul nav nav tabs nav stacked courses each do c li link to
  • 将数组作为单独的值传递给 params

    我正在调用一个与以下形式相同的函数string format其中第一个参数是字符串 其余参数是替换值 我在变量中有字符串 在数组中有替换值 给定数组中任意数量的对象 如何调用此函数 简单地传入数组作为最后一个参数是行不通的 Use the
  • 亚马逊 Lambda 到 Firebase

    当我尝试在 Lambda Node js 4 3 中运行此模块时 出现 找不到模块 firebase var Firebase require firebase 当我尝试上传包含 node modules firebase 的压缩包时 也会
  • 将“%>%”与“lm”和“rbind”一起使用

    我有一个数据框Z看起来像 t x y d 0 1 2 1 1 2 3 1 2 3 4 1 0 1 2 2 1 2 3 2 2 3 4 2 with d是一个因子列 我知道想要拟合线性模型lm to y over t对于两个因素d并将其作为新
  • 如何处理“无法将代码块解析为 Rust 代码”rustdoc 警告?

    我正在写一些 Rust 文档示例 正在编译 rust macro use extern crate But cargo doc给我这个 不正确 警告 warning could not parse code block as Rust co
  • 如何使用 FK 设置集合属性?

    我有一个Business and a Category model Each Business有很多Categories通过公开的集合 Category是无视Business实体 现在这是我的控制器操作 HttpPost ValidateA
  • 这是关闭 fork 上的套接字描述符的正确方法吗?

    考虑这段代码 socket fd start server port while 1 new socket fd accept client socket fd int pid fork if pid 0 I am the child se
  • 我应该使用 WinForms 还是 WPF 来使用网络摄像头拍照?

    我们有一个 Logitech 网络摄像头 我们希望将其与 NET 一起使用 它需要识别设备并能够拍照 我们刚刚安装了 VS 2008 我想知道 Microsoft 是否通过 WPF Silverlight 等一些较新的东西使与设备的交互变得
  • 由于“私有”保护级别,func 无法访问

    我正在尝试使用 Swift 3 将我的项目从 Xcode 8 中的 iOS 8 迁移到 iOS 10 我遇到了一个错误 在我的扩展中我声明了一些文件私有函数 并且由于以下原因 这些函数中的方法无法访问私人保护级别 这是我收到错误的地方 ex
  • 配置 IDLE 以使用 Unicode

    如何让 IDLE 使用 UTF 8 作为 Python 文件的默认编码 IDLE 设置中没有 编码 选项 就放特别评论行 https docs python org 2 tutorial interpreter html highlight
  • setExpressCheckout 和 SSL/TLS 错误

    我正在尝试开发一个简单的应用程序 使用户能够通过 Paypal API 从网站购买服务 该应用程序使用 C 在 ASP NET 上运行 我在尝试与 Paypal API 进行合作方面运气不佳 我调用的方法是 SetExpressChecko
  • SQL Server JDBC 驱动程序比较

    目前我们使用jtds http jtds sourceforge net 用于连接到我们的 SQL Server 数据库 我一直理所当然地认为我们出于性能和可靠性原因而使用它 但是 它的使用早于我的就业日期 综上所述 我们现在正在考虑迁移到
  • Eclipse插件开发问题

    我正在编写一个 Eclipse 插件 并且项目环境配置正确 我相信 我能够编译解决方案 而不会出现任何编译时错误 以下是在调试解决方案时引发异常的代码片段 我确信所有必需的插件和外部 jar 都已正确配置 我已经尝试了用户在互联网上建议的几
  • InputMethodManager 持有对 tabhost 的引用 - 内存泄漏 - OOM 错误

    查看层次结构如下TabActivity gt ActivityGroups gt Activities Using MAT我找到TabWidget被引用TabHost这是由引用的InputMethodManager hence TabWid
  • Visual Studio 2015 中“无法引用默认构造函数”

    我在 Visual Studio 2015 中遇到一个非常奇怪的错误消息 以下精简代码 struct A A int val 0 x val int x 0 struct B A static int y int B y 1 struct
  • plv8 的缺点或限制?

    我正在使用 PLV8 为 PostgreSQL 编写触发器和存储过程 到目前为止 我还没有真正看到与 PLPGSQL 相比的缺点 特别是如果使用 JSON 它似乎比 PLPGSQL 更智能 使用 PLV8 是否有已知的缺点或限制 PLV8