随着互联网技术的高速发展,信息数据正呈量级增长,数据的存储方式也多种多样,而数据库就在其中扮演了非常重要的角色。PostgreSQL作为数据库中的重要组成部分,它的数据提取方案也显得日益重要起来,本文主要为大家介绍PostgreSQL数据文件迁移的小技巧,供大家参考! 一、PostgreSQL简介 PostgreSQL 是一个免费的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如MySQL 和 Firebird)和专有系统(比如Oracle、Sybase、DB2 和、Microsoft SQL Server)更加丰富的数据类型和可扩展性。 二、为什么要进行数据迁移? 目前,阿里云中主要使用的关系型存储数据库就是PostgreSQL。 在实际的工作中,很容易遇到一种情况:通过寻求阿里官方的帮助,从而获取到PostgreSQL数据文件夹,但由于该数据文件/夹中的内容是二进制结构,当它脱离了原始的数据库环境之后将无法快速获取其中的数据信息。 针对这种情况,本文为读者介绍一种PostgreSQL数据快速迁移的小技巧,希望能给您提供一定参考价值和分析思路。 三、数据迁移的具体操作方案 1.事前准备 1)获取数据库data文件夹 文件夹必须是原始未经修改的,例如:在Windows7 中PostgreSQL10默认安装情况下,data文件夹所在的路径为C:Program FilesPostgreSQL10(红色数字10为数据库版本编号)。 ▲data文件夹中包含的文件信息如图所示 2)获取数据库版本并安装与原数据库版本一致的数据库环境。 例如:本文环境为PostgreSQL-x64-10。数据库版本信息可从data目录下的PG_VERSION中直接查看。 3)原数据库登录密码 (若忘记密码,详见后文知识补充了解具体操作方法)。 2.具体操作步骤 1)关闭PostgreSQL服务 命令:net stop postgresql-x64-10(命令须事先知道服务名称)。 2)备份并删除当前环境下的data目录。 (注意,若未完成步骤1,此步骤是不能成功的。) 3)将原数据库数据文件data复制至步骤3中的路径下,添加一个新的用户,并授权。 相关操作如下↓↓↓ 右键查看属性

选择安全标签 点击编辑 点击添加,并添加NETWORK SERVICE 设置完全控制权限 4)重启服务 命令:net start postgresql-x64-10 5)双击打开目录C:Program FilesPostgreSQL10pgAdmin 4bin下的pgAdmin4.exe,双击其中的服务,然后输入密码,进入下图,即可查看数据,至此数据迁移过程结束。 *另外,若需导出数据,则可以使用pgAdmin4,进行导出操作。该工具只能单表导出,若需批量导出,可使用第三方数据库管理工具套件,比如navicat工具。 知识补充 前面我们已经提到,进行数据迁移首先要知道原数据库的登录密码(该密码是专门为防止数据泄露而设置的)。如果没有该密码,即使是拿到数据文件也不能进行数据前提,那么当密码忘记时,该怎么办呢? 这时,我们可按如下操作重置密码 1、将目录C:Program FilesPostgreSQL10data下的配置文件pg_hba.conf做如下修改(将文件拉至最下): 把md5修改成trust。 2、在目录C:Program FilesPostgreSQL10bin下,打开命令行窗口。 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数据文件目录的方法和思路。