Я работаю над обновлением базы данных Postgresql с 8.4 до 9.1. Я столкнулся с бесчисленными проблемами (возможно, связан с местами размещения файлов Ubuntu), но я думаю, что вижу финишную черту. Pg_upgrade почти работает, но он терпит неудачу, когда он достигает первой базы данных «template0», потому что она уже существует.Postgresql 8.4-> 9.1 с ошибкой pg_upgrade, поскольку существует база данных 'template0'
psql:/var/lib/postgresql/pg_upgrade_dump_globals.sql:36: ERROR: database "template0" already exists
There were problems executing "/usr/lib/postgresql/9.1/bin/psql" --set ON_ERROR_STOP=on --no-psqlrc --port 5432 --username "postgres" -f "/var/lib/postgresql/pg_upgrade_dump_globals.sql" --dbname template1 >> "/dev/null"
Failure, exiting
Эта база данных шаблона является, конечно, частью каждого нового кластера и не может быть удалена. Я попытался переименовать template0 и template1 (чтобы быть в безопасности) в новом кластере (после его воссоздания), но последующий вызов pg_upgrade также потерпел неудачу, но на этот раз жалуется, что шаблон1 не существует в новом кластере.
"/usr/lib/postgresql/9.1/bin/pg_ctl" -w -l "/dev/null" -D "/var/lib/postgresql/9.1/main" -o "-p 5432 -b" start >> "/dev/null" 2>&1
connection to database failed: FATAL: database "template1" does not exist
unable to connect to new postmaster started with the command: "/usr/lib/postgresql/9.1/bin/pg_ctl" -w -l "/dev/null" -D "/var/lib/postgresql/9.1/main" -o "-p 5432 -b" start >> "/dev/null" 2>&1
Failure, exiting
Я попробовал еще раз только переименование template0 и снова не удалось, но на этот раз с каким-то утверждение вопрос с самой Postgres.
executing: SELECT datcollate, datctype FROM pg_catalog.pg_database WHERE datname = 'template0'
pg_upgrade: /build/buildd/postgresql-9.1-9.1.3/build/../contrib/pg_upgrade/check.c:310: set_locale_and_encoding: Assertion `PQntuples(res) == 1' failed.
Aborted (core dumped)
Sanity Проверить Примечания: В случае, если кто-то думает «просто сделать полный SQL дамп и восстановить его», что не работает хорошо, либо, поэтому я пытаюсь получить pg_upgrade работать. Я также позаботился о том, чтобы каждый раз обновлять кластер и воссоздавать кластеры, чтобы не допустить, чтобы какие-либо реликвии отказов продолжали зависеть от обновления. База данных находится на томе Amazon, поэтому я не могу ничего сломать и всегда иметь резервную копию. Я нахожусь на ubuntu 12 и устанавливаю обе базы данных бок о бок.
В настоящее время у меня нет идей, которые не связаны с вступлением в источник postgresql и будут очень признательны за любую помощь и предложения относительно того, что делать дальше. Заранее спасибо.
Отключить тему. Вы должны обратиться к http://dba.stackexchange.com/ –