Re: [pgsql-ru-general] Неблокирующий запрос

From: Andrey Lizenko <lizenko79(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] Неблокирующий запрос
Date: 2015-09-08 12:46:10
Message-ID: CADKuZZAz7ijWF8DMRmHnvu7-AKnAqEkQZcqnBqQZjXVmD_hn6A@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

Может быть, как-нибудь вот так?

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(at)debian(dot)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(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
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEAREDAAYFAlXuwW0ACgkQq4wAz/jiZTdO3QCgyj5UOlnMbTkaRGv3q9bLbdml
> kfgAn29M2yTnhQ+157VkCXdTjuwo4q/X
> =Mk2J
> -----END PGP SIGNATURE-----
>
>

--
Regards, Andrey Lizenko

In response to

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Миша Тюрин 2015-09-08 21:28:04 Re[2]: [pgsql-ru-general] Неблокирующий запрос
Previous Message Dmitry E. Oboukhov 2015-09-08 11:07:25 Неблокирующий запрос