postgresql - Postgres 的 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)
推荐阅读
- android - Android:使用圆形锚定 FAB 向 BottomAppBar 添加圆角
- r - R不会删除命令中的所有行(但没有错误)
- c - C - scanf 在没有直接访问的情况下更改数组的值
- angularjs - ASP.NET MVC | 返回上一页时未调用 ActionResult
- javascript - 在具有不同类的跳过异常之后,jQuery每次迭代都不会为元素赋值
- php - Laravel 将 php 类导入刀片视图
- assembly - 如何在汇编语言中使用 LES?
- javascript - 使用 if 语句在箭头函数的末尾返回一个值
- firefox-addon - 如何将 reCaptcha 添加到 Firefox 插件?
- c++ - 如何找到 10x12 矩阵的最小值和最大值