gpt4 book ai didi

Postgresql:创建从 url 加载数据的函数

转载 作者:行者123 更新时间:2023-11-29 14:32:14 26 4
gpt4 key购买 nike

Postgres 版本:10

我想创建一个将 url 作为参数的函数,执行 curl 命令并返回加载的数据。像这样:

CREATE OR REPLACE FUNCTION get_content_from_url(url text) RETURNS text LANGUAGE plpgsql AS $$
BEGIN
RETURN PROGRAM 'curl ' + url;
END
$$;

这可能吗?
我该如何实现?

更新:

我还尝试了以下 plsh 函数:

CREATE FUNCTION load_file_content (text) RETURNS text AS '
#!/bin/bash
curl $1
' LANGUAGE plsh;

但是当我执行 SELECT load_file_content('http://...'); 时我得到以下错误结果:

错误:load_file_content:% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left 速度 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0100 20745 100 20745 0 0 669k 0 --:--:-- --:--:-- --:--:-- 675kSQL状态:XX000

然后是 plperl 函数:

CREATE FUNCTION load_file_content (text) RETURNS text AS $$
my $result = "";
my $result .= qx(curl $1);
return $result;
$$ LANGUAGE plperl;

这导致在尝试创建函数时出现以下错误:

错误:'quoted execution (``, qx)' 被第 3 行的操作掩码捕获。

最佳答案

我找到了一个解决方案:

CREATE FUNCTION load_file_content (text) RETURNS text AS '
#!/bin/bash
curl $1 2>/dev/null
' LANGUAGE plsh;

关于Postgresql:创建从 url 加载数据的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50071507/

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