Lists: | pgsql-ru-general |
---|
From: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org> |
---|---|
To: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | сделать ALTER TABLE varchar в TEXT |
Date: | 2017-03-23 10:04:34 |
Message-ID: | 20170323100434.GJ7024@vdsl.uvw.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-ru-general |
имеется таблица с 62 млн записей у которой поле VARCHAR(32) NOT NULL
нужно сделать это поле TEXT'ом.
как бы это сделать чтобы не заблокировать БД на 2 часа?
--
. ''`. Dmitry E. Oboukhov
: :’ : email: unera(at)debian(dot)org jabber://UNera(at)uvw(dot)ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537
From: | Николай Кутрухин <haar(at)list(dot)ru> |
---|---|
To: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>, pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: [pgsql-ru-general] сделать ALTER TABLE varchar в TEXT |
Date: | 2017-03-23 10:11:40 |
Message-ID: | 452208175.20170323131140@list.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-ru-general |
<html><head><title>Re: [pgsql-ru-general] сделать ALTER TABLE varchar в TEXT</title>
</head>
<body>
<span style=" font-family:'Courier New'; font-size: 9pt;">Приветствую.<br>
<br>
<br>
<span style=" color: #800000;"><b>> как бы это сделать чтобы не заблокировать БД на 2 часа?<br>
<br>
</b><span style=" color: #000000;">Создать новый столбец, скопировать данные, удалить (переименовать) старый, переименовать новый. <br>
<br>
<br>
Ответ на письмо от 23 марта 2017 г., 13:04:34:<br>
<br>
<span style=" color: #800000;"><b>> имеется таблица с 62 млн записей у которой поле VARCHAR(32) NOT NULL<br>
<br>
> нужно сделать это поле TEXT'ом.<br>
<br>
<br>
> как бы это сделать чтобы не заблокировать БД на 2 часа?<br>
<br>
<br>
</b><span style=" font-family:'arial'; font-size: 8pt; color: #c0c0c0;"><i>-- <br>
С уважением,<br>
Николай </i></span></span></span></span></span><a style=" font-family:'arial';" href="mailto:haar(at)list(dot)ru">mailto:haar(at)list(dot)ru</a></body></html>
Attachment | Content-Type | Size |
---|---|---|
unknown_filename | text/html | 2.7 KB |
From: | Dmitry Igrishin <dmitigr(at)gmail(dot)com> |
---|---|
To: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org> |
Cc: | pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org> |
Subject: | Re: [pgsql-ru-general] сделать ALTER TABLE varchar в TEXT |
Date: | 2017-03-23 11:15:33 |
Message-ID: | CAAfz9KNCQ-7niZeQ0dtbbjrchAMNsBCXR7+idoZ7Xfv1osu6MA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-ru-general |
23 марта 2017 г., 13:04 пользователь Dmitry E. Oboukhov <unera(at)debian(dot)org>
написал:
> имеется таблица с 62 млн записей у которой поле VARCHAR(32) NOT NULL
>
> нужно сделать это поле TEXT'ом.
>
>
> как бы это сделать чтобы не заблокировать БД на 2 часа?
>
Если речь о PostgreSQL версии 9.1 и новее, то в данном конкретном случае
конверсия VARCHAR(x) -> TEXT не приводит к перезаписи таблицы при ALTER
TABLE ... SET DATA TYPE.
/docs/9.6/static/release-9-1.html