我刚在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
答案 0 :(得分:4)
PostgreSQL中的某些内容由索引和序列处理。这些包括串行和bigserial类型,唯一约束和主键。这些并不隐含在PostgreSQL中(因此通知有点误导),而是隐含在PostgreSQL运行的DDL中。
换句话说,索引和序列只是正常的索引和序列。它们只是由PostgreSQL自动创建,以便提供您在DDL中请求的保证和功能。