Как найти последовательность первичного ключа и максимум первичного ключа - PullRequest
0 голосов
/ 11 сентября 2018

Я знаю, что этот вопрос довольно глупый, мне нужно выполнить эти запросы, чтобы посмотреть, не синхронизированы ли значения, но я получаю сообщение об ошибке типа "отношение не существует":

 SELECT MAX(the_primary_key) FROM the_table;   
 SELECT nextval('the_primary_key_sequence');

У меня есть таблица с именем «Аудит» со столбцом первичного ключа «AuditID». Когда я запустил первый запрос, я получил результат:

SELECT MAX('auditID') FROM "Audit";
   max
---------
 auditID
 (1 row)

но максимум должен быть больше 10000.

Затем я запускаю второй запрос и получаю сообщение об ошибке «отношение« the_primary_key_sequence »или« Audit_auditID_seq »не существует». Как я могу проверить, существует ли какая-либо последовательность первичных ключей или нет?

Ошибка:

select setval('Audit_auditID_seq', 171832, true);
ERROR:  relation "audit_auditid_seq" does not exist
LINE 1: select setval('Audit_auditID_seq', 171832, true);

1 Ответ

0 голосов
/ 12 сентября 2018

Я выясняю все мои вопросы, знак кавычки действительно чувствителен в этом случае;

 SELECT MAX("auditID") FROM "Audit"; 
   max
--------
 171832
 (1 row)

 SELECT nextval('"Audit_auditID_seq"');
 ----
 139801

и, наконец, сделайте значение таким же:

 select setval('"Audit_auditID_seq"', 171832, true);

Если вам нужно выяснить последовательность, используйте

 \d "table_name";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...