Продолжительность PostgreSQL ALTER COLUMN TYPE int to bigint - PullRequest
0 голосов
/ 18 декабря 2018

Допустим, у меня есть таблица с id, то есть INTEGER GENERATED BY DEFAULT AS IDENTITY

Я ищу документ, как изменить тип, если в будущем integer будет слишком маленькими мне нужно изменить тип идентификатора с integer на bigint.Меня больше всего беспокоит временная сложность изменения, поскольку она, вероятно, произойдет, когда число строк в таблице будет близко к максимальному числу, которое может хранить целочисленный тип.

Что такое временная сложность дляследующая команда будет?

ALTER TABLE project ALTER COLUMN id TYPE BIGINT;

1 Ответ

0 голосов
/ 19 декабря 2018

Эта команда должна будет переписать всю таблицу, поскольку bigint занимает 8 байт памяти, а не 4 из integer.Таблица будет заблокирована от одновременного доступа, пока это происходит, поэтому с большой таблицей вы должны быть готовы к более длительному времени простоя.

Если вы ожидаете, что это может быть необходимо, внесите изменения как можно скорее., пока стол еще маленький.

...