gpt4 book ai didi

postgresql - 在 2 DB 上执行连接

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

我在同一台服务器上有 2 个数据库,用户相同:

  • ckan_default
  • datastore_default

ckan_default的关系是:

 Schema |             Name              | Type  |  Owner   
-------+-------------------------------+-------+----------
public | resource | table | ckanuser
public | resource_group | table | ckanuser
public | package | table | ckanuser
....

datastore_default的关系是:

  Schema |                 Name                 | Type  |  Owner   
-------+--------------------------------------+-------+----------
public | 1bc7932e-2507-467b-8c12-c9f321b760f7 | table | ckanuser
public | 449138df-e089-41f2-8939-dcee53a31bc1 | table | ckanuser
public | 7235f781-1b16-4abf-ac04-8d68fa62e432 | table | ckanuser
....

我不会在 ckan_default.resource.id = datastore_default."NAME OF RELATION"上加入 2 DB。

如何?

最佳答案

我认为你做不到。

您可以使用 dblink从 A 查询数据库 B 的扩展,但查询将与数据库 A 的数据上下文分离。这就是 postgresql 的工作方式。

编辑:您可以根据 dblink 查询的结果填充 View ,然后使用它:

CREATE VIEW myremote_pg_proc AS
SELECT *
FROM dblink('dbname=postgres', 'select proname, prosrc from pg_proc')
AS t1(proname name, prosrc text);
SELECT * FROM myremote_pg_proc WHERE proname LIKE 'bytea%';

我发布的链接中的示例。

关于postgresql - 在 2 DB 上执行连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318935/

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