gpt4 book ai didi

postgresql - 无法使用 postgreSQL 9.3 中的外部数据包装器从 pg_index 访问数据

转载 作者:行者123 更新时间:2023-11-29 13:58:59 27 4
gpt4 key购买 nike

我在另一个 postgreSQL 数据库中的 postgreSQL 9.3 中实现了外部数据包装器,如下所示:

CREATE SERVER app_db 
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (dbname 'postgres', host 'localhost');

CREATE USER MAPPING for postgres
SERVER app_db
OPTIONS (user 'postgres', password 'XXXX');



CREATE FOREIGN TABLE location_local
(
id integer,
name character varying
)
SERVER app_db OPTIONS (table_name 'location')

SELECT * FROM location_local;

这一切都很好,因为位置表在公共(public)架构中。但我也想从 pg_catalog 访问数据。当我按照相同的程序访问数据时,它会给我错误。

ERROR:  relation "public.pg_catalog.pg_index" does not exist

有没有办法使用 FDW 或任何其他方式从目录访问数据?

最佳答案

你可以试试 schema_name option在外部表定义中:

CREATE FOREIGN TABLE foreign_index (
-- ...
)
SERVER app_db
OPTIONS (
schema_name 'pg_catalog',
table_name 'pg_index'
);

但这可能行不通,因为 pg_catalog 实际上不是模式,而是系统目录。如果是这种情况,您仍然可以使用 dblink module在外部数据库运行查询。

关于postgresql - 无法使用 postgreSQL 9.3 中的外部数据包装器从 pg_index 访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25016856/

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