我使用旧计算机上的sql转储将数据库移植到新的笔记本电脑上,然后在新计算机上执行此转储。正确地复制了数据,并且所有关于表的SQL语句都能完美地工作。
为了创建新的关系,我需要知道DB:中一些序列的值
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"one_answers"Log count"的值为空(
当我点击";设定值";,我可以为"0"输入一个值;最后值";,并且存在小消息";序列值集&";,但在他们看来,一切都没有改变。
所有5个序列的行为都相同。
我必须做些什么来修复我的序列,以便在它们上使用currval()
?
编辑:当我从头开始创建一个新序列时,它的行为与预期的一样
由于使用UpperCase字符,您必须使用双引号"围绕标识符:
SELECT currval('"VerbItalian_idVerbIt_seq"');