微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSQL 的 Oracle 主键

如何解决PostgreSQL 的 Oracle 主键

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

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

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

解决方法

这是不正确的:

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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。