1

我有三台运行 PostgreSQL 10.1 的 RDS 服务器(于 2018 年 3 月在 AWS 中创建)。我需要在每个节点上的数据库之间以及不同节点上的数据库之间创建外部表。这是我的 sql 示例来设置它

CREATE SERVER fserver FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'rds2', dbname 'db_on_rds_2', port '5432');

CREATE USER MAPPING FOR postgres SERVER fserver OPTIONS (user 'postgres', password 'secret');


 CREATE FOREIGN TABLE ftable
 (
    id character varying(100) 
)
SERVER fserver;

执行时我得到的错误是这个(来自rds1):

select * from ftable limit 10;

 ERROR:  could not connect to server "rds2"
    DETAIL:  FATAL:  password authentication failed for user "postgres"
    FATAL:  password authentication failed for user "postgres"
    SQL state: 08001

无论我尝试查询位于同一 RDS 上还是不同 RDS 上的外部表,我都会收到此错误。

我认为这是 postgres 用户的权限问题,但我尝试授予所有内容,但没有任何乐趣。

有人对这可能是什么有任何见解吗?我在这上面花了很多时间。

rds1 和 rds2 不是真正的主机名,我使用的是实际的主机名。

4

0 回答 0