这个问题可能由于以下几种原因造成。首先,确保您的Redshift集群和Postgres数据库都有适当的网络设置,以便它们可以互相访问。同时,请检查您在Redshift和Postgres之间的Federated Query设置是否正确。
其次,如果您的查询涉及使用了不兼容的数据类型或语法,请更改查询或表结构以便能够成功进行联合查询。
如果上述方法都无法解决问题,请尝试使用Amazon Redshift的日志来查看更多信息。您可以在Redshift管理控制台的“查询”菜单中查看和下载日志。
以下是一个示例Postgres外部表定义,用于跨AWS Redshift和Postgres数据库进行联合查询:
CREATE SERVER my_redshift_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'myredshiftcluster.abcdefghijklmnopqrstuvwxyz.us-east-1.redshift.amazonaws.com', port '5439', dbname 'myredshiftdatabase', user 'myredshiftuser', password 'myredshiftpassword');
CREATE USER MAPPING FOR mypostgresuser SERVER my_redshift_server OPTIONS (user 'myredshiftuser', password 'myredshiftpassword');
CREATE FOREIGN TABLE my_redshift_table (id INT, name TEXT) SERVER my_redshift_server OPTIONS (schema_name 'public', table_name 'my_redshift_table');
现在,您可以通过联合查询在Postgres中查看和查询AWS Redshift中的数据。