Thread: [pgsql-ru-general] сделать ALTER TABLE varchar в TEXT
имеется таблица с 62 млн записей у которой поле VARCHAR(32) NOT NULL нужно сделать это поле TEXT'ом. как бы это сделать чтобы не заблокировать БД на 2 часа? -- . ''`. Dmitry E. Oboukhov : :’ : email: unera@debian.org jabber://UNera@uvw.ru `. `~’ GPGKey: 1024D / F8E26537 2006-11-21 `- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
Attachment
[pgsql-ru-general] Re: [pgsql-ru-general] сделать ALTER TABLE varchar в TEXT
From
Николай Кутрухин
Date:
Приветствую.
> как бы это сделать чтобы не заблокировать БД на 2 часа?
Создать новый столбец, скопировать данные, удалить (переименовать) старый, переименовать новый.
Ответ на письмо от 23 марта 2017 г., 13:04:34:
> имеется таблица с 62 млн записей у которой поле VARCHAR(32) NOT NULL
> нужно сделать это поле TEXT'ом.
> как бы это сделать чтобы не заблокировать БД на 2 часа?
--
С уважением,
Николай mailto:haar@list.ru
> как бы это сделать чтобы не заблокировать БД на 2 часа?
Создать новый столбец, скопировать данные, удалить (переименовать) старый, переименовать новый.
Ответ на письмо от 23 марта 2017 г., 13:04:34:
> имеется таблица с 62 млн записей у которой поле VARCHAR(32) NOT NULL
> нужно сделать это поле TEXT'ом.
> как бы это сделать чтобы не заблокировать БД на 2 часа?
--
С уважением,
Николай mailto:haar@list.ru
[pgsql-ru-general] Re: [pgsql-ru-general] сделать ALTER TABLE varchar в TEXT
From
Dmitry Igrishin
Date:
23 марта 2017 г., 13:04 пользователь Dmitry E. Oboukhov <unera@debian.org> написал:
имеется таблица с 62 млн записей у которой поле VARCHAR(32) NOT NULL
нужно сделать это поле TEXT'ом.
как бы это сделать чтобы не заблокировать БД на 2 часа?
Если речь о PostgreSQL версии 9.1 и новее, то в данном конкретном случае конверсия VARCHAR(x) -> TEXT не приводит к перезаписи таблицы при ALTER TABLE ... SET DATA TYPE.