Я хочу получить список таблиц в базе данных в строку.Я подключился к базе данных, но когда я пытаюсь использовать функцию Postgres "\ dt", getTables () выдает org.postgresql.util.PSQLException: ERROR: syntax error at or near "\".
В чем проблема?Простой обратный слеш сообщается JDK как ошибка (трактует \dt
как регулярное выражение).
import java.sql.*;
import java.util.ArrayList;
public class DataConnect {
Statement statement = null;
Connection connection = null;
DataConnect() {
try {
Class.forName("org.postgresql.Driver");
connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres", "", "");
statement = connection.createStatement();
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.append("Driver is missing");
end();
} catch (SQLException e) {
e.printStackTrace();
System.out.append("Wrong order");
end();
}
}
ArrayList<String> getTables() {
ArrayList tables = new ArrayList();
try {
ResultSet rs = statement.executeQuery("\\dt");
while (rs.next()) {
String databaseName = rs.getString("Name");
}
return tables;
} catch (Exception e) {
e.printStackTrace();
end();
return null;
}
}
}