【问题标题】:Disabling OID in AWS Redshift在 AWS Redshift 中禁用 OID
【发布时间】:2015-01-01 22:36:51
【问题描述】:

我在使用 Redshift 的 OIDS 时遇到了 ODBC 问题

我必须使用 ODBC 连接在 excel 中构建动态报告,它说找不到 Oid 列。

我正在等待查看 DBA 是否可以更改默认设置,但用于禁用 OIDS 的每个 PostgreSQL 命令在 Redshift 中都不起作用。建议?请不要在 Excel 上使用 cmets 作为报告工具,这就是我目前所拥有的一切。

我尝试了以下方法无济于事:

CREATE TABLE (
...
) WITHOUT OIDS;

CREATE TABLE (
...
) WITH ( OIDS = FALSE );

alter table [tablename] SET WITHOUT OIDS;

【问题讨论】:

  • Redshift 基于经过大量修改的极旧 PostgreSQL 版本。它很可能只是不支持您想要的。大多数使用 Redshift 的人可能应该改用 RDS PostgreSQL。
  • 我很高兴您这么说,因为它确实在功能、间歇性性能和超时问题方面受到极大限制。我将研究 rds 与 redshift 的性能和成本效益。
  • 超时可能只是 NAT conntracking;启用保活。其余的......是的,这部分是 Redshift,部分是在没有独占租赁的情况下对云托管的期望。

标签: excel postgresql amazon-web-services odbc amazon-redshift


【解决方案1】:

我们遇到了完全相同的问题,我们通过更改 Excel 设置与 AWS Redshift 的连接的方式来修复它。我们没有创建连接 From Microsoft Query,而是创建了 From Data Connection Wizard

顺便说一句,这可以让您看到连接字符串(默认情况下包括FAKEOIDINDEX=0;SHOWOIDCOLUMN=0)。

PS:更多信息 on what are OID and why Excel (Microsoft Query) 正在使用 OIDS 来处理行(它是唯一行 ID 的王者)。但是,如果您编写自己的 SQL 请求,Excel 不应该用 OIDS 惹恼您。

希望对您有所帮助..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-07
    • 1970-01-01
    • 2019-07-17
    • 2019-02-17
    • 2017-12-14
    • 2020-11-02
    相关资源
    最近更新 更多