【问题标题】:How can I send some http request from postgresql function or trigger如何从 postgresql 函数或触发器发送一些 http 请求
【发布时间】:2011-03-20 12:16:37
【问题描述】:

我需要从函数或触发器通过 http 协议(GET 或 POST 请求)发送数据。 有可能吗?

【问题讨论】:

    标签: postgresql httprequest plpgsql


    【解决方案1】:

    您可以尝试在 PL/Python 中编写触发器并使用 urllib2 进行 POST。

    【讨论】:

    • 嗯,它看起来像一个处于不受信任模式的 PL/Perl (postgresql.org/docs/8.4/interactive/plperl-trusted.html)... PL/Python 和 PL/Perl 的使用有区别吗?两者都必须在不受信任的模式下运行,仅此而已?这意味着我可以毫无限制地使用模块 IO::Socket 或 HTTP::Request?
    【解决方案2】:

    有一个扩展可以做到这一点,谨慎使用。

    pgsql-http

    【讨论】:

    • 是可信扩展吗?
    【解决方案3】:

    任何支持 HTTP 的“不可信”语言都可以做到这一点:

    • PL/Pythonu
    • PL/perlu
    • PL/javau
    • ...

    但你不应该真的这样做。请参阅Does PLV8 support making http calls to other servers? 和why you shouldn't send email from a trigger function。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-11
      • 1970-01-01
      • 2023-02-07
      • 1970-01-01
      • 2016-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多