Answers:
su postgres
pg_dropcluster --stop 9.1 main
pg_upgradecluster 8.4 main
最初,这对我不起作用有两个原因。首先,postgresql-8.4在某个时候没有被安装,所以我不得不重新安装它:
sudo apt-get install postgresql-8.4
然后我必须进入8.4 postgresql.conf
并更改max_connections
为10。然后它起作用了。您应该可以在以下位置找到conf文件/etc/postgresql/8.4/main/postgresql.conf
Error: specified cluster is not running
在更改后再次尝试尝试max_connections
,请使用pg_ctlcluster 8.4 main start
。
max_connections
对我没有用。作为错误消息提供的替代解决方案,我shared_buffers
从200MB 减少到20MB,这对我有用。
升级到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。
如果没有足够的时间进行转储和还原,请使用pg_upgrade:http : //www.postgresql.org/docs/devel/static/pgupgrade.html