我的OpenProject管理软件安装了默认的postgresql 10。目前postgresql DB是12,它有很多新功能。
我想升级我的Postgres数据库而不丢失数据库中的数据。我的系统是ubuntu 18.04和托管的openproject。
我在网上搜索了一下,找不到一步一步升级postgresql的方法。
你能指导我安装新的数据库和所有的数据应该在新的数据库。谢谢你的帮助。
我的OpenProject管理软件安装了默认的postgresql 10。目前postgresql DB是12,它有很多新功能。
我想升级我的Postgres数据库而不丢失数据库中的数据。我的系统是ubuntu 18.04和托管的openproject。
我在网上搜索了一下,找不到一步一步升级postgresql的方法。
你能指导我安装新的数据库和所有的数据应该在新的数据库。谢谢你的帮助。
3条答案
按热度按时间qmb5sa221#
A)首先创建所有数据库的备份(如果不需要备份,可以从B继续)
1.以postgres用户身份登录
1.为所有数据库中的所有数据创建一个备份.sql文件
B)升级到PostgreSQL 12
1.更新软件包并安装postgres 12
1.停止postgresql服务
1.迁移数据
1.切换到普通用户
1.交换新旧postgres版本的端口。
1.启动PostgreSQL服务
1.以postgres用户身份登录
1.检查您的新postgres版本
1.运行生成的新集群脚本
1.作为普通(默认用户)用户返回并清理旧版本的混乱
1.恭喜!你的postgresql版本现在升级了,如果在B中一切正常,我们不必应用备份,因为我们已经将数据从旧版本迁移到新版本,备份只是以防万一,如果出了什么问题。
**注意:**根据需要更改postgresql.conf和pg_hba.conf
PS:请随时评论您的问题、建议或任何其他您想建议的修改
drnojrws2#
1.备份数据库
(此命令将备份postgresql数据库中的所有数据库)
然后退出postgres用户,然后:
1.在终端中运行以下命令:
1.重新启动postgresql服务:
1.登录到postgres:
1.检查版本:
我已经完成了上述步骤,我可以更新数据库和恢复所有数据.
5vf7fwbs3#
使用pg_upgrade升级PostgreSQL
Step - 1(查找源PostgreSQL服务器的locale语言和编码)
SHOW LC_COLLATE;
Step - 2(停止现有/源PostgreSQL服务器)
$ sudo systemctl list-units | grep postgres
查找正在运行的PostgreSQL服务$ sudo service postgresql-<source-version>.service stop
Step - 3(安装目标PostgreSQL服务器)
Step - 4(更新语言和编码)
Step - 5(检查源到目标升级是否存在潜在问题)
$sudo su postgres
的身份运行命令如果没有问题,我们可以进入下一步,如果没有解决问题,则继续下一步预期输出:集群兼容
Step - 6(使用link选项将源升级到目标PostgreSQL版本)
$sudo su postgres
的身份运行命令预期输出:升级完成
谢谢。享受吧!