У меня есть требование, когда с помощью Java-кода мне нужно создавать / удалять / изменять таблицы postgres.
Я написал программу, как показано ниже:
public static void main(String[] args) throws IOException {
System.out.println("Hello World!");
Process p = Runtime.getRuntime().exec("psql -U postgres -d testdb -h localhost -p 5433 -f D:\test.sql");
}
test.sql файл выглядит ниже,
Create TABLE MyTable1
(
VersionNumber VARCHAR(32) NOT NUll
);
Create TABLE MyTable2
(
VersionNumber VARCHAR(32) NOT NUll
);
Create TABLE MyTable3
(
VersionNumber VARCHAR(32) NOT NUll
);
Проблема:
Если я запускаю ту же команду psql:
psql -U postgres -d testdb -h localhost -p 5433 -f D:\test.sql
в командной строке запрашивает пароль и таблицы создаются.
Но в Java-программе не предусмотрено предоставление пароля. Пожалуйста, дайте мне знать, как этого добиться.