在Ubuntu 16.10上将PostgreSQL从9.6升级到10.0
我的数据库超过600 GB,而我当前的卷只有1 TB,这可能限制了我的选择 我的配置文件如下:在Ubuntu 16.10上将PostgreSQL从9.6升级到10.0,postgresql,ubuntu,Postgresql,Ubuntu,我的数据库超过600 GB,而我当前的卷只有1 TB,这可能限制了我的选择 我的配置文件如下: /etc/postgresql/9.6/main 我的数据库在这里: /mnt/1TB/postgresql/9.6/main 编辑- 这本指南对我有用。我唯一需要做的是手动下载libicu55并安装它,我必须授予postgres1777对我的/tmp/文件夹的权限。我还将数据文件夹保存到另一个驱动器,因此我必须使用以下命令: pg_upgradecluster -m upgrade 10 mai
/etc/postgresql/9.6/main
我的数据库在这里:
/mnt/1TB/postgresql/9.6/main
编辑-
这本指南对我有用。我唯一需要做的是手动下载libicu55并安装它,我必须授予postgres1777对我的/tmp/文件夹的权限。我还将数据文件夹保存到另一个驱动器,因此我必须使用以下命令:
pg_upgradecluster -m upgrade 10 main /mnt/1TB/postgresql/10
一个循序渐进的指南
pg_dumpall > outputfile
sudo apt get install postgresql-10
。较新版本将与较早版本并行安装
pg\lsclusters
:
Ver Cluster Port Status Owner Data directory Log file
9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
10 main 5433 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
10已经有一个集群main
(因为这是在安装软件包时默认创建的)。这样做是为了让新的安装能够开箱即用,而无需首先创建集群,但是当您尝试升级9.6/main
时,当10/main
也存在时,它当然会发生冲突。建议使用pg\u dropcluster
删除10个群集,然后使用pg\u upgradecluster
升级
sudo pg_dropcluster 10 main --stop
sudo systemctl stop postgresql
sudo pg_upgradecluster -m upgrade 9.6 main
sudo pg_dropcluster 9.6 main --stop
sudo systemctl start postgresql
pg\lsclusters
。您的9.6群集现在应该处于“关闭”状态,10群集应该在5432处联机:
Ver Cluster Port Status Owner Data directory Log file
9.6 main 5433 down postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
10 main 5432 online postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
sudo pg_upgradecluster -m upgrade 9.6 main
sudo pg_dropcluster 9.6 main --stop
pg\u升级集群的一些注意事项
本指南适用于从9.5升级到10.1。当从旧版本升级时,考虑在步骤6中省略<代码> -M升级>代码>:
如果您有一个非常大的集群,您可以使用带有--link
选项的pg\u upgradecluster
,以便升级到位。但是,这是很危险的-如果发生故障,您可能会丢失集群。如果没有必要,请不要使用此选项,因为升级-m
已经足够快了
基于:
- 文件:
- 要点1:
- 要点2:
更新
本指南适用于从9.6升级到11,从10升级到11,以及从10升级到13。几乎是现成的。我在17点10分。虽然你可以把它放在.deb文件中,但它不起作用——Postgres只会在破坏LTS版本的情况下更新非LTS版本。因此,将Zesty放入该deb中,您就可以开始了。“逻辑复制是否可以在Ubuntu服务器上与Postgresql 10一起工作,并可以在Windows 10机器上与Postgresql 10一起工作”-是的。安装Postgres 10二进制文件后,您可以使用pg\u upgrade
将当前数据目录迁移到Postgres 10。如果您使用--link
选项,升级过程中只需要最少的额外空间。但是:首先,不要忘记备份。最好是另一个媒体(或机器)我的服务器是16.10,16.04的链接可以正常工作吗?deb yakkety pgdg mainpostgresql-10:dependens:libicu55(>=55.1-1~),但它不可安装是我使用yakkety代码名得到的错误。在.list文件中使用16.04的代码名安全吗?首先我必须更改为sudo-u postgres pg_dumpall>outfile这个命令在本指南中做得很好,从9.3到10.0运行得很好。谢谢刚刚在Ubuntu16.04上使用这个从9.6升级到10,太好了,谢谢你在第6步之后,我必须运行“sudo systemctl start postgresql”才能将新版本(10)上线。对于任何好奇的人来说,这些步骤对于postgresql9.6->11也非常有效。