【问题标题】:Enable OIDs to Postgres Table after it is created创建 Postgres 表后启用 OID
【发布时间】:2012-05-01 09:26:27
【问题描述】:

是否可以使用 ALTER 语句将 OID 添加到表中?

编辑:我应该添加我正在使用 PG 8.3,而 8.3 手册没有列出该选项

http://www.postgresql.org/docs/8.3/static/sql-altertable.html

【问题讨论】:

  • 你认为你为什么需要它? OID 已弃用,不应使用。而且你无论如何都不应该使用8.3。它很快就会被淘汰。
  • OID 已被弃用为表的(不可见)系统列。 OID 的许多其他用途不受此影响。

标签: postgresql


【解决方案1】:

这是 postgresql 9.2:

ALTER TABLE "myTable" SET WITH OIDS;

希望对你有用。

【讨论】:

    【解决方案2】:

    在这种情况下,您的答案就在manual for PostgreSQL 8.3

    请注意,ALTER TABLE 没有变体允许 OID 删除后恢复到表中。

    所以答案是

    SET WITH OIDS 此后不久实现with version 8.4

    但我想不出这样做的充分理由。用户表中的 OID,从一开始就是一个错误的概念。很好摆脱。

    【讨论】:

      【解决方案3】:

      您可以在比输入问题更短的时间内阅读手册并查看“ALTER TABLE”页面

      http://www.postgresql.org/docs/9.1/static/sql-altertable.html

      答案是肯定的,但这是一个无聊的问题。

      一个有趣的问题是你为什么认为你想要它们?我 90% 确定你真的不知道。

      【讨论】:

      • 我确实去了那里,出于某种原因,当我为 OID 执行“Ctrl+f”时,我只看到了“无 OID”选项。谢谢
      • 我想更正自己。我使用的是 Postgres 8.3,而 8.3 手册没有显示“With OID”选项postgresql.org/docs/8.3/static/sql-altertable.html
      猜你喜欢
      • 2012-06-12
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多