Неблокирующий запрос

From: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Неблокирующий запрос
Date: 2015-09-08 11:07:25
Message-ID: 20150908110725.GB23119@vdsl.uvw.ru
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general

есть огромная таблица на неск. десятков млн строк

в ней есть поле 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

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Andrey Lizenko 2015-09-08 12:46:10 Re: [pgsql-ru-general] Неблокирующий запрос
Previous Message Dmitry E. Oboukhov 2015-09-05 09:24:42 Re: Переезд debian i386 -> amd64