posgresql:关系不存在

我使用旧计算机的 sql 转储将数据库移植到新笔记本电脑,然后在新计算机上执行此转储。 Thea 数据被正确复制,所有关于表的 SQL 语句都运行良好。

为了创建新的关系,我需要知道数据库中一些序列的值:

italo=> \ds
              List of relations
 Schema |           Name           |   Type   | Owner 
--------+--------------------------+----------+-------   
 public | Conjugation_conjType_seq | sequence | italo
 public | Conjugation_idConj_seq   | sequence | italo
 public | NounItalian_idNounIt_seq | sequence | italo
 public | VerbItalian_idVerbIt_seq | sequence | italo
 public | times_idTime_seq         | sequence | italo
(5 rows)

当我在 select 语句中使用 currval() 时,出现错误:

italo=> SELECT currval('VerbItalian_idVerbIt_seq');
ERROR:  relation "verbitalian_idverbit_seq" does not exist
LINE 1: SELECT currval('VerbItalian_idVerbIt_seq');

当我查看 phppgadmin 中的序列时,我收到了关于缺失关系的相同错误消息,后跟序列的列视图。错误信息如下

SQL error:
ERROR:  relation "public.verbitalian_idverbit_seq" does not exist
In statement:
SELECT pg_catalog.has_sequence_privilege('public.VerbItalian_idVerbIt_seq','SELECT,USAGE')

Name | Start value | Last value | Increment by | Max value | Min value | Cache value | Log count | Can cycle? | Will increment last value before returning next value (is_called)?
VerbItalian_idVerbIt_seq | 100 |  | 1 | 9223372036854775807 | 1 | 1 |  | No | No

 Alter Set value Increment value Restart Reset Show all sequences 

(“Last value”和“Log count”的值为空)

当我点击“设置值”时,我可以为“最后一个值”输入一个值,并且有一条小消息“序列值设置。”,但在视图中没有任何变化。

所有 5 个序列的行为都相同。

我需要做些什么来修复我的序列,以便我可以在它们上使用 currval()

编辑:当我从头开始创建一个新序列时,它的行为符合预期

tongzhi122015528 回答:posgresql:关系不存在

由于使用大写字符,必须在标识符周围使用 double quotes ":

SELECT currval('"VerbItalian_idVerbIt_seq"');
本文链接:https://www.f2er.com/561593.html

大家都在问