sách gpt4 ai đã đi

postgresql - 执行函数从本地 PostgreSQL 数据库返回远程 PostgreSQL 数据库中的数据

In lại 作者:行者123 更新时间:2023-11-29 12:05:21 30 4
mua khóa gpt4 Nike

Postgres 版本:9.3.4

我需要执行驻留在远程数据库中的函数。该函数根据给定的参数返回一个统计数据表。

我实际上只是在我的本地数据库中镜像该函数,以使用我的数据库角色和授权来锁定对该函数的访问。

我发现以下似乎只提供基于表的访问。

第一个问题:这是正确的还是有办法将这些库用于非基于表的操作?

我发现以下内容似乎为我提供了对外部数据库的任何 SQL 操作。由于手动连接和错误处理,负面影响似乎增加了复杂性并降低了性能。

第二个问题:这些假设是否正确,是否有任何方法可以绕过这些问题或可以从中开始的库/示例?

1 Câu trả lời

fdw 接口(interface)提供了一种创建库的方法,它允许 postgresql 数据库查询任何外部数据源,就好像它是一个表一样。从这个角度来看,它可以做你想做的事。

然而,内置的 postgresql_fdw 驱动程序不允许您将函数指定为远程表。

您可以编写自己的 fdw 驱动程序,可能使用 multicorn 库或其他语言。不过,这可能需要一些工作,并且会有一些特定的缺点,特别是我不知道如何将参数传递给函数。

dblink可能是最简单的解决方案。它允许您在远程服务器上执行任意 SQL,返回一组记录。

LỰA CHỌN *
FROM dblink('dbname=mydb', 'SELECT * FROM thefunction(1,2,3)')
AS t1(col1 INTEGER, col2 INTEGER);

还有其他潜在的解决方案,但它们都需要更多的努力来设置。

关于postgresql - 执行函数从本地 PostgreSQL 数据库返回远程 PostgreSQL 数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24863140/

30 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com