【问题标题】:Oracle Primary Key to PostgresPostgres 的 Oracle 主键
【发布时间】:2021-05-18 12:11:10
【问题描述】:

我正在将表从 Oracle 迁移到 Postgres。

在 Oracle 表上创建主键时,它会隐式创建同名的唯一索引。 但是在 Postgres 中没有创建这样的索引,或者在数据字典表中不可见。

Postgres 不允许使用主键名称创建索引。我想知道 Postgres 在主键列上是否需要唯一索引。如果我不为主键列创建唯一索引,它会以任何方式改变查询性能吗?提前致谢。

【问题讨论】:

  • Postgres 与 Oracle 完全相同:它创建一个与 PK dbfiddle.uk/… 同名的唯一索引

标签: postgresql ora2pg


【解决方案1】:

这是不正确的:

create table pk_test (id integer primary key);

 \d pk_test
              Table "public.pk_test"
 Column |  Type   | Collation | Nullable | Default 
--------+---------+-----------+----------+---------
 id     | integer |           | not null | 
Indexes:
    "pk_test_pkey" PRIMARY KEY, btree (id)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 2018-10-29
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    相关资源
    最近更新 更多