Postgresql 找不到postgres序列

Postgresql 找不到postgres序列,postgresql,sequence,Postgresql,Sequence,Hibernate找不到我的序列,异常是: Caused by: org.postgresql.util.PSQLException: ERROR: relation "default.menuitem_menuitem_id_seq" does not exist 好的,我自己尝试并连接do数据库: mydb=# CREATE SEQUENCE "default.menuitem_menuitem_id_seq" INCREMENT BY 1

Hibernate找不到我的序列,异常是:

Caused by: org.postgresql.util.PSQLException: 
              ERROR: relation "default.menuitem_menuitem_id_seq" does not exist
好的,我自己尝试并连接do数据库:

mydb=# CREATE SEQUENCE "default.menuitem_menuitem_id_seq" INCREMENT BY 1 
               MINVALUE 1 NO MAXVALUE START WITH 1 NO CYCLE;
ERROR:  relation "default.menuitem_menuitem_id_seq" already exists
mydb=# select nextval('default.menuitem_menuitem_id_seq');
ERROR:  relation "default.menuitem_menuitem_id_seq" does not exist
LINE 1: select nextval('default.menuitem_menuitem_id_seq');

我有序列吗?它的名字是什么

解释

您实际上是在当前架构(可能是
public
)内创建了一个名为
“default.menuitem\u menuitem\u id\u seq”的序列

信息和方法

default
是ANSI SQL标准和PostgreSQL中的保留关键字

如果要在架构中创建一个名为
“default”
的序列,则需要:

CREATE SEQUENCE "default".menuitem_menuitem_id_seq INCREMENT BY 1 
               MINVALUE 1 NO MAXVALUE START WITH 1 NO CYCLE;

此处不需要在序列名周围加引号。

必须分别在每个限定符上加引号:

CREATE SEQUENCE "default"."menuitem_menuitem_id_seq" 
INCREMENT BY 1 
MINVALUE 1 NO MAXVALUE 
START WITH 1 
NO CYCLE;

否则,将在当前架构中创建名为
default.menuitem\u menuitem\u id\u seq
的序列

您有一个名为
default的架构
?是的,我有一个名为“default”的架构!我需要架构中的序列。请尝试在不使用
的情况下创建序列。另外,
default
是ANSI SQL标准和PostgreSQL中的保留关键字。请看hm,默认值是一个关键字,我将尝试
“default”。menuite…
@ConsiderMe就是这样,将其定义为一个答案,我将接受它。
CREATE SEQUENCE "default"."menuitem_menuitem_id_seq" 
INCREMENT BY 1 
MINVALUE 1 NO MAXVALUE 
START WITH 1 
NO CYCLE;