Directory 从pg_数据目录还原Postgres数据库
我有一个坏掉的VM,它不能用一个旧的postgresql数据库启动(用于运行postgresql 8.4)。我可以访问文件系统(和pg_数据目录) 如何从该数据目录提取数据(或恢复数据库)Directory 从pg_数据目录还原Postgres数据库,directory,restore,postgresql-8.4,Directory,Restore,Postgresql 8.4,我有一个坏掉的VM,它不能用一个旧的postgresql数据库启动(用于运行postgresql 8.4)。我可以访问文件系统(和pg_数据目录) 如何从该数据目录提取数据(或恢复数据库) 它是否像将此目录的内容复制到工作的8.4 pg_数据目录一样简单?实际上它基本上就是这么简单。以下是我为实现这一目标所采取的步骤: 1) 将数据目录(/var/lib/postgres/8.4/data)归档到tar.gz文件中 2) 将文件移动到工作工作站(我的桌面,运行基于Debian的Linux发行版)
它是否像将此目录的内容复制到工作的8.4 pg_数据目录一样简单?实际上它基本上就是这么简单。以下是我为实现这一目标所采取的步骤: 1) 将
数据目录(/var/lib/postgres/8.4/data)归档到tar.gz文件中
2) 将文件移动到工作工作站(我的桌面,运行基于Debian的Linux发行版)
3) 安装PostgreSQL APT存储库,并按照中的说明安装PostgreSQL-8.4
(或已损坏服务器上的版本)
4) 将tar.gz文件的内容解压缩到“新”PostgreSQL 8.4安装的主目录中(/var/lib/PostgreSQL/8.4/main/)
5) 修改postgresql.conf
以将port=5432
更改为port=5433
。这允许我们使用端口号控制连接到哪个版本的PostgreSQL(假设工作站上有最新的稳定版本,如9.1)。因此,9.1将保留默认值5432,8.4将保留默认值5433
6) 修改提取数据目录的所有权,使postgres成为所有者:chown-R postgres:postgres/var/lib/postgresql/8.4/main/*
7) 启动postgres服务:service postgresql Start
(您将看到两个版本都已启动)
8) su
作为postgres,使用端口5433和旧服务器上的数据库名称进行连接:psql-p 5433 DatabaseName