postgresql - 带有 Redshift 的 Postgres 外部模式:我可以使用外部数据包装器吗?
问题描述
我有一个 Postgres 数据库,我想从我的 Redshift 集群中查询。我已经成功地用CREATE EXTERNAL SCHEMA
.
但是架构本身是空的。我在查询编辑器的模式下拉列表中看不到任何表,当我尝试查询我知道存在的表时,我收到错误消息:
错误:表可能不存在或不受支持的关系类型代码:25000 上下文:查询:0 位置:pgclient.cpp:189 进程:padbmaster [pid=19735]
我怀疑这是因为这些表是外部表(从供应商的数据库复制)。有没有办法让 Redshift 识别这些表并让我查询它们?
解决方案
您的查询返回错误消息的原因可能是因为它永远无法访问您的远程数据库。我假设您已按照此处的所有适当步骤操作:https ://docs.aws.amazon.com/redshift/latest/dg/getting-started-federated.html
尝试在 Redshift 集群的“网络和安全”配置中启用增强型 VPC 路由。
我遇到了同样的问题,即使我的 Postgres RDS 实例和 Redshift 集群在同一个 VPC 和子网组中,我也无法创建外部架构连接,直到启用增强型 VPC 路由。
相关线程:https ://forums.aws.amazon.com/thread.jspa?threadID=323013
推荐阅读
- python - 如何使用 modal 通过 Python Flask 和 HTML 动态呈现数据
- java - 检查 Web 服务是否正在运行
- javascript - 为什么我的链接在点击后会短暂变为红色?
- typescript - Typescript Types:可用作索引签名的对象值的类型
- c++11 - 未解决的 std::__cxx11::basic_string::~basic_string 和 std::allocator
::~allocator() 符号 - kubernetes - Kubernetes 配置文件中的“|-”是什么意思
- vue.js - 由于非常不清楚的原因,铬以可预测的方式半冷冻
- c# - 在签名相关但不相同的接口之间进行强制转换是一种反模式吗?
- c# - 如果值为字符串,则 ASP.NET Core SelectList 不绑定
- python-3.x - 无法导入 vxlapi:找不到函数“xlCanReceive”