我使用旧计算机的 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()
?
编辑:当我从头开始创建一个新序列时,它的行为符合预期