使用postgres jdbc在db中还原postgres备份数据(db name包含空格)

6qfn3psc  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(264)

我们正在尝试将备份文件还原到具有包含空格的db name的postgres db。例如:“abbb ”,“dqweqwe fdf fsdf”,。。。但在恢复数据后,该数据库名称中没有显示数据(由pgadmin工具检查)。下面是我们的备份还原java命令:

String host = "localhost";
   String port = "5432";
   String databaseName = "abc    abc    "; 
   String user = "postgres";
   String backupFilePath= "C:\Users\Sun\Desktop\backup.backup";

   final String RESTORE_COMMAND = "pg_restore -c -h %s -p %s -U %s -d %s -v %s";
   String cmd = String.format(RESTORE_COMMAND, host, port, user, databaseName, backupFilePath);
   // Execute commands by  Runtime.getRuntime().exec(cmd )
   excuteCommand(cmd);

我们尝试使用一些转义字符串,如“”或“”或[],甚至用\替换databasename中的空格,但还没有成功。这些对我们的情况有什么建议吗?请帮忙,非常感谢。

w6mmgewl

w6mmgewl1#

请尝试引用您的数据库名称,如下所示: '"databasename"' 所以java变量应该这样看:

String databaseName = "'\"abc    abc\"'";

相关问题