Windows下DATA目录的迁移

文档用途

Windows系统下安装完数据库后,想要将数据目录迁移至新的目录

详细信息

1、先查询当前的data目录

highgo=# show data_directory;

       data_directory

-------------------------------

 C:/highgo/database/5.6.4/data

 

2、关闭数据库,关闭数据库服务

开始->管理工具->服务, 找到 hgdb-se5.6.4 选中后点击停止

3、修改data目录下配置文件postgresql.conf

# data_directory = 'ConfigDir' ==> data_directory = 'D:/highgo/data'

注意:参数里面改成新的data目录,而且一定注意,windows下也必须是斜杠,反斜杠不会识别,后期启动时会报错找不到data目录并会要求手动initdb

错误信息存在于系统日志 ( 开始->管理工具->服务器管理器->诊断->事件查看器->windows日志->应用程序) 中会提示找不到data目录

4、拷贝data目录至目标路径

将原data目录删除(或重命名)

5、在命令行启动数据库pg_ctl start,进行查询验证

highgo=# show data_directory;

 data_directory

----------------

 C:/highgodb/data

(1 行记录)

6、通过服务启动数据库,发现会报错,提示找不到data目录,所以仅改数据库配置文件不够,可以有以下几种方法

1)删除原有服务,增加新服务。

(由于windows下封装的包,在安装时写入的data目录会注册到服务相对应的注册表中,所以修改了data目录就要修改相关的所有注册表,所以删除服务重新生成服务可以生成新的注册表,才能通过服务来启动数据库)

C:\Users\Administrator> pg_ctl unregister -N hgdb-se5.6.4

C:\Users\Administrator> pg_ctl register -N hgdb-se5.6.4 -U “NT AUTHORITY\NetworkService” -D “D:\highgo\data” -s

C:\Users\Administrator>

刷新服务列表,启动数据库

开始->管理工具->服务, 找到 hgdb-se5.6.4 选中后点击启动

2)可以不需要修改注册表的相关数据直接建立新的数据目录的目录链接

(比如原来是C:\data 改成C:\highgodb\data后,进行创建目录链接or联接)[如果有改动过postgresql.conf的data_dirctory参数需要注释]

C:\Users\Administrator> mklink /J C:\data C:\highgodb\data

(前面是要创建的目录链接,后面是真实文件路径,双引号可有可无)

7、刷新服务列表,启动数据库

开始->管理工具->服务, 找到 hgdb-se5.6.4 选中后点击启动。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值