我们正在尝试将备份文件还原到具有包含空格的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中的空格,但还没有成功。这些对我们的情况有什么建议吗?请帮忙,非常感谢。
1条答案
按热度按时间w6mmgewl1#
请尝试引用您的数据库名称,如下所示:
'"databasename"'
所以java变量应该这样看: