Я обновил свой компьютер с Ubuntu с 11.04 до 11.10. В процессе работы мои postgres также были обновлены с 8.4 до 9.1.
Но я, кажется, потерял все свои данные. Если я посмотрю, то увижу, что мои данные для 8.4 находятся в папке /var/lib/postgres/8.4/main
, а моя новая база данных - в /var/lib/postgres/9.1/main
.
Как лучше всего перенести мои данные в новую версию? Могу ли я просто скопировать файлы?
su postgres
pg_dropcluster --stop 9.1 main
pg_upgradecluster 8.4 main
Сначала это не работало для меня по двум причинам. Во-первых, postgresql-8.4 в какой-то момент не работал , Вы должны быть в состоянии найти файл conf на /etc/postgresql/8.4/main/postgresql.conf
если для дампа и восстановления не хватает времени, используйте pg_upgrade: http://www.postgresql.org/docs/devel/static/pgupgrade.html
После обновления до 11.10 был установлен PostgreSQL 9.1, но работала версия 8.4.
Я пытался:
su postgres
pg_dropcluster --stop 9.1 main
pg_upgradecluster 8.4 main
Он сообщил об ошибке:
Stopping old cluster...
pg_ctl: servidor não desligou
Error: Could not stop old cluster
Итак, в другом окне:
$ sudo service postgresql-8.4 stop
* Stopping PostgreSQL 8.4 database server [ OK ]
jgr@cagliari:~$ sudo service postgresql-8.4 start
* Starting PostgreSQL 8.4 database server [ OK ]
И затем снова:
pg_upgradecluster 8.4 main
Сообщалось об ошибках, связанных с pgRouting. Это заняло некоторое время (всю ночь!), Но после этого база данных была обновлена до 9.1. PostGIS также был обновлён до 1.5.3.