随着互联网技术的高速发展,信息数据正呈量级增长,数据的存储方式也多种多样,而数据库就在其中扮演了非常重要的角色。Postgresql作为数据库中的重要组成部分,它的数据提取方案也显得日益重要起来,本文主要为大家介绍Postgresql数据文件迁移的小技巧,供大家参考!
一、Postgresql简介
Postgresql 是一个免费的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如MysqL 和 Firebird)和专有系统(比如Oracle、Sybase、DB2 和、Microsoft sql Server)更加丰富的数据类型和可扩展性。
二、为什么要进行数据迁移?
目前,阿里云中主要使用的关系型存储数据库就是Postgresql。
在实际的工作中,很容易遇到一种情况:通过寻求阿里官方的帮助,从而获取到Postgresql数据文件夹,但由于该数据文件/夹中的内容是二进制结构,当它脱离了原始的数据库环境之后将无法快速获取其中的数据信息。
针对这种情况,本文为读者介绍一种Postgresql数据快速迁移的小技巧,希望能给您提供一定参考价值和分析思路。
三、数据迁移的具体操作方案
1
事前准备
文件夹必须是原始未经修改的,例如:在Windows7 中Postgresql10默认安装情况下,data文件夹所在的路径为C:\Program Files\Postgresql\10(红色数字10为数据库版本编号)。
例如:本文环境为Postgresql-x64-10。数据库版本信息可从data目录下的PG_VERSION中直接查看。
(若忘记密码,详见后文知识补充了解具体操作方法)。
2
具体操作步骤
命令:net stop postgresql-x64-10(命令须事先知道服务名称)。
2)备份并删除当前环境下的data目录。
(注意,若未完成步骤1,此步骤是不能成功的。)
3)将原数据库数据文件data复制至步骤3中的路径下,添加一个新的用户,并授权。
相关操作如下↓↓↓
右键查看属性
选择安全标签
点击编辑
设置完全控制权限
4)重启服务
命令:net start postgresql-x64-10
5)双击打开目录C:\Program Files\Postgresql\10\pgAdmin 4\bin下的pgAdmin4.exe,双击其中的服务,然后输入密码,进入下图,即可查看数据,至此数据迁移过程结束。
*另外,若需导出数据,则可以使用pgAdmin4,进行导出操作。该工具只能单表导出,若需批量导出,可使用第三方数据库管理工具套件,比如navicat工具。
知识补充
前面我们已经提到,进行数据迁移首先要知道原数据库的登录密码(该密码是专门为防止数据泄露而设置的)。如果没有该密码,即使是拿到数据文件也不能进行数据前提,那么当密码忘记时,该怎么办呢?
这时,我们可按如下操作重置密码
1、将目录C:\Program Files\Postgresql\10\data下的配置文件pg_hba.conf做如下修改(将文件拉至最下):
把md5修改成trust。
2、在目录C:\Program Files\Postgresql\10\bin下,打开命令行窗口。
1)打开方式:Shift+鼠标右键,选择“在此处打开命令行窗口(W)”,并输入命令:psql -h localhost -U postgres。
2)若步骤1跳过的话,此处需要输入登录密码。
3、修改密码,命令:alter user postgres with password ‘123456’; (注意“;”须一起输入)
4、将步骤1中的配置还原,并重启服务。
*针对数据库密码问题,当前DBF6100数据库取证系统能有效支持四种主流数据库,后续研究会陆续支持Postgresql等十余种数据库,有效解决无法获取数据库密码的问题。【新产品动态】DBF6100数据库取证系统公测版上线啦!
注
意
事
项
1、该方案只针对获取正常的数据,并且需要保持版本一致;
2、替换之后的data目录必须要添加用户,并授权,否则将重启不了服务;
3、忘记密码时必须要改配置,否则将需要输入登录密码。
“
本文主要介绍了一种Postgresql数据迁移小技巧,该方法的主要目的是告诉大家一种快速迁移Postgresql数据文件目录的方法和思路。
大连男科医院 http://mobile.liaoningnk.com/
大连专业妇科医院 http://mobile.bohaifk.com/
大连妇科医院 http://mobile.403yy.com/