PostgreSQL 错误:关系已存在 - 创建表中的外键

A. *_*Lau 1 database postgresql indexing namespaces

我正在制作一个表格如下:

CREATE TABLE creator.lists
(
    _id bigserial PRIMARY KEY NOT NULL,
    account_id bigint NOT NULL,
    created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
    display_name text DEFAULT '',
    name text DEFAULT '',
    extra jsonb,

    FOREIGN KEY (account_id)
        REFERENCES creator.accounts (_id)
            ON DELETE CASCADE
);
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

ERROR:  relation "account_id_index" already exists
Run Code Online (Sandbox Code Playgroud)

当我跑步时:

CREATE INDEX
    account_id_index
ON
    creator.lists
(
    account_id
);
Run Code Online (Sandbox Code Playgroud)

如何在外键上创建索引?我正在运行 v11.1

请注意,我之前也对另一个表运行过类似的命令:

CREATE INDEX
    account_id_index
ON
    creator.contacts
    (
        account_id
    );
Run Code Online (Sandbox Code Playgroud)

我不认为表之间的索引名称必须是唯一的?

Lau*_*lbe 5

索引与表、视图和序列位于同一命名空间中,因此您不能在一个模式中对任何这些对象使用相同的名称两次。

选择一个不同的名称,或者让 PostgreSQL 为您选择一个名称:

CREATE INDEX ON creator.lists (account_id);
Run Code Online (Sandbox Code Playgroud)