6

我刚刚在 Postgres 中创建了一个表,并收到了一条关于隐式索引和序列我不完全理解的通知消息。任何澄清将不胜感激。

my_database=# CREATE TABLE sites
my_database-# (
my_database(# site_id_key serial primary key,
my_database(# site_url VARCHAR(255),
my_database(# note VARCHAR(255),
my_database(# type INTEGER,
my_database(# last_visited TIMESTAMP
my_database(# ) ;
NOTICE:  CREATE TABLE will create implicit sequence "sites_site_id_key_seq" for serial column "sites_to_search.site_id_key"
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "sites_pkey" for table "sites_to_search"
CREATE TABLE
4

1 回答 1

5

PostgreSQL 中的某些事情是由索引和序列处理的。这些包括串行和大串行类型、唯一约束和主键。这些在 PostgreSQL 中并不隐含(因此该通知有点误导),而是在 PostgreSQL 正在运行的 DDL 中隐含。

换句话说,索引和序列只是普通的索引和序列。它们只是由 PostgreSQL 自动创建,以提供您在 DDL 中请求的保证和功能。

于 2013-12-06T01:56:43.960 回答