在 Ubuntu 16.04 LTS 中将 postgresql 从 9.3 升级到 9.5

Upgrade postgresql from 9.3 to 9.5 in Ubuntu 16.04 LTS

我在我的机器上安装了 Ubuntu 16.04 LTS 和 postgresql-9.3。 (看起来我保留了这个实例,因为 16.04 安装了 postgresql9.5)。

嗯,我安装了 9.5 并删除了 9.3 使用...

sudo apt-get remove postgresql-9.3

不幸的是,我不知道所有的数据库和角色都在那个实例 (9.3) 中并且不与 9.5 共享。当尝试与我的用户一起登录时,它不起作用,因为它们不存在于该实例/集群中(我说的对吗?)

我尝试使用 Ubuntu 存储库安装 9.3,但它只安装了 9.5。如何将我的所有角色和数据库移动到 9.5 ??

要查看您的数据库是否仍在您的服务器上,请检查此文件夹:

ls /var/lib/postgresql/9.3/main/base/

如果你在那里有文件,这意味着你的数据库还在这里!! 如果此文件夹中没有任何内容,则表示您的生活数据已被删除。

您是否对数据库进行了定期备份?

如果是这样,您需要安装回以前版本的 PostgreSQL 并进行还原。

apt-get install postgresql-9.3
psql -h localhost
create database dbname;
psql -h localhost dbname < backup_file

在 Debian 或 Ubuntu 上升级的正常过程之后是这个: 服务 postgresql 停止

关于 vire le cluster de la nouvelle version(normalement vide si on vient juste de l'installer : faire gaffe à ne pas laisser passer de temps entre l'installation de la nouvelle version et la migration des données, pour que personne n'utilise le nouveau cluster)

停止新更新的 PostreSQL 版本:

service postgresql stop

删除新的更新版本集群以确保里面没有任何东西:

pg_dropcluster --stop 9.5 main

然后数据迁移:

pg_upgradecluster -m upgrade 9.3 main

然后停止以前版本的 PotsgreSQL :

pg_dropcluster 9.3 main --stop

删除旧版本:

apt-get autoremove --purge postgresql-9.3 

然后重启PostgreSQL,迁移数据库的新版本:

service postgresql start

希望对您有所帮助。

但是如果你没有做任何备份,不幸的是你应该丢失了所有东西。