Re: [pgsql-ru-general] Неблокирующий запрос
От | Andrey Lizenko |
---|---|
Тема | Re: [pgsql-ru-general] Неблокирующий запрос |
Дата | |
Msg-id | CADKuZZAz7ijWF8DMRmHnvu7-AKnAqEkQZcqnBqQZjXVmD_hn6A@mail.gmail.com обсуждение исходный текст |
Ответы |
Re[2]: [pgsql-ru-general] Неблокирующий запрос
Re: Re: [pgsql-ru-general] Неблокирующий запрос |
Список | pgsql-ru-general |
Может быть, как-нибудь вот так?
http://www.databasesoup.com/2015/08/lock-polling-script-for-alter-table.html
http://www.databasesoup.com/2015/08/lock-polling-script-for-alter-table.html
2015-09-08 14:07 GMT+03:00 Dmitry E. Oboukhov <unera@debian.org>:
есть огромная таблица на неск. десятков млн строк
в ней есть поле ENUM.
хотим преобразовать его в TEXT.
Можно ли это сделать на чистом SQL?
то есть ALTER TABLE .. ADD COLUMN col TEXT;
не будет блокироваться,
далее надо его заполнить значением из ENUM и после этого можно будет
сделать rename.
проблема в том что имеется действующая инфраструктура
апгрейда-даунгрейда БД и она предполагает только up.sql, down.sql.
соответственно можно написать сколько угодно инструкций но на SQL а не
на другом Я.П.
можно ли извратнуться как-то и сделать аналог
UPDATE
table
SET
col1 = col2
WHERE
col1 IS NULL
неубивающим БД?
пока в голову пришло только сгенерить этот самый SQL чтобы по 1000
записей сделал явно больше UPDATE'ов чем есть в БД записей и далее
уже в транзакции доделал те что еще остаются недоделанными и
переименовал бы столбики.
--
. ''`. 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
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEAREDAAYFAlXuwW0ACgkQq4wAz/jiZTdO3QCgyj5UOlnMbTkaRGv3q9bLbdml
kfgAn29M2yTnhQ+157VkCXdTjuwo4q/X
=Mk2J
-----END PGP SIGNATURE-----
Regards, Andrey Lizenko
В списке pgsql-ru-general по дате отправления: