Изменить точность столбца в большой таблице PostgreSQL - PullRequest
0 голосов
/ 09 января 2019

Недавно мне пришлось изменить точность столбца в таблицах PostgreSQL. Таблица довольно большая (10M + строк).

Итак, я сделал это с миграцией рельсов:

change_column(:my_table, :amount, :decimal, precision: 30, scale: 8, default: 0.0)

Какие преобразования в этот SQL:

ALTER TABLE "my_table" ALTER COLUMN "amount" TYPE decimal(30,8)

Все хорошо, кроме как повесить базу данных на 15 минут. Как я понимаю, данные не нужно менять во время миграции, но я думаю, PostgreSQL все равно переписывал строки.

Есть ли способ, чтобы PostgreSQL переписывал только строки, когда я обновлял их, а не выполнял массовую перезапись при изменении точности столбцов, как это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...