Comments 11
su postrges
и не пришлось бы каждый раз писать --username postgres
и не пришлось бы каждый раз писать --username postgres
Почему бы не использовать pg_dumpall и избежать кучи команд и проблем с пользователями?
Согласен.
Достаточно сделать так:
1. pg_dumpall
2. Массовая замена кодировок в командах create database в дампе (только client encoding нужно оставить как есть)
3. Создание нового кластера с правильной кодировкой
4. Восстановление из дампа (тут и роли, и права, и все базы сразу)
Достаточно сделать так:
1. pg_dumpall
2. Массовая замена кодировок в командах create database в дампе (только client encoding нужно оставить как есть)
3. Создание нового кластера с правильной кодировкой
4. Восстановление из дампа (тут и роли, и права, и все базы сразу)
Не понятно зачем делать vacuum --full, на больших базах это может длиться бесконечно долго. Особого смысла в этом перед pg_dump'ом нет. После — тоже не понятно зачем, хотя думаю после оно отработает относительно быстро
что-то я не пойму о каком кластере идет речь? кластер это набор из нескольких серверов БД объедененных и работающих как одно целое, а тут вроде только один сервер БД…
Технически — очень грамотно, организационно — полный бардак. На продакшене, за час до конца рабочего дня, без полноценного теста («ой, роли полетели! А, ладно: их немного...»)
Талантливый рас#$дяй.
Талантливый рас#$дяй.
update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'the_db';
Sign up to leave a comment.
Реинициализация кластера баз данных PostgreSQL