加班是為了不加班。
Java中使用了Process類,process類提供了執行從進程輸入,執行輸出到進程,等待進程完成,檢查進程的推出狀態,以及shut down掉進程。
Process process =null; String command1 = “你的命令”; process = Runtime.getRuntime().exec(command1); process.waitFor();
一般這樣寫就可以調用了。
在Linux環境下,想通過PostgerSQL自身的命令來進行導表,要准備以下幾個事。
1. 准備好要導入的表,最好也是使用PostgreSQL導出的,存放於Linux某目錄,用於導入;
2.設置好PostgreSQL命令的環境變量,和設置JDK一樣(很重要),將~/.bash_profile下的加一個PATH路徑,指向到bin目錄;
3.設置密碼配置;
方法一:設置環境變量 PGPASSWORD PGPASSWORD 是 PostgreSQL 系統環境變量,在客戶端設置這后,那么在客戶端連接遠端數據庫時,將優先使用這個密碼。 --測試 postgres@linux-> export PGPASSWORD=mypassword postgres@linux-> psql -h 192.168.1.25 -p 5432 Mydb postgres psql (8.4.4) Type "help" for help. Mydb=> \q 備注:設置環境變量 PGPASSWORD ,連接數據庫不再彈出密碼輸入提示。 但是從安全性方面考慮,這種方法並不推薦。 方法二:設置 .pgpass 密碼文件 通過在客戶端 /home/postgres 目錄下創建隱藏文件 .pgpass ,從而避免連接數據庫時彈出密碼輸入提示。 --創建密碼文件 .pgpass ( on 客戶端 ) vi /home/postgres/.pgpass --格式 hostname:port:database:username:password --范例 192.168.1.25:5432:Mydb:postgres:mypassword --權限 Chmod 600 .pgpass --連接測試 postgres@linux-> psql -h 192.168.1.25 -p 5432 Mydb postgres psql (8.4.4) Type "help" for help. Mydb=> 備注:在/home/postgres 目錄創建了密碼文件 .pgpass 文件后,並正確配置連接信息,那么客戶端連接數據時會優先使用 .pgass文件, 並使用匹配記錄的密碼,從而不跳出密碼輸入提示,這種方法比方法一更安全,所以推薦使用創建 .pgpass 文件方式。 方法三:修改服務器端 pg_hba.conf 修改認證文件 $PGDATA/pg_hba.conf, 添加以下行, 並 reload使配置立即生效。 host Mydb postgres 192.168.0.0/24 trust [postgres@linux]$ pg_ctl reload -D $PGDATA / service postgresql reload server signaled --服務器端 pg_hba.conf 的配置 # IPv4 local connections: host all all 127.0.0.1/32 trust host Mydb postgres 192.168.0.0/24 trust host all all 0.0.0.0/0 md5 --客戶端再次連接測試 postgres@linux-> psql -h 192.168.1.25 -p 5432 Mydb postgres psql (8.4.4) Type "help" for help. Mydb=> \q 備注:修改服務端 pg_hba.conf 並 reload 后,不再彈出密碼輸入提示。
我目前使用的第一種。該方法我還會繼續改進一下。
然后使用psql命令就可以正確導入了。