当前位置: 首页 > 面试题库 >

如何通过JDBC从Postgresql-DB进行备份?

须志新
2023-03-14
问题内容

在我们的应用程序中,我们实现了从代码内部触发的自动数据库迁移。现在,我们想在进行任何迁移之前备份现有的数据库。

谁能解释如何在Java代码中通过JDBC对Postgresql-DB进行完全备份?

更新:它不能通过JDBC起作用。

这是一些对弗兰克·海肯斯的回应的工作代码:

    final List<String> baseCmds = new ArrayList<String>();
    baseCmds.add("/usr/bin/pg_dump");
    baseCmds.add("-h");
    baseCmds.add("hostname");
    baseCmds.add("-p");
    baseCmds.add("5432");
    baseCmds.add("-U");
    baseCmds.add("username");
    baseCmds.add("-b");
    baseCmds.add("-v");
    baseCmds.add("-f");
    baseCmds.add("/path/to/backup.sql");
    baseCmds.add("dbName");
    final ProcessBuilder pb = new ProcessBuilder(baseCmds);

    // Set the password
    final Map<String, String> env = pb.environment();
    env.put("PGPASSWORD", "password");

    try {
        final Process process = pb.start();

        final BufferedReader r = new BufferedReader(
                  new InputStreamReader(process.getErrorStream()));
        String line = r.readLine();
        while (line != null) {
            System.err.println(line);
            line = r.readLine();
        }
        r.close();

        final int dcertExitCode = process.waitFor();

     } catch (IOException e) {
        e.printStackTrace();
     } catch (InterruptedException ie) {
        ie.printStackTrace();
     }

问题答案:

为什么不使用pg_dump?



 类似资料:
  • 我想做的是:找到一种通过JDBC命令/查询备份DB2数据库的方法。下面是我在DB2命令行程序中测试的命令: 将数据库dbName备份到C:\backup\db2 它在命令行上运行得很好,但当试图在Data Studio中或通过独立的JDBC程序运行它时,它会失败。以下是JDBC异常消息: SQLCODE:-104,SQLSTATE:42601,SQLERRMC:将数据库dbName备份到C:/;语

  • 这几天来,我无法在本地运行mac os ML的机器上连接到我的postgreSQL数据库。 我机器的nmap显示postgres在5432上运行,我可以通过pgadmin和psql进行本地连接。 收听地址设置为* 当我尝试连接JDBC时,我会遇到以下异常 组织。postgresql。util。PSQLException:连接被拒绝。检查主机名和端口是否正确,邮政局长是否接受TCP/IP连接。

  • 问题内容: 有没有办法遍历Java SparseArray(适用于Android)?我曾经很容易通过索引来获取值。我找不到一个。 问题答案: 似乎我找到了解决方案。我没有正确注意到该功能。 因此,我将使用以下内容:

  • 问题内容: 在Eclipse中创建了一个新的标准Java 7项目,并成功地成功获取了like 的实例,如下所示: 在主要方法中,此方法运行良好,据我所知,该部分有效。但我不知道如何实际使用它。在SoapUI中,我通过以下请求调用此服务: 如何在Java中执行相同的请求?我的目标是我有一个很长的清单,我需要为每个清单运行一个这样的请求。在SoapUI中手动进行操作有点烦人,因此我想使用一个简单的Ja

  • 问题内容: 我正在考虑AJAX应用程序必须轮询轮询更新有多大限制,而最理想的是javascript能够建立与服务器的真正双向连接。我想知道是否存在将javascript与可以建立tcp连接的浏览器插件集成的方法,以便可以将数据传入和传出浏览器插件。 问题答案: 这是具有类似方法的实现: 套接字 它使用Java Applet,并将其API桥接到JavaScript,有趣的是… 这里是另一个: 套接字

  • 本文向大家介绍postgresql 如何在OSX上通过MacPorts安装PostgreSQL,包括了postgresql 如何在OSX上通过MacPorts安装PostgreSQL的使用技巧和注意事项,需要的朋友参考一下 示例 为了在OSX上安装PostgreSQL,您需要知道当前支持哪些版本。 使用此命令可以查看可用的版本。 您应该得到一个看起来像以下内容的列表: 在本示例中,9.6支持最新版