java 实现pgsql数据库免密备份 Windows版本
创始人
2024-05-30 00:27:23
0

阐述下背景:
最近公司项目中有个功能模块,需要使用java实现pgsql数据库整库的数据备份,没有pgsql使用经验的我,在网上寻找了好多大神的帖子,也没发现适合自己当前场景的解决方案,但是我把大神们的帖子按照自己的思路,整合了一下,最终终于解决了,一身轻松呀,也许这就是翻越一座困难大山后的愉悦感,只能说是很爽,坚持就是胜利。

先捋一下思路吧:
1、找到合适的备份命令:

pg_dump -h localhost -U postgres mbssdbnew > E:\postgres_db.sql

2、发现在pgsql安装路径的bin目录下cmd执行上面命令,发现需要输入密码
在这里插入图片描述

3、输入密码后可以成功备份,如下图
在这里插入图片描述
在这里插入图片描述

4、但问题来了,pg_dump命令不支持输入密码,我们在java程序里面如何实现免密备份呢?我也找了好多博主的帖子,没有发现在java执行命令里面输入密码完成备份的案例。但是发现还有另外一种方式可以实现免密方式,那就是通过配置文件.pgpass的方式实现,网上的帖子大多都是linux环境里如何操作配置文件的,我想法找到了windows中.pgpass的存在形态为:
以win10为例,文件路径为:
C:\Users\用户名\AppData\Roaming\postgresql\pgpass.conf,如下图:
在这里插入图片描述
在Roaming目录下新建postgresql目录,并新建pgpass.conf配置文件,将要免密备份的数据库信息放到其中:
localhost:5432:需要备份的数据库:用户名:你的密码

在这里插入图片描述

5、建好配置文件后,无需重启数据库,直接上代码,发现备份成功!豁然开朗呀老铁。代码拿去不谢。

public static void main(String[] args) throws IOException {List command = new ArrayList();command.add("D:\\dev_tools\\postgresql\\bin\\pg_dump");command.add("-h");command.add("localhost");command.add("-U");command.add("postgres");command.add("-d");command.add("mbssdbnew");command.add("-f");command.add("E:\postgres_db.sql");try {ProcessBuilder pb = new ProcessBuilder(command).redirectErrorStream(true);Process process = pb.start();BufferedReader r = new BufferedReader(new InputStreamReader(process.getInputStream(), "gbk"));String line = r.readLine();while (line != null) {System.err.println(line);line = r.readLine();}r.close();} catch (Exception e) {e.printStackTrace();}}

最后每日一语:但行好事,莫问前程。

相关内容

热门资讯

期末考试小学生六年级作文(经... 期末考试小学生六年级作文 篇一我的成长随着时间的推移,我已经到了小学六年级了。在这个学期即将结束之际...
关爱的六年级作文400字 【实用】关爱的六年级作文400字合集9篇  无论是在学校还是在社会中,大家都经常看到作文的身影吧,作...
六年级作文(最新6篇) 六年级作文 篇一:我的暑假生活这个暑假,我过得非常充实和有意义。我参加了许多有趣的活动,也学到了很多...
春天的校园六年级作文400字... 春天的校园六年级作文400字 篇一:春风吹拂的校园春天是一个美丽的季节,也是一个充满希望和活力的季节...
六年级下册让真情自然流露作文... 六年级下册让真情自然流露作文 篇一真情的力量在我们的生活中,真情是一种宝贵的力量。它可以让我们更加真...
走进新学期六年级作文(优质3... 走进新学期六年级作文 篇一新学期开始了,我升入了六年级。对于这个新的开始,我既充满期待又有些紧张。首...
黑暗中的光明六年级作文【经典... 黑暗中的光明六年级作文 篇一:勇敢面对黑暗黑暗,对于很多人来说,是一种恐惧的存在。在黑暗中,我们看不...
青春如彩虹般绚丽作文600字... 青春如彩虹般绚丽作文600字六年级 篇一青春是一段美丽而绚烂的时光,就像彩虹一样绚丽多彩。在这段青春...
夜游珠江六年级作文550字【... 夜游珠江六年级作文550字 篇一夜游珠江夜晚,珠江两岸的灯光闪烁,江面波光粼粼,我和爸爸妈妈一起来到...
小升初满分作文:奶奶的爱【推... 小升初满分作文:奶奶的爱 篇一奶奶是我最亲近的人,她的爱无处不在。无论是在家里还是在学校,奶奶总是给...
追梦人600字作文 追梦人600字作文···· 追梦人···· 桥林小学 六(3)班 李斌每个人都有梦想,人生有了梦想就...
感恩朋友六年级作文【最新3篇... 感恩朋友六年级作文 篇一感恩朋友朋友,是我们成长道路上最为珍贵的财富。她们和我一起度过了美好的六年级...
一到六年级的作文下雨【实用6... 一到六年级的作文下雨 篇一雨天的乐趣下雨了,这是多少孩子最喜欢的天气啊!尤其是在一到六年级的小学生们...
哥哥真厉害作文1000字【优... 哥哥真厉害作文1000字 篇一哥哥真厉害我有一个哥哥,他是我心目中最厉害的人。他不仅聪明、勤奋,还有...
六年级上册第二单元作文(优秀... 六年级上册第二单元作文 篇一我的梦想我是一个六年级的学生,我的名字叫小明。每个人都有自己的梦想,而我...
小学六年级暑假作文400字(... 小学六年级暑假作文400字 篇一:我的暑假生活暑假来临了,我迫不及待地迎接了属于我的自由时光。暑假里...
我是一场秋雨小学六年级作文(... 我是一场秋雨小学六年级作文 篇一:秋雨的魅力秋天是一个美丽的季节,它给大地带来了一场场降雨,也给我们...
感恩心作文小学六年级作文【优... 感恩心作文小学六年级作文 篇一:感恩父母我有一对非常好的父母,他们对我无微不至的关爱让我感到非常幸福...
功夫之家六年级作文(精彩3篇... 功夫之家六年级作文 篇一我的功夫之家我是一名六年级的学生,我家附近有一家特别特别酷的地方,叫做功夫之...
六年级班干部职责分工【精彩3... 六年级班干部职责分工 篇一六年级是小学生活的最后一年,也是学生们步入初中前最后一个学期。在这个特殊的...