Pull to refresh

Comments 11

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

Articles