gpt4 book ai didi

postgresql - pgsql 存储过程 - 内部,c 或 sql 语言是最好的?

转载 作者:行者123 更新时间:2023-11-29 12:31:30 25 4
gpt4 key购买 nike

我有一个具有以下存储过程语言支持的生产 pgsql 服务器:

  1. 内部
  2. c
  3. SQL

我找不到内部和 c 的例子,只有 pl/pgsql 或在极少数情况下是 sql。我会尝试让供应商安装其他语言,但供应商通常不提供,所以我认为这不会发生......所以我被这些语言困住了......

我应该选择哪一个,为什么?(如果你也有好的教程,请把它写在你的答案或评论中)

select * from pg_language

enter image description here

顺便说一句,如果没有教程,我无法测试 c 和内部,所以也许有一个简单的解决方案:我不能使用它们,因为它们不受信任。

编辑-解决后

create language 对我有用。之后,我通过以下查询检查了哪些语言可用:

select * from pg_pltemplate

enter image description here

您可以阅读有关创建语言的更多信息 here .

我会用plpgsql,我在这里找到一本关于postgresql的好书:The PostgreSQL Programmer's Guide , Edited by Thomas Lockhart

最佳答案

通常,您可以使用四、五种 PL 语言 - SQL、PL/pgSQL、PL/Python 或 PL/Perl、C。

  • SQL - 短的一行函数 - 由于内联(如宏)可以非常快
  • PL/pgSQL - 适合业务逻辑实现(不管你喜欢与否,它可以加速你的应用程序,因为:更少的网络流量,更少的数据类型转换,更少的进程间通信 - PLpgSQL 使用与 Postgres 兼容的类型并执行函数在 PostgreSQL SQL 执行程序进程中)- 由于对 SQL 的原生支持,适用于具有大量 SQL 查询的代码(您可以喜欢它,也可以更喜欢 ORM - 我个人不喜欢 ORM - 据我所知,它是主要的性能 killer )。
  • PL/Python 或 PL/Perl - 适用于 PL/pgSQL 不好或缺少必要功能的特殊任务 - 我喜欢 PL/Perl,因为有可能在 PostgreSQL 中使用 CPAN 存档 - 需要发送 main 或需要进行 SOAP 调用- 一切都在 CPAN 中。
  • C - 需要最高性能或访问 PostgreSQL 内部 - 然后使用 C 函数。一些通用字符串、日期、数学例程的快速实现用C语言最简单。

您可以找到的 C 代码示例

C 语言可用于实现自己的数据类型、必要的操作和索引支持。您可以找到很多 PostgreSQL 扩展 - 最著名的是 PostGIS。

关于postgresql - pgsql 存储过程 - 内部,c 或 sql 语言是最好的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17388355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com