Я работаю с базой данных PostgreSQL 8.4.13.
Недавно у меня было около 86,5 миллионов записей в таблице. Я удалил почти все из них - осталось всего 5000 записей. Я побежал:Перезапустить номера первичных ключей существующих строк после удаления большей части большой таблицы
vacuum full
после удаления строк и вернулся дискового пространства ОС (thx to suggestion from fellow SO member)
Но я вижу, что мои идентификационные номера все еще застряли в миллионы. Для экс:
id | date_time | event_id | secs_since_1970 | value
---------+-------------------------+----------+-----------------+-----------
61216287 | 2013/03/18 16:42:42:041 | 6 | 1363646562.04 | 46.4082
61216289 | 2013/03/18 16:42:43:041 | 6 | 1363646563.04 | 55.4496
61216290 | 2013/03/18 16:42:44:041 | 6 | 1363646564.04 | 40.0553
61216291 | 2013/03/18 16:42:45:041 | 6 | 1363646565.04 | 38.5694
В попытке запуска значение id
в 1
снова для остальных строк, я попытался:
cluster mytable_pkey on mytable;
где mytable
это имя моего стола. Но это не помогло. Итак, мой вопрос (ы) является/являются:
- Есть ли способ, чтобы получить индекс (значение ИН), чтобы начать в 1 раз?
- Если я добавлю или обновляю таблицу новой записью, начнется ли она с 1 или возьмет следующее самое высокое целочисленное значение (скажем, 61216292 в приведенном выше примере)?
Описание моего стола выглядит следующим образом: в нем нет ограничений FK и последовательности.
jbossql=> \d mytable;
Table "public.mytable"
Column | Type | Modifiers
-----------------+------------------------+-----------
id | bigint | not null
date_time | character varying(255) |
event_id | bigint |
secs_since_1970 | double precision |
value | real |
Indexes:
"mydata_pkey" PRIMARY KEY, btree (id) CLUSTER
Показать выходные данные '=> \ d mytable' –
Если ваш ПК (серийный номер?) * Не *, на который ссылается FK другой таблицы, вы * можете * попытаться перенумеровать его и сбросить последовательность до MAX (id) , Но я бы не советовал (не нужен и не подвержен несчастным случаям). – wildplasser
Возможно, вам следует изучить смысл терминов ['index'] (http://www.postgresql.org/docs/current/interactive/indexes.html), [' primary key'] (http: // www .postgresql.org/docs/current/interactive/ddl-constraints.html # AEN2493), ['serial'] (http://www.postgresql.org/docs/current/interactive/datatype-numeric.html#DATATYPE- SERIAL) и потенциально также ['foreign key'] (http://www.postgresql.org/docs/current/interactive/ddl-constraints.html#DDL-CONSTRAINTS-FK). –