5
我剛剛在Postgres中創建了一個表,並收到了一條通知消息,我並不完全理解隱式索引和序列。任何澄清將不勝感激。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
這些只是postgresql自動爲您創建序列和索引的通知。 –
@TI謝謝您的回覆!所以我猜測,我將爲這個表格創建兩個索引,即我創建的主鍵和隱式索引。而且序列是索引中每個數字之間的步驟? – HMLDude
不,你只有1個索引,除非你手動創建更多。 PostgreSQL只是警告你,因爲主鍵需要一個索引,所以它正在創建一個索引。與序列相同的東西,除非它不是主鍵,它是'SERIAL'數據類型。 「隱式」只是指PostgreSQL正在創建你沒有明確要求的東西。你沒有要求索引或序列,但這些*暗示*你所要求的其他東西。 – jpmc26